Directional Vertex Polytope Decoder
Implementation & benchmark of arXiv:2608.26615 — Galerkin approximations to the space of convex bodies by polytopes in nondegenerate V-representation
Source paper: Galerkin approximations to the space of convex bodies by polytopes in nondegenerate V-representation arXiv:2608.26615 ⓘ · analyzed Aug 29, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Represent a predicted convex object by one point per prescribed unit direction and decode it as the convex hull of those points. Enforce direction-wise maximizer inequalities so every point is a genuine vertex, then use the covering-radius bound to choose the number and placement of directions according to the desired geometric accuracy.
Formulas
Mathematical statement
Let $a_1,\ldots,a_N\in S^{d-1}$ be fixed unit directions and let $\boldsymbol{x}=(x_1,\ldots,x_N)\in(\mathbb{R}^d)^N$. The admissible cone is $\mathcal{C}^{\flat}_{\boldsymbol{a}}=\{\boldsymbol{x}:a_i^T x_i\geq a_i^T x_j\ \forall i,j\}$; its interior is characterized by strict inequalities $a_i^T x_i>a_i^T x_j$ for every $i\neq j$, which guarantees that every $x_i$ is a distinct extremal point of $P=\operatorname{co}\{x_1,\ldots,x_N\}$. For any two point tuples, convexification is nonexpansive: $\operatorname{dist}(\operatorname{co}\{\boldsymbol{x}\},\operatorname{co}\{\boldsymbol{y}\})\leq\operatorname{dist}(\{\boldsymbol{x}\},\{\boldsymbol{y}\})$. For a target compact convex body $K$, define its support function $\sigma(K,u)=\max_{x\in K}u^T x$, its size $\|K\|=\max_{x\in K}\|x\|$, and the chordal covering radius $\delta_{\boldsymbol{a}}=\max_{u\in S^{d-1}}\min_i\|u-a_i\|$. Theorem 34 states that if $x_i\in\arg\max_{x\in K}a_i^T x$, then $P=\operatorname{co}\{x_1,\ldots,x_N\}$ satisfies $P\subseteq K$ and $\operatorname{dist}(K,P)\leq2\delta_{\boldsymbol{a}}\|K\|$.
Implementation notes
1. Integration point: use this as a decoder for a convex-valued latent variable in a VAE, world model, object-shape predictor, or graph output. Choose d as the object coordinate dimension and precompute N approximately uniform directions a_i on the sphere. The network outputs x_i in R^d for each direction. Decode P as the convex hull of the predicted points. 2. MVP update: let z be the raw network output and compute x by solving the quadratic program minimize 0.5 times the sum over i of ||x_i-z_i|| squared, subject to a_i transpose x_i minus a_i transpose x_j being at least epsilon for all i not equal to j. Use a differentiable QP layer, or initially replace it with the penalty lambda times the sum over i not equal to j of max(0, epsilon minus a_i transpose x_i plus a_i transpose x_j) squared. For a sampled query direction u, compute the predicted support value as max_i u transpose x_i and train against target support values or point clouds. 3. Compute the mathematical quantities exactly: cone violations, convex-hull support values, and the approximation certificate 2 delta times the object radius. Estimate delta numerically using a dense spherical grid or random directions. 4. First experiment: train a small MLP or VAE on two-dimensional convex shapes generated from random polygons, comparing this decoder with an unconstrained point-set decoder and a standard polygon decoder at N equal to 8, 16, and 32. Measure Hausdorff error, invalid outputs, support-function error, and training stability. Success is monotone error reduction as N increases, approximately tracking the bound 2 delta times the object radius, with zero nonconvex outputs and no worse equal-FLOP reconstruction loss.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Significantly worse ✗
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 8/10
Built a directional vertex-polytope decoder MVP with support-loss training, cone-violation penalty, covering-radius estimation, and analytic 2D sanity checks. For uniform directions, measured covering radii and cone margins matched the exact formulas to about 1e-6, and the inscribed-circle hull error decreased as N^-2 while the theorem certificate decreased as N^-1, confirming the stated bound and its looseness. In the learned comparison, the penalty decoder reduced but did not eliminate invalid outputs and had substantially worse support MSE than the unconstrained baseline, so no practical reconstruction win was demonstrated.
- Agent confidence
- 8/10
- Baseline
- Support MSE: N=8 0.00271, N=16 0.00334, N=32 0.00827; invalid fraction 1.00 for all N; max cone violation 1.63-1.83.
- Idea
- Support MSE: N=8 0.0901, N=16 0.1494, N=32 0.1390; invalid fraction 0.656, 1.00, 1.00; max violation 0.125-0.183. Uniform-circle checks: measured delta/predicted delta agree within 1e-6 and measured margins agree within 3e-16.
Limitations: Only 2D analytic circles and a small synthetic ellipse-support regression were tested. The learned constraint used a soft penalty rather than an exact QP/projection layer; no VAE, point-cloud Hausdorff benchmark, FLOP-normalized training, higher-dimensional sphere designs, or formal differentiability/stability study was performed.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.26615)
Significantly WORSE than the tuned baseline (+18.8%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Directional polytope
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.0017
- Idea mean
- 0.002
- Effect (Δ)
- 0.0003 (+18.8%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 3 configs
Only the required custom 2D convex-shape regression transfer was tested; built-in tabular, vision, sequence, and dynamics tracks were not structurally matched and were not run. The idea used a soft cone-penalty approximation rather than an exact differentiable QP/projection decoder, and no higher-dimensional direction sets, Hausdorff metric, or FLOP-normalized alternative decoder were tested.
How to run: python3 run_bench.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 10/10
Built and ran a structurally matched custom convex-object regression track using the shared bench mlp_tiny architecture. The covering-radius mechanism signature was confirmed exactly, and the cone penalty produced nearly valid outputs, but reconstruction MSE was significantly worse than the tuned baseline: delta_mean=+0.0003244 with permutation p=0.0081. Therefore the geometric mechanism works, but the proposed decoder intervention did not transfer as a neural-training win.
- Baseline
- Tuned lr=0.006, 25 epochs; full 8-seed MSE mean=0.00172178, std=0.00006868.
- Idea
- Best penalty=0.1, eps=0.002, lr=0.006, 25 epochs; full 8-seed MSE mean=0.00204615, std=0.00017220; paired delta=+0.00032438; p=0.0081; idea wins=0/8; invalid fraction 0-1.25% across seeds.
Benchmark result
Significantly WORSE than the tuned baseline (+18.8%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Directional polytope
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 0.0017
- Idea mean
- 0.002
- Effect (Δ)
- 0.0003 (+18.8%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 3 configs
Only the required custom 2D convex-shape regression transfer was tested; built-in tabular, vision, sequence, and dynamics tracks were not structurally matched and were not run. The idea used a soft cone-penalty approximation rather than an exact differentiable QP/projection decoder, and no higher-dimensional direction sets, Hausdorff metric, or FLOP-normalized alternative decoder were tested.
How to run: python3 run_bench.py
Artifacts
- bench_report.json 3.6 KB View Raw
- custom_directional_polytope.py 1.5 KB View Raw
- experiment.py 5.6 KB View Raw
- report.md 1.6 KB View
- report_bench_2026-08-30T142008.md 4.6 KB View
- results.json 3.5 KB View Raw
- run_bench.py 6.6 KB View Raw