SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
Faster algorithms for min-delay time
               semi-matching


              Bundit Laekhanukit
           C&O, University of Waterloo

                   joint work with
        J. Fakcharoenphol and D. Nanongkai



                         
Agenda
    ●   Definition of min-delay semimatching problem
    ●   Previous works & Our results
    ●   Unit cost
        –   Reduction to min-cost flow
        –   An algorithm for unit cost
    ●   General cost
        –   Reduction to weighted bipartite matching
        –   Sketch of an algorithm for general cost
                                      
Semimatching on bipartite graphs




                    
Matching M                           Semimatching M'
    U                  V                 U                 V




                           incident to                         No restriction
                           = 1 M'-edge



         incident to
         ≤ 1 M-edge


                                   
Unit cost
     U        V                Wait for being processed
     u1
                               1 unit of time

               x          u1   u2      u3
     u2

               y

     u3
     3
                                Wait for u1 and itself
               z
                                to be processed
     u4                         1 + 1 units of time

    Jobs   Machines




                       
Unit cost
     U        V
     u1

               x            u1      u2      u3
     u2
                          Delay time at machine a
               y          = 1 + 2 + 3 units of time
     u3
     3

               z
     u4


    Jobs   Machines




                       
Unit cost
     U                   V
     u1

                         x
     u2
                                            Total delay time
                         y                  (cost of semimatching)
     u3
     3                                      = 6 + 1 units of time

                         z
     u4


    Jobs             Machines


           Delay time is flow time in scheduling terminology
                                   
General cost
     U                V
     u1        2                      2      1      3

               1       x              u1     u2     u3
     u2
                                  Reorder to minimize delay
           3           y              1      2      3
     u3
     3                                u2     u1     u3

                       z           Delay time at machine x
               2
     u4                            = 1 + (1+2) + (1+2+3)
                                   units of time
    Jobs           Machines




                               
Previous works & Our results




                  
Previous Works & Our results
    ●   Unit cost
          Harvey, Ladner, Lovász, and Tamir (2003) :
          O(nm)-algorithm using modified Hungarian method
           Our algorithm : O(n1/2m log n)
    ●   General cost
          Bruno, Coffman, and Sethi (1974) :
          O(n3)-algorithm using a reduction to bipartite matching
          Our algorithm : O(nm log n)

 
              n : number of vertices, m : number of edges
                                     
Unit cost




         
Harvey et. al. reduction from unit cost
       semimatching to min-cost flow



                        
A reduction to min-cost flow
        U            V
        u1

                     x
        u2

                     y

        u3
        3

                     z
        u4




                  
A reduction to min-cost flow
            U                      V
            u1                            Cost centers
                                   x           C1
                                                       Cost=1
            u2
                                                    Cost=2
    s                              y           C2               t

            u3
            3                                       Cost=3
                                   z           C3

            u4

                                                         Infinite capacity

                 Capacity = 1, Cost = 0


                                
A reduction to min-cost flow
             U                      V
             u1                            Cost centers
                                    x           C1
                                                        Cost=1
             u2
                                                     Cost=2
    s                               y           C2               t

             u3
             3                                       Cost=3
                                    z           C3

             u4

                                                          Infinite capacity

                  Capacity = 1, Cost = 0

         min-cost flow = min-delay semimatching
                                 
An algorithm for unit cost




                 
Running time
    Directly apply min-cost flow : O(nm log2 n)
    Previous best (Harvey et. al. 2003) : O(nm)
          Our algorithm : O(n1/2m log n)



                         
Use the reduction to min-cost flow and
         divide & conquer technique



                       
High Level Details
Start from any
semimatching
and construct flow
                                      Low
                                      Cost



         s            U          V           t



                                      High
                                      Cost




                              
High Level Details
                                                  Push flow to lower
                                                  cost centers

                                           Low
                                           Cost



    s    U                  V                           t



                                           High
                                           Cost




          Source and Sink can be ignored
                       
High Level Details
Divide into two
subproblems
                         G1
and recursively
solve them
                                      Low
                   U              V
                                      Cost



No residual
path from                G2
G2 to G1
                                      High
                   U              V
                                      Cost




                               
Start from an arbitrary semimatching
            U            V
            u1

                         x
            u2



            u3
            3            y



            u4
                         z

            u5




                      
