SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Exact Combinatorial Algorithms for Graph
               Bisection

Daniel Delling   Andrew V. Goldberg   Ilya Razenshteyn
                  Renato F. Werneck


                    ALENEX 2012
Problem definition

      Given an undirected graph G = (V , E ) find a partition
      V = V1 ∪ V2 such that:
       1. V1 ∩ V2 = ∅,
       2. |V1 |, |V2 | ≤ |V |/2 ,
       3. |E (V1 , V2 )| → min.
      Variations:
       1. -unbalanced partititions — |V1 |, |V2 | ≤ (1 + ) · |V |/2 ,
       2. node and edge weights,
       3. more than two parts.
VLSI instance alue5067
   3524 nodes, 5560 edges
VLSI instance alue5067
   3524 nodes, 5560 edges, bisection of size 30
Motivation
  Applications:
      Load balancing for parallel computing,
      Preprocessing step for some road network algorithms,
      Divide-and-conquer (e.g. VLSI design).

  Possible approaches:
      NP-hard, O(log n) best approximation [R¨cke ’08].
                                             a
      In practice: approximate solutions or high(er) running time.
      Heuristics:
           numerous very fast, good solvers.
           often tailored to certain graph classes (e.g. road networks),
           no guarantees on the quality of solution (let alone optimality).
      We want exact algorithms!
Branch and Bound
     Standard technique for solving NP-hard problems exactly.
     We keep track of A, B ⊆ V . Want to find the best bisection
     that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ).
Branch and Bound
     Standard technique for solving NP-hard problems exactly.
     We keep track of A, B ⊆ V . Want to find the best bisection
     that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ).

     Branch: pick v ∈ V  (A ∪ B), split (A, B) into (A ∪ {v }, B)
     and (A, B ∪ {v }).
Branch and Bound
     Standard technique for solving NP-hard problems exactly.
     We keep track of A, B ⊆ V . Want to find the best bisection
     that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ).

     Branch: pick v ∈ V  (A ∪ B), split (A, B) into (A ∪ {v }, B)
     and (A, B ∪ {v }).
     Bound: if L ≥ U, then we can throw (A, B) away, where
         U: best known bisection (updated on-line),
         L: lower bound on all bisections consistent with (A, B).
Branch and Bound
     Standard technique for solving NP-hard problems exactly.
     We keep track of A, B ⊆ V . Want to find the best bisection
     that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ).

     Branch: pick v ∈ V  (A ∪ B), split (A, B) into (A ∪ {v }, B)
     and (A, B ∪ {v }).
     Bound: if L ≥ U, then we can throw (A, B) away, where
         U: best known bisection (updated on-line),
         L: lower bound on all bisections consistent with (A, B).

     Crucial ingredient: computing the lower bound L.
Known lower bounds
      Linear programming [FMdSWW ’98] [S ’01]
          hundreds of nodes, several hours,
      Semidefinite programming [AFHM ’08]
          up to 6000 nodes, several hours,
      Combinatorial multicommodity flow solver [SST ’03]
          hundreds of nodes, several hours,
      Degree-based simple combinatorial bound [F ’05]
          random graphs up to 50 nodes, several minutes.
Summary
  Our result:
      Exact combinatorial algorithm for graph bisection
      works well for graphs with a small minimum bisection
          road networks, VLSI instances, meshes...
      solves much larger instances than previous approaches.

  Main contributions:
      new lower bound techniques
      branching rules
      novel decomposition technique
Flow-based lower bound

      We have A, B ⊆ V and want to lower-bound all bisections
      that are consistent with (A, B),
Flow-based lower bound

      We have A, B ⊆ V and want to lower-bound all bisections
      that are consistent with (A, B),
      Obvious bound: min-cut (max-flow) between A and B,
Flow-based lower bound

      We have A, B ⊆ V and want to lower-bound all bisections
      that are consistent with (A, B),
      Obvious bound: min-cut (max-flow) between A and B,
      Pros:
          easy to compute,
          if cut is balanced, then we can update the upper bound,
