Papers
Topics
Authors
Recent
Search
2000 character limit reached

Maximum Cardinality Search (MCS)

Updated 5 July 2026
  • Maximum Cardinality Search (MCS) is a graph search algorithm that selects unchosen vertices based on the count of already chosen neighbors.
  • On chordal graphs, MCS is equivalent to perfect elimination orderings and aligns with Prim orderings on the clique graph, highlighting its structural significance.
  • A dynamic programming approach utilizing the clique graph's layer structure solves PSOP-MCS in polynomial time, demonstrating practical feasibility with an O(n^4) complexity.

Maximum Cardinality Search (MCS) is a graph-search paradigm that iteratively selects an unchosen vertex with maximum current label, where the label at time tt is the number of already selected neighbors. For a finite, undirected, simple graph G=(V,E)G=(V,E) and a partial order on VV, the Partial Search Order Problem for MCS (PSOP-MCS) asks whether there exists an MCS-ordering that is a linear extension of the given partial order. On chordal graphs, MCS has deep structural connections to perfect elimination orderings and clique graphs, and these connections underlie a polynomial-time dynamic programming algorithm for PSOP-MCS based on a layered decomposition of the clique graph (Rong et al., 2022).

1. Formal search model and order-theoretic formulation

Let G=(V,E)G=(V,E) be a finite, undirected, simple graph. MCS constructs an ordering π=(v1,,vn)\pi=(v_1,\dots,v_n) iteratively. If St={v1,,vt}S_t=\{v_1,\dots,v_t\} is the set of already selected vertices after tt steps, with S0=S_0=\emptyset, then the MCS label of an unchosen vertex vv at time tt is

G=(V,E)G=(V,E)0

At iteration G=(V,E)G=(V,E)1, MCS selects any vertex

G=(V,E)G=(V,E)2

Ties are broken arbitrarily. A linear order obtainable by this greedy rule is an MCS-ordering (Rong et al., 2022).

Equivalently, if G=(V,E)G=(V,E)3 encodes visit time by G=(V,E)G=(V,E)4, then G=(V,E)G=(V,E)5 is an MCS-ordering if and only if there is a run of the greedy rule whose choices realize G=(V,E)G=(V,E)6. This formulation emphasizes that MCS is not a single deterministic ordering but a family of admissible orderings induced by tie-breaking.

The partial-order variant is defined as follows. Given a search paradigm G=(V,E)G=(V,E)7 and a graph G=(V,E)G=(V,E)8 together with a partial order G=(V,E)G=(V,E)9, PSOP-VV0 asks whether there exists an VV1-ordering consistent with VV2. For MCS, the decision problem is: given a connected graph VV3 and a partial order VV4 on VV5, does there exist an MCS-ordering VV6 such that

VV7

In the terminology of the paper, the ordering then extends the partial order (Rong et al., 2022).

This formulation strictly generalizes two previously studied recognition problems. The end-vertex problem is obtained by imposing the constraint that every other vertex precede a designated vertex. The VV8-tree recognition problem is also subsumed, because constraints enforcing first-predecessor choices can be encoded as partial-order constraints together with feasibility conditions.

2. Chordal graphs, perfect elimination, and the role of MCS

A graph is chordal if it has no induced cycle of length at least VV9. A perfect elimination ordering (PEO) of G=(V,E)G=(V,E)0 is an ordering G=(V,E)G=(V,E)1 such that for each G=(V,E)G=(V,E)2, the later neighbors of G=(V,E)G=(V,E)3, namely

G=(V,E)G=(V,E)4

form a clique. The classical characterization states that a graph is chordal if and only if it has a PEO (Rong et al., 2022).

MCS is closely tied to this characterization. On chordal graphs, MCS recognizes chordality: if one runs MCS and then checks in linear time whether the obtained ordering is a PEO, the check succeeds if and only if the graph is chordal. In the standard recognition framework, if G=(V,E)G=(V,E)5 is chordal, then any MCS-ordering is a PEO when appropriately interpreted, or equivalently the MCS-order read backward is a PEO (Rong et al., 2022).

These facts give MCS a dual status. Algorithmically, it is a search procedure driven by a local cardinality rule. Structurally, on chordal graphs it is aligned with elimination theory and clique-separator structure. The PSOP-MCS algorithm on chordal graphs relies on this alignment rather than on the label process alone.

A plausible implication is that MCS on chordal graphs is best understood not merely as a greedy vertex process but as a search whose admissible orderings reflect the decomposition of the graph into maximal cliques and separators. This perspective is made explicit through the clique-graph and Prim-ordering correspondence.