Construct a corresponding flow
         U            V
         u1               Cost centers

                      x        C1
         u2                              Cost=1
                               C2   Cost=2
    s    u3
         3            y                           t
                                    Cost=3
                               C3
         u4                               Cost=4
                      z
                               C4

         u5




                   
A flow is not a cheapest
          U            V
          u1               Cost centers

                       x        C1
          u2                              Cost=1
                                C2   Cost=2
    s     u3
          3            y                           t
                                     Cost=3
                                C3
          u4                               Cost=4
                       z
                                C4

          u5




                    
Find a max-flow to lower cost centers
             U                     V    Cost centers
             u1

                                   x            C1
                                                       T'
             u2

                                                C2
             u3
             3                     y

                                                C3
             u4
                                   z                   S'
                                                C4

             u5

                  Source and Sink are ignored
                                
An improved flow
    U          V   Cost centers
    u1

               x        C1
    u2

                        C2
    u3
    3          y

                        C3
    u4
               z
                        C4

    u5




            
Divide & recursively solve subproblems
                      G1            Not reachable
                 u1                 from C3 , C4 by
                           x   C1   residual paths
Reachable from
                 u2
C3 , C4 by
residual paths                 C2
                 u3
                 3         y

                               C3
                 u4                   Separated
                           z
                               C4     by min-cut
                 u5

                       G2

                        
Divide & recursively solve subproblems
                   G1
              u1
                                  Push flow in G1
                        x   C1
Solve
              u2
subproblems
                            C2
              u3
              3         y

                            C3
              u4
                        z
                            C4

              u5
                                 No flow path in G2
                    G2

                     
A min-cost flow
        u1

                        x   C1
        u2

                            C2
    s   u3
        3               y        t

                            C3
        u4
                        z
                            C4

        u5




                     
A min-delay semimatching
       u1

                   x
       u2



       u3
       3           y



       u4
                   z

       u5




                
Running time




          
Running time analysis
    ●   Push flow to lower cost centers O(n1/2m)
        (Dinitz's blocking flow algorithm with analysis
        similar to Kazanov 1973, Even & Tarjan 1974)
    ●   Total running time
        T(n, m, c) = T(n1, m1, c/2) + T(n2, m2, c/2) + O(n1/2m)
                   = . . . = O(n1/2m log n)
        n = number of vertices, m = number of edges
        c = number of cost centers ≤ n
                                   
General cost




          
Bruno et. al. reduction to
    weighted bipartite matching



                  
A reduction to bipartite matching
      U                V
      u1        2                    1       2      3

                1       x            u2      u1     u3
      u2
                                   Delay time at machine a
            3           y          = 1 + (1+2) + (1+2+3)
      u3
      3                            =3·1+2·2+1·3
                                   units of time
                        z
                2
      u4


     Jobs           Machines




                                
A reduction to bipartite matching
     U                V       2·1
     u1                       1·1   x1
              2
                              3·1
              1       x
     u2       3
                  3           2·2
                      y
                              1·2   x2
                  5
     u3
     3                        3·2

          2           z
                              2·3
     u4
                              1·3   x3
                              3·3




                           
A reduction to bipartite matching
                                     x1
                        2
                        1
                        3
              u1          4
                         2           x2
                        6
                          6
              u2        3            x3
                         9

                                3
              u3
              3                      y1

                                5
                            2        z1
              u4
                                10
                            4
                                     z2




                     
A reduction to bipartite matching
                                            x1
                               2
                               1
                               3
                   u1            4          x2
                                                 Equivalent
                                2                to assign
                               6
                                 6               u1, u2 to x
                   u2          3            x3
                                9

                                       3
                   u3
                   3                        y1

                                       5
                                   2        z1
                   u4
                                       10
                                   4
                                            z2


     min-weight matching = min-delay semimatching
                            
An algorithm for general cost




                   
Running time
    Directly apply matching algorithm : O(nm2)
     Previous best (Bruno et. al. 1974) : O(n3)
           Our algorithm : O(nm log n)



                         
Use the reduction to bipartite matching
     exploit structure of potential function



                         
High level details
    Reduce to
    bipartite matching                x




                            U         y       Copies of
                                              vertices of V




                                      z




                                  