Flow-based lower bound

      We have A, B ⊆ V and want to lower-bound all bisections
      that are consistent with (A, B),
      Obvious bound: min-cut (max-flow) between A and B,
      Pros:
          easy to compute,
          if cut is balanced, then we can update the upper bound,
      Cons:
          if |A|   |B|, then max-flow is too small,
          in sparse graphs minimum cuts are typically very unbalanced.
Packing lower bound
      Let A, B ⊆ V be a current partial assignment,
Packing lower bound
      Let A, B ⊆ V be a current partial assignment,
          ˜
      Let A be an extension of A of size |V |/2,
Packing lower bound
      Let A, B ⊆ V be a current partial assignment,
          ˜
      Let A be an extension of A of size |V |/2,
                   ˜
      Λ = minA cut(A, B) is a valid lower bound
             ˜
              ˜                      ˜
          cut(A, B): min-cut between A and B.
Packing lower bound
      Let A, B ⊆ V be a current partial assignment,
          ˜
      Let A be an extension of A of size |V |/2,
                   ˜
      Λ = minA cut(A, B) is a valid lower bound
             ˜
              ˜                      ˜
          cut(A, B): min-cut between A and B.




  We want a lower bound for Λ.
Packing lower bound
  We lower bound Λ as follows.
Packing lower bound
  We lower bound Λ as follows.
      We partition free nodes into cells connected to B.
Packing lower bound
  We lower bound Λ as follows.
      We partition free nodes into cells connected to B.
      If a subset of V of size n/2 hits k cells...
Packing lower bound
  We lower bound Λ as follows.
      We partition free nodes into cells connected to B.
      If a subset of V of size n/2 hits k cells...
      ...we have a flow between the set and B of value k.
Packing lower bound
  We lower bound Λ as follows.
      We partition free nodes into cells connected to B.
      If a subset of V of size n/2 hits k cells...
      ...we have a flow between the set and B of value k.




      The worst case (lower bound) is when fewest cells are hit:
         pick entire cells, from biggest to smallest.
       ⇒ balanced cells are better
Flow + Packing
  We can combine flow and packing lower bounds by removing flow
  edges before computing cells.
Flow + Packing
  We can combine flow and packing lower bounds by removing flow
  edges before computing cells.
Performance
      alue5067: 3524 nodes, 5560 edges, answer 30
      proving lower bound 30:
          search tree: 6M nodes
          time: 2.5 hours
Local search
      For lower bound we pick cells from biggest to smallest,
      Balanced cells are better,



                                                               Before local search
                      140
                      120
                      100
                      80
               size

                      60
                      40
                      20
                      0




                            0   5   10   15          20   25         30        35

                                              cell
Local search
      For lower bound we pick cells from biggest to smallest,
      Balanced cells are better,
      We do very fast local search that swaps nodes between cells.


                                                               Before local search
                      140
                                                               After local search
                      120
                      100
                      80
               size

                      60
                      40
                      20
                      0




                            0   5   10   15          20   25         30        35

                                              cell
Performance
      alue5067: 3524 nodes, 5560 edges, answer 30
      proving lower bound 30:
          search tree: 6M nodes
          time: 2.5 hours
Performance
      alue5067: 3524 nodes, 5560 edges, answer 30
      proving lower bound 30:
          search tree: 6M nodes → 1.3M nodes
          time: 2.5 hours → 50 minutes
Branching rule and forced assignments
      Branch on vertex likely to increase L the most:
        1. far from A and B (to produce better cells)
        2. well connected to other vertices (to increase flow)

      Forced assignments:
           use logical implications to fix some vertices to A or B
           works if upper and lower bounds are close
           eliminate many potential branching nodes
Performance
      alue5067: 3524 nodes, 5560 edges, answer 30
      proving lower bound 30:
          search tree: 1.3M nodes
          time: 50 minutes
Performance
      alue5067: 3524 nodes, 5560 edges, answer 30
      proving lower bound 30:
          search tree: 1.3M nodes → 90K nodes
          time: 50 minutes → 3.5 minutes
