SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Maximum Matching in General Graphs

                                          Ahmad Khayyat
                            Department of Electrical & Computer Engineering
                                   ahmad.khayyat@ece.queensu.ca

                                            Course Project
                                 CISC 879 — Algorithms and Applications
                                           Queen’s University


                                        November 19, 2008



ECE @ Queen’s • Fall 2008                     Ahmad Khayyat        Maximum Matching in General Graphs • 1
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion




 Outline


        1       Introduction

        2       Paths, Trees and Flowers

        3       Efficient Implementation of Edmonds’ Algorithm

        4       Reachability Problem Approach

        5       Conclusion




ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 2
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion




 Outline

        1       Introduction
                   Terminology
                   Berge’s Theorem
                   Bipartite Matching

        2       Paths, Trees and Flowers

        3       Efficient Implementation of Edmonds’ Algorithm

        4       Reachability Problem Approach

        5       Conclusion

ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 3
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 Terminology


 Maximum Matching

                G = (V, E) is a finite undirected graph: n = |V |, m = |E|.
                A matching M in G, (G, M ), is a subset of its edges such
                that no two meet the same vertex.
                M is a maximum matching if no other matching in G
                contains more edges than M .
                A maximum matching is not necessarily unique.
                Given (G, M ), a vertex is exposed if it meets no edge in M .


                                               M




ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 4
Introduction         Paths, Trees and Flowers        Efficient Implementation    Reachability Approach      Conclusion

 Terminology


 Augmenting Paths


                An alternating path in (G, M ) is a simple path whose edges
                are alternately in M and not in M .
                An augmenting path is an alternating path whose ends are
                distinct exposed vertices.

                         v1            v2             v3                  v1        v2            v3


                 v6             v5               v4                 v6         v5          v4




ECE @ Queen’s • Fall 2008                              Ahmad Khayyat            Maximum Matching in General Graphs • 5
Introduction       Paths, Trees and Flowers        Efficient Implementation      Reachability Approach      Conclusion

 Berge’s Theorem


 Berge’s Theorem

        Berge’s Theorem (1957)
        A matched graph (G, M ) has an augmenting path if and only if M
        is not maximum.

                   v1            v2            v3                       v1         v2            v3


            v6              v5          v4                       v6           v5          v4
                                                                             Unique?
        An Exponential Algorithm:
        Exhaustively search for an augmenting path starting from an
        exposed vertex.

ECE @ Queen’s • Fall 2008                            Ahmad Khayyat              Maximum Matching in General Graphs • 6
Introduction         Paths, Trees and Flowers   Efficient Implementation       Reachability Approach      Conclusion

 Bipartite Matching


 Bipartite Graphs

                A bipartite graph G = (A, B, E) is a graph whose vertices can
                be divided into two disjoint sets A and B such that every
                edge connects a vertex in A to one in B.
                Equivalently, it is a graph with no odd cycles.

                         1           A

                                     C                        1                                 C

                         4           D                                    A          4          D
                                                              2
                         2           E                                                          E
                                                                          B          5
                         3           B                        3
                         5


ECE @ Queen’s • Fall 2008                         Ahmad Khayyat               Maximum Matching in General Graphs • 7
Introduction         Paths, Trees and Flowers       Efficient Implementation   Reachability Approach      Conclusion

 Bipartite Matching


 Bipartite Graph Maximum Matching

                             for all v ∈ A, v is exposed do
                               Search for simple alternating paths starting at v
                               if path P ends at an exposed vertex u ∈ B then
    O(nm)                         P is an augmenting path {Update M }
                               end if
                             end for
                             Current M is maximum {No more augmenting paths}
            1                                    C

                         A           4           D
            2
                                                 E
                         B           5
            3


ECE @ Queen’s • Fall 2008                             Ahmad Khayyat           Maximum Matching in General Graphs • 8
Introduction         Paths, Trees and Flowers       Efficient Implementation   Reachability Approach       Conclusion

 Bipartite Matching


 Bipartite Graph Maximum Matching

                             for all v ∈ A, v is exposed do
                               Search for simple alternating paths starting at v
                               if path P ends at an exposed vertex u ∈ B then
    O(nm)                         P is an augmenting path {Update M }
                               end if
                             end for
                             Current M is maximum {No more augmenting paths}
            1                                    C                       1                            C

                         A           4           D                             A           4          D
            2                                                            2
                                                 E                                                    E
                         B           5                                         B           5
            3                                                            3


ECE @ Queen’s • Fall 2008                             Ahmad Khayyat           Maximum Matching in General Graphs • 8
Introduction         Paths, Trees and Flowers       Efficient Implementation          Reachability Approach      Conclusion

 Bipartite Matching


 Non-Bipartite Matching

        Problem: Odd cycles . . .

                                                                             4           6
                                   1             2              3
                                                                             5



                                             1              2            3

                                                     6                           4
                                                                    5


ECE @ Queen’s • Fall 2008                                Ahmad Khayyat               Maximum Matching in General Graphs • 9
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion




 Outline


        1       Introduction

        2       Paths, Trees and Flowers
                  Blossoms
                  The Algorithm

        3       Efficient Implementation of Edmonds’ Algorithm

        4       Reachability Problem Approach

        5       Conclusion


ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 10
Introduction       Paths, Trees and Flowers       Efficient Implementation          Reachability Approach      Conclusion

 Blossoms


 Blossoms
        Blossoms
        A blossom B in (G, M ) is an odd cycle with a unique exposed
        vertex (the base) in M ∩ B.

                                                                           4           6
                                 1             2              3
                                                                           5

                                           1              2            3

                                                   6                           4
                                                                  5

