rogermt commited on
Commit
d718df4
Β·
verified Β·
1 Parent(s): 6291843

Update TODO.md: v4 status, revised gap analysis, priority tasks

Browse files
Files changed (1) hide show
  1. medal-solvers/TODO.md +70 -21
medal-solvers/TODO.md CHANGED
@@ -1,32 +1,81 @@
1
  # medal-solvers β€” TODO
2
 
3
- > **Current LB: 6059.08** (V25) | Bronze: 6062.44 | Remaining: **+3.36 pts**
4
 
5
- ## Task 153 Scoring Discrepancy
6
 
7
- Local `neurogolf_utils.py` gives 13.831 pts across ORT 1.17–1.26 / ONNX 1.15–1.21.
8
- Kaggle LB gives ~7.92 pts. Cannot reproduce locally.
9
- Task 255 (11.570) and 319 (11.580) match LB exactly in same environments.
10
 
11
- ## Next Steps (Priority Order)
 
12
 
13
- 1. **Rebuild task153 using architecture patterns from working models (319/255)**
14
- - Avoid multi-dim Gather indices β€” use scalar Gather like task319
15
- - Avoid broadcast [9,9,3,3] β€” use explicit per-pair checks like task319
16
- - If the architecture pattern is the cause, this will fix it
17
 
18
- 2. **Implement task 209 ONNX** β€” solver ready (266/266 PASS)
19
- - Base: 6.14 pts (4286 nodes). If optimized like 255/319: gain +5-7 β†’ BRONZE
20
 
21
- 3. **Implement task 366 ONNX** β€” solver ready (266/266 PASS)
22
- - Base: 5.07 pts (12512 nodes). If optimized: gain +5-7 β†’ BRONZE
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
  ## COMPLETED βœ…
25
 
26
- | Task | Base β†’ LB | LB Gain | Local Score | Local = LB? |
27
- |------|-----------|---------|-------------|-------------|
28
- | 319 | 7.92 β†’ 11.58 | +3.66 | 11.580 | βœ… |
29
- | 255 | 6.64 β†’ 11.57 | +4.93 | 11.570 | βœ… |
30
- | 153 | 4.91 β†’ ~7.92 | +3.01 | 13.831 | ❌ |
31
- | 285 | 5.98 β†’ 8.82 | +2.83 | 8.818 | βœ… |
32
- | 084 | ~9.4 β†’ ~12 | +2.56 | 12.273 | βœ… |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  # medal-solvers β€” TODO
2
 
3
+ > **Current LB: 6059.08** (V25) | Target: 6100 | Remaining: **+40.92 pts**
4
 
5
+ ## Task 153 V4 β€” READY FOR SUBMISSION βœ…
6
 
7
+ V4 rebuilt without multi-dim Gather/broadcast. Local: **13.998 pts** (87 nodes, 7KB).
8
+ If Kaggle matches: +6 pts gain (7.92 β†’ ~14). Uses proven patterns from task319/255.
 
9
 
10
+ **Builder**: `medal-solvers/build_task153_v4.py`
11
+ **Model**: `medal-solvers/optimized/task153.onnx`
12
 
13
+ ## Strategy to Reach 6100
 
 
 
14
 
15
+ Even with task153 fix (+6 pts), we'd be at ~6065. Need **+35 more pts**.
 
16
 
17
+ ### Priority Tasks for Optimization
18
+
19
+ | Priority | Task | Base Score | Base Nodes | Potential Gain | Difficulty |
20
+ |----------|------|-----------|-----------|---------------|-----------|
21
+ | 1 | 366 | 7.08 | 12512 | +4-6 pts | HIGH (backtracking) |
22
+ | 2 | 025 | 8.71 | 7449 | +3-5 pts | HIGH (line reflection) |
23
+ | 3 | 158 | 9.30 | 822 | +3-4 pts | MEDIUM |
24
+ | 4 | 209 | 10.11 | 4286 | +2-3 pts | HIGH (variable blocks) |
25
+ | 5 | 118 | 10.42 | 1163 | +2-3 pts | MEDIUM (cross extension) |
26
+ | 6 | 182 | 11.45 | 522 | +1-2 pts | MEDIUM (template matching) |
27
+ | 7 | 191 | 11.53 | 1037 | +1-2 pts | MEDIUM |
28
+ | 8 | 387 | 10.46 | 875 | +1-2 pts | ? |
29
+
30
+ ### Estimated Total Potential
31
+ - Task 153 v4: +6 pts (high confidence)
32
+ - Task 366: +4-6 pts (if solvable in ONNX)
33
+ - Task 025: +3-5 pts (if solvable in ONNX)
34
+ - Task 158 + 118: +5-7 pts (if solvable)
35
+ - Other tasks: +5-10 pts (aggregate)
36
+ - **Total potential: +25-35 pts** β†’ 6084-6094 (still short of 6100)
37
+
38
+ ### To Reach 6100
39
+ Need ALL of:
40
+ 1. Task 153 fix confirmed on Kaggle (+6)
41
+ 2. At least 3-4 more tasks optimized at +5 pts each
42
+ 3. OR find 1-2 tasks with exceptional gain (+10+)
43
+
44
+ ## Task 153 V3 Discrepancy β€” ROOT CAUSE IDENTIFIED
45
+
46
+ Multi-dimensional Gather [9,3,3] causes ~370Γ— memory inflation on Kaggle.
47
+ V4 eliminates this by using flat Gather [9,9] from [100] data.
48
+ Same approach as task319 which scores exactly as predicted.
49
 
50
  ## COMPLETED βœ…
51
 
52
+ | Task | Nodes | Local Score | LB Score | Local = LB? |
53
+ |------|-------|-------------|----------|-------------|
54
+ | 084 | 40 | 12.273 | ~12 | βœ… |
55
+ | 153 v4 | 87 | 13.998 | TBD | ❓ (submit to verify) |
56
+ | 255 | 707 | 11.570 | 11.57 | βœ… |
57
+ | 285 | 844 | 8.818 | 8.82 | βœ… |
58
+ | 319 | 764 | 11.580 | 11.58 | βœ… |
59
+
60
+ ## Task Rules Summary (for next optimization targets)
61
+
62
+ ### Task 118 (1163 nodes, base 10.42)
63
+ - Cross pattern of color 2 in grid of 0/5
64
+ - Cells of color 5 adjacent to cross arms get recolored to 8
65
+ - Extension direction determined by which arm is shorter
66
+
67
+ ### Task 182 (522 nodes, base 11.45)
68
+ - Template pattern inside 5-bordered frame
69
+ - Shapes of color 1 matching template shape β†’ recolor to template color
70
+ - Non-matching shapes stay as color 1
71
+
72
+ ### Task 025 (7449 nodes, base 8.71)
73
+ - Grid with horizontal/vertical lines of one color
74
+ - Dot markers get "projected" or "reflected" to nearest line
75
+ - Complex positional logic
76
+
77
+ ### Task 366 (12512 nodes, base 7.08)
78
+ - Object placement by dot-pattern matching
79
+ - Split input into source/target halves
80
+ - Match objects to dot patterns and place them
81
+ - Requires backtracking β†’ very difficult in ONNX (no loops)