Skip to content

test: reproduce cross-layer heuristic detour - #143

Draft
ShiboSoftwareDev wants to merge 9 commits into
agent/fix-greedy-final-route-hard-constraintsfrom
agent/repro-cross-layer-heuristic-detour
Draft

test: reproduce cross-layer heuristic detour#143
ShiboSoftwareDev wants to merge 9 commits into
agent/fix-greedy-final-route-hard-constraintsfrom
agent/repro-cross-layer-heuristic-detour

Conversation

@ShiboSoftwareDev

@ShiboSoftwareDev ShiboSoftwareDev commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Problem

The solver's A* heuristic measures XY distance to the goal. For a route whose goal is on another layer, nearby ports on the wrong layer therefore look cheaper than the only useful direction: toward an existing region where the route can change layers.

Reproduction

The fixture has:

  • a z0 start and z1 goal that are close in XY;
  • eight nearby z0 dead ends; and
  • one ordinary region farther right with real ports on both layers.

The route is limited to ten A* iterations. Timeout fallback is disabled so it cannot hide the bounded search failure. The current heuristic explores the nearby wrong-layer branches first and reaches the iteration limit before completing the legal detour.

Snapshot

The top view is the input topology. The bottom view is the failed bounded search; the green candidates remain near the wrong-layer dead ends while the legal multilayer region is farther right.

Cross-layer heuristic reproduction

The fixture and SVG were executed and generated in GitHub Actions. No project command was run locally.

@vercel

vercel Bot commented Aug 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tiny-hypergraph Ready Ready Preview Aug 2, 2026 7:41pm

Request Review

@tscircuitbot

Copy link
Copy Markdown

Benchmark This PR

Run benchmarks by commenting on this PR:

/benchmark [benchmark.sh args...]
/benchmark --dataset <hg07|srj18> --limit <n> --solver <core|poly> --families <default|default+deep|all> --concurrency <n|auto>

Everything after /benchmark is forwarded directly to ./benchmark.sh.
The result comment shows the matching dataset from the latest stored main-branch benchmark artifact beside the PR run; main is not rerun for each PR benchmark request.

Examples:

  • /benchmark -> hg07, all samples, core solver
  • /benchmark --dataset srj18 --limit 20 -> first 20 srj18 samples
  • /benchmark --dataset srj18 --concurrency auto -> srj18 samples with runner CPU-count concurrency
  • /benchmark --sample sample002 -> one hg07 sample
  • /benchmark --limit 20 --solver poly -> first 20 hg07 samples with the poly solver
  • /benchmark --limit 40 --families default+deep -> first 40 hg07 samples with deeper candidate families

Any PR whose title contains [BENCHMARK TEST] will automatically run the benchmark workflow on PR updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants