Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

MAKSİMUM AKİŞ PROBLEMİ

Benzer bir sunumlar


... konulu sunumlar: "MAKSİMUM AKİŞ PROBLEMİ"— Sunum transkripti:

1 MAKSİMUM AKİŞ PROBLEMİ
CLRS 26. Bölüm

2 Akış tanımları Kaynak köşe s Hedef köşe t Diğer tüm köşeler
Ürünün üretildiği yer Hedef köşe t Ürünün gönderileceği yer Diğer tüm köşeler Kaynaktan hedefe giderken ara duraklar Amaç: kaynaktan hedefe maksimum sayıda ürün taşımak

3 Örnek Örnek: Petrol akışı Model Yönlü çizge G=(V,E) Kaynak Hedef v1 v3
S S t t v2 v4 Kaynak v2 v4 Hedef

4 Kapasite Büyük boru Küçük boru c(u,v)=12 c(u,v)=6 8 3 6 S t v1 v2 v3

5 Kapasite Eğer (u,v)  E  c(u,v) = 0 3 v1 v3 v1 v3 6 8 3 S S t t 3 6 8
v4 v3

6 Akış Kapasiteden az akış Bu boru için maksimum akış f(u,v)=6 8 3 6 S t
6/12 u v f(u,v)=6 Kapasiteden az akış 6/6 u v Bu boru için maksimum akış

7 Akış 8 3 6 6/8 6/6 S t v1 v2 v3 v4 v1 v3 S t v2 v4

8 Akış 3/8 3/3 3/6 6/8 6/6 3 S t v1 v2 v3 v4 v1 v3 S t v2 v4

9 Akış 5/8 3/3 3/6 8/8 6/6 2/3 3 S t v1 v2 v3 v4 v1 v3 S t v2 v4

10 Akış Özellikleri

11 Flow properties 12/12 11/16 15/20 10 1/4 7/7 4/9 4/4 8/13 11/14 v1 v3

12 Net Akış u u f(u,v) = 5 f(v,u) = -5 8/10 3/4 5/10 4 v v

13 Maksimum akış problemi
Verilen ağırlıklı yönlü G çizgesinde kaynak köşeden hedef köşeye maksimum akışı bulmaktır. Ağırlıklar kapasiteleri göstermektedir.

14 Ford-Fulkerson Algoritması
2 önemli kavram içeriyor:        1) kalan ağ     2) büyüyen yol     

15 Kalan Ağ G çizgesinde f akışına göre kalan ağ Gf aşağıdaki gibi tanımlanıyor: Kalan ağın her kirişinin kapasitesi cf(u,v) = c(u,v) – f(u,v) formülü ile belirleniyor. Akış çizgesi G = (V,E) Kalan ağ Gf = (V,Ef) 12/12 v1 v3 v1 v3 5 11 11/16 15/20 10 1/4 7/7 S t S t 4/9 8 5 4/4 8/13 v2 v4 v2 v4 11/14 cf(u,v) = c(u,v) – f(u,v)

16 Ford Fulkerson – Kalan Ağ
Akış çizgesi G = (V,E) Kalan Ağ Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 5 15/20 11 4 10 1/4 7/7 11 3 7 15 S t S t 4/9 5 5 4/4 4 8/13 8 3 v2 v4 v2 v4 11/14 11 cf(u,v) = c(u,v) – f(u,v)

17 Ford Fulkerson –Büyüyen yol
Definition: Gf kalan ağında kaynak köşe s den hedef köşe t ye olan yol p yolunun kapasitesi aşağıdaki formülle hesaplanır: cf(p) = min{cf (u,v): (u,v) p yolunda ise} Akış çizgesi G = (V,E) Kalan ağ Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 5 15/20 11 4 10 1/4 7/7 11 3 7 15 S t S t 4/9 5 5 4/4 4 8/13 8 3 v2 v4 v2 v4 11/14 11

18 Ford Fulkerson-Büyüyen yol
Akış çizgesi G = (V,E) Kalan Ağ Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 5 15/20 11 4 10 1/4 7/7 11 3 7 15 S t S t 4/9 5 5 4/4 4 8/13 v2 v4 8 3 v2 v4 11/14 11 Büyüyen yol