High level details
Augment matching by
                                    x
shortest augmenting paths
(Edmond & Karp 1970,
Tomizawa 1971)


                                    y
                            U




                                    z




                                 
High level details
Cost of matching edges
                                       x
are negative



                                - 10          Assign potential
                                       y      function to
                            U
                                              make non-negative
                                              reduced cost

                                 7

                                       z




                                  
High level details
Cost of matching edges
                                       x
are negative



                                - 10          Use distance
                                              labels from
                                       y
                            U                 previous round
                                              as potential
                                              function
                                 7

                                       z




                                  
Distances has a break point

                                                   x1

    Dual variables for                                          Distances are
    x1 ,x2, ..., xk have                                        weakly decreasing
    a break point             u1                    xi


                                                                Distances are
                                                                weakly increasing
                                                    xk




                  xj is a copy of x with edge costs multiplied by j

                                           
Data structure for fast query
    Use a data structure
    exploiting the property           x
    to find a shortest
    augmenting path

                                          Create data
                                          structures at
                                      y
                              U           each set for
                                          fast distance
                                          query


                                      z




                                   
Running time analysis
    ●   Using a special data structure, a shortest augmenting
        path can be found in O(n + m log n)
    ●   Augmenting the matching n times
    ●   Total running time O(nm log n)




                                  
Summary
    ●   Unit cost
        –   Previous best running time O(nm)
        –   Our running time O(n1/2m log n)
    ●   General cost
        –   Previous best running time O(n3)
        –   Our running time O(nm log n)




                                     
Open Problems
        Is it possible to meet the running time of bipartite
        matching?
    ●   Unit cost
        –   The best running time O(n1/2m) (Hopcroft & Karp 1973)
        –   Our algorithm O(n1/2m log n)
    ●   General cost
        –   The running time
             ●   O(nm) (Edmond & Karp 1970, Tomizawa 1971)
             ●   O(n1/2m log nWmax) (Gabow & Tajan 1989)

 
        –   Our algorithm O(nm log n)
                                     
Thank you for your attention




                  
Questions ?




          

Más contenido relacionado

La actualidad más candente

Cluster-cluster aggregation with (complete) collisional fragmentation
Cluster-cluster aggregation with (complete) collisional fragmentationCluster-cluster aggregation with (complete) collisional fragmentation
Cluster-cluster aggregation with (complete) collisional fragmentation
Colm Connaughton
 
Nonequilibrium Statistical Mechanics of Cluster-cluster Aggregation Warwick ...
Nonequilibrium Statistical Mechanics of Cluster-cluster Aggregation Warwick  ...Nonequilibrium Statistical Mechanics of Cluster-cluster Aggregation Warwick  ...
Nonequilibrium Statistical Mechanics of Cluster-cluster Aggregation Warwick ...
Colm Connaughton
 
Tele4653 l8
Tele4653 l8Tele4653 l8
Tele4653 l8
Vin Voro
 
Derivatives pricing and Malliavin Calculus
Derivatives pricing and Malliavin CalculusDerivatives pricing and Malliavin Calculus
Derivatives pricing and Malliavin Calculus
Hugo Delatte
 

La actualidad más candente (20)

Cluster-cluster aggregation with (complete) collisional fragmentation
Cluster-cluster aggregation with (complete) collisional fragmentationCluster-cluster aggregation with (complete) collisional fragmentation
Cluster-cluster aggregation with (complete) collisional fragmentation
 
13 Amortized Analysis
13 Amortized Analysis13 Amortized Analysis
13 Amortized Analysis
 
QMC: Operator Splitting Workshop, Perturbed (accelerated) Proximal-Gradient A...
QMC: Operator Splitting Workshop, Perturbed (accelerated) Proximal-Gradient A...QMC: Operator Splitting Workshop, Perturbed (accelerated) Proximal-Gradient A...
QMC: Operator Splitting Workshop, Perturbed (accelerated) Proximal-Gradient A...
 
Second Order Perturbations - National Astronomy Meeting 2011
Second Order Perturbations - National Astronomy Meeting 2011Second Order Perturbations - National Astronomy Meeting 2011
Second Order Perturbations - National Astronomy Meeting 2011
 