Branching on regions
      Algorithm is very sensitive to the degrees of assigned nodes.
      Idea: branch on larger (precomputed) regions.
      Problem: a region can cross the minimum bisection.
Decomposition
      Suppose we want to prove lower bound L.
      Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
Decomposition
      Suppose we want to prove lower bound L.
      Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
Decomposition
      Suppose we want to prove lower bound L.
      Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
Decomposition
      Suppose we want to prove lower bound L.
      Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
Decomposition
      Suppose we want to prove lower bound L.
      Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
Decomposition
      Suppose we want to prove lower bound L.
      Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
Decomposition
      Suppose we want to prove lower bound L.
      Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
      For every i, contract Ei and solve a smaller problem.
Decomposition
      Suppose we want to prove lower bound L.
      Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
      For every i, contract Ei and solve a smaller problem.
      The minimum bisection (of size ≤ L) can not intersect all Ei .
Decomposition
      Suppose we want to prove lower bound L.
      Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
      For every i, contract Ei and solve a smaller problem.
      The minimum bisection (of size ≤ L) can not intersect all Ei .
      Ei should be a set of clumps (high degree, well spread).
Performance
      alue5067: 3524 nodes, 5560 edges, answer 30
      proving lower bound 30:
          search tree: 90K nodes
          time: 3.5 minutes
Performance
      alue5067: 3524 nodes, 5560 edges, answer 30
      proving lower bound 30:
          search tree: 90K nodes → 1369 nodes
          time: 3.5 minutes → 2 seconds
Performance
      alue5067: 3524 nodes, 5560 edges, answer 30
      finding the answer:
          search tree: 1369 nodes
          time: 2 seconds
Performance
      alue5067: 3524 nodes, 5560 edges, answer 30
      finding the answer:
          search tree: 1369 nodes → 1503 nodes
          time: 2 seconds → 2 seconds
Experiments
Large VLSI
      alue7065: 34046 nodes, 54841 edges, answer 80
          search tree: 20K nodes
          time: 9 minutes
Meshes
     Feline: 20629 nodes, 61893 edges, answer 148
         search tree: 150K nodes
         time: 1 hour 15 minutes
Meshes
     Gargoyle: 10002 nodes, 30000 edges, answer 175
         search tree: 2.6M nodes
         time: 13 hours
Road networks
      US NW: 1.2M nodes, 1.4M edges, answer 18
          search tree: 264 nodes
          time: 25 minutes
Walshaw instances
  Standard benchmark for graph partitioning.

   instance         n       m    opt     BB nodes     time (s)
   add32        4 960    9 462    11           225           3
   uk           4 824    6 837    19         1 624           3
   3elt         4 720   13 722    90        12 707          82
   whitaker3    9 800   28 989   127         7 044         133
   fe 4elt2    11 143   32 818   130        10 391         224
   4elt        15 606   45 878   139        25 912         769
   data         2 851   15 093   189   495 569 759   5 750 388

  Optimum bisections were known before, but without proofs.
Instances from “exact” literature
       State-of-the-art approaches:
           [Arm07]: semidefinite programming
           [HPZ11]: quadratic programming


    instance            n      m      opt     time   [Arm07]   [HPZ11]
    KKT putt01 m2     115     433      28     0.81      1.67      1.51
    mesh.274.469      274     469      37     0.03      8.52     24.62
    gap2669.24859    2669   29037      55     0.15    348.95        —
    taq170.424        170    4317      55     3.00     28.68        —
    gap2669.6182     2669   12280      74    34.90    651.03        —
    taq1021.2253     1021    4510     118   134.61    169.65        —


       Our algorithm is much worse when the answer is large.
Conclusions
      Combinatorial branch-and-bound for graph bisections.
      Answer size matters much more than problem size.
      Challenge: solve Europe (18M vertices, 22.5M edges).
Thank you!

Weitere ähnliche Inhalte

Ähnlich wie Combinatorial Algorithms for Graph Bisection

Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video searchzukun
 
267 handout 2_partial_derivatives_v2.60
267 handout 2_partial_derivatives_v2.60267 handout 2_partial_derivatives_v2.60
267 handout 2_partial_derivatives_v2.60Ali Adeel
 
