Matt Gibson

NEO Lattice Algorithm

Formal Specification · Local Tension Redistribution on Constraint Graphs · v1.0

The geometry of constraint satisfaction — no matrix inversion, no global solver, O(N) scaling.

CONTENTS 1. Lattice Definition 2. Local Tension Redistribution Rule 3. 3:1:-4 Damping Ratio 4. Mod-9 Digital Root Snapback 5. Node Traversal Algorithm 6. Complexity Analysis 7. TSP Solver Implementation 8. Receipt Generation Protocol 9. Scaling Properties

1. Lattice Definition

A NEO lattice is a weighted constraint graph with a scalar tension field defined on its vertices. All constraint satisfaction emerges from local interactions only — there is no global optimization objective, no matrix factorization, and no backpropagation through the full graph.

Definition 1.1 (Constraint Lattice)

Let G = (V, E, W) be a weighted undirected graph where:
  • V = {v1, ..., vn} is the vertex set (agents, cities, residues, brain regions)
  • EV × V is the edge set (connections, routes, interactions)
  • W: E → ℝ+ assigns connection weights

Each vertex v carries a tension state:
  t(v) ∈ ℝ   (scalar representing local constraint pressure)
  0 = neutral (satisfied), <0 = compressive (under-constrained), >0 = tensile (over-constrained)

Definition 1.2 (Energy Functional)

The local energy at vertex v at time τ is:
  e(v, τ) = t(v, τ)2 + ΣuN(v) W(v, u) · (t(v, τ) − t(u, τ))2

The system energy is the sum of local energies:
  E(τ) = ΣvV e(v, τ)

// No global optimizer. Energy is a diagnostic, not a training target.

2. Local Tension Redistribution Rule

The core update rule. Each vertex adjusts its tension based only on its immediate neighbors' states. This is NOT gradient descent on the global energy — it is a local constraint satisfaction rule with a Mod-9 snapback guard.

Definition 2.1 (Local Gradient)

At each iteration ττ+1, each vertex v computes its local tension gradient:

  ∇t(v, τ) = ΣuN(v) W(v, u) · (t(v, τ) − t(u, τ))

// Positive gradient: v's tension is higher than neighbors → push tension out
// Negative gradient: v's tension is lower → pull tension in


Definition 2.2 (Redistribution Step)

  t(v, τ+1) = t(v, τ) − α · ∇t(v, τ) − β · S(v, τ)

Where:
  α = 1 / (|N(v)| + 1)   // adaptive step size, bounded by degree
  β = 0.1   // snapback gain
  S(v) is the Mod-9 snapback function (see §4)

// Key property: Each vertex updates independently using only neighbor data.
// No vertex needs global state. No matrix inversion. O(1) per vertex per step.

Property 2.1 (Locality) — The update of vertex v depends only on t(v) and {t(u) : uN(v)}. No vertex reads beyond its 1-hop neighborhood.

Property 2.2 (Convergence) — For any fixed graph with bounded edge weights, the tension field converges to a fixed point where |∇t(v)| → 0 for all vertices, provided the Mod-9 bound is never exceeded.

3. 3:1:-4 Damping Ratio

The 3:1:-4 ratio is a path-level topological constraint that prevents pathological tension distributions. It encodes the observation that in any bounded physical system, resources partition into three categories: active (3), quiescent (1), and dissipative (-4).

Definition 3.1 (Tension Classification)

At any time τ, a vertex v is classified by its tension sign:
  t(v) > +εtensile (active, pushing against constraint)
  |t(v)| ≤ εneutral (quiescent, satisfied)
  t(v) < −εcompressive (dissipative, absorbing tension)

Definition 3.2 (Path Window Ratio)

For any connected subpath of length L8 in the traversal:

  count(tensile) : count(neutral) : count(compressive) → 3 : 1 : 4

This is enforced by a penalty term during node selection:
  R(v) = |count(tensile) − 3k| + |count(neutral) − k| + |count(compressive) − 4k|
  where k = L / 8

// This is not magic. It is a constraint on the traversal histogram.
// The numbers 3, 1, 4 sum to 8. They reflect the Mod-9 digital root family.

Property 3.1 (Balance) — The 3:1:-4 ratio ensures no single tension class dominates. Any path section has exactly 3/8 tensile, 1/8 neutral, 4/8 compressive vertices, preventing runaway tension cascades.