ECE @ Queen’s • Fall 2008                              Ahmad Khayyat               Maximum Matching in General Graphs • 11
Introduction       Paths, Trees and Flowers       Efficient Implementation   Reachability Approach      Conclusion

 Blossoms


 Edmonds’ Blossoms Lemma

        Blossoms Lemma
        Let G and M be obtained by contracting a blossom B in (G, M )
        to a single vertex.
        The matching M of G is maximum iff M is maximum in G .

                                                                       4        6
                                 1             2            3
                                                                       5

                                       1            2            B          6


ECE @ Queen’s • Fall 2008                           Ahmad Khayyat           Maximum Matching in General Graphs • 12
Introduction       Paths, Trees and Flowers       Efficient Implementation   Reachability Approach      Conclusion

 Blossoms


 Detecting Blossoms

                Performing the alternating path search of the bipartite
                matching algorithm (starting from an exposed vertex):
                   ´   Label vertices at even distance from the root as “outer”;
                   ´   Label vertices at odd distance from the root as “inner”.
                If two outer vertices are found adjacent, we have a blossom.

                                                                        I

                                 O             I            O
                                                                       4        6
                                 1             2            3
                                                                       5
                                                                       O




ECE @ Queen’s • Fall 2008                           Ahmad Khayyat           Maximum Matching in General Graphs • 13
Introduction       Paths, Trees and Flowers      Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Edmonds’ Algorithm (1965)

                    for all v ∈ V , v is exposed do
                      Search for simple alternating paths starting at v
      O(n3 ) O(n2 )
                          Shrink any found blossoms
                      if path P ends at an exposed vertex then
                         P is an augmenting path {Update M }
                      else if no augmenting paths found then
                         Ignore v in future searches
                      end if
                    end for
                    Current M is maximum {No more augmenting paths}


                                               Complexity: O(n4 )

ECE @ Queen’s • Fall 2008                          Ahmad Khayyat           Maximum Matching in General Graphs • 14
Introduction       Paths, Trees and Flowers        Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Example

        |M | = 4


                              1                2          3             4


                                               10         9             5       6


                                                          8             7




ECE @ Queen’s • Fall 2008                            Ahmad Khayyat           Maximum Matching in General Graphs • 15
Introduction       Paths, Trees and Flowers        Efficient Implementation       Reachability Approach      Conclusion

 The Algorithm


 Example

        |M | = 4
                              O                I          O             I
                              1                2          3             4

                                                                             O
                                               10         9             5           6    I




                                                          8             7
                                                                        O




ECE @ Queen’s • Fall 2008                            Ahmad Khayyat               Maximum Matching in General Graphs • 15
Introduction       Paths, Trees and Flowers        Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Example

        |M | = 4
                              O                I          O             I
                              1                2          3             4


                                               10         9           B1
                                                                        O


                                                          8


        B1 = 5, 6, 7


ECE @ Queen’s • Fall 2008                            Ahmad Khayyat           Maximum Matching in General Graphs • 15
Introduction       Paths, Trees and Flowers        Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Example

        |M | = 4
                              O                I          O             I
                              1                2          3             4

                                                          O
                                               10         9           B1
                                                                        O


                                                          8
                                                          I


        B1 = 5, 6, 7


ECE @ Queen’s • Fall 2008                            Ahmad Khayyat           Maximum Matching in General Graphs • 15
Introduction       Paths, Trees and Flowers        Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Example

        |M | = 4
                              O                I          O             I
                              1                2          3             4


                                               10        B2
                                               I          O




        B1 = 5, 6, 7
        B2 = B1 , 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008                            Ahmad Khayyat           Maximum Matching in General Graphs • 15
Introduction       Paths, Trees and Flowers        Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Example

        |M | = 4


                              1                2          3             4


                                               10        B2




        B1 = 5, 6, 7
        B2 = B1 , 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008                            Ahmad Khayyat           Maximum Matching in General Graphs • 15
Introduction       Paths, Trees and Flowers        Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Example

        |M | = 4


                              1                2          3             4


                                               10         9           B1


                                                          8


        B1 = 5, 6, 7
        B2 = B1 , 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008                            Ahmad Khayyat           Maximum Matching in General Graphs • 15
Introduction       Paths, Trees and Flowers        Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Example

        |M | = 4                                                                                |M | = 5


                              1                2          3             4


                                               10         9             5       6


                                                          8             7


        B1 = 5, 6, 7
        B2 = B1 , 8, 9 = 5, 6, 7, 8, 9

