FastQC is a branch-and-bound algorithm that efficiently enumerates maximal γ-quasi-cliques in undirected graphs through advanced pruning and branching rules.
It employs size–disconnection pruning and symmetry-exploiting candidate refinement to limit the search space and ensure the QC maximality property.
The divide-and-conquer variant, DCFastQC, accelerates processing on large or dense graphs, achieving up to 100× speedup over previous approaches.
FastQC is a branch-and-bound (BB) algorithm designed for the efficient enumeration of all large maximal γ-quasi-cliques (MQCs) in undirected graphs. The method introduces co-designed pruning and branching rules to overcome time complexity barriers of prior approaches, complemented by a divide-and-conquer enhancement. FastQC enables the practical discovery of cohesive subgraph structures at scales and densities previously infeasible due to both theoretical worst-case bounds and empirical performance bottlenecks (Yu et al., 2023).
1. Problem Formulation: Maximal γ-Quasi-Clique Enumeration
Let G=(V,E) be an undirected graph with n=∣V∣ vertices. Fix a density parameter γ∈[0.5,1] and a size threshold σ>0.
γ-Quasi-Clique (γ-QC): An induced subgraph G[H] (H⊆V) is a γ-quasi-clique if:
G[H] is connected; and
For every v∈H, degG[H](v)≥γ⋅(∣H∣−1).
Equivalently, defining the maximum number of disconnections in G[H] as
A(H)≡v∈Hmax(∣H∣−1−degG[H](v)),
we require A(H)≤T(∣H∣), where T(x)=⌊(1−γ)x+γ⌋.
Maximal γ-Quasi-Clique (MQC): A γ-QC G[H] is maximal if no H′⊃H exists such that G[H′] is also a γ-QC.
Enumeration Problem (MQCE): Output all MQCs in G of size at least σ.
Since QC maximality checking is NP-hard and the QC family is non-hereditary, enumeration is typically staged:
Enumerate a superset S containing all MQCs.
Filter S for maximality.
FastQC addresses the superset enumeration stage via an advanced BB framework.
2. Branch-and-Bound Framework in FastQC
FastQC explores the space of vertex subsets using a recursive BB search, where each node (branch) is represented by a triple (S,C,D):
S: current partial set (must-include vertices)
C: candidate set (potential additions to S)
D: excluded set (must-not-include vertices)
Subsets H satisfying H⊇S, H⊆S∪C, H∩D=∅ are explored under each node.
The high-level recursive process FastQC-Rec(S, C, D) operates as follows:
Apply pruning (described in Section 3).
If candidate set C is empty, test S for being a γ-QC (output if ∣S∣≥σ).
When an early-stop maximality criterion is satisfied, output S∪C as a found MQC.
Otherwise, select a pivot u∈S∪C and branch via the selected branching strategy (see Section 4).
3. Pruning Mechanisms: Size–Disconnection Space
FastQC introduces pruning rules in the "size–disconnection (SD)" space, efficiently restricting search to promising branches.
For any H⊆V:
A(H)=maxv∈H(∣H∣−1−degG[H](v))
T(x)=⌊(1−γ)x+γ⌋
For each node B=(S,C,D):
Lower bound on QC size: ∣S∣
Upper bound: o(B)=min{∣S∪C∣,⌊dmin(B)/γ⌋+1}, where dmin(B)=minv∈SdegG[S∪C](v)
Branch B can only contain a γ-QC if:
A(S)≤T(o(B))
Vertex refinement in C is performed by progressive pruning:
(R1) Remove v if A(S∪{v})>T(o(B)) — inclusion of v violates QC bounds.
(R2) Remove v if degG[S∪C](v)<σ−T(o(B)) — no large QC could include v.
These pruning operations are iterated, updating o(B) and re-checking the pruning condition until no further removal is possible. If A(S)>T(o(B)) at any step, the branch is safely pruned. This ensures the correctness and safety of the enumeration process, as only subsets H⊇S with A(H)≤T(∣H∣)≤T(o(B)) can form γ-QCs.
4. Branching Strategies: Sym-SE and Hybrid-SE
Once pruning and candidate refinement stall, FastQC branches the current search node using symmetry-exploiting rules.
Symmetric SE branching (Sym-SE): Order candidates C=(v1,…,vm). Branch into m+1 child nodes, each enforcing inclusion/exclusion decisions on vi. For increasing i, A(Si) increases; if A(Si)>T(o(B)), all further siblings are pruned.
Hybrid-SE branching: Triggered when a pivot u has degdis(u)>T(o(B)) and degS(u)=0. The "exclude u" branch uses SE branching and a separate necessary condition for maximality; the "include u" uses Sym-SE to prune non-QC branches—boosting pruning efficacy.
Pivot selection prefers u∈S∪C with maximal disconnections to maximize the utility of subsequent pruning.
5. Worst-Case Time Complexity
Let k=maxBT(o(B)), with the bound k≤T(n) and typically k≪n. Define αk as the maximal real root of xk+2−xk+1−2xk+2=0. FastQC explores at most O(ndαkn) recursion nodes, with αk<2 for all k≥1 (e.g., α2≈1.769, α3≈1.899, α4≈1.953).
All pruning and branching rules are proven, via induction and recurrence analysis, to satisfy this exponential node growth, improving on the O∗(2n) worst-case bounds of prior BB approaches (Yu et al., 2023).
6. Divide-and-Conquer Enhancement: DCFastQC
To scale FastQC to massive or dense graphs, a divide-and-conquer variant ("DCFastQC", Editor's term) is employed:
Compute a degeneracy ordering v1,…,vn.
For each vi, define Vi={vj:distG(vi,vj)≤2,j≥i} and form subgraph Gi=G[Vi].
Each MQC appears in exactly one Gi where vi is minimal by degeneracy rank.
Algorithm outline:
Form Gi=G[Vi];
Iteratively prune via one-hop/two-hop pruning;
Call `FastQC-Rec(S = {v_i}, C = V_i \setminus {v_i}, D = {v_1, \ldots, v_{i-1}}).</li></ul></li></ul><p>Fordegeneracy\deltaandmaximumdegreed,eachG_ihasO(\delta d)vertices;aggregateruntimeisO(n \delta d \alpha_k^{\delta d}),yieldingsubstantialaccelerationonsparseorlocallyboundedgraphs.</p><h2class=′paper−heading′id=′empirical−performance−and−observations′>7.EmpiricalPerformanceandObservations</h2><p>Empiricalevaluationonbothreal(12networkdatasets,upto23Mverticesand261Medges)andsynthetic(Erdo\Hs–Reˊnyi,upto10^6vertices,varieddensities)graphsdemonstrates:</p><ul><li>AgainstQuick+(state−of−the−artBB),DCFastQCachievesupto100\timesspeeduponreal−worldnetworks(e.g.,Enron,WordNet,Pokec),solvinginstancesinsecondswhereQuick+requiresminutesorfailsduetomemoryexhaustion.</li><li>Speedupincreaseswith\gammaand\sigmaasthesearchspacebecomesmoreamenabletoaggressivepruning.</li><li>OndenseErdo\Hs–Reˊnyigraphs,DCFastQCsuccessfullyhandles10^5–10^6verticesandedge−densitiesupto70,whereQuick+failsbeyond10^5vertices.</li><li>DCFastQCandFastQCreturnidenticalsetsofMQCs,butenumeratefarfewernon−maximalQCs,significantlyreducingtheburdenofthesubsequentmaximalityfilteringstepandfurtherimprovingoverallenumerationefficiency.</li></ul><p>TheseresultsestablishFastQC(andDCFastQC)asamongthefastestandmosttheoreticallyrobustalgorithmsformaximal\gamma$-quasi-clique enumeration in large-scale graphs (Yu et al., 2023).