{
  "id": 615162,
  "title": "VishnuDharma ARC Solver: A Hybrid AI Framework",
  "content": "<p>🧩 Overview of Our Approach</p>\n<p>To solve ARC (Abstraction and Reasoning Corpus) tasks, our team developed a Hybrid Reasoning Framework that combines:</p>\n<ul>\n<li>Heuristic rule discovery,</li>\n<li>Lightweight LLM-based supervision, and</li>\n<li>Program synthesis via beam search,\nalong with a fallback system to ensure valid output for every task.</li>\n</ul>\n<p>This blend enables our method to perform symbolic reasoning, adapt to novel problems, and stay fully compatible with Kaggle's offline constraints.</p>\n<p>🎯 Key Design Goals</p>\n<ul>\n<li>No reliance on internet or cloud models</li>\n<li>Explainable solutions rather than black-box predictions</li>\n<li>Generalization to unseen ARC tasks</li>\n<li>Every task should produce a valid submission (no task left blank)</li>\n</ul>\n<p>🛠️ Solution Architecture</p>\n<p>We used a 3-stage cascaded process:</p>\n<p>Stage 1 – Heuristic Solver</p>\n<ul>\n<li>Description: Detects direct transformations: color maps, flips, rotations, translations, cropping, repetition.</li>\n<li>When Used: First attempt</li>\n</ul>\n<p>Stage 2 – LLM Supervisor (Optional)</p>\n<ul>\n<li>Description: Local LLM like LLaMA/FlanT5 predicts \"what kind of transformation\" (e.g., reflect, recolor, move)</li>\n<li>When Used: If heuristics are unsure</li>\n</ul>\n<p>Stage 3 – Beam Search Program Synthesis</p>\n<ul>\n<li>Description: Composes small functions (rotate → crop → recolor) using beam search to find a program f such that f(X_train) = Y_train</li>\n<li>When Used: If LLM or heuristics fail</li>\n</ul>\n<p>✔ If all three stages fail, we use a controlled fallback strategy, like:</p>\n<ul>\n<li>Copy input → output</li>\n<li>Most frequent color fill</li>\n<li>Identity mapping to avoid invalid submission.json</li>\n</ul>\n<p>📊 Workflow</p>\n<ol>\n<li>Load ARC task.</li>\n<li>Extract colors, objects, shapes, size differences.</li>\n<li>Try basic heuristic transformations.</li>\n<li>If unsure → ask LLM: “Is this rotation, reflection or color change?”</li>\n<li>If still unsolved → run beam search over DSL functions.</li>\n<li>Validate the function on training examples.</li>\n<li>Apply to test inputs.</li>\n<li>Save two attempts per task in submission.json.</li>\n</ol>\n<p>🧠 Why This Works</p>\n<ul>\n<li>Heuristics solve easy tasks quickly; beam search solves complex ones.</li>\n<li>Not dependent on past data; works on unseen problems.</li>\n<li>Inspired by human reasoning, compositionality, and ARC principles from François Chollet.</li>\n<li>Every stage is explainable and reproducible offline.</li>\n<li>Our system blends symbolic reasoning + LLM judgment + fallback safety.</li>\n<li>This hybrid approach brings ARC closer to human-like reasoning and pushes AGI-inspired problem-solving.</li>\n</ul>\n<h1>📁 Output Format (submission.json Example)</h1>\n<p>{\n  \"00576224\": [\n    {\n      \"attempt_1\": [[0,1],[1,0]],\n      \"attempt_2\": [[0,0],[0,0]]\n    }\n  ]</p>\n<h1>}</h1>\n<p>👥 Team Members – VishnuDharma</p>\n<ul>\n<li>Pranjul Tiwari – AI/LLM Systems &amp; Program Synthesis</li>\n<li>Ankit Tiwari – Strategy, Optimization &amp; Solution Architecture</li>\n</ul>",
  "comments": [],
  "comment_count": 0,
  "messages": [
    {
      "id": 3313490,
      "postDate": "2025-11-09T10:49:17.277Z",
      "content": "<p>🧩 Overview of Our Approach</p>\n<p>To solve ARC (Abstraction and Reasoning Corpus) tasks, our team developed a Hybrid Reasoning Framework that combines:</p>\n<ul>\n<li>Heuristic rule discovery,</li>\n<li>Lightweight LLM-based supervision, and</li>\n<li>Program synthesis via beam search,\nalong with a fallback system to ensure valid output for every task.</li>\n</ul>\n<p>This blend enables our method to perform symbolic reasoning, adapt to novel problems, and stay fully compatible with Kaggle's offline constraints.</p>\n<p>🎯 Key Design Goals</p>\n<ul>\n<li>No reliance on internet or cloud models</li>\n<li>Explainable solutions rather than black-box predictions</li>\n<li>Generalization to unseen ARC tasks</li>\n<li>Every task should produce a valid submission (no task left blank)</li>\n</ul>\n<p>🛠️ Solution Architecture</p>\n<p>We used a 3-stage cascaded process:</p>\n<p>Stage 1 – Heuristic Solver</p>\n<ul>\n<li>Description: Detects direct transformations: color maps, flips, rotations, translations, cropping, repetition.</li>\n<li>When Used: First attempt</li>\n</ul>\n<p>Stage 2 – LLM Supervisor (Optional)</p>\n<ul>\n<li>Description: Local LLM like LLaMA/FlanT5 predicts \"what kind of transformation\" (e.g., reflect, recolor, move)</li>\n<li>When Used: If heuristics are unsure</li>\n</ul>\n<p>Stage 3 – Beam Search Program Synthesis</p>\n<ul>\n<li>Description: Composes small functions (rotate → crop → recolor) using beam search to find a program f such that f(X_train) = Y_train</li>\n<li>When Used: If LLM or heuristics fail</li>\n</ul>\n<p>✔ If all three stages fail, we use a controlled fallback strategy, like:</p>\n<ul>\n<li>Copy input → output</li>\n<li>Most frequent color fill</li>\n<li>Identity mapping to avoid invalid submission.json</li>\n</ul>\n<p>📊 Workflow</p>\n<ol>\n<li>Load ARC task.</li>\n<li>Extract colors, objects, shapes, size differences.</li>\n<li>Try basic heuristic transformations.</li>\n<li>If unsure → ask LLM: “Is this rotation, reflection or color change?”</li>\n<li>If still unsolved → run beam search over DSL functions.</li>\n<li>Validate the function on training examples.</li>\n<li>Apply to test inputs.</li>\n<li>Save two attempts per task in submission.json.</li>\n</ol>\n<p>🧠 Why This Works</p>\n<ul>\n<li>Heuristics solve easy tasks quickly; beam search solves complex ones.</li>\n<li>Not dependent on past data; works on unseen problems.</li>\n<li>Inspired by human reasoning, compositionality, and ARC principles from François Chollet.</li>\n<li>Every stage is explainable and reproducible offline.</li>\n<li>Our system blends symbolic reasoning + LLM judgment + fallback safety.</li>\n<li>This hybrid approach brings ARC closer to human-like reasoning and pushes AGI-inspired problem-solving.</li>\n</ul>\n<h1>📁 Output Format (submission.json Example)</h1>\n<p>{\n  \"00576224\": [\n    {\n      \"attempt_1\": [[0,1],[1,0]],\n      \"attempt_2\": [[0,0],[0,0]]\n    }\n  ]</p>\n<h1>}</h1>\n<p>👥 Team Members – VishnuDharma</p>\n<ul>\n<li>Pranjul Tiwari – AI/LLM Systems &amp; Program Synthesis</li>\n<li>Ankit Tiwari – Strategy, Optimization &amp; Solution Architecture</li>\n</ul>",
      "rawMarkdown": "🧩 Overview of Our Approach\n\nTo solve ARC (Abstraction and Reasoning Corpus) tasks, our team developed a Hybrid Reasoning Framework that combines:\n - Heuristic rule discovery,\n - Lightweight LLM-based supervision, and\n - Program synthesis via beam search,\n   along with a fallback system to ensure valid output for every task.\n\nThis blend enables our method to perform symbolic reasoning, adapt to novel problems, and stay fully compatible with Kaggle's offline constraints.\n\n🎯 Key Design Goals\n - No reliance on internet or cloud models\n - Explainable solutions rather than black-box predictions\n - Generalization to unseen ARC tasks\n - Every task should produce a valid submission (no task left blank)\n\n🛠️ Solution Architecture\n\n\nWe used a 3-stage cascaded process:\n\nStage 1 – Heuristic Solver\n - Description: Detects direct transformations: color maps, flips, rotations, translations, cropping, repetition.\n - When Used: First attempt\n\nStage 2 – LLM Supervisor (Optional)\n - Description: Local LLM like LLaMA/FlanT5 predicts \"what kind of transformation\" (e.g., reflect, recolor, move)\n - When Used: If heuristics are unsure\n\nStage 3 – Beam Search Program Synthesis\n - Description: Composes small functions (rotate → crop → recolor) using beam search to find a program f such that f(X_train) = Y_train\n - When Used: If LLM or heuristics fail\n\n✔ If all three stages fail, we use a controlled fallback strategy, like:\n - Copy input → output\n - Most frequent color fill\n - Identity mapping to avoid invalid submission.json\n\n📊 Workflow\n1. Load ARC task.\n2. Extract colors, objects, shapes, size differences.\n3. Try basic heuristic transformations.\n4. If unsure → ask LLM: “Is this rotation, reflection or color change?”\n5. If still unsolved → run beam search over DSL functions.\n6. Validate the function on training examples.\n7. Apply to test inputs.\n8. Save two attempts per task in submission.json.\n\n🧠 Why This Works\n - Heuristics solve easy tasks quickly; beam search solves complex ones.\n - Not dependent on past data; works on unseen problems.\n - Inspired by human reasoning, compositionality, and ARC principles from François Chollet.\n - Every stage is explainable and reproducible offline.\n - Our system blends symbolic reasoning + LLM judgment + fallback safety.\n - This hybrid approach brings ARC closer to human-like reasoning and pushes AGI-inspired problem-solving.\n\n📁 Output Format (submission.json Example)\n==========\n{\n  \"00576224\": [\n    {\n      \"attempt_1\": [[0,1],[1,0]],\n      \"attempt_2\": [[0,0],[0,0]]\n    }\n  ]\n}\n==========\n\n👥 Team Members – VishnuDharma\n - Pranjul Tiwari – AI/LLM Systems & Program Synthesis\n - Ankit Tiwari – Strategy, Optimization & Solution Architecture\n\n"
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T21:00:15Z",
  "competition_id": 91496,
  "competition_slug": "arc-prize-2025",
  "team_id": 14457891,
  "solution_url": "/competitions/arc-prize-2025/writeups/vishnudharma-arc-solver-a-hybrid-ai-framework"
}