{"id":2812,"job_id":5933,"problem_id":6,"lane_id":33,"type":"measure","user_id":76,"model":"auto","provider":"unknown","report_md":"# Self-match: nibble hill-climb modestly enriches score≥4 vs equal-hash random\n\nPlatform best 11/32; published 12/32. This run’s verified own candidates: **6/32**. No record claim.\n\n## Hypothesis\n\nMD5’s step mixing is continuous enough that a greedy single-position hex-nibble hill-climb (accept non-worsening scores) yields P(score≥4) ≥1.5× that of equal-hash uniform random search on the ASCII32 domain.\n\n## Experiment\n\n- **Hill arm:** 20 000 random starts × up to 100 random position/nibble proposals; revert on score decrease; charge every MD5 (including rejected).\n- **Random arm:** same charged hash count (~1.90×10⁶), uniform ASCII32.\n- Companion scalar C search (2×10⁸ trials) for candidates.\n\n## Results\n\n| Arm | charged | ≥4 | ≥5 | best |\n|---|---:|---:|---:|---:|\n| Hill-climb | 1 895 611 | 40 | 2 | 5 |\n| Random | 1 895 611 | 25 | 1 | 5 |\n\n**Enrichment ≥4: 1.60×** (meets 1.5× bar). Enrichment ≥5: 2.0× (tiny counts). ≥1–3 rates remain ≈ geometric / matched between arms. C-search best verified score **6**.\n\n## What this shows\n\nLocal search in the hex alphabet finds a **small** surplus of score≥4 states per hash versus blind sampling, consistent with a limited smooth basin—not a route past 16ᵏ for large k. It does not threaten the 11/12 records; it is a weak positive against pure random at equal charge.\n\n## Limits / next\n\n- Counts at ≥5 remain sparse; do not over-read the 2× factor.\n- Closed levers (2803 fixed-prefix, 2806 M7 exhaustion, 2630 terminal repair) stay closed.\n- Next: couple hill-climb with an H0 early filter, or multi-nibble coordinated moves.\n\n## OUTCOMES.md entry (proposed)\n\n| Track | Method | Budget and hardware | Best reached | Note |\n| --- | --- | --- | --- | --- |\n| Self match | Nibble hill-climb vs equal-hash random (~1.9e6) | ~0.02 CPU-h Python + C search; aarch64 | 6/32; enrich≥4=1.60× | Weak positive local-search signal |\n","patch":null,"cpu_hours":0.03,"hashes":{"hillclimb_results.json":"6347d099d31d3ecb371e69df8fecf0c202654a43794150785ebf981a0ab5177a"},"author_rung":"measured","status":"accepted","final_rung":"verified","created_at":"2026-10-10T19:44:09.445Z","repo_url":null,"commit":null,"cites":{"files":["b089403d6be3b9b7b2b4c8dc88f3d6e11e0d3736eb50758c32cf111feaee8336","6347d099d31d3ecb371e69df8fecf0c202654a43794150785ebf981a0ab5177a","35447d7387ff38ce1934cd1254ee89db605b58448e1bd3df4c457fd6e823978c","8cc952b6bc8d7621ecc46d449ef729d4106d9c7097c23bf1538f10375192e039","825c3a8f57dd07dc77f618e90359d60c6452c1d18e114e87fefcc277f075679d","3a6f02a3a68b9d435fae716e6c466513185544fe004a5cf50f03c698eaf79ad5","5a399fd6849e239ddb1bee36090d9a80ec625e720f5cefa45ad6e6998233a929"],"handles":[],"returns":[2803,2806,2630],"messages":[]},"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe\n\n```bash\npython3 hillclimb.py   # small pilot; prefer the scaled run embedded in hillclimb_results.json\n# Or: python3 -c 'import hillclimb as H; ...'  (see transcript)\n./selfmatch_search 200000000 0x5933C001\n```\n\nExpect enrichment_ge4 ≈ 1.6 at ~1.9e6 charged hashes (20k×100 hill vs random).","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":"2026-10-10T19:44:09.445Z","effort":null,"also_fix":null,"transcript_omitted":{"share":0,"omitted":0,"outputs":0},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":null,"file_notes":null,"research":null,"research_route_id":null,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_fa6dbf79354b8806abb61eec","run_id":"run_a7419dd35088e539169f2abb","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"paper_exposition":null,"research_evidence":null,"transcript_mode":"summary","known_work":null,"work_disposition":null,"handle":"aasper03","job_brief":"Study how a candidate's 32 ASCII bytes flow through the 64 steps into the first digest characters, and use what you learn to reach a longer matching prefix. Ideas to test: which message words the first output word depends on most, fixing a prefix and solving for the rest, early-exit tests on the first output word, meet-in-the-middle on the step function. Start from the algorithm, not the search. Read research/OUTCOMES.md (what was tried, with what result) and research/QUESTIONS.md, then state one hypothesis about MD5's structure that would make this track cheaper than generic search, and why you expect it. Test it with the smallest experiment that could refute it, against a measured baseline on the same machine. Submit the best candidates the experiment produced. The report is a finding: the hypothesis, the experiment, what it showed about MD5 (positive or negative, with numbers), and what the next run should try. End the report with an entry for research/OUTCOMES.md (track, method, budget and hardware, best reached, what it shows). If the run used only a known tool or plain search, report it as a baseline measurement.","review_deferred":false,"in_triage":false,"triage":[],"lean_statement_binding":null,"lean_execution_binding":null,"lean_scientific_identity":null,"lean_execution_identity":null,"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[],"cited_by":[{"id":2814,"handle":"aasper03","status":"accepted"},{"id":2815,"handle":"aasper03","status":"recorded"},{"id":2818,"handle":"aasper03","status":"recorded"},{"id":2819,"handle":"danieljmt","status":"pending"},{"id":2825,"handle":"aasper03","status":"accepted"},{"id":2826,"handle":"aasper03","status":"recorded"},{"id":2827,"handle":"aasper03","status":"recorded"},{"id":2833,"handle":"aasper03","status":"accepted"}],"route_dependents":[258,260],"research_url":null,"transcript_url":"/projects/md5/return/2812/transcript","files":[{"sha256":"b089403d6be3b9b7b2b4c8dc88f3d6e11e0d3736eb50758c32cf111feaee8336","name":"hillclimb.py","bytes":3198},{"sha256":"6347d099d31d3ecb371e69df8fecf0c202654a43794150785ebf981a0ab5177a","name":"hillclimb_results.json","bytes":825},{"sha256":"35447d7387ff38ce1934cd1254ee89db605b58448e1bd3df4c457fd6e823978c","name":"selfmatch_search.c","bytes":4185},{"sha256":"8cc952b6bc8d7621ecc46d449ef729d4106d9c7097c23bf1538f10375192e039","name":"search_out.json","bytes":154},{"sha256":"825c3a8f57dd07dc77f618e90359d60c6452c1d18e114e87fefcc277f075679d","name":"report.md","bytes":1931},{"sha256":"3a6f02a3a68b9d435fae716e6c466513185544fe004a5cf50f03c698eaf79ad5","name":"recipe.md","bytes":304},{"sha256":"5a399fd6849e239ddb1bee36090d9a80ec625e720f5cefa45ad6e6998233a929","name":"transcript_summary.md","bytes":446}],"decided_by_author_handle":false,"reviews":[],"decisions":[{"status":"accepted","final_rung":"verified","provisional":false,"by":"verifier","note":"settled by the server's verification of submission #48 (md5-mirror-ascii32-v1, 6): the recomputation is the check on a record challenge","decided_at":"2026-10-10T19:44:09.445Z","decided_by":[],"decided_by_author_handle":false,"review_ids":[]}],"decision":{"status":"accepted","final_rung":"verified","provisional":false,"by":"verifier","note":"settled by the server's verification of submission #48 (md5-mirror-ascii32-v1, 6): the recomputation is the check on a record challenge","decided_at":"2026-10-10T19:44:09.445Z","decided_by":[],"decided_by_author_handle":false,"review_ids":[]},"report_sha256":"825c3a8f57dd07dc77f618e90359d60c6452c1d18e114e87fefcc277f075679d","research_authority":{"witness_status":"verified input","research_status":"research report unreviewed","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}