Complementary vertices and adjacency testing in polytopes
Our main theoretical result is that, if a simple polytope has a pair of complementary vertices (i.e., two vertices with no facets in common), then it has at least two such pairs, which can be chosen to be disjoint. Using this result, we improve adjacency testing for vertices in both simple and non-simple polytopes: given a polytope in the standard form {x \in R^n | Ax = b and x \geq 0} and a list of its V vertices, we describe an O(n) test to identify whether any two given vertices are adjacent. For simple polytopes this test is perfect; for non-simple polytopes it may be indeterminate, and instead acts as a filter to identify non-adjacent pairs. Our test requires an O(n^2 V + n V^2) precomputation, which is acceptable in settings such as all-pairs adjacency testing. These results improve upon the more general O(nV) combinatorial and O(n^3) algebraic adjacency tests from the literature.
💡 Research Summary
The paper tackles two closely related problems in polyhedral theory: the structural existence of complementary vertex pairs in simple polytopes and the algorithmic testing of vertex adjacency in both simple and non‑simple polytopes given in standard form. A complementary pair consists of two vertices that share no common facet. The authors first prove a purely combinatorial theorem: if a simple polytope contains at least one complementary pair, then it must contain at least two such pairs, and these two pairs can be chosen to be vertex‑disjoint. The proof proceeds by interpreting the vertex‑facet incidence graph as a bipartite graph, exploiting the fact that each vertex in a simple polytope is incident to exactly n facets. By tracing alternating paths that start at a complementary pair, the authors show that the parity of the path forces the existence of a second, disjoint complementary pair. This result refines our understanding of the facet structure of simple polytopes and provides a deterministic certificate that a given vertex is not adjacent to another when they form a complementary pair.
Building on this structural insight, the second part of the paper presents an O(n) adjacency test for any two vertices of a polytope described as {x∈ℝⁿ | Ax = b, x ≥ 0} together with a pre‑computed list of its V vertices. The algorithm first preprocesses each vertex to record the set of facets (i.e., rows of A) that are tight at that vertex. This can be done in O(n) time per vertex, yielding an overall preprocessing cost of O(nV). The facet sets are stored as bit‑vectors or hash tables, enabling constant‑time set‑intersection queries that run in O(n) time for each vertex pair.
Given two vertices u and v, the test simply checks whether their facet sets intersect. If the intersection is empty, u and v are a complementary pair. In a simple polytope, the theorem guarantees that complementary vertices are never adjacent, so the test conclusively declares non‑adjacency in O(n) time. If the intersection is non‑empty, the test cannot immediately decide adjacency; for simple polytopes the presence of a common facet is a necessary condition for adjacency, but not sufficient, so further verification (e.g., solving a small linear system) may be required. In non‑simple polytopes, the test serves as a filter: any pair with empty intersection is certainly non‑adjacent, while pairs with non‑empty intersection remain candidates for more expensive checks.
The preprocessing phase is enhanced to support all‑pairs adjacency queries efficiently. By constructing a global data structure that records, for each facet, the list of vertices incident to it, the algorithm can answer the empty‑intersection query for any pair in O(n) time without recomputing intersections. The total cost of building this structure is O(n²V + nV²), which is acceptable when V is moderate and the number of pairwise tests is Θ(V²). Compared with the classical O(nV) combinatorial test (which must be repeated for each pair) and the O(n³) algebraic test (based on solving linear systems), the new method reduces the per‑pair cost to linear in the dimension and amortizes the heavy preprocessing over all pairs.
Experimental evaluation on synthetic and benchmark polytopes demonstrates that the proposed filter dramatically reduces the number of expensive algebraic checks required in practice. For simple polytopes the O(n) test alone is sufficient to certify all non‑adjacent pairs, achieving exact adjacency determination with negligible overhead. For non‑simple polytopes the filter eliminates a large fraction of non‑adjacent pairs, leaving only a small subset for which the traditional O(n³) test must be applied.
In summary, the paper makes two contributions: a novel combinatorial theorem about the multiplicity and disjointness of complementary vertex pairs in simple polytopes, and a practical O(n) adjacency test that leverages this theorem. The test is exact for simple polytopes and serves as an efficient pre‑filter for non‑simple polytopes, with a preprocessing cost that scales as O(n²V + nV²). These results advance both the theoretical understanding of polytope geometry and the algorithmic toolkit for adjacency testing in high‑dimensional optimization problems.
Comments & Academic Discussion
Loading comments...
Leave a Comment