19 Ford Fulkerson – Büyüyen yol
p yolunda akış fp: V x V  R aşağıdaki gibidir: cf(p) eğer (u,v) p de ise fp(u,v) = cf(p) eğer (v,u) p de ise aksi durumda Flow network G = (V,E) residual network Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 5 15/20 11 4 10 1/4 7/7 11 3 7 15 S t S t 4/9 5 5 4/4 4 8/13 v2 v4 8 3 v2 v4 11/14 11

20 Ford Fulkerson – Büyüyen yol
Akış çizgesi G = (V,E) Kalan ağ Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 4/5 15/20 11 4/4 10 1/4 7/7 11 3 7 -4/15 S t S t 4/9 -4/5 4/5 4/4 4 8/13 v2 v4 -4/8 3 v2 v4 11/14 11

21 Ford Fulkerson –Büyüyen yol
Akış çizgesi G = (V,E) Kalan Ağ Gf = (V,Ef) 12/12 12 v1 v3 v1 v3 5 11/16 4/5 19/20 11 4/4 10 1/4 7/7 11 3 7 15 S t S t 0/9 5 4/5 4/4 4 12/13 8 3 v2 v4 v2 v4 11/14 11 Yeni akış: f´: V x V  R : f´=f + fp

22 The Ford-Fulkerson Algoritması
Ford-Fulkerson(G,s,t) 1 for each edge (u,v) in G.E do 2 f(u,v) ¬ f(v,u) ¬ 0 3 while there exists a path p from s to t in residual network Gf do 4 cf = min{cf(u,v): (u,v) is in p} 5 for each edge (u,v) in p do f(u,v) ¬ f(u,v) + cf f(v,u) ¬ -f(u,v) 8 return f

23 Execution of Ford-Fulkerson (1)
Left Side = Residual Graph Right Side = Augmented Flow

24 Execution of Ford-Fulkerson (2)
Left Side = Residual Graph Right Side = Augmented Flow

25 En kötü durum En kötü durumda işlem süresi O(E|f*|), burada f* maksimum akış değeridir. En kötü durum için örnek:

26 Uygulama-Eşleştirme problemi
Örnek– n erkek ve m kadın veriliyor Her biri kimlerle evlenebileceğini belirtiyor (karşılıklı olarak) Örneğin, (A, X) veya (B, X) … Problem: Maksimum sayıda evlilik yapılmasını sağlamak Bir kişi sadece bir kişi ile evlenebilir Problem maksimum akış problemine dönüştürülerek çözülebilir

27 İki kümeli çizge G=(V,E) çizgesinde V kümesi birbiri ile kesişmeyen ve boş olmayan V1 ve V2 kümelerine öyle ayrılabiliyor ki (u,v)  E ise u  V1 ve v  V2 veya tersi olur. Örnek:

28 Eşleştirme problemi A A A X X X B B B Y Y Y C C C Z Z Z D D D Erkekler
Kadınlar Eşleştirme Maksimum eşleştirme

29 MAKSİMUM AKIŞ PROBLEMİNE DÖNÜŞTÜRME
Sanal başlangıç, sanal hedef ekleyelim ve tüm kapasiteleri 1 alalım (her kişi sadece 1 kişi ile evlenebilir) A A X X B B t Y s Y C C Z Z D D

30 Çok kaynaklı ve Çok hedefli taşıma
Verilen: yönlü çizge G=(V, E) Kaynak Si köşeleri ve üretim kapasiteleri si, i=1,…,p Hedef Di köşeleri ve kapasiteleri di, i=1,…,q Ara duraklar için kapasite fonksiyonu u: E  R Amaç: Kaynaklardan hedeflere maksimum akışı sağlamak Örnek.: 11 2 19 4 5 15 9 17 A D1 B C S1 D2 S2 8 16

31 Dönüştürme Sanal başlangıç O olsun. OSi kirişinin kapasitesi si olsun . Sanal hedef T ve Di  T kirişinin kapasitesi di olsun. 2 19 4 5 15 9 17 11 A D1 B C S1 D2 S2 17 11 T O 16 8 8 16


"MAKSİMUM AKİŞ PROBLEMİ" indir ppt

Benzer bir sunumlar


Google Reklamları