New zealand bloom filter
New zealand bloom filterNew zealand bloom filter
New zealand bloom filterxlight
 
Support vector machine
Support vector machineSupport vector machine
Support vector machineRishabh Gupta
 
F_Autómatas_MIT_2010--------------------
F_Autómatas_MIT_2010--------------------F_Autómatas_MIT_2010--------------------
F_Autómatas_MIT_2010--------------------MIGUELANGEL2672
 
Support vector machine in data mining.pdf
Support vector machine in data mining.pdfSupport vector machine in data mining.pdf
Support vector machine in data mining.pdfRubhithaA
 
Introduction To Filters.ppt
Introduction To Filters.pptIntroduction To Filters.ppt
Introduction To Filters.pptprempanigrahi
 
Notes relating to Machine Learning and SVM
Notes relating to Machine Learning and SVMNotes relating to Machine Learning and SVM
Notes relating to Machine Learning and SVMSyedSaimGardezi
 
Colloquium5816_2016_05_11
Colloquium5816_2016_05_11Colloquium5816_2016_05_11
Colloquium5816_2016_05_11Chelsey Erway
 
Linear Algebra and Matlab tutorial
Linear Algebra and Matlab tutorialLinear Algebra and Matlab tutorial
Linear Algebra and Matlab tutorialJia-Bin Huang
 
CVPR2009 tutorial: Kernel Methods in Computer Vision: part I: Introduction to...
CVPR2009 tutorial: Kernel Methods in Computer Vision: part I: Introduction to...CVPR2009 tutorial: Kernel Methods in Computer Vision: part I: Introduction to...
CVPR2009 tutorial: Kernel Methods in Computer Vision: part I: Introduction to...zukun
 
Single Variable Calculus Assignment Help
Single Variable Calculus Assignment HelpSingle Variable Calculus Assignment Help
Single Variable Calculus Assignment HelpMath Homework Solver
 
Introduction to the Theory of Computation, Winter 2003 A. Hevia and J. Mao S...
 Introduction to the Theory of Computation, Winter 2003 A. Hevia and J. Mao S... Introduction to the Theory of Computation, Winter 2003 A. Hevia and J. Mao S...
Introduction to the Theory of Computation, Winter 2003 A. Hevia and J. Mao S...parmeet834
 

Ähnlich wie Combinatorial Algorithms for Graph Bisection (20)

Gentle intro to SVM
Gentle intro to SVMGentle intro to SVM
Gentle intro to SVM
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video search
 
Elhabian lda09
Elhabian lda09Elhabian lda09
Elhabian lda09
 
267 handout 2_partial_derivatives_v2.60
267 handout 2_partial_derivatives_v2.60267 handout 2_partial_derivatives_v2.60
267 handout 2_partial_derivatives_v2.60
 
New zealand bloom filter
New zealand bloom filterNew zealand bloom filter
New zealand bloom filter
 
Support vector machine
Support vector machineSupport vector machine
Support vector machine
 
talk9.ppt
talk9.ppttalk9.ppt
talk9.ppt
 
F_Autómatas_MIT_2010--------------------
F_Autómatas_MIT_2010--------------------F_Autómatas_MIT_2010--------------------
F_Autómatas_MIT_2010--------------------
 
PAM.ppt
PAM.pptPAM.ppt
PAM.ppt
 
Support vector machine in data mining.pdf
Support vector machine in data mining.pdfSupport vector machine in data mining.pdf
Support vector machine in data mining.pdf
 
Cs345 cl
Cs345 clCs345 cl
Cs345 cl
 
Introduction To Filters.ppt
Introduction To Filters.pptIntroduction To Filters.ppt
Introduction To Filters.ppt
 
Notes relating to Machine Learning and SVM
Notes relating to Machine Learning and SVMNotes relating to Machine Learning and SVM
Notes relating to Machine Learning and SVM
 
Colloquium5816_2016_05_11
Colloquium5816_2016_05_11Colloquium5816_2016_05_11
Colloquium5816_2016_05_11
 