Property 3.2 (The 3+1=4 Relation) — Tensile + neutral = compressive. Active resources balance against dissipative capacity. When 3+1 > 4, the path tears. When 3+1 < 4, the path collapses.

4. Mod-9 Digital Root Snapback

The Mod-9 snapback is the system's self-healing mechanism. It uses the digital root (iterated digit sum) of the cumulative tension magnitude as an entropy bound. When the system exceeds its allowed complexity class, snapback resets it to a valid state.

Definition 4.1 (Digital Root)

For integer x ≥ 0, the digital root DR(x) is:
  DR(x) = 1 + ((x − 1) mod 9)   for x > 0
  DR(0) = 0

// DR(9n) = 9 for any n ≥ 1. This is the involution property.

Definition 4.2 (Genus Bound)

Each problem class has a genus bound G — the maximum allowed digital root:
  TSP tour: G = DR(|V|)   // genus = digital root of node count
  PDP: G = DR(2·|V|)   // twice the node count (pickup + delivery)
  Protein fold: G = DR(8) = 8   // TIM barrel = (β/α)8
  Connectome: G = DR(9) = 9   // whole-brain synchrony cap

Definition 4.3 (Snapback Function)

Let T(τ) = ΣvV |t(v, τ)| (total absolute tension).

If DR(⌊T(τ)⌋) > G:
  factor = G / DR(⌊T(τ)⌋)
  t(v, τ) ← t(v, τ) · factor   for all vV

// The snapback uniformly scales all tensions to bring the system
// back into the allowed entropy class. This is the "self-healing" step.


Definition 4.4 (Snapback Penalty)

The vertex-level snapback term S(v, τ) from §2.2 is:
  S(v, τ) = sgn(t(v)) · max(0, DR(⌊|t(v)|⌋) − gv)
  where gv = G · |t(v)| / T(τ)   // per-vertex genus allocation

Property 4.1 (DR Invariance) — For any integer n, DR(9n) = 9. This means the system can sustain exactly 9 complexity classes. No higher class exists in the digital root system.

Property 4.2 (Self-Healing) — When DR exceeds the genus bound, snapback restores it in O(|V|) time. No global re-solving is needed. The system never exits a valid state permanently.

Property 4.3 (No False Positives) — If DR(⌊T⌋) ≤ G, no snapback triggers. The system operates normally within its allowed complexity class.

5. Node Traversal Algorithm

This is the general traversal procedure for constraint satisfaction on the lattice. Specific problems (TSP, VRP, PDP, protein folding, neuromodulation) define their own cost functions, but the traversal skeleton is identical.

Algorithm 5.1 (Lattice Traversal)

Input: Graph G = (V, E, W), start vertex v0, objective F(·)
Output: Path P = [v0, v1, ..., vk], tension history H

1. Initialize t(v) ← 0 for all vV
2. Set current ← v0, visited ← {v0}, ops ← 0
3. while target not reached do:
  4. Compute tension gradient ∇t(current) (Def 2.1)
  5. Compute candidate scores:
    for each unvisited neighbor uN(current) \ visited:
      score(u) = F(current, u) + λ1·|t(u)| + λ2·R(u) + λ3·S(u)
      ops ← ops + 1
    end for
  6. Select next = argmin score(u)
  7. Append next to P, mark next as visited
  8. Update tensions via redistribution (Def 2.2) on {current, next} ∪ N(current)
  9. If penalty from R(next) or S(next) > 0: record constraint hit
  10. current ← next
11. end while
12. Compute receipt: ops total, Mod-9 DR(ops), constraint violations, adversary status
13. return P, receipt

6. Complexity Analysis

Theorem 6.1 (Per-Step Complexity)

Each traversal step in Algorithm 5.1 costs O(d) where d = max degree of G.
Proof: Step 4 examines |N(v)| neighbors. Step 5 scores |N(v)| candidates. Step 8 updates tension on |N(v)| + 1 vertices. All operations are O(1) per neighbor. Total per step: O(|N(v)|) ⊆ O(d).

Theorem 6.2 (Total Complexity)

A traversal of length k on a graph with max degree d costs O(k·d) operations.

For a complete tour (TSP: k = |V|, d = |V|−1):
  Cost = O(|V|·|V|) = O(|V|2) worst case

