Enumerating Maximum Cliques in Massive Graphs

Cliques refer to subgraphs in an undirected graph such that vertices in each subgraph are pairwise adjacent. The maximum clique problem, to find the clique with most vertices in a given graph, has been extensively studied. Besides its theoretical value as an NP-hard problem, the maximum clique probl...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:IEEE transactions on knowledge and data engineering Ročník 34; číslo 9; s. 4215 - 4230
Hlavní autoři: Lu, Can, Yu, Jeffrey Xu, Wei, Hao, Zhang, Yikai
Médium: Journal Article
Jazyk:angličtina
Vydáno: New York IEEE 01.09.2022
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Témata:
ISSN:1041-4347, 1558-2191
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Cliques refer to subgraphs in an undirected graph such that vertices in each subgraph are pairwise adjacent. The maximum clique problem, to find the clique with most vertices in a given graph, has been extensively studied. Besides its theoretical value as an NP-hard problem, the maximum clique problem is known to have direct applications in various fields, such as community search in social networks and social media, team formation in expert networks, gene expression and motif discovery in bioinformatics and anomaly detection in complex networks, revealing the structure and function of networks. However, algorithms designed for the maximum clique problem are expensive to deal with real-world networks. In this paper, we first devise a randomized algorithm for the maximum clique problem. Different from previous algorithms that search from each vertex one after another, our approach RMC , for the randomized maximum clique problem, employs a binary search while maintaining a lower bound <inline-formula><tex-math notation="LaTeX">\underline{\omega _c}</tex-math> <mml:math><mml:munder><mml:msub><mml:mi>ω</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>̲</mml:mo></mml:munder></mml:math><inline-graphic xlink:href="lu-ieq1-3036013.gif"/> </inline-formula> and an upper bound <inline-formula><tex-math notation="LaTeX">\overline{\omega _c}</tex-math> <mml:math><mml:mover><mml:msub><mml:mi>ω</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>¯</mml:mo></mml:mover></mml:math><inline-graphic xlink:href="lu-ieq2-3036013.gif"/> </inline-formula> of <inline-formula><tex-math notation="LaTeX">\omega (G)</tex-math> <mml:math><mml:mrow><mml:mi>ω</mml:mi><mml:mo>(</mml:mo><mml:mi>G</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="lu-ieq3-3036013.gif"/> </inline-formula>. In each iteration, RMC attempts to find a <inline-formula><tex-math notation="LaTeX">\omega _t</tex-math> <mml:math><mml:msub><mml:mi>ω</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math><inline-graphic xlink:href="lu-ieq4-3036013.gif"/> </inline-formula>-clique where <inline-formula><tex-math notation="LaTeX">\omega _t=\lfloor (\underline{\omega _c}+\overline{\omega _c})/2\rfloor</tex-math> <mml:math><mml:mrow><mml:msub><mml:mi>ω</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>⌊</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:munder><mml:msub><mml:mi>ω</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>̲</mml:mo></mml:munder><mml:mo>+</mml:mo><mml:mover><mml:msub><mml:mi>ω</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>¯</mml:mo></mml:mover><mml:mo>)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:mn>2</mml:mn><mml:mo>⌋</mml:mo></mml:mrow></mml:mrow></mml:math><inline-graphic xlink:href="lu-ieq5-3036013.gif"/> </inline-formula>. As finding <inline-formula><tex-math notation="LaTeX">\omega _t</tex-math> <mml:math><mml:msub><mml:mi>ω</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math><inline-graphic xlink:href="lu-ieq6-3036013.gif"/> </inline-formula> in each iteration is NP-complete, we extract a seed set <inline-formula><tex-math notation="LaTeX">S</tex-math> <mml:math><mml:mi>S</mml:mi></mml:math><inline-graphic xlink:href="lu-ieq7-3036013.gif"/> </inline-formula> such that the problem of finding a <inline-formula><tex-math notation="LaTeX">\omega _t</tex-math> <mml:math><mml:msub><mml:mi>ω</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math><inline-graphic xlink:href="lu-ieq8-3036013.gif"/> </inline-formula>-clique in <inline-formula><tex-math notation="LaTeX">G</tex-math> <mml:math><mml:mi>G</mml:mi></mml:math><inline-graphic xlink:href="lu-ieq9-3036013.gif"/> </inline-formula> is equivalent to finding a <inline-formula><tex-math notation="LaTeX">\omega _t</tex-math> <mml:math><mml:msub><mml:mi>ω</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math><inline-graphic xlink:href="lu-ieq10-3036013.gif"/> </inline-formula>-clique in <inline-formula><tex-math notation="LaTeX">S</tex-math> <mml:math><mml:mi>S</mml:mi></mml:math><inline-graphic xlink:href="lu-ieq11-3036013.gif"/> </inline-formula> with probability guarantees (<inline-formula><tex-math notation="LaTeX">\geq</tex-math> <mml:math><mml:mo>≥</mml:mo></mml:math><inline-graphic xlink:href="lu-ieq12-3036013.gif"/> </inline-formula><inline-formula><tex-math notation="LaTeX"> 1-n^{-c}</tex-math> <mml:math><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mi>n</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>c</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math><inline-graphic xlink:href="lu-ieq13-3036013.gif"/> </inline-formula>). We propose a novel iterative algorithm to determine the maximum clique by searching a <inline-formula><tex-math notation="LaTeX">k</tex-math> <mml:math><mml:mi>k</mml:mi></mml:math><inline-graphic xlink:href="lu-ieq14-3036013.gif"/> </inline-formula>-clique in <inline-formula><tex-math notation="LaTeX">S</tex-math> <mml:math><mml:mi>S</mml:mi></mml:math><inline-graphic xlink:href="lu-ieq15-3036013.gif"/> </inline-formula> starting from <inline-formula><tex-math notation="LaTeX">k=\underline{\omega _c}+1</tex-math> <mml:math><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:munder><mml:msub><mml:mi>ω</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>̲</mml:mo></mml:munder><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math><inline-graphic xlink:href="lu-ieq16-3036013.gif"/> </inline-formula> until <inline-formula><tex-math notation="LaTeX">S</tex-math> <mml:math><mml:mi>S</mml:mi></mml:math><inline-graphic xlink:href="lu-ieq17-3036013.gif"/> </inline-formula> becomes <inline-formula><tex-math notation="LaTeX">\lbrace \rbrace</tex-math> <mml:math><mml:mrow><mml:mo>{</mml:mo><mml:mo>}</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="lu-ieq18-3036013.gif"/> </inline-formula>, when more iterations benefit marginally. Due to the potential inconsistency of maximum clique algorithms, we study the problem of maximum clique enumeration and propose an efficient algorithm RMCE to enumerate all maximum cliques in a given graph. As confirmed by the experiments, both RMC and RMCE are much more efficient and robust than previous solutions, RMC can always find the exact maximum clique, and RMCE can always enumerate all maximum cliques in a given graph.
Bibliografie:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1041-4347
1558-2191
DOI:10.1109/TKDE.2020.3036013