Nonequilibrium Statistical Mechanics of Cluster-cluster Aggregation Warwick ...
Nonequilibrium Statistical Mechanics of Cluster-cluster Aggregation Warwick  ...Nonequilibrium Statistical Mechanics of Cluster-cluster Aggregation Warwick  ...
Nonequilibrium Statistical Mechanics of Cluster-cluster Aggregation Warwick ...
 
Amortized Analysis of Algorithms
Amortized Analysis of Algorithms Amortized Analysis of Algorithms
Amortized Analysis of Algorithms
 
Amortized analysis
Amortized analysisAmortized analysis
Amortized analysis
 
09. amortized analysis
09. amortized analysis09. amortized analysis
09. amortized analysis
 
Amortized
AmortizedAmortized
Amortized
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
The inverse droplet coagulation problem
The inverse droplet coagulation problemThe inverse droplet coagulation problem
The inverse droplet coagulation problem
 
Aoa amortized analysis
Aoa amortized analysisAoa amortized analysis
Aoa amortized analysis
 
Weak Isotropic three-wave turbulence, Fondation des Treilles, July 16 2010
Weak Isotropic three-wave turbulence, Fondation des Treilles, July 16 2010Weak Isotropic three-wave turbulence, Fondation des Treilles, July 16 2010
Weak Isotropic three-wave turbulence, Fondation des Treilles, July 16 2010
 
Tele4653 l8
Tele4653 l8Tele4653 l8
Tele4653 l8
 
Amortized complexity
Amortized complexityAmortized complexity
Amortized complexity
 
Modèle de coordination du groupe de robots mobiles
Modèle de coordination du groupe de robots mobilesModèle de coordination du groupe de robots mobiles
Modèle de coordination du groupe de robots mobiles
 
Amortized Analysis
Amortized Analysis Amortized Analysis
Amortized Analysis
 
Random Number Generators 2018
Random Number Generators 2018Random Number Generators 2018
Random Number Generators 2018
 
Fluctuations and rare events in stochastic aggregation
Fluctuations and rare events in stochastic aggregationFluctuations and rare events in stochastic aggregation
Fluctuations and rare events in stochastic aggregation
 
Derivatives pricing and Malliavin Calculus
Derivatives pricing and Malliavin CalculusDerivatives pricing and Malliavin Calculus
Derivatives pricing and Malliavin Calculus
 

Destacado (6)

Typical christmas dinner in Spain
Typical christmas dinner in SpainTypical christmas dinner in Spain
Typical christmas dinner in Spain
 
