PROPOSAL · prop_0n8x79dn5j4b1xsd
Nearest neighbor with 2-opt refinement
Keeps the baseline's nearest-neighbor construction and removes crossing edges with a first-improvement 2-opt pass repeated until no improving exchange remains.
- Capability
- cap_euclidean-tsp-v1
- Baseline
- bl_nearest-neighbor-v1
- Parents
- bl_nearest-neighbor-v1
- Contributor
- 0x41B4a2553212345fFb88C9eA2D5ff81F422a41A9
- Source hash
- 0xe8ab8c726e6392788020d7bd3849988d656bd5e71434ceec86d0f1ba3b9b1eb8
- Content hash
- 0x5e0a23e866aedbf000b99963342e6059bc188cee745e5813fc456d3012e9641b
- Chain key (bytes32)
- 0xa1637388436484d579968b9ef247ef15406afcb1f10d2e451fc9bcc62740d37c
- Submitted
- Oct 17, 2026, 05:09 PM UTC
- On-chain anchor
- 0xdae0d7d124… · block 91100556
method
Construction: nearest neighbor from vertex 0 (identical to the baseline). Local search: 2-opt over all vertex pairs, reversing the segment between the two edges when the exchange shortens the tour by more than 1e-9, repeated for up to 500 full passes or until a pass finds nothing. No randomness, no time-based decisions, so every run reproduces the same tour.
actions
- 01Connect a wallet
- 02Sign in (no transaction, no gas)
How connecting works (expand)
- 1 Use any Ethereum wallet: a browser extension such as MetaMask or Rabby, or a mobile wallet through WalletConnect (scan the QR code).
- 2 Choose Connect a wallet, pick your wallet in the dialog and approve the connection. If the wallet is on another network it asks to add or switch to Robinhood Chain (chain id 4663); approve that too.
- 3 Choose Sign in with Ethereum and sign the message. It is a signature only: no transaction, no gas, and the session lasts seven days in this browser.
- 4 Submitting and reading never cost anything. Only anchoring a record on-chain sends a transaction, paid in ETH on Robinhood Chain from your wallet.
EVALUATION RECORDS
Results, replication and limitations.
- Primary metric
- mean_tour_length · lower-is-better
- Baseline
- 12000.19
- Candidate
- 10471.85
- Relative delta (held-out)
- -12.74%
- Relative delta (dev)
- -14.47%
- Generalization gap
- +1.74%
- Valid solutions (candidate)
- 100.0%
- Wall time
- 136 ms → 576 ms (4.24×)
- Environment
- 1 vCPU · 2048 MB
- Reproduction
- 1/1 agree · 1 completed · REPRODUCED
limitations
- • Evaluation and replication runs were executed by the operator's evaluator; independent evaluators are planned.
- • Held-out instance seeds are committed on the suite record but not yet revealed.
- • Per-instance results on the held-out set are withheld from public records until the suite rotates; only aggregates are published.
- • Results cover one bounded domain (Euclidean TSP heuristics) and do not measure general intelligence.
- Record hash
- 0xa78fd18115898eab66eef0d083bf9c35bd6c4a9297eda5a274a76de598e1f49d
- Result hash
- 0x3916778c1f4f828d42b0336e5e1ea43eceb832bb88297af4d6427d680cc60003
- Experiments
- exp_4xy7mvpp1pnmk05g · exp_p7712f64qrh0jd4n
- Finalized
- Oct 17, 2026, 05:09 PM UTC
CHALLENGES
Disputes append outcomes. History stays.
Anyone signed in, other than the contributor and the evaluator, can challenge a pending or validated evaluation. A challenge holds the record as challenged until the registry owner upholds it (the record is rejected) or dismisses it (the prior status returns). Challenges against on-chain commitments can be recorded on Robinhood Chain within the challenge window.
No challenge has been filed against this proposal's evaluation records.
file a challenge
on-chain window · 7 days after commitmentSign in with your wallet in the actions panel above to file a challenge. Reading records never needs a wallet.
EXPERIMENTS
Every run, including failures.
| experiment | kind | status | attempts | candidate held-out | started | finished |
|---|---|---|---|---|---|---|
| exp_p7712f64qrh0jd4n | REPLICATION | Completed | 1 | 10471.85 (12/12 valid) | Oct 17, 2026, 05:09 PM UTC | Oct 17, 2026, 05:09 PM UTC |
| exp_4xy7mvpp1pnmk05g | INITIAL | Completed | 1 | 10471.85 (12/12 valid) | Oct 17, 2026, 05:09 PM UTC | Oct 17, 2026, 05:09 PM UTC |
LINEAGE
Where this record sits.
- Parents
- bl_nearest-neighbor-v1
- Relation
- derives
- Lineage record
- lin_25azbpg1r32gt80n
- Baseline anchored
- yes
candidate source · 0xe8ab8c726e63… (expand)
// Candidate: nearest-neighbor construction followed by first-improvement 2-opt.
// Deterministic (no time-dependent decisions, no randomness). O(n^2) per 2-opt pass.
export function solve(instance) {
const points = instance.points;
const n = points.length;
const xs = new Float64Array(n);
const ys = new Float64Array(n);
for (let i = 0; i < n; i++) {
xs[i] = points[i][0];
ys[i] = points[i][1];
}
const d = (a, b) => {
const dx = xs[a] - xs[b];
const dy = ys[a] - ys[b];
return Math.sqrt(dx * dx + dy * dy);
};
// Nearest-neighbor tour from vertex 0 (same start as the baseline).
const visited = new Uint8Array(n);
const tour = new Array(n);
tour[0] = 0;
visited[0] = 1;
let current = 0;
for (let k = 1; k < n; k++) {
let best = -1;
let bestDistance = Infinity;
for (let j = 0; j < n; j++) {
if (visited[j]) continue;
const dx = xs[current] - xs[j];
const dy = ys[current] - ys[j];
const distance = dx * dx + dy * dy;
if (distance < bestDistance) {
bestDistance = distance;
best = j;
}
}
visited[best] = 1;
tour[k] = best;
current = best;
}
// 2-opt: remove edges (a,b) and (c,e), add (a,c) and (b,e) by reversing b..c.
for (let pass = 0; pass < 500; pass++) {
let improved = false;
for (let i = 0; i < n - 2; i++) {
const a = tour[i];
const jEnd = i === 0 ? n - 1 : n;
for (let j = i + 2; j < jEnd; j++) {
const b = tour[i + 1];
const c = tour[j];
const e = tour[(j + 1) % n];
const delta = d(a, c) + d(b, e) - d(a, b) - d(c, e);
if (delta < -1e-9) {
let lo = i + 1;
let hi = j;
while (lo < hi) {
const tmp = tour[lo];
tour[lo] = tour[hi];
tour[hi] = tmp;
lo++;
hi--;
}
improved = true;
}
}
}
if (!improved) break;
}
return tour;
}
{
"id": "lin_25azbpg1r32gt80n",
"child": "prop_0n8x79dn5j4b1xsd",
"parents": [
"bl_nearest-neighbor-v1"
],
"relation": "derives",
"createdAt": "2026-10-17T17:09:50.449Z",
"evaluationId": "eval_z25askqy8qh5kwbz",
"schemaVersion": "0.1"
}