Update LEARNING.md: add task370 v6 result, task219 rule
Browse files
medal-solvers/LEARNING_ADDENDUM.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## WHAT WORKS
|
| 2 |
+
|
| 3 |
+
| Approach | Result |
|
| 4 |
+
|----------|--------|
|
| 5 |
+
| **Task 370 hand-crafted ONNX v6** | **266/266, score 13.39, +1.2 over base 12.19** |
|
| 6 |
+
| **Task 243 hand-crafted ONNX** | **+2.03 pts (Kaggle-verified V88)** |
|
| 7 |
+
| **Profiled best(v72, 6066) merge** | **+13.38 pts (v72→v81)** |
|
| 8 |
+
| Hand-craft ONNX + onnxsim | +31 pts across 17 models (v49→v72) |
|
| 9 |
+
| Single combined 11×11 kernel (task370) | Eliminates per-stride branching, 4 iterations only |
|
| 10 |
+
| Where-based painting (task370) | Avoids extra [1,10,20,20] intermediates |
|
| 11 |
+
| Iterative Conv2D flood fill (task243) | 28 iter × cross kernel, 18x18 slice-first |
|
| 12 |
+
| profile_best_models.py on Kaggle | Accurate comparison in ~7 min (4 workers) |
|
| 13 |
+
| **Filesize check in profiler** | **Prevents including models Kaggle will reject (1.44 MB limit)** |
|
| 14 |
+
|
| 15 |
+
## TASK 219 RULE (CRACKED)
|
| 16 |
+
|
| 17 |
+
Grid 15×10. Three row-groups of grey pixels:
|
| 18 |
+
- TOP = template (most complete, extends furthest right)
|
| 19 |
+
- MIDDLE + BOTTOM = incomplete copies
|
| 20 |
+
|
| 21 |
+
Output: middle/bottom become copies of top template. Cells that were background in the incomplete version but exist in template → blue (color 1). Existing grey stays grey.
|
| 22 |
+
|
| 23 |
+
Alignment: each group maps row-by-row to template rows. The gap (where pattern matches bg) starts at some column; everything rightward in the template gets filled blue.
|
| 24 |
+
|
| 25 |
+
**This is the #1 priority. Base 8.42 = potential gain +4-6 pts if ONNX built.**
|