greedy maxcut algorithms and their information content
play

Greedy MaxCut Algorithms and their Information Content Yatao Bian , - PowerPoint PPT Presentation

Greedy MaxCut Algorithms and their Information Content Yatao Bian , Alexey Gronskiy and Joachim M. Buhmann Machine Learning Institute, ETH Zurich April 27, 2015 1 / 19 Contents Greedy MaxCut Algorithms Approximation Set Coding (ASC) Applying


  1. Greedy MaxCut Algorithms and their Information Content Yatao Bian , Alexey Gronskiy and Joachim M. Buhmann Machine Learning Institute, ETH Zurich April 27, 2015 1 / 19

  2. Contents Greedy MaxCut Algorithms Approximation Set Coding (ASC) Applying ASC: Count the Approximation Sets Applying ASC: Experiments and Analysis 2 / 19

  3. Contents Greedy MaxCut Algorithms Approximation Set Coding (ASC) Applying ASC: Count the Approximation Sets Applying ASC: Experiments and Analysis 2 / 19

  4. MaxCut MaxCut : classical NP-hard problem 3 / 19

  5. MaxCut MaxCut : classical NP-hard problem • G = ( V, E ) , vertex set V , edge set E , weights w ij ≥ 0 cut 3=1+2 value 1 x y 2 3 z 3 / 19

  6. MaxCut MaxCut : classical NP-hard problem • G = ( V, E ) , vertex set V , edge set E , weights w ij ≥ 0 • CUT c := ( S, V \ S ) , cut space C ( |C| = 2 n − 1 − 1 ) cut 3=1+2 value 1 x y 2 3 z 3 / 19

  7. MaxCut MaxCut : classical NP-hard problem • G = ( V, E ) , vertex set V , edge set E , weights w ij ≥ 0 • CUT c := ( S, V \ S ) , cut space C ( |C| = 2 n − 1 − 1 ) • Cut value: cut( c, G ) := � i ∈ S,j ∈ V \ S w ij cut 3=1+2 value 1 x y 2 3 z 3 / 19

  8. MaxCut MaxCut : classical NP-hard problem • G = ( V, E ) , vertex set V , edge set E , weights w ij ≥ 0 • CUT c := ( S, V \ S ) , cut space C ( |C| = 2 n − 1 − 1 ) • Cut value: cut( c, G ) := � i ∈ S,j ∈ V \ S w ij cut max 3=1+2 5=2+3 value cut:-) 1 1 x y x y 2 3 2 3 z z 3 / 19

  9. Greedy Algorithms for MaxCut Greedy Techniques Name Heuristic Sorting Init. Vertices Deterministic Double Greedy SG (Sahni & Gonzales) Double � SG3 (variant of SG) � � Edge Contraction (EC) Backward � 4 / 19

  10. Double Greedy Taxonomy 5 / 19

  11. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) 5 / 19

  12. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) Require: graph G = ( V, E ) Ensure: cut and the cut value 5 / 19

  13. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) Require: graph G = ( V, E ) Ensure: cut and the cut value 1: init. 2 solutions S := ∅ , T := V • works on 2 solutions simultaneously 5 / 19

  14. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) Require: graph G = ( V, E ) Ensure: cut and the cut value 1: init. 2 solutions S := ∅ , T := V • works on 2 solutions //in random order simultaneously 2: for each vertex v i ∈ V do • for each vertex, decides whether it should be added to S , or removed from T 10: end for 5 / 19

  15. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) Require: graph G = ( V, E ) Ensure: cut and the cut value 1: init. 2 solutions S := ∅ , T := V • works on 2 solutions //in random order simultaneously 2: for each vertex v i ∈ V do a i := gain of adding v i to S 3: b i := gain of removing v i from T 4: • for each vertex, decides whether it should be added to S , or removed from T 10: end for 5 / 19

  16. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) Require: graph G = ( V, E ) Ensure: cut and the cut value 1: init. 2 solutions S := ∅ , T := V • works on 2 solutions //in random order simultaneously 2: for each vertex v i ∈ V do a i := gain of adding v i to S 3: b i := gain of removing v i from T 4: • for each vertex, decides if a i ≥ b i then 5: whether it should be add v i to S 6: added to S , or removed else 7: from T remove v i from T 8: end if 9: 10: end for 5 / 19

  17. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) Require: graph G = ( V, E ) Ensure: cut and the cut value 1: init. 2 solutions S := ∅ , T := V • works on 2 solutions //in random order simultaneously 2: for each vertex v i ∈ V do a i := gain of adding v i to S 3: b i := gain of removing v i from T 4: • for each vertex, decides if a i ≥ b i then 5: whether it should be add v i to S 6: added to S , or removed else 7: from T remove v i from T 8: end if 9: 10: end for 11: return cut: ( S, V \ S ) , cut value 5 / 19

  18. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) Require: graph G = ( V, E ) Ensure: cut and the cut value 1: init. 2 solutions S := ∅ , T := V • works on 2 solutions //in random order simultaneously 2: for each vertex v i ∈ V do a i := gain of adding v i to S 3: b i := gain of removing v i from T 4: • for each vertex, decides if a i ≥ b i then 5: whether it should be add v i to S 6: added to S , or removed else 7: from T remove v i from T 8: end if 9: 10: end for 11: return cut: ( S, V \ S ) , cut value Differences between the double greedy algorithms: 5 / 19

  19. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) Require: graph G = ( V, E ) Ensure: cut and the cut value 1: init. 2 solutions S := ∅ , T := V • works on 2 solutions //in random order simultaneously 2: for each vertex v i ∈ V do a i := gain of adding v i to S 3: b i := gain of removing v i from T 4: • for each vertex, decides if a i ≥ b i then 5: whether it should be add v i to S 6: added to S , or removed else 7: from T remove v i from T 8: end if 9: 10: end for 11: return cut: ( S, V \ S ) , cut value Differences between the double greedy algorithms: D2Greedy → select the first 2 vertices → SG 5 / 19

  20. Double Greedy Taxonomy D eterministic D ouble Greedy (D2Greedy) Require: graph G = ( V, E ) Ensure: cut and the cut value 1: init. 2 solutions S := ∅ , T := V • works on 2 solutions //in random order simultaneously 2: for each vertex v i ∈ V do a i := gain of adding v i to S 3: b i := gain of removing v i from T 4: • for each vertex, decides if a i ≥ b i then 5: whether it should be add v i to S 6: added to S , or removed else 7: from T remove v i from T 8: end if 9: 10: end for 11: return cut: ( S, V \ S ) , cut value Differences between the double greedy algorithms: D2Greedy → select the first 2 vertices → SG SG → sort the candidates → SG3 5 / 19

  21. Backward Greedy – Edge Contraction Algorithm 6 / 19

  22. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) 6 / 19

  23. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) Require: graph G = ( V, E ) Ensure: cut, cut value 6 / 19

  24. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) Require: graph G = ( V, E ) Ensure: cut, cut value 1: repeat 5: until 2 “super" vertices left 6 / 19

  25. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) • contract the lightest edge in Require: graph G = ( V, E ) each step Ensure: cut, cut value 1: repeat 5: until 2 “super" vertices left 6 / 19

  26. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) • contract the lightest edge in Require: graph G = ( V, E ) each step Ensure: cut, cut value 1: repeat contraction 1 v x y 5: until 2 “super" vertices left 2 3 2+3 = 5 z z 6 / 19

  27. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) • contract the lightest edge in Require: graph G = ( V, E ) each step Ensure: cut, cut value 1: repeat find the lightest edge ( x, y ) in G 2: contraction 1 v x y 5: until 2 “super" vertices left 2 3 2+3 = 5 z z 6 / 19

  28. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) • contract the lightest edge in Require: graph G = ( V, E ) each step Ensure: cut, cut value 1: repeat find the lightest edge ( x, y ) in G 2: contraction 3: contract x, y to be a super vertex v 1 v x y 5: until 2 “super" vertices left 2 3 2+3 = 5 z z 6 / 19

  29. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) • contract the lightest edge in Require: graph G = ( V, E ) each step Ensure: cut, cut value 1: repeat find the lightest edge ( x, y ) in G 2: contraction 3: contract x, y to be a super vertex v 1 set the edge weights connecting v 4: v x y 5: until 2 “super" vertices left 2 3 2+3 = 5 z z 6 / 19

  30. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) • contract the lightest edge in Require: graph G = ( V, E ) each step Ensure: cut, cut value 1: repeat find the lightest edge ( x, y ) in G 2: contraction 3: contract x, y to be a super vertex v 1 set the edge weights connecting v 4: v x y 5: until 2 “super" vertices left 6: return the 2 super vertices 2 3 2+3 = 5 z z 6 / 19

  31. Backward Greedy – Edge Contraction Algorithm E dge C ontraction (EC) • contract the lightest edge in Require: graph G = ( V, E ) each step Ensure: cut, cut value 1: repeat find the lightest edge ( x, y ) in G 2: contraction 3: contract x, y to be a super vertex v 1 set the edge weights connecting v 4: v x y 5: until 2 “super" vertices left 6: return the 2 super vertices 2 3 2+3 = 5 z z Backward greedy: EC tries to remove the lightest edge from the cut set in each step 6 / 19

  32. Contents Greedy MaxCut Algorithms Approximation Set Coding (ASC) Applying ASC: Count the Approximation Sets Applying ASC: Experiments and Analysis 6 / 19

  33. Glance of Approximation Set Coding (ASC) How to measure the robustness of these algorithms facing noise? 7 / 19

  34. Glance of Approximation Set Coding (ASC) How to measure the robustness of these algorithms facing noise? • ASC : an analogy to Shannon’s communication theory learning procedure ⇔ communication process [Buhmann 2010] 7 / 19

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend