Algoritmalar II Ders 17 İteratif İyileştirme Yöntemi.

Slides:



Advertisements
Benzer bir sunumlar
Algoritmalar En kısa yollar I En kısa yolların özellikleri
Advertisements

MIT503 Veri Yapıları ve algoritmalar En önemli graf problemleri
Lokal Arama Algoritmaları
Algoritmalar Ders 14 En Kısa Yollar II Bellman-Ford algoritması
İŞ SIRALAMA VE ÇİZELGELEME DERS 4
Bölüm 3 – Yapısal Programlama
Çizge Algoritmaları.
Atama ve eşleme (eşleştirme) problemleri (Matching and Assignment problems)
İŞ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.
İŞ SIRALAMA VE ÇİZELGELEME DERS 5
Çizge Algoritmaları Ders 2.
DEVRE TEOREMLERİ.
COSTUMES KILIKLAR (KOSTÜMLER)
Veri Yapıları ve Algoritmalar
Statistics, Data, and Statistical Thinking
AVL Trees / Slide 1 Silme * Anahtar hedefi silmek için, x yaprağında buluruz ve sonra sileriz. * Dikkat edilmesi gereken iki durum vardır. (1) Hedef bazi.
Copyright © 2013 Pearson Education, Inc.. All rights reserved.
Copyright © 2013 Pearson Education, Inc.. All rights reserved.
Bölüm10 İteratif İyileştirme Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
GREETING MANNERS AND POLITE WORDS EMLAK KREDİ BANKASI İLKÖĞRETİM OKULU İstanbul(Bakırköy) SELAMLAMA VE KİBAR SÖZLER.
İleri Algoritmalar 1. ders.
Algoritmalar II Ders 6 Açgözlü Algoritmalar.
0-1 Sırt Çantası Problemi
Algoritmalar II Ders 2 Dinamik Programlama Yöntemi.
Ağırlıksız ikili eşleştirme
Algoritmalar II Ders 5 Açgözlü Algoritmalar.
Paralel Programlamaya Giriş
Algoritmalar II Ders 13 Çizgelerde tüm ikililer arasında en kısa yollar.
Algoritmalar II Ders 7 Açgözlü Algoritmalar.
Algoritmalar II Ders 4 Dinamik Programlama Yöntemi.
Ç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ı
Algoritmalar II Ders 14 Çizgelerde tüm ikililer arasında en kısa yollar.
Maksimum akış.
MAKSİMUM AKİŞ PROBLEMİ
En Kısa Yol Problemleri (Shortest Path Problems)
İleri Algoritma Analizi
German shepherd dog. These dogs are said to be intelligent before they say.
Ağırlıksız ikili eşleştirme
9. Ders Tüm ikililer arasında en kısa yollar
FINLAND EDUCATION SYSTEM I am talking about the Finnish education system today.
TÜREV ve TÜREV UYGULAMALARI
Prof. Dr. Şahin EMRAH Algoritmalar I
Döngüler ve Shift Register
Algoritmalar II Ders 11 Çizgeler. Çizgelerin bilgisayarda gösterimi. BFS algoritması.
Chapter 6 Dönüştür ve Yönet (Transform-and-Conquer)
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Algoritmalar II Ders 13 Çizgelerde tüm ikililer arasında en kısa yollar.
Çizge Algoritmalari 5. ders.
NİŞANTAŞI ÜNİVERSİTESİ
Çizge Algoritmalari 4. ders.
NİŞANTAŞI ÜNİVERSİTESİ
İleri Algoritmalar Ders 3.
Çizge Teorisi ve Algoritmalari
Before the Battle of Çanakkale. Why a Front in Çanakkale was Opened? In the summer of 1914, the war continued in Europe with all its intensity, and by.
Chapter 5 – Balancing of accounts
Imagine that you are a teacher and you are taking your 20 students to England for the summer school.
İleri Algoritma Analizi
Çizge Algoritmaları 3. ders.
Algoritmalar II Ders 2 Dinamik Programlama Yöntemi.
Algoritmalar II Ders 16 Prim algoritması.
People with an entrepreneurial mindset are always brave.
Çizge Algoritmalari 10. Ders.
Chapter 4 Divide-and-Conquer
Bölüm 5 Azalt ve yönet (Decrease-and-Conquer)
10. Ders Floyd-Warshal algoritması
Sunum transkripti:

Algoritmalar II Ders 17 İteratif İyileştirme Yöntemi

Bölüm10 İteratif İyileştirme Copyright © 2007 Pearson Addison-Wesley. All rights reserved.

İteratİf İyİleştİrme Optimizasyon problemlerini çözmek için bir algoritma geliştirme yöntemi Uygun bir çözüm ile başla Aşağıdaki adımları iyileştirme bulunduğu sürece tekrar et: Mevcut uygun çözümü amaç fonksiyonun daha iyi değerine sahip olan başka bir uygun çözümle değiştir En son uygun çözümü optimal çözüm olarak geri gönder Eksik yönü: Yerel ekstremum değerine takılabilir These were discussed in the first lecture. At this point, the claims made then about “efficient” algorithms can be discussed in more concrete terms. Before launching into this lecture, I usually read to my students the introductory whimsical example from Garey and Johnson “Computers and Intractability”, while showing overhead transparencies of their cartoons. These are not reproduced here because it would require copyright clearance.

Önemli örnekler Maksimum akış problemi için Ford-Fulkerson algoritması Maximum eşleştirme problemi Dayanıklı evlilik için Gale-Shapley algoritması

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