Luong Cuc Dai

Embed Size (px)

Citation preview

  • 7/31/2019 Luong Cuc Dai

    1/12

    H tn: L Quc HongLp: TinK34AMn Hc: TON RI RC

    Bi hc v nh: Bi Ton Lung Cc i

    A. M uL thuyt Th (T) l ngnh khoa hc c pht trin da t rt lu

    nhng li c nhiu ng dng hin i. Cng vi s ra i ca my tnh in t vs pht trin nhanh chng ca Tin hc,, l thuyt T ngy cng c quan tmnhiu hn. c bit l cc thut ton trn T c nhiu ng dng trong nhiulnh vc khc nhau nh: Mng my tnh, L thuyt m ha, ti u ha, vi ccbi ton c th nh Phn b lung giao thng gia cc thnh ph trong mt mnggiao thng, T vi cc trng s c gn trn cc cnh ca n c th dng

    gii quyt cc bi ton nh: Bi ton tm ng i ngn nht gia hai thnh ph,Bi ton phn nhm sinh hot chuyn cho mt nhm sinh vin,Chnh v th c th c s dng gii quyt nhiu bi ton thuc nhiu

    lnh vc khc nhau mt cch d dng v ph bin nh vy nn th nm gi mtvai tr ht sc quan trng trong cuc sng, c bit l trong lnh vc Cng nghthng tin, da vo th v cc thut ton trn th ngi ta c th xy dng lncc phn mm tin ch phc v cho nhu cu hc tp cng nh nghin cu.

    Hiu c tm quan trng trong nghnh hc ca mnh v c giao Phn bi vnh l Bi Ton Lung Cc i Trn Th, em mong mun sau khi hon thnhbi v nh ny em s khm ph c nhiu hn cc ng dng ca th trong

    vic gii quyt cc bi ton ti u trn T, c bit l Bi Ton Lung Cc i.

    B. L Thuyt C S:I. Th1. nh ngha th* nh ngha: th l mt cu trc ri rc bao gm cc cnh ni vi cc

    nh. Chng phn bit vi cc loi th khc nhau bi Kiu v S lng cnh nihai nh no ca th.V d:

    (7cm)

    * nh ngha: n th v hng G = (V,E) bao gm V l tp cc nh, v El tp cc cp khng c th t gm hai phn t khc nhau ca V gi l cc cnh.V d:

  • 7/31/2019 Luong Cuc Dai

    2/12

    * nh ngha: a th v hng G=(V,E) bao gm V l tp cc nh, v mth E m cc phn t ca n gi l cc cnh, l cc cp khng c th t ca ccnh phn bit.

    Lu : R rng mi n th l a th, nhng khng phi a th no

    cng l n th, v trong a th c th c hai hoc nhiu hn cnh ni mtcp nh no .

    V d:* nh ngha: Gi th v hng G=(V,E) bao gm mt tp khc rng V

    m cc phn t ca n gi l cc nh v mt h E m cc phn t ca n gi l cccnh, l cc cp khng c th t ca cc nh (Khng nht thit l phn bit).V d:

    * nh ngha: n th c hng G=(V,E) bao gm V l tp cc nh vE l tp cc cp c th t gm hai phn t khc nhau ca V gi l cc cung.V d:

    * nh ngha: a th c hng G=(V,E) bao gm V l tp cc dnh v El tp m cc phn t ca n gi l cc cung, l cc cp c th t cc phn tthuc V.V d:

    2. Cc thut ng cn bn* Hai nh u v v trong th (v hng) G=(V,E) c gi l lin k nu (u,v)thuc E. Nu e=(u,v) th e gi l cnh lin thuc vi cc nh u v v, cnh e cngc gi l cnh ni cc nh u v v. Cc nh u v v gi l cc im u mt cacnh e.

    V d:

    * Bc ca nh v trong th G=(V,E), k hiu l deg(v), l s cc cnh linthuc vi n, ring khuyn ti nh c tnh hai ln cho bc ca n.

    - nh v c gi l nh treo nu deg(v)=1 v gi l nh c lp nu deg(v)=0.V d:

  • 7/31/2019 Luong Cuc Dai

    3/12

    II. Bi Ton Lung Cc i:Bi ton lung cc i l mt trong s bi ton ti u trn th tm cnhng ng dng rng ri trong thc t cng nh trong nhng ng dng th vtrong l thuyt t hp. Bi ton c xut vo u nm 1950 v gn lin vitn tuooie ca cc nh ton hc Ford, Fulkerson, Goldberg, Tarjan,

    1. Lung vn ti:* nh ngha: Mng vn ti l mt th c hng, khng c khuyn v c trng

    s G=(V,E) vi V={v0, v1, ..., vn} tho mn:(1) Mi cung e E c trng s m(e) l mt s nguyn khng m v c

    Ci l kh nng thng qua ca cung e.(2) C mt v ch mt nh v0 khng c cung i vo, tc l degt(v0)=0. nh

    v0 c gi l li vo hay nh pht ca mng.(3) C mt v ch mt nh vn khng c cung i ra, tc l dego(vn)=0. nh vn

    c gi l li ra hay nh thu ca mng.* nh ngha: nh lng khai thc, tc l xc nh lng vt cht chuyn qua

    mng vn ti G=(V,E), ngi ta a ra khi nim lung vn ti v n c nhngha nh sau.

    Hm xc nh trn tp cung E v nhn gi tr nguyn c gi l lungvn ti ca mng vn ti G nu tho mn:

    (1) (e) 0, e E.

    (2) )()(

    ve

    e= + )(

    )(ve

    e, v V, v v0, v vn. y, (v)={eE | e c nh

    cui l v}, + (v)={eE | e c nh u l v}.(3) (e) m(e), e E.

    Ta xem (e) nh l lng hng chuyn trn cung e=(u,v) t nh u n nhv v khng vt qu kh nng thng qua ca cung ny. Ngoi ra, t iu kin 2) tathy rng nu v khng phi l li vo v0 hay li ra vn, th lng hng chuyn ti v

    bng lng hng chuyn khi v.T quan h 2) suy ra:

    (4) + )( 0)(

    ve

    e= )(

    )(

    nve

    e=: nv .

    i lng nv (ta cn k hiu l n ) c gi l lung qua mng, hay

    cng lung ti im vn hay gi tr ca lung . Bi ton t ra y l tm

    n

    v t gi tr ln nht, tc l tm gi tr ln nht ca lung.

    * nh ngha: Cho mng vn ti G=(V,E) v A V. K hiu (A)={(u,v)E | vA, uA}, + (A)={(u,v)E | uA, vA}.

    i vi tp cung M tu , i lng (M)= Me

    e)(c gi l lung ca

    tp cung M.T iu kin 2) d dng suy ra h qu sau.

  • 7/31/2019 Luong Cuc Dai

    4/12

    * H qu: Cho l lung ca mng vn ti G=(V,E) v A V \{v0,vn}. Khi : ( (A))= ( + (A)).

    2. Bi ton lung cc i:Cho mng vn ti G=(V,E). Hy tm lung t nv max trn mng G.

    Nguyn l ca cc thut ton gii bi ton tm lung cc i l nh sau.* nh ngha:: Cho A V l tp con tu khng cha li vo v0 v cha li ra vn.Tp (A) c gi l mt thit din ca mng vn ti G.

    i lng m( (A))= )()(

    Ae

    emc gi l kh nng thng qua ca thit

    din (A).T nh ngha thit din v kh nng thng qua ca n ta nhn thy rng:

    mi n v hng ho c chuyn t v0 n vn t nht cng phi mt ln qua mtcung no ca thit din (A). V vy, d lung v thit din (A) nh th

    no i na cng vn tho mn quan h: n m( (A)).

    Do , nu i vi lung v thit din W m c: n = m(W)

    th chc chn rng lung t gi tr ln nht v thit din W c kh nng thngqua nh nht.

    * nh ngha: Cung e trong mng vn ti G vi lung vn ti c goi l cungbo ho nu (e)=m(e).

    Lung ca mng vn ti G c gi l lung y nu mi ng i t v0n vn u cha t nht mt cung bo ho.

    T nh ngha trn ta thy rng, nu lung trong mng vn ti G cha yth nht nh tm c ng i t li vo v0 n li ra vn khng cha cung bo

    ho. Khi ta nng lung thnh nh sau:

    +=

    .)(

    ,1)()('

    ekhie

    ekhiee

    Khi cng l mt lung, m gi tr ca n l:n = n +1 > n.

    Nh vy, i vi mi lung khng y ta c th nng gi tr ca n v nngcho ti khi nhn c mt lung y.

    Tuy vy, thc t cho thy rng c th c mt lung y, nhng vn cha tti gi tr cc i. Bi vy, cn phi dng thut ton Ford-Fulkerson tm gi trcc i ca lung.

    C. Phn tch thit k Thut Ton v Chng Trnh

    I. Thut ton Ford-Fulkerson:

  • 7/31/2019 Luong Cuc Dai

    5/12

    tm lung cc i ca mng vn ti G, ta xut pht t lung tu caG, ri nng lung ln y, sau p dng thut ton Ford-Fulkerson hoc ta c th

    p dng thut ton Ford-Fulkerson trc tip i vi lung .Thut ton gm 3 bc:

    Bc 1 (nh du nh ca mng): Li vo v0 c nh du bng 0.1) Nu nh vi c nh du th ta dng ch s +i nh du cho mi nh y

    cha c nh du m (vi,y)E v cung ny cha bo ho ( (vi,y)0).Nu vi phng php ny ta nh du c ti li ra vn th trong G tn ti

    gia v0 v vn mt xch , mi nh u khc nhau v c nh du theo ch s canh lin trc n (ch sai khc nhau v du). Khi chc chn ta nng c gi tr

    ca lung.Bc 2 (nng gi tr ca lung): nng gi tr ca lung , ta t:

    (e) = (e), nu e,(e) = (e)+1, nu e c nh hng theo chiu ca xch i t vo n vn, (e) = (e)1, nu e c nh hng ngc vi chiu ca xch i t vo n

    vn.

    tho mn cc iu kin v lung, nn l mt lung v ta c:n = n+1.

    Nh vy, ta nng c lung ln mt n v.Sau lp li mt vng mi. V kh nng thng qua ca cc cung u hu

    hn, nn qu trnh phi dng li sau mt s hu hn bc.Bc 3: Nu vi lung 0 bng phng php trn ta khng th nng gi tr ca

    lung ln na, ngha l ta khng th nh du c nh v n, th ta ni rng qu trnh

    nng lung kt thc v 0

    t gi tr cc i, ng thi gi 0

    l lung kt thc.Khi mng vn ti G=(V,E) t ti lung 0, th bc tip theo ta khng thnh du c ti li ra vn. Trn c s hin trng c nh du ti bc ny, ta s

    chng minh rng lung 0 t c gi tr cc i.

    ------------------------------------------------------------------

    y vj

    z

    vn

    vi

    v0

    0

    e +i -j

  • 7/31/2019 Luong Cuc Dai

    6/12

    Procedure Max_Flow;(* Thut ton Ford Fulkerson *)begin

    (* Khi to: Bt u t lung vi gi tr 0 *)

    for u V dofor v V do f(u,v):=0;

    Stop:=false;While not Stop doif< Tm c ng tng lung P> then else Stop:= true;

    end;S thut ton Ford-Fullkerson tng qut

    False

    True

    False

    True

    Begin

    Mng vi lung zero

    Stop:= False

    not Stop Find_Path Path-Found

    Tng lung

    Stop:= False

    Mng vi lungcc i

    End

  • 7/31/2019 Luong Cuc Dai

    7/12

    S thut ton Find_Path (Chi tit) { Tr v TRUE nu c ng tng lung }

    False

    False

    True

    False

    True

    False

    True

    C[u,v] >0 and(F[u,v]0 and

    F[v,u]>0

    P[v]:= -u; [v]:= min{[u],F[v,u]}V

    T:= V

    T {v}

    End

  • 7/31/2019 Luong Cuc Dai

    8/12

    False

    End

    PathFound:= False

    True

    v= t End

  • 7/31/2019 Luong Cuc Dai

    9/12

  • 7/31/2019 Luong Cuc Dai

    10/12

    Hai th tc Tm ng tng lung v Tng lung c th m t bi chng

    trnh nh sau.

    Procedure Find_Path;(* th tc gn nhn tm ng tng lung

    p[v], [v] l nhn ca nh v;VT danh sch cc nh nhng cha xt;c[u,v]- kh nng thng qua ca cung (u,v),u,v V;f[u,v]- lung trn cung (u,v),(u,v V ) *)

    beginp[s]:=s;

    [s]:= +;VT= V\{s};PathFound:=true;While VT doBegin

    u0) and (f[u,v]< c[u,v]) thenbegin

    p[v]:= u; [v]:= min { [u],c[u,v] f[u,v]};

    VT = VT {v}; (* Np v vo danh sch nh c nhn *)If v=t then exit;

    end;if (c[v,u]>0) and (f[v,u]>0) thenbegin

  • 7/31/2019 Luong Cuc Dai

    11/12

  • 7/31/2019 Luong Cuc Dai

    12/12