algor ford fulkerson

Upload: mziou-hammadi

Post on 09-Apr-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/8/2019 Algor Ford Fulkerson

    1/6

    Application de lalgorithme de FORD-FULKERSON

    Soit le graphe orient et valu suivant :

    Valuation

    =

    =

    =

    )(

    0

    compteenprisnoncotd

    capacitc

    b

    Chercher le flot complet du rseau.

    a

    7

    Capacit

    b

    c

    dS P

    e

    10

    8

    3

    3

    8

    4

    2

    3 4

    7

    64

    a()

    7

    Capacit

    b()

    c()

    d()

    S()

    P()

    e()

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [0]

    [0]

    [0]

    [0]

    [0][0]

    [0]

    [0][0]

    [0][0]

    [0]

    [0]

    Flot nul

    a(+S)

    7

    Capacit

    b(+S)

    c(+a)

    d(+a)

    S(+)

    P(+c)

    e(+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [0]

    [0]

    [0]

    [0]

    [0][0]

    [0]

    [0][0]

    [0][0]

    [0]

    [0]

    Premier marquage :

    Lordre dans lequel on traite les sommets marqus est une file :

    S, a, b, c, d, e, P

    a(+S)

    7

    Capacit

    b(+S)

    c(+a)

    d(+a)

    S(+)

    P(+c)

    e

    (+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [0]

    [0]

    [0]

    [0]

    [0][0]

    [0]

    [0][0]

    [0][0]

    [0]

    [0]

    Augmentation possible du flot dans la chane amliorante :

    a7

    cS P8 4

    La capacit minimale de la chane : 4

    On va donc augmenter le flot sur cette chane, au maximum, cad

    jusqu la capacit minimale de la chane.

  • 8/8/2019 Algor Ford Fulkerson

    2/6

    a(+S)

    7

    Capacit

    b(+S)

    c(+a)

    d(+a)S(+) P(+c)

    e(+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [0]

    [4]

    [4]

    [0]

    [0][0]

    [0]

    [0][0]

    [0][4]

    [0]

    [0]

    Le flot sur cette chane est maintenant :

    4/ 11 =vf

    On remarque que le flot est complet dans Pc , cet arc est satur.

    a()

    7

    Capacit

    b()

    c()

    d()

    S()

    P()

    e()

    10

    8

    3

    3

    8

    4

    2

    34

    7

    64

    [] Flot

    () Marquage

    [0]

    [4]

    [4]

    [0]

    [0]

    [0]

    [0]

    [0][0]

    [0][4]

    [0]

    [0]

    Nouveau marquage :

    Lordre dans lequel on traite les sommets marqus est une file :

    S, a, b, c, d, e, P

    a(+S)

    7

    Capacit

    b(+S)

    c(+a)

    d(+a)

    S(+)

    P(+d)

    e(+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [0]

    [4]

    [4]

    [0]

    [0][0]

    [0]

    [0][0]

    [0]

    [4]

    [0]

    [0]

    Augmentation possible du flot dans la chane amliorante :

    a3

    dS P4 7

    La capacit minimale de la chane : 3

    On va donc augmenter le flot sur cette chane, au maximum, cad

    jusqu la capacit minimale de la chane.

    a(+S)

    7

    Capacit

    b(+S)

    c(+a)

    d(+a)

    S(+)

    P(+d)

    e(+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [0]

    [4+3]

    [4]

    [3][0]

    [0]

    [0]

    [0][0]

    [0][4]

    [3]

    [0]

    Le flot sur cette chane est maintenant :

    3/ 22 =vf

    On remarque que le flot est complet dans aS , cet arc est satur.

  • 8/8/2019 Algor Ford Fulkerson

    3/6

    a()

    7

    Capacit

    b(+S)

    c()

    d()S(+) P()

    e()

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [0]

    [7]

    [4]

    [3]

    [0][0]

    [0]

    [0][0]

    [0][4]

    [3]

    [0]

    Nouveau marquage :

    Le sommet a nest pas marquable depuis S car il est satur.

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+b)

    S(+)

    P()

    e(+b)

    10

    8

    3

    3

    8

    4

    2

    34

    7

    64

    [] Flot

    () Marquage

    [0]

    [7]

    [4]

    [3]

    [0]

    [0]

    [0]

    [0][0]

    [0][4]

    [3]

    [0]

    On continue le marquage :

    Le sommet b trait, on traite c.

    Or on a 0),( >caf , on note donc le sommetapar )( c .

    Ensuite on a Pc satur, on ne peut donc pas encore marquer P.

    Les autres sommets encadrants c sont dj marqus (b et d), on

    passe donc au suivant.

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+b)

    S(+)

    P(+d)

    e(+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [0]

    [7]

    [4]

    [3]

    [0][0]

    [0]

    [0][0]

    [0]

    [4]

    [3]

    [0]

    On continue le marquage :

    On traite d.

    on a ),(),( PdcPdf < , on note donc le sommet Ppar )( d+ .

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+b)

    S(+)

    P(+d)

    e(+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [0]

    [7]

    [4]

    [3][0]

    [0]

    [0]

    [0][0]

    [0][4]

    [3]

    [0]

    Augmentation possible du flot dans la chane amliorante :

    b10

    dS P3 4

    La capacit minimale de la chane : 3

    On va donc augmenter le flot sur cette chane, au maximum, cad

    jusqu la capacit minimale de la chane.

  • 8/8/2019 Algor Ford Fulkerson

    4/6

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+b)S(+) P(+d)

    e(+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [3]

    [7]

    [4]

    [3]

    [0][0]

    [3]

    [0][0]

    [0][4]

    [3+3]

    [0]

    Le flot sur cette chane est maintenant :

    3/ 33 =vf

    On remarque que le flot est complet dans db , cet arc est satur.

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+b)

    S(+)

    P(+e)

    e(+b)

    10

    8

    3

    3

    8

    4

    2

    34

    7

    64

    [] Flot

    () Marquage

    [3]

    [7]

    [4]

    [3]

    [0]

    [0]

    [3]

    [0][0]

    [0][4]

    [6]

    [0]

    Nouveau marquage

    Lordre dans lequel on traite les sommets marqus est une file :

    S, b, c, e, a, d, P

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+b)

    S(+)

    P(+e)

    e(+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [3]

    [7]

    [4]

    [3]

    [0][0]

    [3]

    [0][0]

    [0]

    [4]

    [6]

    [0]

    Augmentation possible du flot dans la chane amliorante :

    b7

    eS P3 6

    La capacit minimale de la chane : 3

    On va donc augmenter le flot sur cette chane, au maximum, cad

    jusqu la capacit minimale de la chane.

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+b)

    S(+)

    P(+e)

    e(+b)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [3+3]

    [7]

    [4]

    [3][0]

    [0]

    [3]

    [3][0]

    [0][4]

    [6]

    [3]

    Le flot sur cette chane est maintenant :

    3/ 44 =vf

    On remarque que le flot est complet dans eb , cet arc est satur.

  • 8/8/2019 Algor Ford Fulkerson

    5/6

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+c)S(+) P(+d)

    e(+d)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [6]

    [7]

    [4]

    [3]

    [0][0]

    [3]

    [3][0]

    [0][4]

    [6]

    [3]

    Nouveau marquage :

    Lordre dans lequel on traite les sommets marqus est une file :

    S, b, c, d, a, P, e

    Augmentation possible du flot dans la chane amliorante :

    d1

    b4

    cS P2 3

    La capacit minimale de la chane : 1

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+c)

    S(+)

    P(+d)

    e(+d)

    10

    8

    3

    3

    8

    4

    2

    34

    7

    64

    [] Flot

    () Marquage

    [6+1]

    [7]

    [4]

    [3]

    [0]

    [1]

    [3]

    [3][0]

    [1][4]

    [6+1]

    [3]

    Le flot sur cette chane est maintenant :

    1/ 55 =vf

    On remarque que le flot est complet dans Pd , cet arc est satur.

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+c)

    S(+)

    P(+e)

    e(+d)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [7]

    [7]

    [4]

    [3]

    [0][1]

    [3]

    [3][0]

    [1]

    [4]

    [7]

    [3]

    Nouveau marquage :

    Lordre dans lequel on traite les sommets marqus est une file :

    S, b, c, d, a, e, P

    Augmentation possible du flot dans la chane amliorante :

    d4

    b3

    cS e1 2 3

    P

    La capacit minimale de la chane : 1

    a(-c)

    7

    Capacit

    b(+S)

    c(+b)

    d(+c)

    S(+)

    P(+e)

    e(+d)

    10

    8

    3

    3

    8

    4

    23

    4

    7

    64

    [] Flot

    () Marquage

    [7+1]

    [7]

    [4]

    [3][0]

    [1+1]

    [3]

    [3][1]

    [1+1][4]

    [7]

    [3+1]

    Le flot sur cette chane est maintenant :

    1/ 66 =vf

    On remarque que le flot est complet dans cb , cet arc est satur.

  • 8/8/2019 Algor Ford Fulkerson

    6/6

    a()

    7

    Capacit

    b(+S)

    c()

    d()

    S(+)

    P()

    e()

    10

    8

    3

    3

    8

    4

    2

    34

    7

    64

    [] Flot

    () Marquage

    [8]

    [7]

    [4]

    [3]

    [0][2]

    [3]

    [3][1]

    [2][4]

    [7]

    [4]

    A

    Nouveau marquage :

    On traite S, on marque b.

    On traite b : aucun sommet nest marquable.

    On na plus aucun sommet traiter.

    On constate que P nest pas marqu, donc on a atteint le flot comple

    du graphe.

    15/)( = vPSf

    On note : { }bSA ,= et AXA =