Linear Algebra and Matlab tutorial
Linear Algebra and Matlab tutorialLinear Algebra and Matlab tutorial
Linear Algebra and Matlab tutorial
 
CVPR2009 tutorial: Kernel Methods in Computer Vision: part I: Introduction to...
CVPR2009 tutorial: Kernel Methods in Computer Vision: part I: Introduction to...CVPR2009 tutorial: Kernel Methods in Computer Vision: part I: Introduction to...
CVPR2009 tutorial: Kernel Methods in Computer Vision: part I: Introduction to...
 
Single Variable Calculus Assignment Help
Single Variable Calculus Assignment HelpSingle Variable Calculus Assignment Help
Single Variable Calculus Assignment Help
 
Vector spaces
Vector spaces Vector spaces
Vector spaces
 
Introduction to the Theory of Computation, Winter 2003 A. Hevia and J. Mao S...
 Introduction to the Theory of Computation, Winter 2003 A. Hevia and J. Mao S... Introduction to the Theory of Computation, Winter 2003 A. Hevia and J. Mao S...
Introduction to the Theory of Computation, Winter 2003 A. Hevia and J. Mao S...
 
1 1 number theory
1 1 number theory1 1 number theory
1 1 number theory
 

Kürzlich hochgeladen

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Kürzlich hochgeladen (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Combinatorial Algorithms for Graph Bisection

  • 1. Exact Combinatorial Algorithms for Graph Bisection Daniel Delling Andrew V. Goldberg Ilya Razenshteyn Renato F. Werneck ALENEX 2012
  • 2. Problem definition Given an undirected graph G = (V , E ) find a partition V = V1 ∪ V2 such that: 1. V1 ∩ V2 = ∅, 2. |V1 |, |V2 | ≤ |V |/2 , 3. |E (V1 , V2 )| → min. Variations: 1. -unbalanced partititions — |V1 |, |V2 | ≤ (1 + ) · |V |/2 , 2. node and edge weights, 3. more than two parts.
  • 3. VLSI instance alue5067 3524 nodes, 5560 edges
  • 4. VLSI instance alue5067 3524 nodes, 5560 edges, bisection of size 30
  • 5. Motivation Applications: Load balancing for parallel computing, Preprocessing step for some road network algorithms, Divide-and-conquer (e.g. VLSI design). Possible approaches: NP-hard, O(log n) best approximation [R¨cke ’08]. a In practice: approximate solutions or high(er) running time. Heuristics: numerous very fast, good solvers. often tailored to certain graph classes (e.g. road networks), no guarantees on the quality of solution (let alone optimality). We want exact algorithms!
  • 6. Branch and Bound Standard technique for solving NP-hard problems exactly. We keep track of A, B ⊆ V . Want to find the best bisection that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ).
  • 7. Branch and Bound Standard technique for solving NP-hard problems exactly. We keep track of A, B ⊆ V . Want to find the best bisection that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ). Branch: pick v ∈ V (A ∪ B), split (A, B) into (A ∪ {v }, B) and (A, B ∪ {v }).
  • 8. Branch and Bound Standard technique for solving NP-hard problems exactly. We keep track of A, B ⊆ V . Want to find the best bisection that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ). Branch: pick v ∈ V (A ∪ B), split (A, B) into (A ∪ {v }, B) and (A, B ∪ {v }). Bound: if L ≥ U, then we can throw (A, B) away, where U: best known bisection (updated on-line), L: lower bound on all bisections consistent with (A, B).
  • 9. Branch and Bound Standard technique for solving NP-hard problems exactly. We keep track of A, B ⊆ V . Want to find the best bisection that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ). Branch: pick v ∈ V (A ∪ B), split (A, B) into (A ∪ {v }, B) and (A, B ∪ {v }). Bound: if L ≥ U, then we can throw (A, B) away, where U: best known bisection (updated on-line), L: lower bound on all bisections consistent with (A, B). Crucial ingredient: computing the lower bound L.
  • 10. Known lower bounds Linear programming [FMdSWW ’98] [S ’01] hundreds of nodes, several hours, Semidefinite programming [AFHM ’08] up to 6000 nodes, several hours, Combinatorial multicommodity flow solver [SST ’03] hundreds of nodes, several hours, Degree-based simple combinatorial bound [F ’05] random graphs up to 50 nodes, several minutes.
  • 11. Summary Our result: Exact combinatorial algorithm for graph bisection works well for graphs with a small minimum bisection road networks, VLSI instances, meshes... solves much larger instances than previous approaches. Main contributions: new lower bound techniques branching rules novel decomposition technique
  • 12. Flow-based lower bound We have A, B ⊆ V and want to lower-bound all bisections that are consistent with (A, B),
  • 13. Flow-based lower bound We have A, B ⊆ V and want to lower-bound all bisections that are consistent with (A, B), Obvious bound: min-cut (max-flow) between A and B,
  • 14. Flow-based lower bound We have A, B ⊆ V and want to lower-bound all bisections that are consistent with (A, B), Obvious bound: min-cut (max-flow) between A and B, Pros: easy to compute, if cut is balanced, then we can update the upper bound,
  • 15. Flow-based lower bound We have A, B ⊆ V and want to lower-bound all bisections that are consistent with (A, B), Obvious bound: min-cut (max-flow) between A and B, Pros: easy to compute, if cut is balanced, then we can update the upper bound, Cons: if |A| |B|, then max-flow is too small, in sparse graphs minimum cuts are typically very unbalanced.
  • 16. Packing lower bound Let A, B ⊆ V be a current partial assignment,
  • 17. Packing lower bound Let A, B ⊆ V be a current partial assignment, ˜ Let A be an extension of A of size |V |/2,
  • 18. Packing lower bound Let A, B ⊆ V be a current partial assignment, ˜ Let A be an extension of A of size |V |/2, ˜ Λ = minA cut(A, B) is a valid lower bound ˜ ˜ ˜ cut(A, B): min-cut between A and B.
  • 19. Packing lower bound Let A, B ⊆ V be a current partial assignment, ˜ Let A be an extension of A of size |V |/2, ˜ Λ = minA cut(A, B) is a valid lower bound ˜ ˜ ˜ cut(A, B): min-cut between A and B. We want a lower bound for Λ.
  • 20. Packing lower bound We lower bound Λ as follows.
  • 21. Packing lower bound We lower bound Λ as follows. We partition free nodes into cells connected to B.
  • 22. Packing lower bound We lower bound Λ as follows. We partition free nodes into cells connected to B. If a subset of V of size n/2 hits k cells...
  • 23. Packing lower bound We lower bound Λ as follows. We partition free nodes into cells connected to B. If a subset of V of size n/2 hits k cells... ...we have a flow between the set and B of value k.
  • 24. Packing lower bound We lower bound Λ as follows. We partition free nodes into cells connected to B. If a subset of V of size n/2 hits k cells... ...we have a flow between the set and B of value k. The worst case (lower bound) is when fewest cells are hit: pick entire cells, from biggest to smallest. ⇒ balanced cells are better
  • 25. Flow + Packing We can combine flow and packing lower bounds by removing flow edges before computing cells.
  • 26. Flow + Packing We can combine flow and packing lower bounds by removing flow edges before computing cells.
  • 27. Performance alue5067: 3524 nodes, 5560 edges, answer 30 proving lower bound 30: search tree: 6M nodes time: 2.5 hours
  • 28. Local search For lower bound we pick cells from biggest to smallest, Balanced cells are better, Before local search 140 120 100 80 size 60 40 20 0 0 5 10 15 20 25 30 35 cell
  • 29. Local search For lower bound we pick cells from biggest to smallest, Balanced cells are better, We do very fast local search that swaps nodes between cells. Before local search 140 After local search 120 100 80 size 60 40 20 0 0 5 10 15 20 25 30 35 cell
  • 30. Performance alue5067: 3524 nodes, 5560 edges, answer 30 proving lower bound 30: search tree: 6M nodes time: 2.5 hours
  • 31. Performance alue5067: 3524 nodes, 5560 edges, answer 30 proving lower bound 30: search tree: 6M nodes → 1.3M nodes time: 2.5 hours → 50 minutes
  • 32. Branching rule and forced assignments Branch on vertex likely to increase L the most: 1. far from A and B (to produce better cells) 2. well connected to other vertices (to increase flow) Forced assignments: use logical implications to fix some vertices to A or B works if upper and lower bounds are close eliminate many potential branching nodes
  • 33. Performance alue5067: 3524 nodes, 5560 edges, answer 30 proving lower bound 30: search tree: 1.3M nodes time: 50 minutes
  • 34. Performance alue5067: 3524 nodes, 5560 edges, answer 30 proving lower bound 30: search tree: 1.3M nodes → 90K nodes time: 50 minutes → 3.5 minutes
  • 35. Branching on regions Algorithm is very sensitive to the degrees of assigned nodes. Idea: branch on larger (precomputed) regions. Problem: a region can cross the minimum bisection.
  • 36. Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
  • 37. Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
  • 38. Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
  • 39. Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
  • 40. Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
  • 41. Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
  • 42. Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 . For every i, contract Ei and solve a smaller problem.
  • 43. Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 . For every i, contract Ei and solve a smaller problem. The minimum bisection (of size ≤ L) can not intersect all Ei .
  • 44. Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 . For every i, contract Ei and solve a smaller problem. The minimum bisection (of size ≤ L) can not intersect all Ei . Ei should be a set of clumps (high degree, well spread).
  • 45. Performance alue5067: 3524 nodes, 5560 edges, answer 30 proving lower bound 30: search tree: 90K nodes time: 3.5 minutes
  • 46. Performance alue5067: 3524 nodes, 5560 edges, answer 30 proving lower bound 30: search tree: 90K nodes → 1369 nodes time: 3.5 minutes → 2 seconds
  • 47. Performance alue5067: 3524 nodes, 5560 edges, answer 30 finding the answer: search tree: 1369 nodes time: 2 seconds
  • 48. Performance alue5067: 3524 nodes, 5560 edges, answer 30 finding the answer: search tree: 1369 nodes → 1503 nodes time: 2 seconds → 2 seconds
  • 50. Large VLSI alue7065: 34046 nodes, 54841 edges, answer 80 search tree: 20K nodes time: 9 minutes
  • 51. Meshes Feline: 20629 nodes, 61893 edges, answer 148 search tree: 150K nodes time: 1 hour 15 minutes
  • 52. Meshes Gargoyle: 10002 nodes, 30000 edges, answer 175 search tree: 2.6M nodes time: 13 hours
  • 53. Road networks US NW: 1.2M nodes, 1.4M edges, answer 18 search tree: 264 nodes time: 25 minutes
  • 54. Walshaw instances Standard benchmark for graph partitioning. instance n m opt BB nodes time (s) add32 4 960 9 462 11 225 3 uk 4 824 6 837 19 1 624 3 3elt 4 720 13 722 90 12 707 82 whitaker3 9 800 28 989 127 7 044 133 fe 4elt2 11 143 32 818 130 10 391 224 4elt 15 606 45 878 139 25 912 769 data 2 851 15 093 189 495 569 759 5 750 388 Optimum bisections were known before, but without proofs.
  • 55. Instances from “exact” literature State-of-the-art approaches: [Arm07]: semidefinite programming [HPZ11]: quadratic programming instance n m opt time [Arm07] [HPZ11] KKT putt01 m2 115 433 28 0.81 1.67 1.51 mesh.274.469 274 469 37 0.03 8.52 24.62 gap2669.24859 2669 29037 55 0.15 348.95 — taq170.424 170 4317 55 3.00 28.68 — gap2669.6182 2669 12280 74 34.90 651.03 — taq1021.2253 1021 4510 118 134.61 169.65 — Our algorithm is much worse when the answer is large.
  • 56. Conclusions Combinatorial branch-and-bound for graph bisections. Answer size matters much more than problem size. Challenge: solve Europe (18M vertices, 22.5M edges).