3. Clique graphs and the MCS–Prim equivalence

For a connected chordal graph G=(V,E)G=(V,E)6, the clique graph G=(V,E)G=(V,E)7 has one node for each maximal clique of G=(V,E)G=(V,E)8. Two maximal cliques G=(V,E)G=(V,E)9 and π=(v1,,vn)\pi=(v_1,\dots,v_n)0 are adjacent in π=(v1,,vn)\pi=(v_1,\dots,v_n)1 if and only if π=(v1,,vn)\pi=(v_1,\dots,v_n)2 is a minimal separator between any vertex of π=(v1,,vn)\pi=(v_1,\dots,v_n)3 and any vertex of π=(v1,,vn)\pi=(v_1,\dots,v_n)4 in π=(v1,,vn)\pi=(v_1,\dots,v_n)5. Each edge π=(v1,,vn)\pi=(v_1,\dots,v_n)6 is labeled by the separator

π=(v1,,vn)\pi=(v_1,\dots,v_n)7

and weighted by π=(v1,,vn)\pi=(v_1,\dots,v_n)8. The clique graph is the union of all clique trees of π=(v1,,vn)\pi=(v_1,\dots,v_n)9, and every chordal graph has at most St={v1,,vt}S_t=\{v_1,\dots,v_t\}0 maximal cliques, so St={v1,,vt}S_t=\{v_1,\dots,v_t\}1 (Rong et al., 2022).

Prim search on a weighted graph starts from an arbitrary node and repeatedly adds a new node through an incident edge of maximum weight to the already chosen set, with arbitrary tie-breaking. Such a node ordering is called a Prim ordering. The critical structural statement is the MCS–Prim equivalence on chordal graphs: an ordering St={v1,,vt}S_t=\{v_1,\dots,v_t\}2 of St={v1,,vt}S_t=\{v_1,\dots,v_t\}3 is an MCS-ordering if and only if St={v1,,vt}S_t=\{v_1,\dots,v_t\}4 is a generation of some Prim ordering St={v1,,vt}S_t=\{v_1,\dots,v_t\}5 of the clique graph St={v1,,vt}S_t=\{v_1,\dots,v_t\}6 (Rong et al., 2022).

More precisely, if St={v1,,vt}S_t=\{v_1,\dots,v_t\}7 is a Prim ordering of St={v1,,vt}S_t=\{v_1,\dots,v_t\}8, define

St={v1,,vt}S_t=\{v_1,\dots,v_t\}9

Then any ordering of the form

tt0

where each tt1 is an arbitrary linear order of tt2, is an MCS-ordering of tt3; conversely, every MCS-ordering arises in this way from some Prim ordering of tt4 (Rong et al., 2022).

This equivalence converts a constrained vertex-order problem into a constrained clique-order problem. Given a vertex partial order tt5, a Prim ordering tt6 of tt7 respects tt8 if for each tt9 one has S0=S_0=\emptyset0, where S0=S_0=\emptyset1 denotes the first maximal S0=S_0=\emptyset2-clique encountered by S0=S_0=\emptyset3. There exists an MCS-ordering of S0=S_0=\emptyset4 extending S0=S_0=\emptyset5 if and only if there exists a Prim ordering of S0=S_0=\emptyset6 respecting S0=S_0=\emptyset7 (Rong et al., 2022).

The significance of this bridge is algorithmic. MCS labels are dynamic and vertex-level; Prim orderings on the clique graph expose separator weights and clique-level structure. The reduction makes it possible to replace direct reasoning about all MCS tie-breakings by a structured search over maximal cliques.

4. Layer structure on the clique graph

The main technical notion introduced for PSOP-MCS on chordal graphs is the layer structure of the clique graph. For a weighted clique graph S0=S_0=\emptyset8, one repeatedly removes edges of minimum weight. Fix a root maximal clique S0=S_0=\emptyset9. After removing all minimum-weight edges, each connected component is called a unit. The units become the vertices of a unit-level graph, and two units are adjacent when some edge of vv0 crosses between them. The corresponding unit edge is labeled by the common separator carried by all such crossing edges. The root unit is vv1, and the layer of a unit is its distance from the root in this unit graph (Rong et al., 2022).

