{
  "schema_version": "1.0",
  "repository": "https://github.com/OccamGC/MyAlgorithmProblems",
  "updated": "2026-10-12",
  "path_base": "repository-root",
  "scope": "Selected research results and open questions; new topics may be added with stable IDs and repository-relative paths. This is not a catalog of every algorithm problem.",
  "publication_commit": "640ae4ac52a1ce5a3082022162611839f97591fe",
  "version_policy": "The top-level publication_commit identifies the original orthogonal research snapshot. Later results carry their own publication_commit when pinned; cite each result's immutable proof link. Entry pages and this index are maintained on the default branch.",
  "notation": {
    "n": "Square board side length",
    "N": "Number of road vertices, at most n^2",
    "m": "Number of actual moves",
    "W": "Total individual candidate checks at newly discovered relative displacements"
  },
  "status_definitions": {
    "current_proof": "A general written proof is supplied in this repository; this is a repository classification, not a claim of external peer review or formal proof-assistant verification.",
    "refuted_conjecture": "A previously proposed claim has a documented counterexample; use the counterexample, not the claim, as the result.",
    "historical_upper_bound": "A valid earlier bound superseded in strength by a current proof.",
    "historical_experiment": "Finite evidence retained for reproducibility; it does not prove the associated general conjecture.",
    "conjecture": "A precise claim awaiting proof or refutation.",
    "experimental_evidence": "A claim supported by finite experiments, without a general proof.",
    "open_question": "A research question without an established answer."
  },
  "results": [
    {
      "id": "grid-forest-matching-cubic-bound",
      "featured": true,
      "summary": {
        "zh": "对只在新位移处筛选的候选列表算法，完整历史的收费证明去掉了对数因子，得到一般森林上的 O(n³+m) 上界。",
        "en": "Complete-history charging removes the logarithmic factor for candidate-list filtering at new displacements, giving O(n³+m) time on general forests."
      },
      "title": {
        "zh": "四邻接网格森林平移匹配的三次方复杂度上界",
        "en": "A cubic time bound for translation matching in four-neighbor grid forests"
      },
      "status": "current_proof",
      "keywords": ["grid forest matching", "translation matching", "walk prefix matching", "candidate filtering", "amortized analysis", "cubic time bound", "网格森林匹配", "平移匹配", "摊还分析", "去对数"],
      "assumptions": [
        "Road cells induce a forest with all orthogonal neighbor edges retained on an n-by-n board; the road set may be empty.",
        "The entire movement prefix must remain on roads under translation, without rotation or reflection.",
        "Candidates are eliminated permanently on failure; the candidate-list algorithm scans only at first visits to relative displacements."
      ],
      "conclusions": [
        "W <= (5n-3)N.",
        "Time O(n^2 + m + nN), hence O(n^3 + m); space O(n^2).",
        "When m >= n-1, this candidate-list algorithm has matching worst-case time Theta(n^3 + m).",
        "For short walks, time O(n^2 + m + N min(m,n))."
      ],
      "limitations": [
        "The lower bound concerns this candidate-list algorithm, not every possible algorithm for the problem.",
        "Finite checks supplement the written proof; they do not exhaust all boards or movement sequences."
      ],
      "entry_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/results/cubic-bound.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/results/cubic-bound.en.md"
      },
      "proof_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/proofs/cubic-bound.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/proofs/cubic-bound.en.md"
      },
      "immutable_proof_url": "https://github.com/OccamGC/MyAlgorithmProblems/blob/640ae4ac52a1ce5a3082022162611839f97591fe/topics/simulation/grid-forest-matching/research/proofs/cubic-bound.en.md",
      "evidence_paths": ["topics/simulation/grid-forest-matching/research/cubic-bound-results.json"],
      "verification": {
        "cwd": "repository-root",
        "requirements": ["Python >= 3.10, standard library only"],
        "commands": [
          "python -c \"from pathlib import Path; Path('tmp/grid-forest-matching').mkdir(parents=True, exist_ok=True)\"",
          "python topics/simulation/grid-forest-matching/research/verify_cubic_bound.py --output tmp/grid-forest-matching/cubic-bound-results.json"
        ]
      },
      "citation_key": "OccamGC2026GridForestCubic",
      "supersedes": ["grid-forest-matching-logarithmic-bound"]
    },
    {
      "id": "induced-grid-forest-tree-extension-obstructions",
      "featured": true,
      "summary": {
        "zh": "保持原位置与全部四邻接边时，补点不一定能把森林连成树；这种障碍可以扩展到线性数量、每棵线性大小的路径。",
        "en": "With positions and all induced edges preserved, adding vertices need not connect a forest into a tree—even for linearly many paths of linear size."
      },
      "title": {
        "zh": "诱导四邻接网格森林不一定能通过补点扩充成树",
        "en": "Induced four-neighbor grid forests need not extend to trees by adding vertices"
      },
      "status": "current_proof",
      "keywords": ["induced grid forest", "induced tree extension", "vertex addition", "vertex-deleted grid tree", "nonextendable forest", "forbidden separator", "诱导网格森林", "森林扩充成树", "树删除顶点"],
      "assumptions": [
        "Original integer-grid vertex positions are fixed and every original vertex is retained.",
        "All edges between vertices at Manhattan distance one are induced and cannot be selectively removed.",
        "Only vertices may be added; even arbitrary enlargement of the board is allowed."
      ],
      "conclusions": [
        "There exists a finite F whose induced grid graph is a forest but no finite superset S has an induced grid graph that is a tree.",
        "A 5-by-5 example consists of a 13-vertex path and a singleton.",
        "Two obstructed components may both be paths with Theta(n) vertices.",
        "An n-by-n board may contain Theta(n) components, each of size Theta(n), such that any selected pair cannot be extended to an induced tree even after removing all other components.",
        "For integer s >= 1 and n = 12s+1, the nested construction has s+1 trees, each with between 2n-5 and 4n-7 vertices."
      ],
      "limitations": [
        "This refutes the fixed-position induced vertex-addition reduction; it does not rule out other reductions allowing relocation, scaling, edge deletion, or separate component accounting.",
        "These static forests do not provide supercubic candidate-checking complexity."
      ],
      "entry_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/results/tree-extension.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/results/tree-extension.en.md"
      },
      "proof_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/examples/tree-extension.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/examples/tree-extension.en.md"
      },
      "immutable_proof_url": "https://github.com/OccamGC/MyAlgorithmProblems/blob/640ae4ac52a1ce5a3082022162611839f97591fe/topics/simulation/grid-forest-matching/research/examples/tree-extension.en.md",
      "evidence_paths": ["topics/simulation/grid-forest-matching/research/verify_tree_extension.py"],
      "verification": {
        "cwd": "repository-root",
        "requirements": ["Python >= 3.10, standard library only"],
        "commands": ["python topics/simulation/grid-forest-matching/research/verify_tree_extension.py"]
      },
      "citation_key": "OccamGC2026GridForestTreeExtension"
    },
    {
      "id": "grid-forest-matching-diagonal-only",
      "featured": true,
      "title": {
        "zh": "仅对角邻接的网格森林：奇偶拆分与三次方界",
        "en": "Diagonal-only grid forests: parity decomposition and cubic bounds"
      },
      "summary": {
        "zh": "只允许四个对角方向时，两种奇偶类各自同构于四邻接网格，保留原检查次数上界与三次方最坏量级；补树障碍也可迁移。",
        "en": "With diagonal directions only, each parity class is isomorphic to an orthogonal grid, preserving the check bound, cubic worst-case order, and tree-extension obstructions."
      },
      "status": "current_proof",
      "keywords": ["diagonal-only grid forest", "parity decomposition", "lattice isomorphism", "translation matching", "cubic bound", "对角邻接", "奇偶拆分", "坐标变换"],
      "assumptions": [
        "Roads on an n-by-n board induce a forest using exactly the four diagonal directions (+/-1,+/-1); every such edge is retained.",
        "Moves use the same four diagonal directions, without orthogonal moves, side-cell corner-cutting restrictions, or junctions at geometric edge crossings.",
        "A start must execute the entire movement prefix. The candidate-list algorithm eliminates failures permanently and scans only at new relative displacements."
      ],
      "conclusions": [
        "The two parity classes separately reduce to orthogonal induced forests on boards of side at most n; answers and candidate checks add exactly.",
        "W <= (5n-3)N; time O(n^2 + m + nN), hence O(n^3 + m); space O(n^2).",
        "For m >= n-1, this candidate-list algorithm has matching worst-case time Theta(n^3 + m). Short walks admit O(n^2 + m + N min(m,n)).",
        "Vertices from different parity classes can never be connected, even by adding vertices on arbitrarily enlarged boards.",
        "Within one parity class, orthogonal tree-extension obstructions transfer, including Theta(n) components of size Theta(n) with pairwise nonextendability."
      ],
      "limitations": [
        "This is a corollary of the orthogonal cubic and obstruction proofs through lattice isomorphisms, not a new charging argument.",
        "The reduction does not cover eight-neighbor movement or additional corner-cutting restrictions.",
        "The lower bound concerns the candidate-list algorithm, not all possible algorithms. Finite verification supplements the general proof.",
        "The original problem statement, direction encoding, and C++ reference program remain orthogonal."
      ],
      "entry_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/results/diagonal-only.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/results/diagonal-only.en.md"
      },
      "proof_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/results/diagonal-only.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/results/diagonal-only.en.md"
      },
      "evidence_paths": [
        "topics/simulation/grid-forest-matching/research/verify_diagonal_only.py",
        "topics/simulation/grid-forest-matching/research/diagonal-only-results.json"
      ],
      "verification": {
        "cwd": "repository-root",
        "requirements": ["Python >= 3.10, standard library only"],
        "commands": ["python topics/simulation/grid-forest-matching/research/verify_diagonal_only.py --output tmp/grid-forest-matching/diagonal-only-results.json"]
      },
      "citation_key": "OccamGC2026DiagonalGridForest",
      "publication_commit": "3fe652bb9f3458ed41071e5f2377141272848dbc",
      "immutable_proof_url": "https://github.com/OccamGC/MyAlgorithmProblems/blob/3fe652bb9f3458ed41071e5f2377141272848dbc/topics/simulation/grid-forest-matching/research/results/diagonal-only.en.md",
      "extends": ["grid-forest-matching-cubic-bound", "induced-grid-forest-tree-extension-obstructions"]
    },
    {
      "id": "grid-forest-matching-eight-neighbor",
      "featured": true,
      "title": {
        "zh": "八邻接诱导森林：三次方复杂度仍然成立",
        "en": "Eight-neighbor induced forests retain the cubic bound"
      },
      "summary": {
        "zh": "同时允许正交和对角方向时，秩四方向词保留完整历史收费与有限第二轴引理，得到相同的检查次数上界和三次方最坏量级。",
        "en": "With both orthogonal and diagonal moves, rank-four direction words preserve complete-history charging and the finite second-axis lemma, giving the same exact check bound and cubic worst-case order."
      },
      "status": "current_proof",
      "keywords": ["eight-neighbor grid forest", "king graph", "translation matching", "rank-four free group", "finite second-axis lemma", "cubic bound", "八邻接", "诱导森林", "方向词", "三次方上界"],
      "assumptions": [
        "Roads on an n-by-n board induce a forest with all eight orthogonal and diagonal neighbor edges retained; the road set may be empty.",
        "Moves use those same eight directions without additional side-cell corner-cutting restrictions.",
        "Every valid start executes the entire movement prefix; failures are permanent, and the candidate-list algorithm scans only at new relative displacements."
      ],
      "conclusions": [
        "W <= (5n-3)N; time O(n^2 + m + nN), hence O(n^3 + m); space O(n^2).",
        "For m >= n-1, separated horizontal road rows give matching worst-case time Theta(n^3 + m) for the candidate-list algorithm.",
        "The complete-history proof extends from two to four inverse direction pairs; the per-label budget remains 1+1+2, independently of the number of directions."
      ],
      "limitations": [
        "This extends the existing charging proof, not the diagonal-only parity reduction. Diagonal letters must remain independent generators despite coordinate relations.",
        "No eight-neighbor tree-extension obstruction is established here.",
        "The lower bound concerns the candidate-list algorithm, not all algorithms. Finite checks supplement the proof; the certificate core is reused, not independently reimplemented.",
        "The original problem statement, direction encoding, and C++ reference program remain orthogonal."
      ],
      "entry_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/results/eight-neighbor.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/results/eight-neighbor.en.md"
      },
      "proof_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/results/eight-neighbor.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/results/eight-neighbor.en.md"
      },
      "evidence_paths": [
        "topics/simulation/grid-forest-matching/research/verify_eight_neighbor.py",
        "topics/simulation/grid-forest-matching/research/eight-neighbor-results.json"
      ],
      "verification": {
        "cwd": "repository-root",
        "requirements": ["Python >= 3.10, standard library only"],
        "commands": ["python topics/simulation/grid-forest-matching/research/verify_eight_neighbor.py --output tmp/grid-forest-matching/eight-neighbor-results.json"]
      },
      "citation_key": "OccamGC2026EightNeighborGridForest",
      "publication_commit": "600f5edfc176a6c2265dac1c62e74ac94081bfbd",
      "immutable_proof_url": "https://github.com/OccamGC/MyAlgorithmProblems/blob/600f5edfc176a6c2265dac1c62e74ac94081bfbd/topics/simulation/grid-forest-matching/research/results/eight-neighbor.en.md",
      "extends": ["grid-forest-matching-cubic-bound"],
      "related_results": ["grid-forest-matching-diagonal-only"]
    },
    {
      "id": "grid-forest-matching-edge-obstacles",
      "featured": true,
      "title": {
        "zh": "顶点与路径障碍：四邻接、八邻接仍有三次方界",
        "en": "Vertex and edge obstacles: cubic bounds for four and eight neighbors"
      },
      "summary": {
        "zh": "只要求实际开放边构成森林时，修改重复位置规则并使用公共开放边交域，仍保留原精确检查次数上界和三次方最坏量级。",
        "en": "When only the actual open-edge graph is a forest, revised revisit handling and common open-edge intersections preserve the exact check bound and cubic worst-case order."
      },
      "status": "current_proof",
      "keywords": [
        "grid forest matching",
        "edge obstacles",
        "blocked paths",
        "open-edge forest",
        "common-edge intersection",
        "four-neighbor",
        "eight-neighbor",
        "cubic bound",
        "路径障碍",
        "封边",
        "可通行森林",
        "三次方上界"
      ],
      "assumptions": [
        "Usable vertices and open undirected edges lie on an n-by-n four- or eight-neighbor grid; obstacles are static and the actual traversable graph is a forest.",
        "Crossing diagonal edges create no additional junctions. Every valid start executes the entire movement prefix and failure is permanent.",
        "The modified candidate algorithm checks open edges at new vertices, skips known edges, and clears the active candidate count in O(1) when a new edge joins two old query vertices."
      ],
      "conclusions": [
        "Both models satisfy W <= (5n-3)N and time O(n^2 + m + nN), hence O(n^3 + m); space O(n^2).",
        "Common intersection graphs retain only edges open in both translated copies; the complete-history charging proof and 1+1+2 per-label budget still apply.",
        "For m >= n-1, fully usable boards with only horizontal row edges open attain matching worst-case time Theta(n^3 + m) for this candidate-list algorithm.",
        "Four neighbors also admit an independent constant-scale subdivision reduction to an induced orthogonal forest."
      ],
      "limitations": [
        "The unmodified C++ reference program checks destination cells only and does not implement edge obstacles.",
        "The lower bound concerns the candidate-list algorithm, not all possible algorithms. No new tree-extension obstruction is established.",
        "Finite verification supplements the proof. The charging core is adapted from the existing verifier, while answers use an independent stepwise oracle."
      ],
      "entry_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/results/edge-obstacles.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/results/edge-obstacles.en.md"
      },
      "proof_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/results/edge-obstacles.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/results/edge-obstacles.en.md"
      },
      "evidence_paths": [
        "topics/simulation/grid-forest-matching/research/verify_edge_obstacles.py",
        "topics/simulation/grid-forest-matching/research/edge-obstacles-results.json"
      ],
      "verification": {
        "cwd": "repository-root",
        "requirements": [
          "Python >= 3.10, standard library only"
        ],
        "commands": [
          "python topics/simulation/grid-forest-matching/research/verify_edge_obstacles.py --output tmp/grid-forest-matching/edge-obstacles-results.json --check-published"
        ]
      },
      "citation_key": "OccamGC2026EdgeObstacleGridForest",
      "publication_commit": "731f1e1bf650937ec0c9810f90a4e52f4b674ca1",
      "immutable_proof_url": "https://github.com/OccamGC/MyAlgorithmProblems/blob/731f1e1bf650937ec0c9810f90a4e52f4b674ca1/topics/simulation/grid-forest-matching/research/results/edge-obstacles.en.md",
      "extends": [
        "grid-forest-matching-cubic-bound",
        "grid-forest-matching-eight-neighbor"
      ]
    },
    {
      "id": "grid-forest-matching-comb-candidates",
      "title": {
        "zh": "线性轮筛选后仍有平方候选的单棵梳形树",
        "en": "A single comb tree retaining quadratically many candidates after linearly many scans"
      },
      "status": "current_proof",
      "keywords": ["comb tree", "candidate count", "effective scans", "梳形树", "平方候选"],
      "assumptions": ["n denotes board side length; effective scans visit previously unseen relative displacements."],
      "conclusions": ["A single induced comb tree can retain Theta(n^2) candidates after Theta(n) effective scans."],
      "limitations": ["The construction does not give supercubic total candidate checks; candidate count alone does not bound the full scan history."],
      "proof_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/examples/comb-candidates.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/examples/comb-candidates.en.md"
      }
    },
    {
      "id": "grid-forest-matching-direction-a",
      "title": {
        "zh": "方向 A 的连通资源并集不交猜想已被否定",
        "en": "Direction A's connected-resource-union disjointness conjecture is false"
      },
      "status": "refuted_conjecture",
      "keywords": ["connected resource union", "opposite early arms", "reference class", "方向 A", "左右早横枝"],
      "conjecture": "After removing a reference class, each connected union U of remaining early-prefix resources satisfies U intersect (U+h) = empty for its horizontal label h.",
      "conclusions": ["Opposite early arms give a counterexample. A connected union of individually short resources need not be short or disjoint from its label translate."],
      "limitations": ["The source also contains a historical capacity-two draft with narrower assumptions. Use the current cubic proof for the final all-powers theorem."],
      "proof_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/proofs/reference-capacity.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/proofs/reference-capacity.en.md"
      },
      "evidence_paths": ["topics/simulation/grid-forest-matching/research/examples/inputs/opposite-arms.in"],
      "related_results": ["grid-forest-matching-cubic-bound"]
    },
    {
      "id": "grid-forest-matching-logarithmic-bound",
      "title": {
        "zh": "较早的带对数因子复杂度上界",
        "en": "The earlier upper bound with a logarithmic factor"
      },
      "status": "historical_upper_bound",
      "keywords": ["prefix-size bound", "logarithmic gap", "对数差距"],
      "assumptions": ["The same induced-grid-forest candidate-list model as the current cubic bound."],
      "conclusions": ["The bound O(n^3 log(n+1) + m) remains valid, but is weaker than the current O(n^3 + m) result."],
      "proof_paths": {
        "zh": "topics/simulation/grid-forest-matching/complexity.zh.md",
        "en": "topics/simulation/grid-forest-matching/complexity.en.md"
      },
      "superseded_by": "grid-forest-matching-cubic-bound"
    },
    {
      "id": "grid-forest-matching-direction-a-finite-search",
      "title": {
        "zh": "方向 A 的早期有限验证记录",
        "en": "Early finite checks of direction A"
      },
      "status": "historical_experiment",
      "keywords": ["finite verification", "reference components", "有限验证"],
      "conclusions": ["The tested cases did not refute direction A; the later opposite-early-arms construction refutes its general form."],
      "limitations": ["A successful finite experiment does not establish the general disjointness conjecture or the cubic theorem."],
      "documentation_paths": {
        "zh": "topics/simulation/grid-forest-matching/research/examples/reference-components.zh.md",
        "en": "topics/simulation/grid-forest-matching/research/examples/reference-components.en.md"
      },
      "evidence_paths": ["topics/simulation/grid-forest-matching/research/reference-components-results.json"],
      "related_results": ["grid-forest-matching-direction-a", "grid-forest-matching-cubic-bound"]
    }
  ]
}