ECE @ Queen’s • Fall 2008                            Ahmad Khayyat           Maximum Matching in General Graphs • 15
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion




 Outline

        1       Introduction

        2       Paths, Trees and Flowers

        3       Efficient Implementation of Edmonds’ Algorithm
                 Data Structures
                 The Algorithm
                 Performance

        4       Reachability Problem Approach

        5       Conclusion

ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 16
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 Data Structures


 Three Arrays
                u is an exposed vertex.
                A vertex v is outer if there is a path P (v) = (v, v1 , . . . , u),
                where vv1 ∈ M .

           1    MATE: Specifies a matching. An entry for each vertex:
                   ´   vw ∈ M ⇒ MATE (v) = w and MATE (w) = v.
           2    LABEL: Provides a type and a value:
                                LABEL(v) ≥ 0                    → v is outer
                                LABEL(u)                        → start label, P (u) = (u)
                            1 ≤ LABEL(v) ≤ n                    → vertex label
                   n + 1 ≤ LABEL(v) ≤ n + 2m → edge label

           3    START (v) = the first non-outer vertex in P (v).

ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 17
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Gabow’s Algorithm (1976)
                            for all u ∈ V, u is exposed do
                              while ∃ an edge xy, x is outer AND
                                      no augmenting path found do
                                 if y is exposed, y = u then
                                    (y, x, . . . , u) is an augmenting path
                                 else if y is outer then
                                    Assign edge labels to P (x) and P (y)
                                 else if MATE (y) is non-outer then
                                    Assign a vertex label to MATE (y)
                                 end if
                              end while
                            end for



ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 18
Introduction       Paths, Trees and Flowers      Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Gabow’s Algorithm (1976)
         O(n)          for all u ∈ V, u is exposed do
                         while ∃ an edge xy, x is outer AND
                                 no augmenting path found do
                 O(1)       if y is exposed, y = u then
                    O(n)       (y, x, . . . , u) is an augmenting path
                 O(n)       else if y is outer then
                    O(n)       Assign edge labels to P (x) and P (y)
                 O(n)       else if MATE (y) is non-outer then
                     O(1)      Assign a vertex label to MATE (y)
                            end if
                         end while
                       end for

                                               Complexity: O(n3 )

ECE @ Queen’s • Fall 2008                          Ahmad Khayyat           Maximum Matching in General Graphs • 18
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 Performance


 Experimental Performance



        Using an implementation in Algol W on the IBM 360/165
            Worst-case graphs:
                   ´   Efficient Implementation: run times proportional to n2.8 .
                   ´   Edmond: run times proportional to n3.5 .
                Random graphs: times one order of magnitude faster than
                worst-case graphs.
                Space used is 5n + 4m.




ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 19
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion




 Outline


        1       Introduction

        2       Paths, Trees and Flowers

        3       Efficient Implementation of Edmonds’ Algorithm

        4       Reachability Problem Approach
                  Reachability and Graphs
                  The Algorithm

        5       Conclusion


ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 20
Introduction        Paths, Trees and Flowers    Efficient Implementation        Reachability Approach       Conclusion

 Reachability and Graphs


 The Reachability Problem in Bipartite Graphs
                Construction:
                       Bipartite graph + Matching → Directed graph
                       G = (A, B, E) +     M      → G = (V , E )
                   ´   V = V ∪ {s, t}
                   ´   ∀ xy ∈ M , x ∈ A, y ∈ B → (x, y) ∈ E                         e∈M ⇒e:A→B
                   ´   ∀ xy ∈ M , x ∈ A, y ∈ B → (y, x) ∈ E
                            /                                                       e∈M ⇒e:B→A
                                                                                     /
                   ´   ∀ b ∈ B, b is exposed → add (s, b) to E
                   ´   ∀ a ∈ A, a is exposed → add (a, t) to E

                     A1             B1                                    A1          B1
                                                =⇒          t                                          s

                     A2             B2                                    A2          B2



ECE @ Queen’s • Fall 2008                            Ahmad Khayyat             Maximum Matching in General Graphs • 21
Introduction        Paths, Trees and Flowers    Efficient Implementation        Reachability Approach       Conclusion

 Reachability and Graphs


 The Reachability Problem in Bipartite Graphs
                Construction:
                       Bipartite graph + Matching → Directed graph
                       G = (A, B, E) +     M      → G = (V , E )
                   ´   V = V ∪ {s, t}
                   ´   ∀ xy ∈ M , x ∈ A, y ∈ B → (x, y) ∈ E                         e∈M ⇒e:A→B
                   ´   ∀ xy ∈ M , x ∈ A, y ∈ B → (y, x) ∈ E
                            /                                                       e∈M ⇒e:B→A
                                                                                     /
                   ´   ∀ b ∈ B, b is exposed → add (s, b) to E
                   ´   ∀ a ∈ A, a is exposed → add (a, t) to E

                     A1             B1                                    A1          B1
                                                =⇒          t                                          s

                     A2             B2                                    A2          B2

                An augmenting path in G ⇔ A simple path from s to t in G .
ECE @ Queen’s • Fall 2008                            Ahmad Khayyat             Maximum Matching in General Graphs • 21
Introduction        Paths, Trees and Flowers        Efficient Implementation       Reachability Approach       Conclusion

 Reachability and Graphs

 The Reachability Problem in General Graphs
 Construction

                For each v ∈ V , we introduce two nodes vA and vB
                            V = {vA , vB |v ∈ V } ∪ {s, t}                        s, t ∈ V, s = t
                                                                                       /
                e ∈ M ⇒ e : A → B,                        e∈M ⇒e:B→A
                                                           /
                    E =          {(xA , yB ), (yA , xB ) | (x, y) ∈ M }
                              ∪ {(xB , yA ), (yB , xA ) | (x, y) ∈ M }
                                                                 /
                              ∪ {(s, xB ) | x is exposed} ∪ {(xA , t) | x is exposed}
                                                                              t
                   1               2                     1A            2A            3A             4A
                                                =⇒
                                                        1B             2B            3B            4B
                   4               3
                                                                              s

