MAKSİMUM AKİŞ PROBLEMİ

Slides:



Advertisements
Benzer bir sunumlar
Yinelemeli Algoritma Analizi & Asimptotik Notasyon
Advertisements

Ayrık Yapılar Algoritma Analizi.
Algoritmalar En kısa yollar I En kısa yolların özellikleri
Mustafa Seçkin DURMUŞ Serdar İPLİKÇİ
İçerik Ön Tanımlar En Kısa Yol Problemi Yol, Cevrim(çember)
HAZıRLAYAN: YRD.DOÇ.DR.EMIN BORANDAĞ Oyun Programlama (Yol Bulma)
MIT503 Veri Yapıları ve algoritmalar En önemli graf problemleri
Yrd. Doç. Dr. Turan SET Atatürk Üniversitesi Tıp Fakültesi AD
LEKIN Ar. Gör. Pelin ALCAN.
Algoritmalar Ders 14 En Kısa Yollar II Bellman-Ford algoritması
2. BÖLÜM VEKTÖR-KUVVET Nicelik Kavramı Skaler Nicelikler
Çizge Algoritmaları.
Atama ve eşleme (eşleştirme) problemleri (Matching and Assignment problems)
GRAF TEORİSİ Ders 1 TEMEL KAVRAMLAR.
İŞLEM TANIM: A boş olmayan bir küme olmak üzere,A×A nın bir R alt kümesinden A ya tanımlanan her fonksiyona, işlem denir.İşlemi tanımlarken,’’
GRAPHS ÖZET.
Mustafa Kösem Özkan Karabacak
ÇİZGE KURAMI Yılmaz KILIÇASLAN.
Çizge Algoritmaları Ders 2.
DEVRE TEOREMLERİ.
BOŞ KÜME DENK KÜME EVRENSEL KÜME EŞİT KÜME İÇİNDEKİLER.
DOĞRUSAL EŞİTSİZLİKLER
Veri Yapıları ve Algoritmalar
Matematiksel Veri Yapıları. İçerik Matematiksel Veri Yapıları – Kümeler – Diziler – Fonksiyonlar – İkili ilişkiler Sonsuz kümeler – Sonlu nicelik – Sonsuz.
BİREYSEL YAĞMURLAMA SİSTEMLERİNİN TASARIMI
SİMPLEKS METOT Müh. Ekonomisi.
Ege ÜNİVERSİTESİ ULUSLARARASI BİLGİSAYAR ENSTİTÜSÜ AYCAN VARGÜN Prof
AB-2016 / Kablosuz Duyarga Ağlarında Yönlendirme Algoritmalarının Performans Analizi Yard. Doc Coşkun Atay Sinem Seçgin.
Hesaplama Tabloları (MS For Mac Excel -3)
OTOMOTİV YAN SANAYİ FİRMASINDA İYİLEŞTİRME
Dinamik programlama ve açgözlü yaklaşım soruları.
Bölüm10 İteratif İyileştirme Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Algoritma ve Programlama
İleri Algoritmalar 1. ders.
Algoritmalar II Ders 6 Açgözlü Algoritmalar.
0-1 Sırt Çantası Problemi
Ağırlıksız ikili eşleştirme
Algoritmalar II Ders 5 Açgözlü Algoritmalar.
OTOMOTİV YAN SANAYİ FİRMASINDA İYİLEŞTİRME
Algoritmalar II Ders 13 Çizgelerde tüm ikililer arasında en kısa yollar.
Algoritmalar II Ders 7 Açgözlü Algoritmalar.
Çizgeler Çizge G=(V,E), ikilisine denir, burada V sonlu bir kümedir, E ise bu kümenin elemanları arasında ikili bir bağıntıdır. V kümesine G çizgesinin.
Tamsayılı Doğrusal Programlama Algoritmaları
Çizge Algoritmalari 6. ders.
Algoritmalar II Ders 14 Çizgelerde tüm ikililer arasında en kısa yollar.
Maksimum akış.
Çizge gösterimleri G = (V, E) çizgesinin komşuluk listesi gösterimi
Algoritmalar II Ders 17 İteratif İyileştirme Yöntemi.
En Kısa Yol Problemleri (Shortest Path Problems)
BİREYSEL YAĞMURLAMA SİSTEMLERİNİN TASARIMI
OTOMOTİV YAN SANAYİ FİRMASINDA İYİLEŞTİRME
Ağırlıksız ikili eşleştirme
9. Ders Tüm ikililer arasında en kısa yollar
Döngüler ve Shift Register
İleri Algoritma Analizi
Algoritmalar II Ders 11 Çizgeler. Çizgelerin bilgisayarda gösterimi. BFS algoritması.
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Algoritmalar II Ders 15 En Küçük Örten Ağaçlar.
Algoritmalar II Ders 13 Çizgelerde tüm ikililer arasında en kısa yollar.
Çizge Algoritmalari 5. ders.
Çizge Algoritmalari 4. ders.
İleri Algoritmalar Ders 3.
Algoritmalar II Ders 16 Prim algoritması.
Çizge Teorisi ve Algoritmalari
İleri Algoritma Analizi
Çizge Algoritmaları 3. ders.
Algoritmalar II Ders 15 En Küçük Örten Ağaçlar.
Algoritmalar II Ders 16 Prim algoritması.
Çizge Algoritmalari 10. Ders.
10. Ders Floyd-Warshal algoritması
Sunum transkripti:

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

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

Ö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

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

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

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ış

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

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

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

Akış Özellikleri

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

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

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.

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

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)

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)

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

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

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 0 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

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

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

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 6 f(u,v) ¬ f(u,v) + cf 7 f(v,u) ¬ -f(u,v) 8 return f

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

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

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:

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

İ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:

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

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

Ç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

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