Several structural properties of this decomposition are used in the dynamic program.

  • Edge-label propagation: if vv2 is an edge with label vv3, then every path between vv4 and vv5 in the layer structure contains an edge labeled vv6. In particular, when two edges with the same label vv7 share this structure, the four participating units are pairwise adjacent and all six edges among them have label vv8.
  • Unique parent: every nonroot unit in layer vv9 is adjacent to exactly one unit in layer tt0, its parent. If edges inside same-layer bags are ignored, the unit graph is a rooted tree.
  • Bags within a layer: two units in the same layer are adjacent if and only if they share the same parent and the same label to that parent. Consequently, adjacency inside a layer is an equivalence relation, and each equivalence class, called a bag, forms a clique.
  • Separator identity on unit edges: for adjacent units tt1, the edge label equals the overlap of their vertex supports,

tt2

where tt3.

  • First-appearance unit of a vertex: for every vertex tt4, there is a unique unit tt5 containing a maximal tt6-clique that is closest to the root, and every unit containing a maximal tt7-clique lies in the descendant subtree of tt8.
  • Entrance to a child bag: if two units in the same bag have adjacent cliques in tt9, then there exists a clique in the parent unit adjacent to both (Rong et al., 2022).

These statements collectively make the unit graph sufficiently tree-like for dynamic programming while retaining the separator information needed for Prim feasibility. A plausible implication is that the layer structure acts as a quotient of the clique graph that preserves precisely the information relevant to feasible MCS generations under partial-order constraints.

5. Reduction to rooted generic search on units

The layer structure supports a second reduction, from constrained Prim orderings of the clique graph to constrained generic search on units. Given a partial order G=(V,E)G=(V,E)00 on G=(V,E)G=(V,E)01, one lifts it to a partial order on units:

G=(V,E)G=(V,E)02

where G=(V,E)G=(V,E)03 is the first-appearance unit of G=(V,E)G=(V,E)04 with respect to the chosen root (Rong et al., 2022).

If there exists an MCS-ordering of G=(V,E)G=(V,E)05 starting within G=(V,E)G=(V,E)06 and extending G=(V,E)G=(V,E)07, then there exists a Prim ordering of G=(V,E)G=(V,E)08 starting with G=(V,E)G=(V,E)09 that respects G=(V,E)G=(V,E)10. The induced order of units is then a generic-search ordering of the layer structure rooted at G=(V,E)G=(V,E)11 and extending G=(V,E)G=(V,E)12. Conversely, any such generic-search ordering of the layer structure can be refined unit-by-unit to a Prim ordering of G=(V,E)G=(V,E)13 that respects G=(V,E)G=(V,E)14, provided one chooses for each unit an entering clique adjacent to its parent and realizes the interior of each unit appropriately (Rong et al., 2022).

The rooted generic-search feasibility lemma states that if there exists an MCS-ordering of G=(V,E)G=(V,E)15 starting with G=(V,E)G=(V,E)16 and extending G=(V,E)G=(V,E)17, then there exists a rooted generic-search ordering of the layer structure starting at G=(V,E)G=(V,E)18 that extends G=(V,E)G=(V,E)19. The algorithm relies on Scheffler’s result that rooted PSOP for generic search is polynomial-time solvable. This result is applied at the unit level rather than on the original graph (Rong et al., 2022).

This reduction separates global and local constraints. Global precedence information is enforced through the rooted generic-search ordering of units. Local realizability inside each unit is deferred to lower levels of the dynamic program. The approach therefore converts a single difficult constrained search problem into a hierarchy of rooted feasibility problems.

6. Dynamic programming algorithm on chordal graphs

The main theorem is that PSOP-MCS restricted to chordal graphs is solvable in polynomial time, with overall running time G=(V,E)G=(V,E)20, where G=(V,E)G=(V,E)21 (Rong et al., 2022).

The algorithm processes the clique graph by nondecreasing separator sizes. Let the distinct edge weights of G=(V,E)G=(V,E)22 be

G=(V,E)G=(V,E)23

Define G=(V,E)G=(V,E)24, and for G=(V,E)G=(V,E)25, let G=(V,E)G=(V,E)26 be obtained from G=(V,E)G=(V,E)27 by deleting all edges of weight G=(V,E)G=(V,E)28. Each connected component of G=(V,E)G=(V,E)29 is again treated as a clique graph of the induced subgraph on the union of its cliques, and the connected components of G=(V,E)G=(V,E)30 are exactly the units of the layer structure of any component of G=(V,E)G=(V,E)31 (Rong et al., 2022).

The dynamic-programming state is

G=(V,E)G=(V,E)32

if and only if there exists a Prim ordering of a connected component G=(V,E)G=(V,E)33 of G=(V,E)G=(V,E)34 that starts with the maximal clique G=(V,E)G=(V,E)35 and respects the restriction of G=(V,E)G=(V,E)36 to G=(V,E)G=(V,E)37; otherwise G=(V,E)G=(V,E)38.

