ARC_Kaggle
ARC_Kaggle copied to clipboard
Final quick wins
I'm starting this issue to store ideas that are quick and easy to implement and that could have some good potential for solving extra tasks. Feel free to add any ideas that you might have in mind @RodericGuigoCorominas .
- Use pixelwiseAnd/Or/Xor if in the input only consits of
Task.Shape
s of the same shape - Use pixelwiseAnd/Or/Xor if in the input only consits of frames of the same shape
Adding some unsolved tasks that we could target:
- Easy reference implementation: 74,142,181,451,742
- pixelwise: 303,433,467,674
- symmetrize shapes:61,108,284,295,461,464,472,542,604,628,716
- Other easy tasks?: 29,168,276,278,329,333,368,414,443,453
For tasks 303 and 467 there was a bug in getBestMultiplyMatrix
. Now it's fixed (https://github.com/alejandrodemiquel/ARC_Kaggle/commit/c82371deecbdbe33dbeb3054e2c77b0eb4f730fc).
Tasks 168 and 368 are already solved. Tasks 278 and 329 should be solved, but are not. I'll look into it.
The problem with task 443 is the way I define fullFrame
. Right now, no pixels of the same color of the frame are allowed inside the frame in order to be considered a fullFrame
. Relaxing a bit this definition should fix the issue.
The problem with tasks 278 and 329 is that they were considered fixedShapes. I just deleted this extra check (https://github.com/alejandrodemiquel/ARC_Kaggle/commit/ce8f7977a8a52df4a13a4360f3ec591aa6e1bb62), which is not of much use in this particular case.
Task 650 should be solved. Right now I don't know why it isn't.
Adding the (I believe) unsolved tasks related to these specific functions:
- cropShape: 87,204,318,473,586,774
- replicateShape: 4,53,74,88,132,190,196,207,362,424,474,509,539,659,683,779,795
- arrangeShapes: 21,29,45,95,125,158,200,232,237,252,263,295,365,414,434,475,535,558,
588,589,699,759,760
I'm working on the following:
-
a task attribute: self.twoShapeTask. For now it is a boolean vector [task has two shapes, multicolor, diagonal, shapes have same size] We can add more checks in the preprocessing.
-
a function: getBestTwoShapeFunction. Given a task where self.twoShapeTask[0]==True, try many operations. The ops to try depends on the truth values of self.twoShapeTask.
Targeting tasks like: 453,70,158,169,244,274,674,760,484