ECE @ Queen’s • Fall 2008                             Ahmad Khayyat                Maximum Matching in General Graphs • 22
Introduction        Paths, Trees and Flowers        Efficient Implementation       Reachability Approach      Conclusion

 Reachability and Graphs

 The Reachability Problem in General Graphs
 Strongly Simple Paths

        A path P in G is strongly simple if:
            P is simple.
            vA ∈ P ⇒ vB ∈ P .
                          /
        Theorem
        There is an augmenting path in G if and only if there is a strongly
        simple path from s to t in G .

                                                                              t
                   1               2                     1A            2A           3A              4A
                                                =⇒
                                                        1B             2B           3B             4B
                   4               3
                                                                              s

ECE @ Queen’s • Fall 2008                             Ahmad Khayyat               Maximum Matching in General Graphs • 23
Introduction        Paths, Trees and Flowers        Efficient Implementation       Reachability Approach      Conclusion

 Reachability and Graphs


 Solving the Reachability Problem
        Solution: A strongly simple path from s to t in G :
            Depth-First Search (DFS) for t starting at s.
            DFS finds simple paths.
            We need to find strongly simple paths only.
            We use a Modified Depth-First Search (MDFS) algorithm.
        Example:

                                                                              t
                   1               2                     1A            2A           3A              4A
                                                =⇒
                                                        1B             2B           3B             4B
                   4               3
                                                                              s


ECE @ Queen’s • Fall 2008                             Ahmad Khayyat               Maximum Matching in General Graphs • 24
Introduction        Paths, Trees and Flowers        Efficient Implementation       Reachability Approach      Conclusion

 Reachability and Graphs


 Solving the Reachability Problem
        Solution: A strongly simple path from s to t in G :
            Depth-First Search (DFS) for t starting at s.
            DFS finds simple paths.
            We need to find strongly simple paths only.
            We use a Modified Depth-First Search (MDFS) algorithm.
        Example:

                                                                              t
                   1               2                     1A            2A           3A              4A
                                                =⇒
                                                        1B             2B           3B             4B
                   4               3
                                                                              s


ECE @ Queen’s • Fall 2008                             Ahmad Khayyat               Maximum Matching in General Graphs • 24
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Data Structures


                 Stack K
                   ´   TOP(K): the last vertex added to the stack K.
                   ´   Vertices in K form the current path.
                   ´   In each step, the MDFS algorithm considers an edge
                       (TOP(K), v), v ∈ V .


                 List L(vA )
                   ´ To get a strongly simple path, vA and vB cannot be in K
                     simultaneously (we may ignore a vertex, temporarily).
                   ´ List L(vA ) keeps track of such vertices.




ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 25
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm


 Hopcroft and Karp Algorithm for Bipartite Graphs (1973)
        Step 1:    M ←φ
        Step 2:    Let l(M ) be the length of a shortest augmenting path of M
                   Find a maximal set of paths {Q1 , Q2 , . . . , Qt } such that:
                    2.1 For each i, Qi is an augmenting path of M , |Qi | = l(M ),
                        Qi are vertex-disjoint.
                    2.2 Halt if no such paths exists.
        Step 3:    M ← M ⊕ Q1 ⊕ Q2 ⊕ · · · ⊕ Qt ; Go to 1.

        Hopcroft and Karp Theorem
        If the cardinality of a maximum matching is s, then this algorithm
                                                 √
        constructs a maximum matching within 2 s + 2 executions of
        Step 2.

                                                                 √
                 Step 2 complexity: O(m) ⇒ Overall complexity: O( nm)

ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 26
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 The Algorithm
      √
 An O( nm) Algorithm for General Graphs


                 Blum describes an O(m) implementation of Step 2 for general
                 graphs, using a Modified Breadth-First Search (MBFS).
                 Blum’s Step 2 Algorithm:
            Step 1: Using MBFS, compute G
            Step 2: Using MDFS, compute a maximal set of strongly simple paths
                       from s to t in G .

        Blum’s Theorm
        A maximum matching in a general graph can be found in time
           √
        O( nm) and space O(m + n).




ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 27
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion




 Outline


        1       Introduction

        2       Paths, Trees and Flowers

        3       Efficient Implementation of Edmonds’ Algorithm

        4       Reachability Problem Approach

        5       Conclusion
                  Summary
                  Questions


ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 28
Introduction            Paths, Trees and Flowers   Efficient Implementation               Reachability Approach        Conclusion

 Summary


 Summary



                                                                                                                      O(n2.5 )
         O(n4 )                                     O(n3 )           O(n2.5 )                                     O(n2.5 )

           1965                                      1976              1980                                1989     1990     1991
           Ed




                                                      Ga




                                                                       M




                                                                                                                 Va
                                                                                                                 Bl iran
                                                                                                                 Ga
                                                                            ica




                                                                                                                   um i’s
                m




                                                                                                                    z
                                                        bo




                                                                                                                    bo
                on




                                                                             li
                                                          w’




                                                                                                                      w
                                                                                  &
                    ds




                                                            s
                                                             Im




                                                                                  Va




                                                                                                                          Pr
                                                                pl




                                                                                     z




                                                                                                                             oo
                                                                                      ira
                                                                  em




                                                                                                                               f
                                                                                         ni
                                                                     en
                                                                        t
                                                                       at
                                                                        io
                                                                          n




