The Maximum Clique Problem

Similar documents
NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch]

P = NP; P NP. Intuition of the reduction idea:

Introduction to Combinatorial Algorithms

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not.

The complement of PATH is in NL

Comparing the Best Maximum Clique Finding Algorithms, Which are Using Heuristic Vertex Colouring

Introduction to Algorithms. Lecture 24. Prof. Patrick Jaillet

Best known solution time is Ω(V!) Check every permutation of vertices to see if there is a graph edge between adjacent vertices

Improving network robustness

Computing Largest Correcting Codes and Their Estimates Using Optimization on Specially Constructed Graphs p.1/30

NP-Completeness. Algorithms

REDUCING GRAPH COLORING TO CLIQUE SEARCH

Vertex Cover is Fixed-Parameter Tractable

Some graph theory applications. communications networks

Honour Thy Neighbour Clique Maintenance in Dynamic Graphs

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

Graph Theory and Optimization Approximation Algorithms

Combinatorial Optimization

On Covering a Graph Optimally with Induced Subgraphs

Approximation Basics

Parallelizing Maximal Clique Enumeration in Haskell

Deleting edges to save cows - an application of treewidth

Using Constraint Programming to Solve the Maximum Clique Problem

Lecture 3, Review of Algorithms. What is Algorithm?

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

NP-Complete Problems

Improved Algorithms for Min Cuts and Max Flows in Undirected Planar Graphs

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Approximation Algorithms

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

Algorithms for the Bin Packing Problem with Conflicts

Network Based Models For Analysis of SNPs Yalta Opt

Complexity Results on Graphs with Few Cliques

31.6 Powers of an element

Practice Final Exam 1

Antibandwidth of Hamming graphs

P and NP (Millenium problem)

Notes for Lecture 24

Approximation Algorithms for Geometric Intersection Graphs

Ton Kloks and Yue-Li Wang. Advances in Graph Algorithms. October 10, y X z

CS 231: Algorithmic Problem Solving

Chapter 9 Graph Algorithms

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Maximizing edge-ratio is NP-complete

Introduction to Graph Theory

XLVI Pesquisa Operacional na Gestão da Segurança Pública

CS 534: Computer Vision Segmentation II Graph Cuts and Image Segmentation

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011

On the Max Coloring Problem

Chapter 9 Graph Algorithms

Extremal Graph Theory: Turán s Theorem

GRAPH THEORY and APPLICATIONS. Factorization Domination Indepence Clique

Exact Algorithms for NP-hard problems

Xiao, M. (Mingyu); Lin, W. (Weibo); Dai, Y. (Yuanshun); Zeng, Y. (Yifeng)

The strong chromatic number of a graph

Maximum Clique Conformance Measure for Graph Coloring Algorithms

Graph Theory: Introduction

Graphs (MTAT , 6 EAP) Lectures: Mon 14-16, hall 404 Exercises: Wed 14-16, hall 402

Approximation Algorithms

Mathematical and Algorithmic Foundations Linear Programming and Matchings

On the Complexity of Broadcast Scheduling. Problem

Research Question Presentation on the Edge Clique Covers of a Complete Multipartite Graph. Nechama Florans. Mentor: Dr. Boram Park

Partha Sarathi Mandal

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs

Module 6 NP-Complete Problems and Heuristics

Chapter 10 Part 1: Reduction

Faster parameterized algorithms for Minimum Fill-In

SEARCH ALGORITHMS NOTES FOR THE ADVANCED ALGORITHM CLASS

Conflict Graphs for Combinatorial Optimization Problems

Matchings and Covers in bipartite graphs

Randomized Graph Algorithms

Maximum Clique Problem. Team Bushido bit.ly/parallel-computing-fall-2014

Introduction to Algorithms

Dynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed

CSE 417 Branch & Bound (pt 4) Branch & Bound

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

Chapter 9 Graph Algorithms

Welcome to the course Algorithm Design

UML CS Algorithms Qualifying Exam Fall, 2003 ALGORITHMS QUALIFYING EXAM

The Maximum Common Subgraph Problem: Faster Solutions via Vertex Cover

Interval Graphs. Joyce C. Yang. Nicholas Pippenger, Advisor. Arthur T. Benjamin, Reader. Department of Mathematics

Assignment No 2 (Group B)

3 INTEGER LINEAR PROGRAMMING

Approximability Results for the p-center Problem

v 2 v 3 v 1 v 0 K 3 K 1

Solution of Maximum Clique Problem. by Using Branch and Bound Method

Outline Purpose How to analyze algorithms Examples. Algorithm Analysis. Seth Long. January 15, 2010

Let G = (V, E) be a graph. If u, v V, then u is adjacent to v if {u, v} E. We also use the notation u v to denote that u is adjacent to v.

Practical Fixed-Parameter Algorithms for Graph-Modeled Data Clustering

!!" '!" Fall 2003 ICS 275A - Constraint Networks 2

Stanford University CS359G: Graph Partitioning and Expanders Handout 18 Luca Trevisan March 3, 2011

Grundy chromatic number of the complement of bipartite graphs

NP-Complete Problems

motifs In the context of networks, the term motif may refer to di erent notions. Subgraph motifs Coloured motifs { }

Module 6 NP-Complete Problems and Heuristics

Learning decomposable models with a bounded clique size

8 NP-complete problem Hard problems: demo

Polynomial-Time Approximation Algorithms

Transcription:

November, 2012

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

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

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

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

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

Outline 1 2 3 s 4

Graph (G): a network of vertices (V(G)) and edges (E(G)). Graph Complement (G): the graph with the same vertex set of G but whose edge set consists of the edges not present in G. Complete Graph: 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.

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. Vertex cover: a subset of the vertices of G which contains at least one of the two endpoints of each edge.

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?

Equivalent Problems Maximum Independent Set Problem in G

Equivalent Problems Minimum Vertex Cover Problem in G

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound NP-hard A problem is NP-hard if solving it in polynomial 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.

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound NP : the class of decision problem which can be solved by a non-deterministic polynomial algorithm. P: the class of problems which can be solved by a deterministic polynomial 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.

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity 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, branch and bound

Bron Kerbosch Algorithm Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound 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.

Without Pivoting Strategy Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound 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}

With Pivoting Strategy Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound 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}

Example Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity 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 R new, P new, X new P new = P N (v); R new = R v; X new = X N (v) R new = 4; P new = (1, 2, 3, 5, 6) ; X new = 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

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity 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.

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity 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.

Example Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity 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.

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound Any n-vertex graph has at most 3 n/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(3 n/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)

Bron Kerbosch Algorithm Backtracking Algorithm Time Complexity Brand-and-Bound f (x) = n x i min i=1 x i + x j 1, (i, j) E x {0, 1} n f (x) = x T Ax min x {0, 1} n, wherea = A G I

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

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

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.

Thank you for your attention!