rogermt commited on
Commit
c31860a
·
verified ·
1 Parent(s): 472786a

Upload medal-solvers/TODO.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. medal-solvers/TODO.md +48 -59
medal-solvers/TODO.md CHANGED
@@ -2,81 +2,70 @@
2
 
3
  ## ⚠️ AGENT: DO THESE IN ORDER. Do NOT skip ahead or invent your own tasks.
4
 
5
- **Current**: 6070.53 (v50) | **Target**: 6500 (silver) | **Gap**: ~430 pts
6
  **Strategy**: Crack rules for fixed-grid tasks, build ONNX, verify score > base, submit.
7
 
8
  ---
9
 
10
- ## PHASE 1: QUICK WINS (small grids, likely simple rules)
11
-
12
- Crack these first small grids = easy ONNX, fast iteration:
13
-
14
- | # | Task | Grid | Base Score | Base Nodes | Action |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  |---|------|------|-----------|-----------|--------|
16
- | 1 | **398** | 1×5 | 12.36 | 44 | Crack rule, build ONNX |
17
- | 2 | **57** | 8×8 | 13.08 | 18 | Crack rule (only 18 nodes!) |
18
- | 3 | **384** | 9×9 | 12.70 | 39 | Crack rule, build ONNX |
19
- | 4 | **217** | 9×9 | 12.82 | 34 | Crack rule, build ONNX |
20
- | 5 | **34** | 9×9 | 12.39 | 87 | Crack rule, build ONNX |
21
 
22
- ## PHASE 2: HIGH-VALUE (big gains, more complex)
23
 
24
- | # | Task | Grid | Base Score | Base Nodes | Potential | Action |
25
  |---|------|------|-----------|-----------|-----------|--------|
26
- | 6 | **219** | 15×10 | 8.42 | 532 | +6.1 | Crack rule, build ONNX |
27
- | 7 | **157** | 10×15 | 9.14 | 433 | +5.4 | Rule partially known (5→1 reflection), finish cracking |
28
- | 8 | **182** | 20×20 | 10.63 | 522 | +3.9 | Crack rule, build ONNX |
29
- | 9 | **110** | 29×29 | 12.11 | 163 | +2.4 | Crack rule |
30
- | 10 | **54** | 30×30 | 12.15 | 118 | +2.4 | Crack rule |
31
 
32
  ## PHASE 3: MEDIUM GAINS
33
 
34
- | # | Task | Grid | Base Score | Base Nodes | Potential |
35
- |---|------|------|-----------|-----------|-----------|
36
- | 11 | 71 | 16×16 | 12.53 | 49 | +2.0 |
37
- | 12 | 5 | 21×21 | 12.62 | 106 | +1.9 |
38
- | 13 | 216 | 20×20 | 12.76 | 286 | +1.7 |
39
- | 14 | 128 | 15×15 | 12.78 | 28 | +1.7 |
40
- | 15 | 208 | 21×21 | 12.82 | 196 | +1.7 |
41
- | 16 | 201 | 13×13 | 12.90 | 135 | +1.6 |
42
- | 17 | 365 | 10×10 | 12.91 | 242 | +1.6 |
43
- | 18 | 165 | 20×20 | 13.02 | 25 | +1.5 |
44
- | 19 | 36 | 30×30 | 13.03 | 56 | +1.5 |
45
- | 20 | 107 | 5×5 | 13.24 | 52 | +1.3 |
46
 
47
  ---
48
 
49
  ## WORKFLOW PER TASK
50
 
51
- ```
52
- 1. Load task JSON from task-data/taskNNN.json
53
- 2. Look at train examples (input→output), identify the rule
54
- 3. Write Python solver, verify 265+/265 accuracy
55
- 4. Assess ONNX viability:
56
- - Can the rule be expressed as coordinate arithmetic? (row/col grids, masks, modular ops)
57
- - Does it need CC detection, flood fill, or dynamic matching? NOT VIABLE
58
- - Estimate node count. If >300 nodes AND grid >15×15 probably not worth it
59
- 5. Build ONNX using OnnxBuilder (see onnx_builder.py)
60
- 6. Apply strict shape inference fix
61
- 7. Score with score_model.py — verify score > base
62
- 8. If gain confirmed: save to optimized/ directory, update this TODO
63
- ```
64
-
65
- ## DONE (11 models, +27.7 pts)
66
-
67
- | Task | Gain | Score |
68
- |------|------|-------|
69
- | 025 | +1.83 | 10.54 |
70
- | 028 | +1.47 | 14.30 |
71
- | 062 | +0.50 | 14.74 |
72
- | 084 | +2.67 | 12.39 |
73
- | 153 | +4.10 | 14.91 |
74
- | 200 | +4.32 | 14.64 |
75
- | 255 | +4.16 | 11.57 |
76
- | 277 | +1.55 | 14.85 |
77
- | 285 | +2.83 | 8.82 |
78
- | 319 | +3.74 | 11.65 |
79
- | 387 | +0.50 | 10.96 |
80
 