The base case occurs at G=(V,E)G=(V,E)39. Then G=(V,E)G=(V,E)40 has isolated nodes only, so any start clique yields a trivial Prim ordering, and G=(V,E)G=(V,E)41 for all states (Rong et al., 2022).

For the transition, to compute G=(V,E)G=(V,E)42 one builds the layer structure of G=(V,E)G=(V,E)43 rooted at G=(V,E)G=(V,E)44, where the units are the connected components of G=(V,E)G=(V,E)45 contained in G=(V,E)G=(V,E)46. Let G=(V,E)G=(V,E)47, and lift it to

G=(V,E)G=(V,E)48

If there is no generic-search ordering of the layer structure rooted at G=(V,E)G=(V,E)49 that extends G=(V,E)G=(V,E)50, then G=(V,E)G=(V,E)51. Otherwise, fix such a unit ordering

G=(V,E)G=(V,E)52

Then G=(V,E)G=(V,E)53 if and only if both of the following hold (Rong et al., 2022):

  1. G=(V,E)G=(V,E)54.
  2. For every G=(V,E)G=(V,E)55, there exists a clique G=(V,E)G=(V,E)56 such that:
    • G=(V,E)G=(V,E)57 is adjacent in G=(V,E)G=(V,E)58 to some clique in the parent unit of G=(V,E)G=(V,E)59 in the layer structure;
    • G=(V,E)G=(V,E)60.

Correctness follows from concatenating local Prim orderings inside units in the order prescribed by G=(V,E)G=(V,E)61. The entrance adjacency guarantees that when a child unit is first entered, a maximum-weight edge is available to the chosen starting clique of that unit. Respect of the lifted order G=(V,E)G=(V,E)62 ensures compatibility of first maximal G=(V,E)G=(V,E)63-cliques across units, while local respect inside each unit ensures compatibility with G=(V,E)G=(V,E)64 within units (Rong et al., 2022).

The complexity analysis is based on the facts that there are G=(V,E)G=(V,E)65 states overall and that each state requires only polynomial work: building the layer structure, solving rooted PSOP for generic search on that structure, and checking adjacency and witness cliques for child units. The resulting bound is G=(V,E)G=(V,E)66 (Rong et al., 2022).

7. Scope, special cases, and limitations

The algorithmic framework crucially depends on chordality. The clique-graph representation, minimal-separator labeling, and the MCS–Prim equivalence all hold in the chordal setting and are essential to the proof. For non-chordal inputs, PSOP-MCS remains open in general. The stated procedure therefore assumes that one first tests chordality and then applies the dynamic program only in the chordal case (Rong et al., 2022).

The method solves the MCS end-vertex problem on chordal graphs as a special case, since the end-vertex question is encoded by requiring every other vertex to precede the designated terminal vertex. It also subsumes the G=(V,E)G=(V,E)67-tree recognition case for MCS on chordal graphs through Scheffler’s observation that appropriate first-predecessor constraints can be encoded within PSOP (Rong et al., 2022).

An illustrative example is the graph with vertices G=(V,E)G=(V,E)68 and maximal cliques G=(V,E)G=(V,E)69 and G=(V,E)G=(V,E)70. Its clique graph has two nodes joined by an edge labeled G=(V,E)G=(V,E)71 of weight G=(V,E)G=(V,E)72. If the partial order requires G=(V,E)G=(V,E)73, then the induced unit order is forced to place the unit of G=(V,E)G=(V,E)74 before the unit of G=(V,E)G=(V,E)75, and a respecting Prim ordering is G=(V,E)G=(V,E)76. One generated MCS-ordering is G=(V,E)G=(V,E)77, which indeed extends the constraint (Rong et al., 2022).

The paper also identifies open directions. The G=(V,E)G=(V,E)78 bound may admit improvement through faster unit construction, more aggressive pruning in the dynamic program, or faster rooted generic-search PSOP on the layer structure. Extending the method beyond chordal graphs would require structural analogues of the clique-graph and layer decomposition framework. The data further notes that such a clean MCS–Prim equivalence does not hold for many other searches, including BFS, DFS, LexBFS, and MNS, so analogous algorithms would need different structural bridges (Rong et al., 2022).

Within the current theory, MCS on chordal graphs is therefore characterized not only by its local labeling rule but by a hierarchy of equivalent representations: perfect elimination on the graph itself, Prim orderings on the clique graph, and rooted generic-search feasibility on the layer structure. This suggests that the constrained-order behavior of MCS is controlled by separator geometry rather than by vertex labels alone.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Maximum Cardinality Search (MCS).