iWiFi Bondi Presentation [#momosyd]
iWiFi Bondi Presentation [#momosyd]iWiFi Bondi Presentation [#momosyd]
iWiFi Bondi Presentation [#momosyd]
 
adbyme
adbymeadbyme
adbyme
 
Creative Commons
Creative CommonsCreative Commons
Creative Commons
 
구글과 페이스북의 인재전쟁
구글과 페이스북의 인재전쟁구글과 페이스북의 인재전쟁
구글과 페이스북의 인재전쟁
 
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraphAn O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
 

Último

SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
CaitlinCummins3
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
中 央社
 

Último (20)

Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
 
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
 
diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....
 
Chapter 7 Pharmacosy Traditional System of Medicine & Ayurvedic Preparations ...
Chapter 7 Pharmacosy Traditional System of Medicine & Ayurvedic Preparations ...Chapter 7 Pharmacosy Traditional System of Medicine & Ayurvedic Preparations ...
Chapter 7 Pharmacosy Traditional System of Medicine & Ayurvedic Preparations ...
 
demyelinated disorder: multiple sclerosis.pptx
demyelinated disorder: multiple sclerosis.pptxdemyelinated disorder: multiple sclerosis.pptx
demyelinated disorder: multiple sclerosis.pptx
 
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
 
An Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge AppAn Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge App
 
Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17
 
Including Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdfIncluding Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdf
 
Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptx
 
The Liver & Gallbladder (Anatomy & Physiology).pptx
The Liver &  Gallbladder (Anatomy & Physiology).pptxThe Liver &  Gallbladder (Anatomy & Physiology).pptx
The Liver & Gallbladder (Anatomy & Physiology).pptx
 
Word Stress rules esl .pptx
Word Stress rules esl               .pptxWord Stress rules esl               .pptx
Word Stress rules esl .pptx
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 
Championnat de France de Tennis de table/
Championnat de France de Tennis de table/Championnat de France de Tennis de table/
Championnat de France de Tennis de table/
 
II BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING II
II BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING IIII BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING II
II BIOSENSOR PRINCIPLE APPLICATIONS AND WORKING II
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT VẬT LÝ 2024 - TỪ CÁC TRƯỜNG, TRƯ...
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 

Faster algorithms for semimatching problems

  • 1. Faster algorithms for min-delay time semi-matching Bundit Laekhanukit C&O, University of Waterloo joint work with J. Fakcharoenphol and D. Nanongkai    
  • 2. Agenda ● Definition of min-delay semimatching problem ● Previous works & Our results ● Unit cost – Reduction to min-cost flow – An algorithm for unit cost ● General cost – Reduction to weighted bipartite matching – Sketch of an algorithm for general cost    
  • 4. Matching M Semimatching M' U V U V incident to No restriction = 1 M'-edge incident to ≤ 1 M-edge    
  • 5. Unit cost U V Wait for being processed u1 1 unit of time x u1 u2 u3 u2 y u3 3 Wait for u1 and itself z to be processed u4 1 + 1 units of time Jobs Machines    
  • 6. Unit cost U V u1 x u1 u2 u3 u2 Delay time at machine a y = 1 + 2 + 3 units of time u3 3 z u4 Jobs Machines    
  • 7. Unit cost U V u1 x u2 Total delay time y (cost of semimatching) u3 3 = 6 + 1 units of time z u4 Jobs Machines Delay time is flow time in scheduling terminology    
  • 8. General cost U V u1 2 2 1 3 1 x u1 u2 u3 u2 Reorder to minimize delay 3 y 1 2 3 u3 3 u2 u1 u3 z Delay time at machine x 2 u4 = 1 + (1+2) + (1+2+3) units of time Jobs Machines    
  • 9. Previous works & Our results    
  • 10. Previous Works & Our results ● Unit cost Harvey, Ladner, Lovász, and Tamir (2003) : O(nm)-algorithm using modified Hungarian method Our algorithm : O(n1/2m log n) ● General cost Bruno, Coffman, and Sethi (1974) : O(n3)-algorithm using a reduction to bipartite matching Our algorithm : O(nm log n)   n : number of vertices, m : number of edges  
  • 12. Harvey et. al. reduction from unit cost semimatching to min-cost flow    
  • 13. A reduction to min-cost flow U V u1 x u2 y u3 3 z u4    
  • 14. A reduction to min-cost flow U V u1 Cost centers x C1 Cost=1 u2 Cost=2 s y C2 t u3 3 Cost=3 z C3 u4 Infinite capacity Capacity = 1, Cost = 0    
  • 15. A reduction to min-cost flow U V u1 Cost centers x C1 Cost=1 u2 Cost=2 s y C2 t u3 3 Cost=3 z C3 u4 Infinite capacity Capacity = 1, Cost = 0 min-cost flow = min-delay semimatching    
  • 16. An algorithm for unit cost    
  • 17. Running time Directly apply min-cost flow : O(nm log2 n) Previous best (Harvey et. al. 2003) : O(nm) Our algorithm : O(n1/2m log n)    
  • 18. Use the reduction to min-cost flow and divide & conquer technique    
  • 19. High Level Details Start from any semimatching and construct flow Low Cost s U V t High Cost    
  • 20. High Level Details Push flow to lower cost centers Low Cost s U V t High Cost Source and Sink can be ignored    
  • 21. High Level Details Divide into two subproblems G1 and recursively solve them Low U V Cost No residual path from G2 G2 to G1 High U V Cost    
  • 22. Start from an arbitrary semimatching U V u1 x u2 u3 3 y u4 z u5    
  • 23. Construct a corresponding flow U V u1 Cost centers x C1 u2 Cost=1 C2 Cost=2 s u3 3 y t Cost=3 C3 u4 Cost=4 z C4 u5    
  • 24. A flow is not a cheapest U V u1 Cost centers x C1 u2 Cost=1 C2 Cost=2 s u3 3 y t Cost=3 C3 u4 Cost=4 z C4 u5    
  • 25. Find a max-flow to lower cost centers U V Cost centers u1 x C1 T' u2 C2 u3 3 y C3 u4 z S' C4 u5 Source and Sink are ignored    
  • 26. An improved flow U V Cost centers u1 x C1 u2 C2 u3 3 y C3 u4 z C4 u5    
  • 27. Divide & recursively solve subproblems G1 Not reachable u1 from C3 , C4 by x C1 residual paths Reachable from u2 C3 , C4 by residual paths C2 u3 3 y C3 u4 Separated z C4 by min-cut u5 G2    
  • 28. Divide & recursively solve subproblems G1 u1 Push flow in G1 x C1 Solve u2 subproblems C2 u3 3 y C3 u4 z C4 u5 No flow path in G2 G2    
  • 29. A min-cost flow u1 x C1 u2 C2 s u3 3 y t C3 u4 z C4 u5    
  • 30. A min-delay semimatching u1 x u2 u3 3 y u4 z u5    
  • 32. Running time analysis ● Push flow to lower cost centers O(n1/2m) (Dinitz's blocking flow algorithm with analysis similar to Kazanov 1973, Even & Tarjan 1974) ● Total running time T(n, m, c) = T(n1, m1, c/2) + T(n2, m2, c/2) + O(n1/2m) = . . . = O(n1/2m log n) n = number of vertices, m = number of edges c = number of cost centers ≤ n    
  • 34. Bruno et. al. reduction to weighted bipartite matching    
  • 35. A reduction to bipartite matching U V u1 2 1 2 3 1 x u2 u1 u3 u2 Delay time at machine a 3 y = 1 + (1+2) + (1+2+3) u3 3 =3·1+2·2+1·3 units of time z 2 u4 Jobs Machines    
  • 36. A reduction to bipartite matching U V 2·1 u1 1·1 x1 2 3·1 1 x u2 3 3 2·2 y 1·2 x2 5 u3 3 3·2 2 z 2·3 u4 1·3 x3 3·3    
  • 37. A reduction to bipartite matching x1 2 1 3 u1 4 2 x2 6 6 u2 3 x3 9 3 u3 3 y1 5 2 z1 u4 10 4 z2    
  • 38. A reduction to bipartite matching x1 2 1 3 u1 4 x2 Equivalent 2 to assign 6 6 u1, u2 to x u2 3 x3 9 3 u3 3 y1 5 2 z1 u4 10 4 z2 min-weight matching = min-delay semimatching    
  • 39. An algorithm for general cost    
  • 40. Running time Directly apply matching algorithm : O(nm2) Previous best (Bruno et. al. 1974) : O(n3) Our algorithm : O(nm log n)    
  • 41. Use the reduction to bipartite matching exploit structure of potential function    
  • 42. High level details Reduce to bipartite matching x U y Copies of vertices of V z    
  • 43. High level details Augment matching by x shortest augmenting paths (Edmond & Karp 1970, Tomizawa 1971) y U z    
  • 44. High level details Cost of matching edges x are negative - 10 Assign potential y function to U make non-negative reduced cost 7 z    
  • 45. High level details Cost of matching edges x are negative - 10 Use distance labels from y U previous round as potential function 7 z    
  • 46. Distances has a break point x1 Dual variables for Distances are x1 ,x2, ..., xk have weakly decreasing a break point u1 xi Distances are weakly increasing xk xj is a copy of x with edge costs multiplied by j    
  • 47. Data structure for fast query Use a data structure exploiting the property x to find a shortest augmenting path Create data structures at y U each set for fast distance query z    
  • 48. Running time analysis ● Using a special data structure, a shortest augmenting path can be found in O(n + m log n) ● Augmenting the matching n times ● Total running time O(nm log n)    
  • 49. Summary ● Unit cost – Previous best running time O(nm) – Our running time O(n1/2m log n) ● General cost – Previous best running time O(n3) – Our running time O(nm log n)    
  • 50. Open Problems Is it possible to meet the running time of bipartite matching? ● Unit cost – The best running time O(n1/2m) (Hopcroft & Karp 1973) – Our algorithm O(n1/2m log n) ● General cost – The running time ● O(nm) (Edmond & Karp 1970, Tomizawa 1971) ● O(n1/2m log nWmax) (Gabow & Tajan 1989)   – Our algorithm O(nm log n)  
  • 51. Thank you for your attention