{
  "id": 154377,
  "title": "5th place short notes",
  "content": "<p>Congratulations to winners! And thanks to organizers - this was very interesting and unique competition.</p>\n\n<p>I'll leave longer descriptions to Top 3 teams, will just write some very brief summary of my approach ;)</p>\n\n<p>In general my idea is to use 3 connected functions:</p>\n\n<ul>\n<li>A: cut parts from input by color/shape/location/etc;</li>\n<li>B: re-color/modify/rotate/etc parts from step A output;</li>\n<li>C: combine parts from step B output in different ways, like AND, OR, XOR, hstack, vstack and many others and check if this gives valid solution.</li>\n</ul>\n\n<p>In each step \"no changes\" is also a valid result, in that way such pipeline could solve also tasks where e.g. only cropping is needed without further changes and ensambling parts together or where only re-coloring is needed.</p>\n\n<p>This is pretty much like brute-force and as there are a lot of possible outcomes in each step, multiplication of all variations of all 3 steps together was huge - but here helped the fact that public=private, so I used a lot of \"feedback\" from submissions to tune my functions and delete what wasn't helping.</p>\n\n<p>See you in future competitions!</p>",
  "comments": [
    {
      "id": 865166,
      "author_name": "Froggy McFrogson",
      "author_url": "",
      "post_date": "2020-05-28T12:46:34.607000",
      "content": "<p>I did somethng similar but obviously <em>much much</em> less well than you did!</p>\n\n<p>Well done on getting 5th plce.</p>\n\n<p>For exmple my overlay function only overlayed things in one order instead of trying all the different orders.Guess I'm just lazy.</p>\n\n<p>BTW Did your program try to work out which was the common property of the shape to cut out, or did it use a brute force method to try all possiblities?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 865185,
          "author_name": "alijs",
          "author_url": "",
          "post_date": "2020-05-28T13:02:55.327000",
          "content": "<p>Thanks! Yes, I did some simple heuristics to limit number of operations to try - e.g. to cut out only shapes which can be combined into shape needed in final output. For example not to cut shape bigger than output. But not much of that, more relayed on trying things and throwing away if they didn't help.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 865125,
      "author_name": "Kha Vo",
      "author_url": "",
      "post_date": "2020-05-28T12:07:45.280000",
      "content": "<p>Congrats on your 3rd solo gold! </p>",
      "votes": 1,
      "replies": [
        {
          "id": 865178,
          "author_name": "alijs",
          "author_url": "",
          "post_date": "2020-05-28T12:56:59.743000",
          "content": "<p>Thanks! Maybe one day there will be tier like GrandGrandMasters with many solo gold medals required, then I'll be prepared :)</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 865070,
      "author_name": "G_R_S",
      "author_url": "",
      "post_date": "2020-05-28T11:16:17.090000",
      "content": "<p>Congratulations on getting 5th! It is indeed a huge milestone. </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 864729,
      "author_name": "higepon",
      "author_url": "",
      "post_date": "2020-05-28T06:50:04.077000",
      "content": "<p>Thanks for sharing.  I think mine (<a href=\"https://www.kaggle.com/c/abstraction-and-reasoning-challenge/discussion/154304\">https://www.kaggle.com/c/abstraction-and-reasoning-challenge/discussion/154304</a>) is similar to yours. \nYou did much better than I did!</p>",
      "votes": 2,
      "replies": [
        {
          "id": 864748,
          "author_name": "alijs",
          "author_url": "",
          "post_date": "2020-05-28T06:57:27.963000",
          "content": "<p>Sounds very similar indeed!</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 872101,
      "author_name": "corochann",
      "author_url": "",
      "post_date": "2020-06-02T23:07:39.820000",
      "content": "<p>Conglats! thanks for sharing.</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "comment_count": 8,
  "messages": [
    {
      "id": 864714,
      "postDate": "2020-05-28T06:38:18.070Z",
      "content": "<p>Congratulations to winners! And thanks to organizers - this was very interesting and unique competition.</p>\n\n<p>I'll leave longer descriptions to Top 3 teams, will just write some very brief summary of my approach ;)</p>\n\n<p>In general my idea is to use 3 connected functions:</p>\n\n<ul>\n<li>A: cut parts from input by color/shape/location/etc;</li>\n<li>B: re-color/modify/rotate/etc parts from step A output;</li>\n<li>C: combine parts from step B output in different ways, like AND, OR, XOR, hstack, vstack and many others and check if this gives valid solution.</li>\n</ul>\n\n<p>In each step \"no changes\" is also a valid result, in that way such pipeline could solve also tasks where e.g. only cropping is needed without further changes and ensambling parts together or where only re-coloring is needed.</p>\n\n<p>This is pretty much like brute-force and as there are a lot of possible outcomes in each step, multiplication of all variations of all 3 steps together was huge - but here helped the fact that public=private, so I used a lot of \"feedback\" from submissions to tune my functions and delete what wasn't helping.</p>\n\n<p>See you in future competitions!</p>",
      "rawMarkdown": "Congratulations to winners! And thanks to organizers - this was very interesting and unique competition.\n\nI'll leave longer descriptions to Top 3 teams, will just write some very brief summary of my approach ;)\n\nIn general my idea is to use 3 connected functions:\n\n- A: cut parts from input by color/shape/location/etc;\n- B: re-color/modify/rotate/etc parts from step A output;\n- C: combine parts from step B output in different ways, like AND, OR, XOR, hstack, vstack and many others and check if this gives valid solution.\n\nIn each step \"no changes\" is also a valid result, in that way such pipeline could solve also tasks where e.g. only cropping is needed without further changes and ensambling parts together or where only re-coloring is needed.\n\nThis is pretty much like brute-force and as there are a lot of possible outcomes in each step, multiplication of all variations of all 3 steps together was huge - but here helped the fact that public=private, so I used a lot of \"feedback\" from submissions to tune my functions and delete what wasn't helping.\n\nSee you in future competitions!",
      "votes": 31
    },
    {
      "id": 865166,
      "postDate": "2020-05-28T12:46:34.607Z",
      "content": "<p>I did somethng similar but obviously <em>much much</em> less well than you did!</p>\n\n<p>Well done on getting 5th plce.</p>\n\n<p>For exmple my overlay function only overlayed things in one order instead of trying all the different orders.Guess I'm just lazy.</p>\n\n<p>BTW Did your program try to work out which was the common property of the shape to cut out, or did it use a brute force method to try all possiblities?</p>",
      "rawMarkdown": "I did somethng similar but obviously *much much* less well than you did!\n\nWell done on getting 5th plce.\n\nFor exmple my overlay function only overlayed things in one order instead of trying all the different orders.Guess I'm just lazy.\n\nBTW Did your program try to work out which was the common property of the shape to cut out, or did it use a brute force method to try all possiblities?",
      "votes": 1,
      "replies": [
        {
          "id": 865185,
          "postDate": "2020-05-28T13:02:55.327Z",
          "content": "<p>Thanks! Yes, I did some simple heuristics to limit number of operations to try - e.g. to cut out only shapes which can be combined into shape needed in final output. For example not to cut shape bigger than output. But not much of that, more relayed on trying things and throwing away if they didn't help.</p>",
          "rawMarkdown": "Thanks! Yes, I did some simple heuristics to limit number of operations to try - e.g. to cut out only shapes which can be combined into shape needed in final output. For example not to cut shape bigger than output. But not much of that, more relayed on trying things and throwing away if they didn't help."
        }
      ]
    },
    {
      "id": 865125,
      "postDate": "2020-05-28T12:07:45.280Z",
      "content": "<p>Congrats on your 3rd solo gold! </p>",
      "rawMarkdown": "Congrats on your 3rd solo gold! ",
      "votes": 1,
      "replies": [
        {
          "id": 865178,
          "postDate": "2020-05-28T12:56:59.743Z",
          "content": "<p>Thanks! Maybe one day there will be tier like GrandGrandMasters with many solo gold medals required, then I'll be prepared :)</p>",
          "rawMarkdown": "Thanks! Maybe one day there will be tier like GrandGrandMasters with many solo gold medals required, then I'll be prepared :)",
          "votes": 1
        }
      ]
    },
    {
      "id": 865070,
      "postDate": "2020-05-28T11:16:17.090Z",
      "content": "<p>Congratulations on getting 5th! It is indeed a huge milestone. </p>",
      "rawMarkdown": "Congratulations on getting 5th! It is indeed a huge milestone. ",
      "votes": 1
    },
    {
      "id": 864729,
      "postDate": "2020-05-28T06:50:04.077Z",
      "content": "<p>Thanks for sharing.  I think mine (<a href=\"https://www.kaggle.com/c/abstraction-and-reasoning-challenge/discussion/154304\">https://www.kaggle.com/c/abstraction-and-reasoning-challenge/discussion/154304</a>) is similar to yours. \nYou did much better than I did!</p>",
      "rawMarkdown": "Thanks for sharing.  I think mine (https://www.kaggle.com/c/abstraction-and-reasoning-challenge/discussion/154304) is similar to yours. \nYou did much better than I did!",
      "votes": 2,
      "replies": [
        {
          "id": 864748,
          "postDate": "2020-05-28T06:57:27.963Z",
          "content": "<p>Sounds very similar indeed!</p>",
          "rawMarkdown": "Sounds very similar indeed!",
          "votes": 1
        }
      ]
    },
    {
      "id": 872101,
      "postDate": "2020-06-02T23:07:39.820Z",
      "content": "<p>Conglats! thanks for sharing.</p>",
      "rawMarkdown": "Conglats! thanks for sharing."
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T22:06:07Z",
  "competition_id": 18329,
  "competition_slug": "abstraction-and-reasoning-challenge",
  "team_id": 4388370,
  "solution_url": "/competitions/abstraction-and-reasoning-challenge/writeups/alijs-5th-place-short-notes"
}