ECE @ Queen’s • Fall 2008                            Ahmad Khayyat                       Maximum Matching in General Graphs • 29
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 Summary


 References

                Jack Edmonds
                Paths, Trees, and Flowers
                Canadian Journal of Mathematics, 17:449–467, 1965.
                http://www.cs.berkeley.edu/~christos/classics/edmonds.ps

                Harold N. Gabow
                An Efficient Implementation of Edmonds’ Algorithm for
                Maximum Matching on Graphs
                Journal of the ACM (JACM), 23(2):221–234, 1976.

                Norbert Blum
                A New Approach to Maximum Matching in General Graphs
                Lecture Notes in Computer Science: Automata, Languages and Programming,
                443::586–597, Springer Berlin / Heidelberg, 1990.



ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 30
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 Summary


 Thank You




                                      Thank You!



ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 31
Introduction       Paths, Trees and Flowers   Efficient Implementation   Reachability Approach      Conclusion

 Questions


 Questions




                                                 ???



ECE @ Queen’s • Fall 2008                       Ahmad Khayyat           Maximum Matching in General Graphs • 32

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Greedy Algorithm
Greedy AlgorithmGreedy Algorithm
Greedy Algorithm
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
 
Optimization problems and algorithms
Optimization problems and  algorithmsOptimization problems and  algorithms
Optimization problems and algorithms
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-Hard
 
BackTracking Algorithm: Technique and Examples
BackTracking Algorithm: Technique and ExamplesBackTracking Algorithm: Technique and Examples
BackTracking Algorithm: Technique and Examples
 
Fuzzy logic
Fuzzy logicFuzzy logic
Fuzzy logic
 
Dijkstra's Algorithm
Dijkstra's AlgorithmDijkstra's Algorithm
Dijkstra's Algorithm
 
Simulated Annealing
Simulated AnnealingSimulated Annealing
Simulated Annealing
 
unit-4-dynamic programming
unit-4-dynamic programmingunit-4-dynamic programming
unit-4-dynamic programming
 
daa-unit-3-greedy method
daa-unit-3-greedy methoddaa-unit-3-greedy method
daa-unit-3-greedy method
 
Chap8 new
Chap8 newChap8 new
Chap8 new
 
Unification and Lifting
Unification and LiftingUnification and Lifting
Unification and Lifting
 
Fuzzy logic and application in AI
Fuzzy logic and application in AIFuzzy logic and application in AI
Fuzzy logic and application in AI
 
Indicator Random Variables
Indicator Random VariablesIndicator Random Variables
Indicator Random Variables
 
Introduction to Linear Discriminant Analysis
Introduction to Linear Discriminant AnalysisIntroduction to Linear Discriminant Analysis
Introduction to Linear Discriminant Analysis
 
Randomized Algorithm
Randomized AlgorithmRandomized Algorithm
Randomized Algorithm
 
Defuzzification
DefuzzificationDefuzzification
Defuzzification
 
Stochastic Gradient Decent (SGD).pptx
Stochastic Gradient Decent (SGD).pptxStochastic Gradient Decent (SGD).pptx
Stochastic Gradient Decent (SGD).pptx
 
Dijkstra’S Algorithm
Dijkstra’S AlgorithmDijkstra’S Algorithm
Dijkstra’S Algorithm
 
Shortest Path in Graph
Shortest Path in GraphShortest Path in Graph
Shortest Path in Graph
 

Destaque

Simple algorithm & hopcroft karp for bipartite graph
Simple algorithm & hopcroft karp for bipartite graphSimple algorithm & hopcroft karp for bipartite graph
Simple algorithm & hopcroft karp for bipartite graphMiguel Pereira
 
Teaching Graph Algorithms in the Field - Bipartite Matching in optical datace...
Teaching Graph Algorithms in the Field - Bipartite Matching in optical datace...Teaching Graph Algorithms in the Field - Bipartite Matching in optical datace...
Teaching Graph Algorithms in the Field - Bipartite Matching in optical datace...Kostas Katrinis
 
DFA minimization algorithms in map reduce
DFA minimization algorithms in map reduceDFA minimization algorithms in map reduce
DFA minimization algorithms in map reduceIraj Hedayati
 
DFA Minimization in Map-Reduce
DFA Minimization in Map-ReduceDFA Minimization in Map-Reduce
DFA Minimization in Map-ReduceIraj Hedayati
 
Back tracking and branch and bound class 20
Back tracking and branch and bound class 20Back tracking and branch and bound class 20
Back tracking and branch and bound class 20Kumar
 
8 queens problem using back tracking
8 queens problem using back tracking8 queens problem using back tracking
8 queens problem using back trackingTech_MX
 
Parallel Algorithms for Trees
Parallel Algorithms for TreesParallel Algorithms for Trees
Parallel Algorithms for TreesAhmad Khayyat
 

Destaque (14)

Simple algorithm & hopcroft karp for bipartite graph
Simple algorithm & hopcroft karp for bipartite graphSimple algorithm & hopcroft karp for bipartite graph
Simple algorithm & hopcroft karp for bipartite graph
 
Fahroo - Optimization and Discrete Mathematics - Spring Review 2013
Fahroo - Optimization and Discrete Mathematics - Spring Review 2013Fahroo - Optimization and Discrete Mathematics - Spring Review 2013
Fahroo - Optimization and Discrete Mathematics - Spring Review 2013
 
Teaching Graph Algorithms in the Field - Bipartite Matching in optical datace...
Teaching Graph Algorithms in the Field - Bipartite Matching in optical datace...Teaching Graph Algorithms in the Field - Bipartite Matching in optical datace...
Teaching Graph Algorithms in the Field - Bipartite Matching in optical datace...
 
