Splitting the terminal component of a superconcentrator #
Keep the edges whose tail lies in the undirected component of a vertex r. The split graph
of these edges is connected: the slots of one vertex are joined along its path, and an
undirected walk to r crosses from path to path along kept edges. Every directed walk inside
the component lifts to a directed walk of the split graph from any entering slot of its first
vertex to the last slot of its last vertex, staying in the paths of the vertices of the walk.
Lifting each walk of a vertex-disjoint family from the first slot of its first vertex to the
last slot of its last vertex gives a vertex-disjoint family of the split graph
(exists_lift_walks). All terminals of a superconcentrator lie in the component of its first
input, each input has a kept edge leaving it, and each output a kept edge entering it. Placing
every input at the first slot of its path and every output at the last slot, the split graph
is again a superconcentrator.
Walks and undirected reachability #
The ends of a directed walk are joined by an undirected walk.
Every vertex of a directed walk is joined to its first vertex by an undirected walk.
In a superconcentrator, every input reaches every output.
The component of a vertex #
The edges of the undirected component of r, identified by their tails.
Equations
- Algebraic.Cutwidth.Superconcentrator.Internal.compEdges G r = {e : E | Relation.ReflTransGen G.Adj (G.fst e) r}
Instances For
A vertex with a slot lies in the component.
Lifting walks #
A directed walk in the component lifts from any entering slot of its first vertex to the
last slot of its last vertex, through the paths of vertices of P ⊇ the walk.
Lifting one walk. A directed walk from u to v in the component of r, where u
and v have slots, lifts to a directed walk of the split graph from the first slot of u to
the last slot of v that stays in the paths of the vertices of the walk.
Lifting a family of vertex-disjoint walks. Let all terminals input i lie in the
component of r, and let every input i and every output j have a slot. Vertex-disjoint
directed walks from input i to output (target i) lift to vertex-disjoint directed walks of
the split graph from the first slot of input i to the last slot of output (target i).
The split graph of a superconcentrator. If all inputs lie in the component of r,
every input has a slot, and every output has a slot, then the split graph of the component is
a superconcentrator with inputs at first slots and outputs at last slots.