81
  ## DO NOT TOUCH (base already excellent)
82
 
 
2
 
3
  ## ⚠️ AGENT: DO THESE IN ORDER. Do NOT skip ahead or invent your own tasks.
4
 
5
+ **Current**: 6070.53 + 2.62 = ~6073 (v51 pending) | **Target**: 6500 (silver) | **Gap**: ~427 pts
6
  **Strategy**: Crack rules for fixed-grid tasks, build ONNX, verify score > base, submit.
7
 
8
  ---
9
 
10
+ ## DONE (14 models, +30.3 pts)
11
+
12
+ | Task | Gain | Score | Build Script |
13
+ |------|------|-------|-------------|
14
+ | 025 | +1.83 | 10.54 | build_task025_onnx.py |
15
+ | 028 | +1.47 | 14.30 | build_task028_onnx.py |
16
+ | 057 | +1.09 | 14.17 | build_task057_onnx.py ⭐ NEW |
17
+ | 062 | +0.50 | 14.74 | build_task062_onnx.py |
18
+ | 084 | +2.67 | 12.39 | build_task084_onnx.py |
19
+ | 153 | +4.10 | 14.91 | build_task153_onnx.py |
20
+ | 200 | +4.32 | 14.64 | build_task200_onnx.py |
21
+ | 217 | +1.06 | 13.88 | build_task217.py ⭐ NEW |
22
+ | 255 | +4.16 | 11.57 | build_task255_onnx.py |
23
+ | 277 | +1.55 | 14.85 | build_task277_onnx.py |
24
+ | 285 | +2.83 | 8.82 | build_task285_scatter.py |
25
+ | 319 | +3.74 | 11.65 | build_task319_onnx.py |
26
+ | 384 | +0.47 | 13.17 | build_task384.py ⭐ NEW |
27
+ | 387 | +0.50 | 10.96 | build_task387_onnx.py |
28
+
29
+ ## PHASE 1: QUICK WINS (remaining)
30
+
31
+ | # | Task | Grid | Base Score | Base Nodes | Status |
32
  |---|------|------|-----------|-----------|--------|
33
+ | 1 | **398** | 1×5 | 12.36 | 44 | Script exists, score 10.05 (WORSE) — needs redesign |
34
+ | 2 | **34** | 9×9 | 12.39 | 87 | Rule complex (2x2 diagonal band), partially analyzed |
 
 
 
35
 
36
+ ## PHASE 2: HIGH-VALUE
37
 
38
+ | # | Task | Grid | Base Score | Base Nodes | Potential | Status |
39
  |---|------|------|-----------|-----------|-----------|--------|
40
+ | 3 | **219** | 15×10 | 8.42 | 532 | +6.1 | Rule ~90% cracked (staircase completion), needs final fix |
41
+ | 4 | **157** | 10×15 | 9.14 | 433 | +5.4 | Not attempted |
42
+ | 5 | **182** | 20×20 | 10.63 | 522 | +3.9 | Not attempted |
43
+ | 6 | **110** | 29×29 | 12.11 | 163 | +2.4 | Tile pattern completion, complex |
44
+ | 7 | **54** | 30×30 | 12.15 | 118 | +2.4 | Not attempted |
45
 
46
  ## PHASE 3: MEDIUM GAINS
47
 
48
+ | # | Task | Grid | Base Score | Base Nodes | Potential | Status |
49
+ |---|------|------|-----------|-----------|-----------|--------|
50
+ | 8 | 71 | 16×16 | 12.53 | 49 | +2.0 | Enclosed-region filling (needs CC detection) |
51
+ | 9 | 5 | 21×21 | 12.62 | 106 | +1.9 | Complex pattern completion |
52
+ | 10 | 11 | 11×11 | 13.22 | 52 | +1.3 | Section-based voting, complex |
53
+ | 11 | 162 | 20×20 | 13.22 | 19 | +1.3 | 3x3 block addition, needs CC |
54
+ | 12 | 265 | 18×18 | 13.30 | 32 | +1.2 | 2x2 pattern fill, partially analyzed |
 
 
 
 
 
55
 
56
  ---
57
 
58
  ## WORKFLOW PER TASK
59
 
60
+
61
+
62
+ ## KEY LEARNINGS FROM THIS SESSION
63
+
64
+ 1. **Resize op with empty ROI array (dims=[0]) causes scoring failure** — use ConvTranspose instead for upscaling
65
+ 2. **Dynamic Slice with computed start/end causes unknown shapes** use static slices + Gather for selection
66
+ 3. **Task 398 existing script generates 328 nodes** too many intermediates, score worse than base
67
+ 4. **Task 219 rule** is: find reference staircase group, fill uncovered columns in partial groups with color 1. Almost cracked (228/265) but edge cases with per-column coverage remain
68
+ 5. **Good patterns for ONNX**: Extract→Transform (task 057), Fractal tile (task 217), 2x upscale with Gather (task 384)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
 
70
  ## DO NOT TOUCH (base already excellent)
71