DFA minimization algorithms in map reduce
DFA minimization algorithms in map reduceDFA minimization algorithms in map reduce
DFA minimization algorithms in map reduce
 
DFA Minimization
DFA MinimizationDFA Minimization
DFA Minimization
 
DFA Minimization in Map-Reduce
DFA Minimization in Map-ReduceDFA Minimization in Map-Reduce
DFA Minimization in Map-Reduce
 
Back tracking and branch and bound class 20
Back tracking and branch and bound class 20Back tracking and branch and bound class 20
Back tracking and branch and bound class 20
 
Network flow problems
Network flow problemsNetwork flow problems
Network flow problems
 
optimization of DFA
optimization of DFAoptimization of DFA
optimization of DFA
 
Hearn - Optimization and Discrete Mathematics - Spring Review 2012
Hearn - Optimization and Discrete Mathematics - Spring Review 2012Hearn - Optimization and Discrete Mathematics - Spring Review 2012
Hearn - Optimization and Discrete Mathematics - Spring Review 2012
 
8 queens problem using back tracking
8 queens problem using back tracking8 queens problem using back tracking
8 queens problem using back tracking
 
Parallel Algorithms for Trees
Parallel Algorithms for TreesParallel Algorithms for Trees
Parallel Algorithms for Trees
 
Compiler Chapter 1
Compiler Chapter 1Compiler Chapter 1
Compiler Chapter 1
 
Backtracking
BacktrackingBacktracking
Backtracking
 

Último

Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 

Último (20)

Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 

