Degree reduction #
The first step of Dinur's preprocessing Dinur, Section 3.1: an arbitrary constraint graph, whose vertices may have wildly different degrees, is replaced by a regular one over the same alphabet, losing at most a constant factor of its value. This is the expander replacement of Papadimitriou and Yannakakis: every vertex is split into one copy per edge end at it, and the copies of a vertex are joined by an expander carrying equality constraints.
The vertices of the new constraint graph G.degreeReduce H are the half-edges (e, b) of G:
an edge e with one of its ends, the first one for b = false and the second one for b = true.
There are 2 |E| of them, whatever the degrees of G. Each half-edge has
- one edge-link, labelled
inl (), to the other half of its edge, carrying the constraint of that edge, and |D|cloud-links, labelledinr i, given by a regular multigraphH von the cloud of half-edges at the same vertexv, carrying equality constraints.
So G.degreeReduce H is (1 + |D|)-regular. A labelling satisfying G labels every half-edge by
the label of its vertex and satisfies the new constraint graph (satisfiable_degreeReduce). In the
other direction, from a labelling A of the half-edges, label every vertex v by a most frequent
label σ v of its cloud. A half-edge disagreeing with the label of its vertex is charged to the
cloud-links joining differently labelled half-edges of its cloud, which all violate their equality
constraints. When H v is an expander there are many of them: at least (1 - μ) |D| per
disagreeing half-edge, since the half-edges with any label a are at most as many as those with
the label σ v, so that many edges leave them
(Cslib.RotationMap.mul_card_filter_ne_le_card_filter_ne_neighbor). An edge violated by σ
either has a disagreeing half-edge, or its edge-links are violated by A. Trading the two charges
off shows that the proportion of darts violated by A is at least
min 1 ((1 - μ) |D|) / (2 (1 + |D|)) times the value of G, when the spectral expansion of every
H v is at most μ (le_unsatVal_degreeReduce). The constant does not depend on the alphabet, as
in Dinur's analysis.
Main definitions #
Cslib.PCP.ConstraintGraph.endpoint,Cslib.PCP.ConstraintGraph.Cloud: the vertex of a half-edge, and the half-edges at a vertex.Cslib.PCP.ConstraintGraph.cloudGraph: the regular multigraph on the half-edges joining each cloud by a given multigraph.Cslib.PCP.ConstraintGraph.degreeReduce: the degree-reduced regular constraint graph.
Main results #
Cslib.PCP.ConstraintGraph.satisfiable_degreeReduce: completeness.Cslib.PCP.ConstraintGraph.one_add_card_mul_unsatVal_degreeReduce_le: degree reduction divides the value by at least1 + |D|.Cslib.PCP.ConstraintGraph.le_unsatVal_degreeReduce: soundness.Cslib.PCP.ConstraintGraph.satisfiable_degreeReduce_iff: with expanders on the clouds, degree reduction preserves satisfiability.
References #
Half-edges and clouds #
The vertex of a half-edge (e, b): the first end of e for b = false, the second one for
b = true.
Instances For
The cloud of a vertex: the half-edges at it.
Instances For
The regular multigraph on the half-edges whose edges join, within the cloud of every vertex
v, the half-edges as H v does.
Instances For
The neighbors of a half-edge in the cloud graph are in its cloud.
The degree-reduced constraint graph #
The 1-regular multigraph joining the two halves of every edge.
Instances For
The degree-reduced constraint graph Dinur, Section 3.1: its vertices are the
half-edges of G; the edge-link inl () joins the two halves of an edge e and carries the
constraint of e, read from its first end to its second one; the cloud-links inr i join the
half-edges of every cloud as H does and carry equality constraints.
Instances For
The underlying multigraph of the degree-reduced constraint graph: the edge-links followed by the cloud-links.
Completeness of degree reduction: labelling every half-edge by the label of its vertex
turns a labelling satisfying G into one satisfying G.degreeReduce H.
Degree reduction divides the value by at least 1 + |D| Dinur, Section 3.1:
labelling the half-edges by the labels of their vertices violates the edge-links of the violated
edges only, which are a proportion 1 / (1 + |D|) of the darts at their half-edges.
Soundness #
Soundness of degree reduction Dinur, Section 3.1: if the multigraphs on the
clouds have spectral expansion at most μ, degree reduction divides the value by at most
2 (1 + |D|) / min 1 ((1 - μ) |D|), whatever the alphabet.
Degree reduction preserves satisfiability when the multigraphs on the clouds are expanders:
their degree is positive and their spectral expansions are at most some μ < 1.