<<

Introduction Application Conclusion

The Maximum Problem

Dam Thanh Phuong, Ngo Manh Tuong

November, 2012

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Introduction Algorithms Application Conclusion Motivation

How to put as much left-over stuff as possible in a tasty meal before everything will go off?

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion Motivation

Find the largest collection of food where everything goes together! Here, we have the choice:

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion Motivation

Find the largest collection of food where everything goes together! Here, we have the choice:

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion Motivation

Find the largest collection of food where everything goes together! Here, we have the choice:

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion Motivation

Find the largest collection of food where everything goes together! Here, we have the choice:

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion Outline

1 Introduction 2 Algorithms 3 Applications 4 Conclusion

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Graph (G): a network of vertices (V(G)) and edges ((G)). Graph Complement (G): the graph with the same set of G but whose edge set consists of the edges not present in G. : every pair of vertices is connected by an edge. A Clique in an undirected graph G=(V,E) is a subset of the vertex set C ⊆ V ,such that for every two vertices in C, there exists an edge connecting the two.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Maximum Clique: A Clique of the largest possible size in a given graph. The clique number, ω (G), is the cardinality of the maximum clique. Maximal Clique: A Clique that cannot be extended by including one more adjacent vertex. Independent Set: a subset of the vertices such that no two vertices in the subset are connected by an edge of G. : a subset of the vertices of G which contains at least one of the two endpoints of each edge.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Maximum Clique Problem Does there exist an integer k such that G contains an clique of cardinality k? What is the clique in G with maximum cardinality? What is the clique number of G?

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Equivalent Problems Maximum Independent Set Problem in G

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Equivalent Problems Minimum Vertex Cover Problem in G

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithms Algorithm Application Conclusion Brand-and-Bound

NP-hard

A problem is NP-hard if solving it in time would make it possible to solve all problems in the class of NP problems in polynomial time. All 3 versions of the Maximum Clique problem are known to be NP-hard for general graphs.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

NP : the class of which can be solved by a non-deterministicpolynomial algorithm. P: the class of problems which can be solved by a deterministicpolynomial algorithm. NP-hard: the class of problems to which every NP problem reduces. NP-complete (NPC): the class of problems which are NP-hard and belong to NP.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

Method to Solve Maximum Clique Problem

Non polynomial-time algorithms. Polynomial-time algorithms providing approximate solutions. Polynomial-time algorithms providing exact solutions to graphs of special classes. Two effective algorithms for dealing with NP-complete Problems: backtracking,

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Introduction Bron Kerbosch Algorithm

The Algorithm was Designed and Published in 1973 by the Dutch scientists Joep Kerbosch and Coenradd Bron. Bron Kerbosch Algorithm is for Finding the Maximal Cliques in undirected graph. It is known to be one of the most efficient algorithm which uses recursive backtracking to find Cliques is practically proven. The Bron Kerbosch Algorithm uses the vertex in graph and its neighbour with few functions to generate some effective results.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Without Pivoting Strategy

BronKerbosch(R, P, X ) if {P = X = ∅} Report R as the Maximal Clique for each vertex v in P BronKerbosch(R ∪ {v} , P ∩ N {v} , X ∩ N {v}) P := P\{v} X := X ∪ {v}

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound With Pivoting Strategy

BronKerbosch(R, P, X ) if {P = X = ∅} Report R as the Maximal Clique Choose Pivot Vertex u in P ∪ X for each vertex v in P BronKerbosch(R ∪ {v} , P ∩ N {v} , X ∩ N {v}) P := P\{v} X := X ∪ {v}

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Example

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

R = X = ∅, P = (1, 2, 3, 4, 5, 6) Choosing the pivot element u as 4. 4 in P\N(v) = (1, 2, 3, 4, 5, 6) \ (1, 2, 3, 5, 6) = 4 in 4

Finds the values of Rnew , Pnew , Xnew

Pnew = P ∩ N (v); Rnew = R ∪ v; Xnew = X ∩ N (v)

Rnew = 4; Pnew = (1, 2, 3, 5, 6) ; Xnew = ∅ BronKerbosch(4,(1,2,3,5,6),∅) BronKerbosch((4,1),(2,3),∅) BronKerbosch((4,1,2),∅,∅) Report (4,1,2) as one of the Maximal Clique

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

BronKerbosch(4,(1,2,3,5,6),∅) BronKerbosch((4,3),(1),∅) BronKerbosch((4,3,1),∅,∅) Report (4,3,1) as one of the other Maximal Clique. BronKerbosch(4,(1,2,3,5,6),∅) BronKerbosch((4,2),(1,5),∅) BronKerbosch((4,2,5),∅,∅) Report (4,2,5) as an other Maximal Clique. BronKerbosch(4,(1,2,3,5,6),∅) BronKerbosch((4,6),∅,∅) Report (4,6) as the Maximal Clique.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

This backtracking algorithm is a method for finding all the sub sets in an undirected graph G. Given a graph G with V vertices and E edges, G=(V,E) Let us take an integer variable k. This algorithm is used in scientific and engineering applications. This algorithm is a Depth First Search algorithm. The algorithm for finding k-clique in an undirected graph is a NP-complete problem.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound Example

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

List out all the possibilities in the subgraph and check for each and every edge. Check for a subgraph in which every node is connected to every other node. Check for all possible Cliques in the graphs. Check the size of clique whether it is equal to k or not.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

Any n-vertex graph has at most 3n/3 Maximal Cliques The worst-case running time of the BronKerbosch algorithm (with a pivot strategy that minimizes the number of recursive calls made at each step) is O(3n/3) This Backtracking algorithm runs in polynomial time if size of k is fixed. If k is varying then it is in exponencial time Running time of the algorithm is O (nk), where k = O(log n)

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Bron Kerbosch Algorithm Algorithms Backtracking Algorithm Application Time Complexity Conclusion Brand-and-Bound

n P f (x) = − xi → min i=1 xi + xj ≤ 1, ∀ (i, j) ∈ E x ∈ {0, 1}n f (x) = xT Ax → min n x ∈ {0, 1} , whereA = AG − I

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Scheduling Coding Theory: Hamming and Johnson Graphs Map Labeling Computer Vision and Pattern Recognition

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Problem: finding maximum cliques of a graph efficiently Hard task (in terms of memory and runtime) Bron-Kerbosch algorithm is one efficient solution Several applications

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion References

1. D.-Z. Du and P.M.Pardalos ”Handbook of Combinatorial Optimization”. Kluwer Academic Publishers, 1999 2. http : //en.wikipedia.org/wiki/Clique - problem.

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem Introduction Algorithms Application Conclusion

Thank you for your attention!

Dam Thanh Phuong, Ngo Manh Tuong The Maximum Clique Problem