Finding All Cliques
Finding All Cliques
Motivation
How to put as much left-over stuff as possible in a tasty meal before everything will go off?
Michaela Regneri
Finding Cliques
Motivation
Find the largest collection of food where everything goes together! Here, we have the choice:
Michaela Regneri
Finding Cliques
Motivation
Find the largest collection of food where everything goes together! Here, we have the choice:
Michaela Regneri
Finding Cliques
Motivation
Find the largest collection of food where everything goes together! Here, we have the choice:
Michaela Regneri
Finding Cliques
Motivation
Find the largest collection of food where everything goes together! Here, we have the choice:
Michaela Regneri
Finding Cliques
Outline
Introduction to cliques The Bron-Kerbosch algorithm Applications Conclusion
Michaela Regneri
Finding Cliques
Outline
Introduction to cliques The Bron-Kerbosch algorithm Applications Conclusion
Michaela Regneri
Finding Cliques
Cliques
complete subgraph of a graph: part of a graph in which all nodes are connected to each other cliques: maximal complete subgraphs (not subsumed by any other complete subgraph)
Michaela Regneri
Finding Cliques
A graph
Finding Cliques
10
The cliques
Finding Cliques
11
Outline
Introduction to cliques The Bron-Kerbosch algorithm Applications Conclusion
Michaela Regneri
Finding Cliques
12
Michaela Regneri
Finding Cliques
13
not, the nodes already processed which lead to a valid extensions for compsub and which shouldnt be touched a selected candidate
S
Michaela Regneri
Finding Cliques
14
there are no candidates anymore AND there are no nodes in not (otherwise, the recent clique is not maximal!)
Michaela Regneri
Finding Cliques
15
Michaela Regneri
Finding Cliques
16
Michaela Regneri
Finding Cliques
17
Michaela Regneri
Finding Cliques
18
Finding Cliques
19
Michaela Regneri
Finding Cliques
20
Termination conditions
1. no candidates left or 2. there is an element in not which is connected to every candidate left (if 2 holds, the addition of a candidate cannot lead to a clique which is maximal, because the node in not would be missing)
Finding Cliques
21
Michaela Regneri
in not get a counter indicating to how many candidates they are not connected the node in not with the fewest disconnections each step, pick a new candidate disconnected to this node
Finding Cliques
22
Michaela Regneri
Outline
Introduction to cliques The Bron-Kerbosch algorithm Applications Conclusion
Michaela Regneri
Finding Cliques
23
Michaela Regneri
Finding Cliques
24
Michaela Regneri
Finding Cliques
25
4|4|3
Finding Cliques
26
5|1|3
9|0|3
2|10|4
4|4|3
Finding Cliques
27
Michaela Regneri
Finding Cliques
28
Other Applications
several applications in bioinformatics and drug design (similarity of proteins or chemical formulas in general) McDonald et al. (2005) next talk
Michaela Regneri
Finding Cliques
29
Conclusion
problem: finding all cliques of a graph efficiently hard task (in terms of memory and runtime) Bron-Kerbosch algorithm is one efficient solution several applications - perhaps some more could be invented (operating on ontologies e.g.)
Michaela Regneri
Finding Cliques
30
Literature
Coen Bron and Joep Kerbosch (1973): Algorithm 457: Finding All Cliques of an Undirected Graph. Communications of the ACM Vol. 16, Issue 9. ACM Press: New York, USA. Dominic Widdows and Beate Dorow (2002): A graph model for unsupervised lexical acquisition. Proceedings of the 19th international conference on Computational linguistics. ACL: Morristown, USA. Volker Stix (2004): Finding All Maximal Cliques in Dynamic Graphs. Computational Optimization and Applications Vol. 7, Issue 2. Kluwer Academic Publishers: Norwell, USA.
Michaela Regneri
Finding Cliques
31