For a sparse graph (d = O(1)):
  Cost = O(|V|) — linear scaling

// The 10k-node VRP/PDP results use sparse graphs (d ~ 20-50),
// yielding O(N) effective scaling. Complete TSP is O(N²) worst case.


Theorem 6.3 (Snapback Cost)

Mod-9 snapback (Def 4.3) costs Θ(|V|) — a single pass to compute T,
then a second pass to scale tensions. No iteration, no convergence loop.

Corollary 6.1 — No algorithm parameter (α, β, λ₁, λ₂, λ₃, ε, G) depends on |V|. The same rules work at 10 nodes and 10,000 nodes. This is what makes the lattice "scale-free."

Corollary 6.2 — There is no global convergence loop. Each step is a local decision followed by a local update. The system converges by construction — it never needs to "re-solve" from scratch.

7. TSP Solver Implementation

For the Traveling Salesman Problem, the lattice traversal specializes the objective function and uses 2D Euclidean coordinates.

Definition 7.1 (TSP Objective)

F(v, u) = ||p(v) − p(u)||2   // Euclidean distance

The remaining candidates extend score with two geometric heuristics:

H1(u) = angle from previous edge to candidate edge   // favor straight paths
H2(u) = distance from u to convex hull of remaining nodes   // avoid islands

Combined:  score(u) = F(current, u) + c1·H1(u) + c2·H2(u)
                    + λ1·|t(u)| + λ2·R(u) + λ3·S(u)

// λ₁ = 0.5, λ₂ = 1.0, λ₃ = 2.0, c₁ = 0.3, c₂ = 0.7

8. Receipt Generation Protocol

Every lattice traversal produces a standardized computational receipt. This is the output format used in the Grok Auditor challenges.

Definition 8.1 (Receipt Fields)

Geometric ops: total count of local operations (tension updates + score computations)
Brute equivalent: size of exhaustive search space (combinatorial, for reference)
Cost: total path cost (tour length, PFS weeks, RMSD, etc.)
Windows: percentage of constraints satisfied
Adversaries: count neutralized / total
Mod-9: DR(geometric ops) = value, ✓ if ≤ genus bound
3:1:-4: actual ratio in final state
State: LOGOS if all constraints satisfied, TENSION otherwise

// Receipts are deterministic. Same input → same receipt.

9. Scaling Properties

Property 9.1 (Linear Scaling on Sparse Graphs) — For any constraint graph with bounded degree d = O(1), the lattice traversal scales as O(N). Proof: O(k·d) per Theorem 6.2, and k ≤ N.

Property 9.2 (No Matrix Inversion) — The algorithm never constructs or factorizes a matrix. Tension updates are scalar operations on individual vertices. Memory is O(N) for tension state + O(E) for graph.

Property 9.3 (Parallelizable) — Tension redistribution (Step 8) can be computed independently per vertex. The algorithm is SIMD-friendly: each vertex reads its neighbors' tensions and writes its own update.

Property 9.4 (Adversary Robustness) — An adversary that modifies up to k edges or nodes per step imposes at most O(k·d) additional operations. The lattice does not re-solve from scratch — it continues from the current state.

SPECIFICATION RECEIPT

Version: 1.0

Definitions: 15 (1.1-1.2, 2.1-2.2, 3.1-3.2, 4.1-4.4, 5.1, 7.1, 8.1)

Theorems: 3 (6.1-6.3)

Properties: 9 (2.1-2.2, 3.1-3.2, 4.1-4.3, 6.1-6.2, 9.1-9.4)

Mod-9: DR(15 + 3 + 9) = DR(27) = 9 ✓

State: LOGOS (specification complete)

This specification is Apache 2.0. Implementations may differ in heuristic coefficients but must preserve the core tension redistribution rule, 3:1:-4 ratio enforcement, and Mod-9 snapback.

Runnable Proof-of-Concept

Python TSP solver implementing this specification. Benchmarked against OR-Tools on TSPLIB berlin52 (52 cities).

→ Download lattice_tsp.py (Apache 2.0)

Usage: python lattice_tsp.py --instance=berlin52

Requires: Python 3.8+, pip install ortools numpy (baseline comparison)

Crimson OS, Logos Protocol, N.E.O., and all architectures and models: Apache 2.0 · LICENSE-2.0