Ordering the vertices of a multigraph by scores #
Sort the vertices of a multigraph of maximum degree d by a real score
(Cslib.Circuits.Frontier.Layout.exists_threshold). Fix a grid a, a + δ, ..., a + M δ. The
cuts below the grid thresholds and the numbers of vertices scoring in the windows between them
bound every frontier of the layout, parallel edges counted separately
(Cslib.Circuits.Frontier.Multigraph.ncard_edgeCut_le_grid).
Indeed, let the vertices of P score at most m and the others at least m. If
a + i δ ≤ m < a + (i + 1) δ, an edge leaving P either leaves the threshold set
{v | score v < a + i δ} too, or has its end in P scoring in the window
[a + i δ, a + (i + 1) δ); at most d edges are at each vertex of the window. If m lies
below the grid, every edge leaving P is at a vertex scoring below a, and if m lies above
it, every such edge is at a vertex scoring at least a + M δ.
Main results #
Cslib.Circuits.Frontier.Multigraph.ncard_edgeCut_le_grid: the cut of a threshold set.Cslib.Circuits.Frontier.Multigraph.exists_width_le_of_vertexScore: the layout by a vertex score.
Grid control. Let the vertices of P score at most m and the others at least m. If
d times the number of vertices scoring in each tail, and the cut below each grid threshold
plus d times the number of vertices scoring in the following window, are at most B, then at
most B edges leave P.
The layout by a vertex score. Under the grid hypotheses of ncard_edgeCut_le_grid,
listing the vertices by score gives a layout of width at most B.