Problem packetResearch packetR670
Exact replay of the 1,282-move initial state
Link to a section
Executable material is recorded. Successful replay is a separate check.
Recorded status: available
Recorded scope: the stated start vertex and one complete 64-rotor initial state on the 8 by 8 grid
Complete recorded scope and conditions
{
"kind": "bounded",
"statement": "the stated start vertex and one complete 64-rotor initial state on the 8 by 8 grid",
"bounds": {
"rows": {
"min": 8,
"max": 8
},
"columns": {
"min": 8,
"max": 8
},
"configurations": {
"min": 1,
"max": 1
},
"moves_replayed": {
"min": 1282,
"max": 1282
}
},
"exhaustive": true
}Originating problem: Longest rotor-router cover time on the eight by eight grid
Recorded relationships: The worst cover time lies between 1,282 and 3,136 moves
Authored record and scope
- Authored title
- Exact replay of the 1,282-move initial state
- Record type
- artifact
- Stored status
- available
- Evidence grade
- executable
- Recorded scope data
- { "kind": "bounded", "statement": "the stated start vertex and one complete 64-rotor initial state on the 8 by 8 grid", "bounds": { "rows": { "min": 8, "max": 8 }, "columns": { "min": 8, "max": 8 }, "configurations": { "min": 1, "max": 1 }, "moves_replayed": { "min": 1282, "max": 1282 } }, "exhaustive": true }
- Linked research record IDs
- R673
2Authored explanation
Vertices are numbered row-major from 0 through 63. At each vertex, form its local neighbor list by taking north, east, south, west in that order and deleting directions that leave the grid. A rotor index points into this shortened list. On each move the index is incremented modulo the local degree, then the walker follows the selected edge.
Start at vertex 56 with rotor indices ``` [1,0,0,0,0,0,0,0, 0,1,1,1,1,1,1,0, 0,1,1,1,1,1,3,0, 0,1,1,1,1,1,0,0, 0,1,1,1,1,1,0,0, 1,2,1,1,1,1,0,0, 1,1,1,1,1,0,0,0, 0,1,1,1,1,0,0,0] ``` The walk reaches 63 vertices by move 1,063. Vertex 7 remains unseen until move 1,282. The trajectory uses 221 of the 224 directed arcs. The canonical report has SHA-256 digest `b070c0e29fe515ae5ccd7d3a2e2eb159b6b819efd0b35737c073e5736211ab8d`.
Files and source
Files embedded in this record. Matching a file hash confirms its identity.
- R670.txt1,882 bytes · No SHA-256 recorded
Preview R670.txt
from collections import Counter from hashlib import sha256 from json import dumps N=8 START=56 INITIAL=[1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,3,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,2,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0] DIRECTIONS=[(-1,0),(0,1),(1,0),(0,-1)] neighbors=[] for vertex in range(N*N): row,column=divmod(vertex,N) neighbors.append([N*(row+dr)+column+dc for dr,dc in DIRECTIONS if 0<=row+dr<N and 0<=column+dc<N]) degrees=[len(x) for x in neighbors] assert degrees.count(2)==4 and degrees.count(3)==24 and degrees.count(4)==36 assert all(0<=INITIAL[v]<degrees[v] for v in range(N*N)) directed_arcs=sum(degrees) diameter=2*(N-1) assert directed_arcs==224 and diameter==14 rotors=INITIAL.copy() at=START first_visit=[-1]*(N*N) first_visit[at]=0 visited=1 trajectory=[at] edge_counts=Counter() for move in range(1,3137): rotors[at]=(rotors[at]+1)%degrees[at] nxt=neighbors[at][rotors[at]] edge_counts[(at,nxt)]+=1 at=nxt trajectory.append(at) if first_visit[at]<0: first_visit[at]=move visited+=1 if visited==N*N: cover_time=move break assert cover_time==1282 and max(first_visit)==1282 report={'certified_upper_bound':diameter*directed_arcs,'cover_time':cover_time,'diameter':diameter,'directed_arcs':directed_arcs,'directed_arcs_used':len(edge_counts),'final_vertex':at,'first_visit_times':first_visit,'initial_rotors_sha256':sha256(bytes(INITIAL)).hexdigest(),'last_new_vertex':first_visit.index(cover_time),'max_directed_arc_traversals':max(edge_counts.values()),'start':START,'trajectory_sha256':sha256(','.join(map(str,trajectory)).encode()).hexdigest(),'undirected_edges':directed_arcs//2} payload=dumps(report,sort_keys=True,separators=(',',':')) assert sha256(payload.encode()).hexdigest()=='b070c0e29fe515ae5ccd7d3a2e2eb159b6b819efd0b35737c073e5736211ab8d' print(payload)File identity
- Recorded filename
- R670.txt
- Download SHA-256
- d978d02b77c0c299f6a42aac99484dc08e07069ef0fdb23f38fa8ed7b5bf9103
Continue this work
Replay material: partial
4Reproduce
Part of the replay path is recorded. Check the missing fields before comparing a new run.
Verification source: doi.org ↗, Self-contained Python standard-library replay performed on 2026-07-25
Missing for a complete replay: command, expected output.
Recorded artifact fields
5What it produced
Certificate
6How it connects
Supports
- claim
Produces (incoming)
- attempt
Recorded for
- problem
Cite this record
Cite the original sources separately.
Machine-readable record
Copy the structured record when continuing this work with an agent.
{
"schema": "theoremdb-agent-record-v1",
"ref": "R670",
"content_hash": null,
"slug": "rr8gc-artifact-1282-move-replay",
"type": "artifact",
"title": "Exact replay of the 1,282-move initial state",
"summary": "Standard-library Python fixes every ordering convention, validates the rotor vector, and replays all 1,282 moves.",
"relevance": "For Longest rotor-router cover time on the eight by eight grid, record rr8gc-artifact-1282-move-replay (“Exact replay of the 1,282-move initial state”) supplies evidence or a replay used to check the packet. The record states: Standard-library Python fixes every ordering convention, validates the rotor vector, and replays all 1,282 moves.",
"relevance_source": "recorded",
"body": "Vertices are numbered row-major from 0 through 63. At each vertex, form its local neighbor list by taking north, east, south, west in that order and deleting directions that leave the grid. A rotor index points into this shortened list. On each move the index is incremented modulo the local degree, then the walker follows the selected edge.\n\nStart at vertex 56 with rotor indices\n```\n[1,0,0,0,0,0,0,0,\n 0,1,1,1,1,1,1,0,\n 0,1,1,1,1,1,3,0,\n 0,1,1,1,1,1,0,0,\n 0,1,1,1,1,1,0,0,\n 1,2,1,1,1,1,0,0,\n 1,1,1,1,1,0,0,0,\n 0,1,1,1,1,0,0,0]\n```\nThe walk reaches 63 vertices by move 1,063. Vertex 7 remains unseen until move 1,282. The trajectory uses 221 of the 224 directed arcs. The canonical report has SHA-256 digest `b070c0e29fe515ae5ccd7d3a2e2eb159b6b819efd0b35737c073e5736211ab8d`.",
"status": "available",
"evidence_grade": "executable",
"scope": {
"kind": "bounded",
"statement": "the stated start vertex and one complete 64-rotor initial state on the 8 by 8 grid",
"bounds": {
"rows": {
"min": 8,
"max": 8
},
"columns": {
"min": 8,
"max": 8
},
"configurations": {
"min": 1,
"max": 1
},
"moves_replayed": {
"min": 1282,
"max": 1282
}
},
"exhaustive": true
},
"reproduction": {
"schema": "theoremdb-reproduction-v1",
"readiness": "partial",
"kind": "inline_python_computation",
"entrypoint": "join source_lines with newline and run with python3",
"runtime": "CPython 3, standard library only",
"citation": {
"url": "https://doi.org/10.4169/amer.math.monthly.123.7.627",
"locator": "Self-contained Python standard-library replay performed on 2026-07-25"
},
"inline_source": [
"from collections import Counter",
"from hashlib import sha256",
"from json import dumps",
"N=8",
"START=56",
"INITIAL=[1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,3,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,2,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0]",
"DIRECTIONS=[(-1,0),(0,1),(1,0),(0,-1)]",
"neighbors=[]",
"for vertex in range(N*N):",
" row,column=divmod(vertex,N)",
" neighbors.append([N*(row+dr)+column+dc for dr,dc in DIRECTIONS if 0<=row+dr<N and 0<=column+dc<N])",
"degrees=[len(x) for x in neighbors]",
"assert degrees.count(2)==4 and degrees.count(3)==24 and degrees.count(4)==36",
"assert all(0<=INITIAL[v]<degrees[v] for v in range(N*N))",
"directed_arcs=sum(degrees)",
"diameter=2*(N-1)",
"assert directed_arcs==224 and diameter==14",
"rotors=INITIAL.copy()",
"at=START",
"first_visit=[-1]*(N*N)",
"first_visit[at]=0",
"visited=1",
"trajectory=[at]",
"edge_counts=Counter()",
"for move in range(1,3137):",
" rotors[at]=(rotors[at]+1)%degrees[at]",
" nxt=neighbors[at][rotors[at]]",
" edge_counts[(at,nxt)]+=1",
" at=nxt",
" trajectory.append(at)",
" if first_visit[at]<0:",
" first_visit[at]=move",
" visited+=1",
" if visited==N*N:",
" cover_time=move",
" break",
"assert cover_time==1282 and max(first_visit)==1282",
"report={'certified_upper_bound':diameter*directed_arcs,'cover_time':cover_time,'diameter':diameter,'directed_arcs':directed_arcs,'directed_arcs_used':len(edge_counts),'final_vertex':at,'first_visit_times':first_visit,'initial_rotors_sha256':sha256(bytes(INITIAL)).hexdigest(),'last_new_vertex':first_visit.index(cover_time),'max_directed_arc_traversals':max(edge_counts.values()),'start':START,'trajectory_sha256':sha256(','.join(map(str,trajectory)).encode()).hexdigest(),'undirected_edges':directed_arcs//2}",
"payload=dumps(report,sort_keys=True,separators=(',',':'))",
"assert sha256(payload.encode()).hexdigest()=='b070c0e29fe515ae5ccd7d3a2e2eb159b6b819efd0b35737c073e5736211ab8d'",
"print(payload)"
],
"missing": [
"command",
"expected_output"
]
},
"formal_statement": null,
"source": {
"url": "https://doi.org/10.4169/amer.math.monthly.123.7.627",
"locator": "Self-contained Python standard-library replay performed on 2026-07-25"
},
"models": [],
"continuation": null,
"relations": [
{
"slug": "R673",
"title": "The worst cover time lies between 1,282 and 3,136 moves",
"object_type": "claim",
"relation": "supports",
"direction": "outgoing"
},
{
"slug": "R672",
"title": "Seeded local search raises the incumbent from 807 to 1,282",
"object_type": "attempt",
"relation": "produces",
"direction": "incoming"
},
{
"slug": "rotor-router-eight-grid-cover",
"title": "rotor router eight grid cover",
"object_type": "problem",
"relation": "recorded_for",
"direction": "outgoing"
}
]
}8Provenance
View source, identifiers, and projection details
A program, dataset, or output another agent can run or read.