Эффективные алгоритмы, осень 2007: Максимальное паросочетание

  • View
    107

  • Download
    5

Embed Size (px)

Transcript

  • / 20:

    .

    Computer Science http://logic.pdmi.ras.ru/infclub/

    . (CS ) 20. 1 / 32

    http://logic.pdmi.ras.ru/~infclub/

  • 1

    2

    3

    4

    . (CS ) 20. 2 / 32

  • 1

    2

    3

    4

    . (CS ) 20. 2 / 32

  • 1

    2

    3

    4

    . (CS ) 20. 2 / 32

  • 1

    2

    3

    4

    . (CS ) 20. 2 / 32

  • 1

    2

    3

    4

    . (CS ) 20. 3 / 32

  • (matching) , . (matching problem) .

    . (CS ) 20. 4 / 32

  • (matching) , .

    (matching problem) .

    . (CS ) 20. 4 / 32

  • (matching) , . (matching problem) .

    . (CS ) 20. 4 / 32

  • . (CS ) 20. 5 / 32

  • 1

    2

    3

    4

    . (CS ) 20. 6 / 32

  • M (freew.r.t. a matching M), M. M(alternating w.r.t. M), M M. M (augmentingw.r.t. M), .

    . (CS ) 20. 7 / 32

  • M (freew.r.t. a matching M), M.

    M(alternating w.r.t. M), M M. M (augmentingw.r.t. M), .

    . (CS ) 20. 7 / 32

  • M (freew.r.t. a matching M), M. M(alternating w.r.t. M), M M.

    M (augmentingw.r.t. M), .

    . (CS ) 20. 7 / 32

  • M (freew.r.t. a matching M), M. M(alternating w.r.t. M), M M. M (augmentingw.r.t. M), .

    . (CS ) 20. 7 / 32

  • . (CS ) 20. 8 / 32

  • . (CS ) 20. 8 / 32

  • M , M.

    P , M P

    ( , ) , |M P| = |M|+ 1.

    I M,N ,.

    I D = M N.I D 2.I , D .

    . (CS ) 20. 9 / 32

  • M , M.

    P , M P

    ( , ) , |M P| = |M|+ 1.

    I M,N ,.

    I D = M N.I D 2.I , D .

    . (CS ) 20. 9 / 32

  • M , M.

    P , M P

    ( , ) , |M P| = |M|+ 1.

    I M,N ,.

    I D = M N.I D 2.I , D .

    . (CS ) 20. 9 / 32

  • M , M.

    P , M P

    ( , ) , |M P| = |M|+ 1.

    I M,N ,.

    I D = M N.

    I D 2.I , D .

    . (CS ) 20. 9 / 32

  • M , M.

    P , M P

    ( , ) , |M P| = |M|+ 1.

    I M,N ,.

    I D = M N.I D 2.

    I , D .

    . (CS ) 20. 9 / 32

  • M , M.

    P , M P

    ( , ) , |M P| = |M|+ 1.

    I M,N ,.

    I D = M N.I D 2.I , D .

    . (CS ) 20. 9 / 32

  • N, M. :

    , N:

    , M:

    , :

    :

    . (CS ) 20. 10 / 32

  • N, M. :

    , N:

    , M:

    , :

    :

    . (CS ) 20. 10 / 32

  • N, M. :

    , N:

    , M:

    , :

    :

    . (CS ) 20. 10 / 32

  • N, M. :

    , N:

    , M:

    , :

    :

    . (CS ) 20. 10 / 32

  • N, M. :

    , N:

    , M:

    , :

    :

    . (CS ) 20. 10 / 32

  • |N| > |M|, , , N, , , M. , N. M.

    . (CS ) 20. 11 / 32

  • |N| > |M|, , , N, , , M.

    , N. M.

    . (CS ) 20. 11 / 32

  • |N| > |M|, , , N, , , M. , N.

    M.

    . (CS ) 20. 11 / 32

  • |N| > |M|, , , N, , , M. , N. M.

    . (CS ) 20. 11 / 32

  • Maximum-Matching(G )1 M 2 repeat3 if P M4 then M M P5 else return M

    . (CS ) 20. 12 / 32

  • 1

    2

    3

    4

    . (CS ) 20. 13 / 32

  • , () V1 V2, . . .

    . (CS ) 20. 14 / 32

  • , () V1 V2, .

    . .

    . (CS ) 20. 14 / 32

  • , () V1 V2, . .

    .

    . (CS ) 20. 14 / 32

  • , () V1 V2, . . .

    . (CS ) 20. 14 / 32

  • (perfect), .

    V1,V2 , |V1| = |V2| (U V1)|N(U)| |U| (N(U) U).

    . (CS ) 20. 15 / 32

  • (perfect), .

    V1,V2 , |V1| = |V2| (U V1)|N(U)| |U| (N(U) U).

    . (CS ) 20. 15 / 32

  • , . V1. i- Li V1, V2, Li . Li V2, V1, Li . , V2, . V2 , .

    . (CS ) 20. 16 / 32

  • , .

    V1. i- Li V1, V2, Li . Li V2, V1, Li . , V2, . V2 , .

    . (CS ) 20. 16 / 32

  • , . V1.

    i- Li V1, V2, Li . Li V2, V1, Li . , V2, . V2 , .

    . (CS ) 20. 16 / 32

  • , . V1. i- Li V1, V2, Li .

    Li V2, V1, Li . , V2, . V2 , .

    . (CS ) 20. 16 / 32

  • , . V1. i- Li V1, V2, Li . Li V2, V1, Li .

    , V2, . V2 , .

    . (CS ) 20. 16 / 32

  • , . V1. i- Li V1, V2, Li . Li V2, V1, Li . , V2, . V2 , .

    . (CS ) 20. 16 / 32

  • 1

    2

    3

    4

    5

    6

    A

    B

    C

    D

    E

    . (CS ) 20. 17 / 32

  • 1

    2

    3

    4

    5

    6

    A

    B

    C

    D

    E

    1

    5

    2

    C

    D

    6

    3

    A

    B

    E

    . (CS ) 20. 17 / 32

  • 1

    2

    3

    4

    5

    6

    A

    B

    C

    D

    E

    1

    5

    2

    C

    D

    6

    3

    A

    B

    E

    . (CS ) 20. 17 / 32

  • 1

    2

    3

    4

    5

    6

    A

    B

    C

    D

    E

    . (CS ) 20. 17 / 32

  • 1

    2

    3

    4

    5

    6

    A

    B

    C

    D

    E

    2

    5

    D

    C

    3

    1

    . (CS ) 20. 17 / 32

  • 1

    2

    3

    4

    5

    6

    A

    B

    C

    D

    E

    {4, 6,C ,D} .

    . (CS ) 20. 18 / 32

  • .

    , . X , M. :

    1 , V1.

    2 , V2.

    3 .

    . (CS ) 20. 19 / 32

  • .

    , . X , M. :

    1 , V1.

    2 , V2.

    3 .

    . (CS ) 20. 19 / 32

  • .

    , .

    X , M. :

    1 , V1.

    2 , V2.

    3 .

    . (CS ) 20. 19 / 32

  • .

    , . X , M.

    :1 , V1.

    2 , V2.

    3 .

    . (CS ) 20. 19 / 32

  • .

    , . X , M. :

    1 , V1.

    2 , V2.

    3 .

    . (CS ) 20. 19 / 32

  • .

    , . X , M. :

    1 , V1.

    2 , V2.

    3 .

    . (CS ) 20. 19 / 32

  • .

    , . X , M. :

    1 , V1.

    2 , V2.

    3 .

    . (CS ) 20. 19 / 32

  • .

    , . X , M. :

    1 , V1.

    2 , V2.

    3 .

    . (CS ) 20. 19 / 32

  • ()

    , . M, . V2 V1 . , X X M. , |M| |X |.

    . (CS ) 20. 20 / 32

  • ()

    , .

    M, . V2 V1 . , X X M. , |M| |X |.

    . (CS ) 20. 20 / 32

  • ()

    , . M, .

    V2 V1 . , X X M. , |M| |X |.

    . (CS ) 20. 20 / 32

  • ()

    , . M, . V2 V1 .

    , X X M. , |M| |X |.

    . (CS ) 20. 20 / 32

  • ()

    , . M, . V2 V1 . , X X M.

    , |M| |X |.

    . (CS ) 20. 20 / 32

  • ()

    , . M, . V2 V1 . , X X M. , |M| |X |.

    . (CS ) 20. 20 / 32

  • 1

    2

    3

    4

    . (CS ) 20. 21 / 32

  • ...

    M (blossom w.r.t. M) r M r + 1 M. (blossom base) , . (shrunken blossom) , .

    . (CS ) 20. 22 / 32

  • ...

    M (blossom w.r.t. M) r M r + 1 M.

    (blossom base) , . (shrunken blossom) , .

    . (CS ) 20. 22 / 32

  • ...

    M (blossom w.r.t. M) r M r + 1 M. (blossom base) , .

    (shrunken blossom) , .

    . (CS ) 20. 22 / 32

  • ...

    M (blossom w.r.t. M) r M r + 1 M. (blossom base) , . (shrunken blossom) , .

    . (CS ) 20. 22 / 32

  • S

    A

    B

    C

    D

    E

    F F

    H

    J

    I

    S

    A

    B

    C

    D

    J

    I

    . (CS ) 20. 23 / 32

  • M G , B G . , M. G M G M B . M G , M G .

Recommended

View more >