Skip to content

Commit 1a232bb

Browse files
authored
Merge pull request #4 from tylerbessire/codex/merge-enhanced_solver-into-solver
Unify solver and reorganize neural components
2 parents 2e2f8d8 + 425ceda commit 1a232bb

17 files changed

+336
-340
lines changed

README.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,23 @@ arc_solver_project/
2929
│ ├── dsl.py # Domain-specific language primitives
3030
│ ├── heuristics.py # Heuristic rule inference
3131
│ ├── search.py # Basic brute-force search
32-
│ ├── solver.py # Main solver interface (enhanced)
33-
│ ├── enhanced_solver.py # Enhanced solver with neural components
32+
│ ├── solver.py # Main solver interface with enhancements
3433
│ ├── enhanced_search.py # Neural-guided program synthesis
34+
│ ├── features.py # Task feature extraction
35+
│ ├── ttt.py # Test-time training utilities
3536
│ ├── io_utils.py # JSON loading and submission helpers
36-
│ └── neural/ # Neural guidance components
37-
│ ├── features.py # Task feature extraction
37+
│ └── neural/ # Neural components
3838
│ ├── guidance.py # Neural operation prediction
39-
│ ├── sketches.py # Program sketch mining
4039
│ ├── episodic.py # Episodic retrieval system
41-
│ └── ttt.py # Test-time training
40+
│ └── sketches.py # Program sketch mining
4241
4342
├── arc_submit.py # Command-line submission script
44-
├── train_neural_guidance.py # Training script for neural components
45-
├── benchmark.py # Benchmarking and evaluation tools
43+
├── tools/ # Training and benchmarking utilities
44+
│ ├── train_guidance.py
45+
│ ├── mine_sketches.py
46+
│ ├── build_memory.py
47+
│ └── benchmark.py
48+
├── tests/ # Unit and integration tests
4649
└── README.md # This file
4750
```
4851

@@ -62,22 +65,21 @@ ARC_USE_BASELINE=1 python arc_submit.py
6265

6366
```bash
6467
# Train neural guidance (requires training data)
65-
python train_neural_guidance.py
68+
python tools/train_guidance.py
6669

6770
# Or setup environment with defaults
68-
python benchmark.py
71+
python tools/benchmark.py
6972
```
7073

7174
### 3. Python API
7275

7376
```python
74-
from arc_solver.enhanced_solver import solve_task_enhanced
77+
from arc_solver.solver import solve_task_enhanced, ARCSolver
7578

7679
# Solve a single task with full enhancements
7780
result = solve_task_enhanced(task)
7881

7982
# Configure solver behavior
80-
from arc_solver.enhanced_solver import ARCSolver
8183
solver = ARCSolver(use_enhancements=True)
8284
result = solver.solve_task(task)
8385
```

arc_solver/enhanced_search.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
from .grid import Array, eq
1616
from .dsl import OPS, apply_program
1717
from .heuristics import consistent_program_single_step, score_candidate, diversify_programs
18-
from .guidance import NeuralGuidance
19-
from .memory import EpisodicRetrieval
20-
from .sketches import SketchMiner, generate_parameter_grid
18+
from .neural.guidance import NeuralGuidance
19+
from .neural.episodic import EpisodicRetrieval
20+
from .neural.sketches import SketchMiner, generate_parameter_grid
2121
from .ttt import TestTimeTrainer, DataAugmentation
2222

2323

arc_solver/enhanced_solver.py

Lines changed: 0 additions & 214 deletions
This file was deleted.

arc_solver/neural/__init__.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
"""Neural components for the ARC solver."""
2+
3+
from .guidance import SimpleClassifier, HeuristicGuidance, NeuralGuidance
4+
from .episodic import Episode, EpisodeDatabase, EpisodicRetrieval
5+
from .sketches import ProgramSketch, SketchMiner, generate_parameter_grid
6+
7+
__all__ = [
8+
"SimpleClassifier",
9+
"HeuristicGuidance",
10+
"NeuralGuidance",
11+
"Episode",
12+
"EpisodeDatabase",
13+
"EpisodicRetrieval",
14+
"ProgramSketch",
15+
"SketchMiner",
16+
"generate_parameter_grid",
17+
]

arc_solver/memory.py renamed to arc_solver/neural/episodic.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
from __future__ import annotations
1515

1616
from dataclasses import dataclass, field
17-
from typing import Any, Dict, List, Tuple, Optional
17+
from typing import Any, Dict, List, Optional, Tuple
1818
from collections import defaultdict
1919
import json
2020
import os
2121

2222
import numpy as np
2323

24-
from .grid import Array
25-
from .features import compute_task_signature, extract_task_features
24+
from ..grid import Array
25+
from ..features import compute_task_signature, extract_task_features
2626

2727
# Type alias for a DSL program representation used across the project
2828
Program = List[Tuple[str, Dict[str, Any]]]

0 commit comments

Comments
 (0)