# 5th place solution

Our code is
[here](https://www.kaggle.com/code/gromml/arc-prize-2024-poohai-solution)
.
Basically, our solution consists of 3 ideas:
1)
Ensembling different solutions.
![](assets/7dd53b6efb3f54384f78db83.png)
2)
Applying different postprocessing filters.
![](assets/ee3669a0be1a3dd4e7d41f01.png)
We noticed that an algorithm can make typical mistakes. For instance, a genetic algorithm tends to produce redundant vertical or horizontal lines.
![](assets/f6383fe6aef4bacf17fd0115.png)
![](assets/e61b501e0911d448d1e950e0.png)
![](assets/d9c8f217224248ab2b87f467.png)
Also, another typical mistake is a wrong shape.
![](assets/fdfd35b95777216cfb633d60.png)
So, you can implement as many postprocessing filters as you can to cover the most common mistakes of algorithms in your ensemble.
3)
Brute-force.
Tasks can be sorted by their identifiers, and the order remains the same across different submissions.
![](assets/a701a6b9ad89df5897b514fb.png)
To identify the 26 tasks solved by the
[well-known 26 notebook](https://www.kaggle.com/code/mehrankazeminia/3-arc24-developed-2020-winning-solutions)
, you need no more than 100 submissions. Once the 26 tasks are identified, you can try new algorithms one by one (checking whether they are able to solve at least one new task, that is one of the 74 remaining tasks). Once a new task is found, you can identify its ordinal number with the help of binary search. Also, you can leave all other tasks to the strongest algorithm.
Our summary:
A very efficient way to improve an ensemble was to identify tasks solved by the ensemble, and then try to solve other tasks by other algorithms
It seems that LLMs could be added to our ensemble, but fine-tuning is needed
Selecting the right attempt (the correct answer) is difficult, while removing wrong attempts is easier
An algorithm can make typical mistakes (like the genetic algorithm often produces redundant lines, and you can create the corresponding postprocessing filters)
Congratulations to all the winners, and thanks to the host team for organizing the competition! Looking forward to ARC Prize 2025!