ARC_Kaggle icon indicating copy to clipboard operation
ARC_Kaggle copied to clipboard

Final quick wins

Open alejandrodemiquel opened this issue 4 years ago • 7 comments

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.Shapes of the same shape
  • Use pixelwiseAnd/Or/Xor if in the input only consits of frames of the same shape

alejandrodemiquel avatar May 13 '20 03:05 alejandrodemiquel

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

RodericGuigoCorominas avatar May 13 '20 20:05 RodericGuigoCorominas

For tasks 303 and 467 there was a bug in getBestMultiplyMatrix. Now it's fixed (https://github.com/alejandrodemiquel/ARC_Kaggle/commit/c82371deecbdbe33dbeb3054e2c77b0eb4f730fc).

alejandrodemiquel avatar May 13 '20 23:05 alejandrodemiquel

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.

alejandrodemiquel avatar May 14 '20 00:05 alejandrodemiquel

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.

alejandrodemiquel avatar May 14 '20 01:05 alejandrodemiquel

Task 650 should be solved. Right now I don't know why it isn't.

RodericGuigoCorominas avatar May 14 '20 03:05 RodericGuigoCorominas

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

RodericGuigoCorominas avatar May 14 '20 20:05 RodericGuigoCorominas

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

RodericGuigoCorominas avatar May 18 '20 17:05 RodericGuigoCorominas