Maximum Matching in General Graphs

  • 1. Maximum Matching in General Graphs Ahmad Khayyat Department of Electrical & Computer Engineering ahmad.khayyat@ece.queensu.ca Course Project CISC 879 — Algorithms and Applications Queen’s University November 19, 2008 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 1
  • 2. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Outline 1 Introduction 2 Paths, Trees and Flowers 3 Efficient Implementation of Edmonds’ Algorithm 4 Reachability Problem Approach 5 Conclusion ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 2
  • 3. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Outline 1 Introduction Terminology Berge’s Theorem Bipartite Matching 2 Paths, Trees and Flowers 3 Efficient Implementation of Edmonds’ Algorithm 4 Reachability Problem Approach 5 Conclusion ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 3
  • 4. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Terminology Maximum Matching G = (V, E) is a finite undirected graph: n = |V |, m = |E|. A matching M in G, (G, M ), is a subset of its edges such that no two meet the same vertex. M is a maximum matching if no other matching in G contains more edges than M . A maximum matching is not necessarily unique. Given (G, M ), a vertex is exposed if it meets no edge in M . M ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 4
  • 5. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Terminology Augmenting Paths An alternating path in (G, M ) is a simple path whose edges are alternately in M and not in M . An augmenting path is an alternating path whose ends are distinct exposed vertices. v1 v2 v3 v1 v2 v3 v6 v5 v4 v6 v5 v4 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 5
  • 6. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Berge’s Theorem Berge’s Theorem Berge’s Theorem (1957) A matched graph (G, M ) has an augmenting path if and only if M is not maximum. v1 v2 v3 v1 v2 v3 v6 v5 v4 v6 v5 v4 Unique? An Exponential Algorithm: Exhaustively search for an augmenting path starting from an exposed vertex. ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 6
  • 7. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Bipartite Matching Bipartite Graphs A bipartite graph G = (A, B, E) is a graph whose vertices can be divided into two disjoint sets A and B such that every edge connects a vertex in A to one in B. Equivalently, it is a graph with no odd cycles. 1 A C 1 C 4 D A 4 D 2 2 E E B 5 3 B 3 5 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 7
  • 8. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Bipartite Matching Bipartite Graph Maximum Matching for all v ∈ A, v is exposed do Search for simple alternating paths starting at v if path P ends at an exposed vertex u ∈ B then O(nm) P is an augmenting path {Update M } end if end for Current M is maximum {No more augmenting paths} 1 C A 4 D 2 E B 5 3 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 8
  • 9. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Bipartite Matching Bipartite Graph Maximum Matching for all v ∈ A, v is exposed do Search for simple alternating paths starting at v if path P ends at an exposed vertex u ∈ B then O(nm) P is an augmenting path {Update M } end if end for Current M is maximum {No more augmenting paths} 1 C 1 C A 4 D A 4 D 2 2 E E B 5 B 5 3 3 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 8
  • 10. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Bipartite Matching Non-Bipartite Matching Problem: Odd cycles . . . 4 6 1 2 3 5 1 2 3 6 4 5 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 9
  • 11. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Outline 1 Introduction 2 Paths, Trees and Flowers Blossoms The Algorithm 3 Efficient Implementation of Edmonds’ Algorithm 4 Reachability Problem Approach 5 Conclusion ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 10
  • 12. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Blossoms Blossoms Blossoms A blossom B in (G, M ) is an odd cycle with a unique exposed vertex (the base) in M ∩ B. 4 6 1 2 3 5 1 2 3 6 4 5 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 11
  • 13. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Blossoms Edmonds’ Blossoms Lemma Blossoms Lemma Let G and M be obtained by contracting a blossom B in (G, M ) to a single vertex. The matching M of G is maximum iff M is maximum in G . 4 6 1 2 3 5 1 2 B 6 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 12
  • 14. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Blossoms Detecting Blossoms Performing the alternating path search of the bipartite matching algorithm (starting from an exposed vertex): ´ Label vertices at even distance from the root as “outer”; ´ Label vertices at odd distance from the root as “inner”. If two outer vertices are found adjacent, we have a blossom. I O I O 4 6 1 2 3 5 O ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 13
  • 15. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Edmonds’ Algorithm (1965) for all v ∈ V , v is exposed do Search for simple alternating paths starting at v O(n3 ) O(n2 ) Shrink any found blossoms if path P ends at an exposed vertex then P is an augmenting path {Update M } else if no augmenting paths found then Ignore v in future searches end if end for Current M is maximum {No more augmenting paths} Complexity: O(n4 ) ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 14
  • 16. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Example |M | = 4 1 2 3 4 10 9 5 6 8 7 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15
  • 17. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Example |M | = 4 O I O I 1 2 3 4 O 10 9 5 6 I 8 7 O ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15
  • 18. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Example |M | = 4 O I O I 1 2 3 4 10 9 B1 O 8 B1 = 5, 6, 7 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15
  • 19. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Example |M | = 4 O I O I 1 2 3 4 O 10 9 B1 O 8 I B1 = 5, 6, 7 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15
  • 20. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Example |M | = 4 O I O I 1 2 3 4 10 B2 I O B1 = 5, 6, 7 B2 = B1 , 8, 9 = 5, 6, 7, 8, 9 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15
  • 21. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Example |M | = 4 1 2 3 4 10 B2 B1 = 5, 6, 7 B2 = B1 , 8, 9 = 5, 6, 7, 8, 9 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15
  • 22. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Example |M | = 4 1 2 3 4 10 9 B1 8 B1 = 5, 6, 7 B2 = B1 , 8, 9 = 5, 6, 7, 8, 9 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15
  • 23. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Example |M | = 4 |M | = 5 1 2 3 4 10 9 5 6 8 7 B1 = 5, 6, 7 B2 = B1 , 8, 9 = 5, 6, 7, 8, 9 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 15
  • 24. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Outline 1 Introduction 2 Paths, Trees and Flowers 3 Efficient Implementation of Edmonds’ Algorithm Data Structures The Algorithm Performance 4 Reachability Problem Approach 5 Conclusion ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 16
  • 25. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Data Structures Three Arrays u is an exposed vertex. A vertex v is outer if there is a path P (v) = (v, v1 , . . . , u), where vv1 ∈ M . 1 MATE: Specifies a matching. An entry for each vertex: ´ vw ∈ M ⇒ MATE (v) = w and MATE (w) = v. 2 LABEL: Provides a type and a value: LABEL(v) ≥ 0 → v is outer LABEL(u) → start label, P (u) = (u) 1 ≤ LABEL(v) ≤ n → vertex label n + 1 ≤ LABEL(v) ≤ n + 2m → edge label 3 START (v) = the first non-outer vertex in P (v). ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 17
  • 26. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Gabow’s Algorithm (1976) for all u ∈ V, u is exposed do while ∃ an edge xy, x is outer AND no augmenting path found do if y is exposed, y = u then (y, x, . . . , u) is an augmenting path else if y is outer then Assign edge labels to P (x) and P (y) else if MATE (y) is non-outer then Assign a vertex label to MATE (y) end if end while end for ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 18
  • 27. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Gabow’s Algorithm (1976) O(n) for all u ∈ V, u is exposed do while ∃ an edge xy, x is outer AND no augmenting path found do O(1) if y is exposed, y = u then O(n) (y, x, . . . , u) is an augmenting path O(n) else if y is outer then O(n) Assign edge labels to P (x) and P (y) O(n) else if MATE (y) is non-outer then O(1) Assign a vertex label to MATE (y) end if end while end for Complexity: O(n3 ) ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 18
  • 28. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Performance Experimental Performance Using an implementation in Algol W on the IBM 360/165 Worst-case graphs: ´ Efficient Implementation: run times proportional to n2.8 . ´ Edmond: run times proportional to n3.5 . Random graphs: times one order of magnitude faster than worst-case graphs. Space used is 5n + 4m. ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 19
  • 29. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Outline 1 Introduction 2 Paths, Trees and Flowers 3 Efficient Implementation of Edmonds’ Algorithm 4 Reachability Problem Approach Reachability and Graphs The Algorithm 5 Conclusion ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 20
  • 30. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Reachability and Graphs The Reachability Problem in Bipartite Graphs Construction: Bipartite graph + Matching → Directed graph G = (A, B, E) + M → G = (V , E ) ´ V = V ∪ {s, t} ´ ∀ xy ∈ M , x ∈ A, y ∈ B → (x, y) ∈ E e∈M ⇒e:A→B ´ ∀ xy ∈ M , x ∈ A, y ∈ B → (y, x) ∈ E / e∈M ⇒e:B→A / ´ ∀ b ∈ B, b is exposed → add (s, b) to E ´ ∀ a ∈ A, a is exposed → add (a, t) to E A1 B1 A1 B1 =⇒ t s A2 B2 A2 B2 ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 21
  • 31. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Reachability and Graphs The Reachability Problem in Bipartite Graphs Construction: Bipartite graph + Matching → Directed graph G = (A, B, E) + M → G = (V , E ) ´ V = V ∪ {s, t} ´ ∀ xy ∈ M , x ∈ A, y ∈ B → (x, y) ∈ E e∈M ⇒e:A→B ´ ∀ xy ∈ M , x ∈ A, y ∈ B → (y, x) ∈ E / e∈M ⇒e:B→A / ´ ∀ b ∈ B, b is exposed → add (s, b) to E ´ ∀ a ∈ A, a is exposed → add (a, t) to E A1 B1 A1 B1 =⇒ t s A2 B2 A2 B2 An augmenting path in G ⇔ A simple path from s to t in G . ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 21
  • 32. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Reachability and Graphs The Reachability Problem in General Graphs Construction For each v ∈ V , we introduce two nodes vA and vB V = {vA , vB |v ∈ V } ∪ {s, t} s, t ∈ V, s = t / e ∈ M ⇒ e : A → B, e∈M ⇒e:B→A / E = {(xA , yB ), (yA , xB ) | (x, y) ∈ M } ∪ {(xB , yA ), (yB , xA ) | (x, y) ∈ M } / ∪ {(s, xB ) | x is exposed} ∪ {(xA , t) | x is exposed} t 1 2 1A 2A 3A 4A =⇒ 1B 2B 3B 4B 4 3 s ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 22
  • 33. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Reachability and Graphs The Reachability Problem in General Graphs Strongly Simple Paths A path P in G is strongly simple if: P is simple. vA ∈ P ⇒ vB ∈ P . / Theorem There is an augmenting path in G if and only if there is a strongly simple path from s to t in G . t 1 2 1A 2A 3A 4A =⇒ 1B 2B 3B 4B 4 3 s ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 23
  • 34. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Reachability and Graphs Solving the Reachability Problem Solution: A strongly simple path from s to t in G : Depth-First Search (DFS) for t starting at s. DFS finds simple paths. We need to find strongly simple paths only. We use a Modified Depth-First Search (MDFS) algorithm. Example: t 1 2 1A 2A 3A 4A =⇒ 1B 2B 3B 4B 4 3 s ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 24
  • 35. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Reachability and Graphs Solving the Reachability Problem Solution: A strongly simple path from s to t in G : Depth-First Search (DFS) for t starting at s. DFS finds simple paths. We need to find strongly simple paths only. We use a Modified Depth-First Search (MDFS) algorithm. Example: t 1 2 1A 2A 3A 4A =⇒ 1B 2B 3B 4B 4 3 s ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 24
  • 36. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Data Structures Stack K ´ TOP(K): the last vertex added to the stack K. ´ Vertices in K form the current path. ´ In each step, the MDFS algorithm considers an edge (TOP(K), v), v ∈ V . List L(vA ) ´ To get a strongly simple path, vA and vB cannot be in K simultaneously (we may ignore a vertex, temporarily). ´ List L(vA ) keeps track of such vertices. ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 25
  • 37. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm Hopcroft and Karp Algorithm for Bipartite Graphs (1973) Step 1: M ←φ Step 2: Let l(M ) be the length of a shortest augmenting path of M Find a maximal set of paths {Q1 , Q2 , . . . , Qt } such that: 2.1 For each i, Qi is an augmenting path of M , |Qi | = l(M ), Qi are vertex-disjoint. 2.2 Halt if no such paths exists. Step 3: M ← M ⊕ Q1 ⊕ Q2 ⊕ · · · ⊕ Qt ; Go to 1. Hopcroft and Karp Theorem If the cardinality of a maximum matching is s, then this algorithm √ constructs a maximum matching within 2 s + 2 executions of Step 2. √ Step 2 complexity: O(m) ⇒ Overall complexity: O( nm) ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 26
  • 38. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion The Algorithm √ An O( nm) Algorithm for General Graphs Blum describes an O(m) implementation of Step 2 for general graphs, using a Modified Breadth-First Search (MBFS). Blum’s Step 2 Algorithm: Step 1: Using MBFS, compute G Step 2: Using MDFS, compute a maximal set of strongly simple paths from s to t in G . Blum’s Theorm A maximum matching in a general graph can be found in time √ O( nm) and space O(m + n). ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 27
  • 39. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Outline 1 Introduction 2 Paths, Trees and Flowers 3 Efficient Implementation of Edmonds’ Algorithm 4 Reachability Problem Approach 5 Conclusion Summary Questions ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 28
  • 40. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Summary Summary O(n2.5 ) O(n4 ) O(n3 ) O(n2.5 ) O(n2.5 ) 1965 1976 1980 1989 1990 1991 Ed Ga M Va Bl iran Ga ica um i’s m z bo bo on li w’ w & ds s Im Va Pr pl z oo ira em f ni en t at io n ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 29
  • 41. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Summary References Jack Edmonds Paths, Trees, and Flowers Canadian Journal of Mathematics, 17:449–467, 1965. http://www.cs.berkeley.edu/~christos/classics/edmonds.ps Harold N. Gabow An Efficient Implementation of Edmonds’ Algorithm for Maximum Matching on Graphs Journal of the ACM (JACM), 23(2):221–234, 1976. Norbert Blum A New Approach to Maximum Matching in General Graphs Lecture Notes in Computer Science: Automata, Languages and Programming, 443::586–597, Springer Berlin / Heidelberg, 1990. ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 30
  • 42. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Summary Thank You Thank You! ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 31
  • 43. Introduction Paths, Trees and Flowers Efficient Implementation Reachability Approach Conclusion Questions Questions ??? ECE @ Queen’s • Fall 2008 Ahmad Khayyat Maximum Matching in General Graphs • 32