max clique problem - computer scienceark/fall2014/654/team/8/presentation2.pdf · move m1: select...

29
MAX CLIQUE PROBLEM PARAROARS Yogesh Jagadeesan Dler Ahmad

Upload: others

Post on 14-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

MAX CLIQUE PROBLEM

PARAROARS

Yogesh Jagadeesan

Dler Ahmad

Page 2: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

AGENDA

v Overview of max clique problem

v Research paper 1

v Research paper 2

v Research paper 3

v  Solution design

Page 3: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

CLIQUE

v A sub-graph in the graph that is complete. i.e. all its vertices are

connected to each other.

3

21

4

Page 4: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

MAXIMUM CLIQUE

v Maximum clique is the largest possible clique in the graph

3

21

4 6

5

Page 5: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

RESEARCH PAPER 1

Solving the Maximum Clique Problem by k-opt Local Search

v Authors: Kengo Katayama , Akihiro Hamamoto , Hiroyuki

Narihisa

v  Proceedings of the 2004 ACM symposium on Applied computing,

March 14-17, 2004, Page Numbers – 1021-1025.

Page 6: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

PROBLEM

v Local search solution may not be optimal 1

32

54

6

Clique size= 3

Page 7: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

PROBLEM

v Local search solution may not be optimal

1

32

54

6

Clique size= 4

Page 8: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

SOLUTION

v The k-opt uses a vertex dropping mechanism to enlarge the clique

v Dropping occurs when no more adding is possible

v K-opt keeps updating the vertex set of one edge missing OM

v At each dropping step, a vertex which is most missed in OM is

dropped

Page 9: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

SOLUTION

1

32

54

6

Vertex 2 is dropped Vertex 4 is added Clique size= 3 PA={} OM={5,6}

1

32

54

6

Clique size= 3 PA={} OM={4}

Page 10: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

SOLUTION

1

32

54

6

Vertex 6 is added No possible drop Clique size= 4 PA={} OM={}

1

32

54

6

Vertex 1 is dropped Vertex 5 is added Clique size= 3 PA={6} OM={1}

Page 11: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

USE

v The vertex dropping mechanism can be used in our project to

expand the possible neighbors to add to our current clique.

v  If a vertex is missing one edge but it has higher degree, it will be

added to our clique and the disconnected vertex is dropped.

Page 12: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

RESEARCH PAPER 2

Iterated k-opt local search for the maximum clique problem

v Authors: Kengo Katayama , Masashi Sadamatsu , Hiroyuki

Narihisa

v  Proceedings of the 7th European conference on Evolutionary

computation in combinatorial optimization, p.84-95, April 11-13,

2007, Valencia, Spain

Page 13: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

PROBLEM

v Local search solution found by k-opt solution may also not be

optimal sometimes

1

32

54

6

Clique size= 4 10

7

9

8

Page 14: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

PROBLEM

v Local search solution found by k-opt solution may also not be

optimal sometimes

1

32

54

6

Clique size= 5 10

7

9

8

Page 15: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

SOLUTION

v  Iterated k-opt local search (IKLS) tries to enlarge the found clique

running k-opt local search (KLS) multiple time

v After each KLS, some vertices in found clique are dropped and added

using KICK technique and KLS is run again.

v KICK will add vertex V with low-connectivity to the current clique

and drop vertices in the clique that are not connected to the V

v  Finally, if the desired sized clique is not found, IKLS will restart.

Page 16: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

SOLUTION

1

32

54

6

-BEST-CLIQUE=(3,4,5,6) -Vertices 7,8,9,10 are low-connectivity vertices -The clique needs to be KIKed -Since all vertices 7,8,9,10 are equal in connectivity (=1) one of them is picked randomly

10

7

9

8

Page 17: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

SOLUTION

1

32

54

6

-Vertex 7 is picked randomly -Vertices 3,4,5 (since they are not connected to 7) are dropped 10

7

9

8

Page 18: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

SOLUTION

1

32

54

6

-KLS is run with initial clique of 6 and 7 -Larger clique is found -BEST-CLIQUE=(6,7,8,9,10) 10

7

9

8

Page 19: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

USE

v The idea of random restart is applied at every core that is

attempting to find BEST-CLIQUE.

v At each stage of the reduction mechanism, if a clique better than

BEST-CLIQUE is found, BEST-CLIQUE will be over written.

Page 20: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

RESEARCH PAPER 3

A study of adaptive perturbation strategy for iterated local search -  Authors: Una Benlic and Jin Kao Hao -  EvoCOP'13 Proceedings of the 13th European conference

on Evolutionary Computation in Combinatorial Optimization

-  Pages 61-72

Page 21: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

SOME TERMS

v  Intensified search: Exploring a capable search area depth wise to find a local optimum. v  Diversified search: Ability to figure out potential new search areas that could lead to a better local optimum or maybe even a global optimum.

v  Perturbation Moves: The kind of move(s) that would get the search out of a current search space and redirect it to a potentially new search space.

v  Tabu List: The list of prohibited moves within search spaces.

Page 22: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

PROBLEM

v Heuristic approaches to solving Max-Clique problem can lead to less than optimal solutions.

v Too much focus on search intensification can lead to getting stuck at a local optimum.

v Too much diversification may not explore a potential search deep enough to find a possible global optimum.

v A kind of balance is required between intensified and diversified searches for greater chances of discovering a global optimal solution.

Page 23: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

GENERAL SOLUTION

v Directed Perturbation: Based on the Tabu list. Ensure that the successive moves are focused towards reaching a local optimum and also guarantee that the quality of the solution is not deteriorated. Analogous to intensified search.

v Random Perturbation: Perform randomly selected moves in attempts to diversify search space. Akin to diversified search.

v To achieve balance between directed an random perturbation, probabilistically apply directed and random perturbations.

Page 24: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

…CONTD

v  Introduce the number ω that keeps track of the number of non-improving neighbors visited. v  For smaller values of ω, apply directed perturbation more often.

v As ω increases, progressively reduce the directed perturbation moves and increase the number of random perturbation moves.

Page 25: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

APPLICATION TO MAX-CLIQUE

v Uses three sets of vertices and four possible moves. v  Set PA: consists of all vertices that are not in the current clique but and connected to all vertices in the current clique.

v  Set OM: Consists of vertex pairs (u, v) such that u is in clique and v is not and v is connected to all vertices in clique except u.

v  Set OC: Consists of vertices that are not in clique.

Page 26: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

. .CONTD v Move M1: Select vertex from PA and add it to current clique. v Move M2: Select (u,v ) from OM. Add v to clique and remove u from clique. v  Move M3: Remove a vertex v from C. This is also placed in the Tabu list. v Move M4: Add a vertex v from set OC to current clique and repair it if it doesn’t form a clique. v Directed perturbation: Applies a move from M1 U M2 U M3 v Random perturbation: Applies a move from M4. v  Introduction and monitoring of parameter α(0  <α<1) to probabilistically apply directed and random perturbation moves described above to improve max clique results.

Page 27: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

USE

v Vertices from sets PA and OM would be the list of neighbors from which the best(one with max degree) is chosen to expand the clique.

v A random restart from a different edge is done at every core which aims at diversifying the search space and finding better cliques.

Page 28: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

SOLUTION DESIGN

Page 29: MAX CLIQUE PROBLEM - Computer Scienceark/fall2014/654/team/8/presentation2.pdf · Move M1: Select vertex from PA and add it to current clique. ! Move M2: Select (u,v ) from OM. Add

THANK YOU