Finding Hidden Cliques in Linear Time with High Probability

Report 3 Downloads 34 Views
Finding  Hidden  Cliques  in  Linear  Time   with  High  Probability   Yael  Dekel   The  Hebrew  University   Ori  Gurel-­‐Gurevich   University  of  BriBsh  Columbia   Yuval  Peres   MicrosoE  Research  

Preliminaries   •  A  clique  in  a  graph  is  a  complete  subgraph     •  Finding  the  size  of  the  maximum  clique  in  a  graph   is  NP-­‐complete     •  Assuming  P≠NP,  it  is  also  hard  to  approximate     •  Can  we  do  beNer  in  the  average  case?  

       

Preliminaries   •  In                                  every  edge  is  chosen  independently   with  probability  ½     •  Maximum  clique:  size                                                                  whp     •  Greedy  alg.  Finds                                                              -­‐clique  whp     •  No  known  poly.  Bme  alg.  for                                                -­‐cliques     •  Can  we  detect  larger  planted  cliques?    

Background   •  The  hidden  clique  model                                          :         –  Take     –  Randomly  choose          verBces   –  Add  missing  edges  to  form  a        -­‐clique  

•  Jerrum  (’92)  and  Kučera  (‘95)  suggested  this   model  and  posed  this  quesBon:  For  which   values  of  k  can  the  clique  be  efficiently  found?  

Previous  results   •  For                                                          the  clique  verBces  are  whp   the  highest  degree  verBces  (Kučera  ‘95)   •  For                                    there  are  several  known   polynomial  Bme  algorithms  based  on  spectral   methods,  SDP,  Lovász  ϑ-­‐funcBon,  removal  of   low  degree  verBces   •  For                                            there  are  no  known   polynomial  Bme  algorithms  

   

Algorithms  for                                  .   •  First  polynomial  Bme  algorithm,  by  Alon,   Krivelevich  and  Sudakov  (’98)   –  Spectral  algorithm   –  The  k  largest  components  of  the  second   eigenvector  correspond  whp  to  the  clique  verBces   –  Running  Bme  bounded  by  running  Bme  of   compuBng  eigenvectors  of  a  matrix     –  Error  probability    

   

   

Algorithms  for                                  .   •  Feige  and  Ron  (’10)   –  IteraBvely  remove  the  vertex  of  lowest  degree   and  recalculate  the  degrees,  unBl  we  are  leE  with   a  clique   –  Running  Bme     –  Error  probability                        (depending  on      )   –   Open  quesBon:  can  the  analysis  be  improved  to   show  error  probability                    ?  

   

Our  algorithm   Input:  a  graph  distributed  as                                                            

Output:     The        verBces  of   the  hidden  clique   Error  probability:  

st 1  phase:  pruning  the  graph  

st 1  phase:  pruning  the  graph  

  •   Pick  a  random  subset  of  verBces        containing  every  vertex  with  probability  ¼  

st 1  phase:  pruning  the  graph  

  •   Pick  a  random  subset  of  verBces        containing  every  vertex  with  probability  ¼   •   For  each  vertex  in                    calculate  number  of  neighbors  in         5

5 3

5 2

4

2

3

4

2

4 6 4

5 4

5 7

st 1  phase:  pruning  the  graph  

  •   Pick  a  random  subset  of  verBces        containing  every  vertex  with  probability  ¼   •   For  each  vertex  in                    calculate  number  of  neighbors  in         •   VerBces  whose  number  of  neighbors  is  above  average  (          )  conBnue  to  next  iteraBon     5

5 3

5 2

4

2

3

4

2

Size  of  next  iteraBon:   Non-­‐clique  verBces:  half  survive       Clique  verBces:              is  one  standard   deviaBon  below  the  mean      

4 6 4

5 4

5 7

AEer        iteraBons,  we  are  ready   to  conBnue  to  the  next  phase…  

nd 2  phase:  finding  a  sub-­‐clique  

The  graph  has                  verBces  and                   clique  verBces,  where                

nd 2  phase:  finding  a  sub-­‐clique   •   Calculate  the  degrees  of  the  verBces  

7

9 7 6 7 8 5 4

3 5

6 6

The  graph  has                  verBces  and                   clique  verBces,  where                

nd 2  phase:  finding  a  sub-­‐clique   •   Calculate  the  degrees  of  the  verBces   •   Pick  the  highest  degree  verBces  

7

9   7 6 7 8 5 4

3 5

6 6

The  graph  has                  verBces  and                   clique  verBces,  where                 Whp  the  degrees  of  the  clique  verBces   are  the  highest  degrees  in  the  graph            

3rd  phase:  compleBng  the  sub-­‐clique   •   We  are  leE  with  a  subset  of  the  hidden  clique,  denote  it    

3rd  phase:  compleBng  the  sub-­‐clique   •   We  are  leE  with  a  subset  of  the  hidden  clique,  denote  it   •   Add  the  common  neighbors  

3rd  phase:  compleBng  the  sub-­‐clique   •   We  are  leE  with  a  subset  of  the  hidden  clique,  denote  it   •   Add  the  common  neighbors  ,  calculate  the  degrees   8

8   8

7 8 8 7

8

6

Whp  there  is  only  a  logarithmic   number  of  non-­‐clique  verBces,  and   their  degrees  are  much  smaller  than   the  clique  verBces’  degrees      

3rd  phase:  compleBng  the  sub-­‐clique   •   We  are  leE  with  a  subset  of  the  hidden  clique,  denote  it   •   Add  the  common  neighbors  ,  calculate  the  degrees   •   Pick  the          largest  degree  verBces  and  return  them  as  the  hidden  clique     8

8   8

7 8 8 7

8

6

Whp  there  is  only  a  logarithmic   number  of  non-­‐clique  verBces,  and   their  degrees  are  much  smaller  than   the  clique  verBces’  degrees      

Bounding  the  failure  probability   •  Failure  in  phase  1:  in  some  iteraBon,  #  of  surviving   verBces  (clique  or  non-­‐clique)  far  from  its  mean   •  Failure  in  phase  2:  high-­‐degree  non-­‐clique  verBces  or   low-­‐degree  clique  verBces   •  Failure  in  phase  3:   –  Non-­‐clique  vertex  with  too  many  clique  neighbors   –  too  many  non-­‐clique  verBces  common  neighbors  of    

•  Failure  probabiliBes  bounded  using  Hoeffding   and  Berry-­‐Esseen  inequaliBes  

Improving  the  constant   •  Use  algorithm  A  that  finds  hidden  cliques  of  size                        to  find  smaller  cliques     •  Alon,  Krivelevich  and  Sudakov  (‘98)  suggest:     •  Pick  a  random  vertex        ,  run  A  on     •  If        is  a  hidden  clique  vertex,  new  graph  has   verBces  and        clique  verBces     •  Can  find  cliques  of  size      

Improving  the  constant   •  In  expectaBon,                            iteraBons  to  pick  a   hidden  clique  vertex,  so  running  Bme  is   mulBplied  by     •  By  mulBplying  running  Bme  by                    we  find   hidden  cliques  of  size     •  Open  quesBon:  what  size  clique  can  be  found   by  increasing  running  Bme  by  a  factor  of                  ?  

Thank  you