Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Algoritmalar Ders 11 Açgözlü Algoritmalar (ve Graflar) Graf gösterimi Minimum kapsayan ağaç Optimal altyapı Açgözlü seçim Prim’in algoritması November.

Benzer bir sunumlar


... konulu sunumlar: "Algoritmalar Ders 11 Açgözlü Algoritmalar (ve Graflar) Graf gösterimi Minimum kapsayan ağaç Optimal altyapı Açgözlü seçim Prim’in algoritması November."— Sunum transkripti:

1 Algoritmalar Ders 11 Açgözlü Algoritmalar (ve Graflar) Graf gösterimi Minimum kapsayan ağaç Optimal altyapı Açgözlü seçim Prim’in algoritması November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.1

2 Graflar (Çizgeler) November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.2 Tanım: Yönlü graf (digraf) G = (V, E), V tepeler kümesi ve E ⊆ V × Vayrıtlar kümelerinden oluşur. Yönsüz graf G = (V, E)'de, E ayrıt kümesi, sıralı olmayan tepe çiftlerinden oluşur. Her durumda, elimizde | E | = O(V 2 ) vardır. Ayrıca, eğer G bağlantılıysa, | E | ≥ | V | – 1 dir.

3 Bir G = (V, E) grafının komşuluk matrisi V = {1, 2, …, n}olduğunda, November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.3 A[i, j] = 1 eğer (i, j) ∈ E ise, 0 eğer(i, j) ∉ E ise, A[1.. n, 1.. n] matrisidir. Komşuluk matrisi gösterimi

4 Bir G = (V, E) grafının komşuluk matrisi V = {1, 2, …, n}iken, A[i, j] = 1 eğer (i, j) ∈ E ise, 0 eğer (i, j) ∉ Eise, A[1.. n, 1.. n] matrisidir November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.4 Θ (V 2 ) depolama: ⇒ yoğun gösterimi. A

5 Komşuluk listesi gösterimi Bir v ∈ V tepesinin komşuluk listesi,v' ye komşu olan tepelerin Adj[v] listesidir. Adj[1] = {2, 3} Adj[2] = {3} Adj[3] = {} Adj[4] = {3} 2121 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL

6 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.6 Yönsüz graflar için, | Adj[v] | = degree (derece)(v). Yönlü graflar için, | Adj[v] | = out-degree (dış-derece)(v ). Komşuluk listesi gösterimi Bir v ∈ V tepesinin komşuluk listesi,v' ye komşu olan tepelerin Adj[v] listesidir. Adj[1] = {2, 3} Adj[2] = {3} Adj[3] = {} Adj[4] = {3}

7 Tokalaşma leması: Yönsüz graflar için ∑ v ∈ V derece(v)= 2 | E | ⇒ komşuluk listeleri, Θ (V + E) depolama alanını kullanır. Bu seyrek gösterimdir. November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.7 Komşuluk listesi gösterimi Yönsüz graflar için, | Adj[v] | = degree (derece)(v). Yönlü graflar için, | Adj[v] | = out-degree (dış-derece)(v ). Bir v ∈ V tepesinin komşuluk listesi,v' ye komşu olan tepelerin Adj[v] listesidir. Adj[1] = {2, 3} Adj[2] = {3} Adj[3] = {} Adj[4] = {3}

8 Minimum kapsayan ağaçlar November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.8 Girdi: w : E → R ağırlık fonksiyonlu,G= (V, E) bağlantılı, yönsüz bir graf. Basitlik adına, farzedin ki tüm kenar ağırlıkları farklı olsun.

9 ∑ w(u, v).(u,v)∈T∑ w(u, v).(u,v)∈T w(T ) =w(T ) = Girdi: w : E → R ağırlık fonksiyonlu,G= (V, E) bağlantılı, yönsüz bir graf. Basitlik adına, farzedin ki tüm kenar ağırlıkları farklı olsun. Çıktı: T kapsayan ağacı en az ağırlıkla tüm tepeleri birleştiren bir ağaç: November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.9 Minimum kapsayan ağaçlar

10 MST ( minimum kapsayan ağaç) örneği 6 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL

11 MST (minimum kapsayan ağaç) örneği November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.11

12 Optimal altyapı MST T: (G' nin diğer ayrıtları gösterilmemiştir.) November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.12

13 Optimal altyapı u November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.13 v Herhangi bir (u, v) ∈ Tayrıtını kaldır. MST T: (G' nin diğer ayrıtları gösterilmemiştir.)

14 u November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.14 v Optimal altyapı Herhangi bir (u, v) ∈ Tayrıtını kaldır. MST T: (G' nin diğer ayrıtları gösterilmemiştir.)

15 Herhangi bir (u, v) ∈ T ayrıtını kaldır. Bu durumda T, T 1 ve T 2 olarak iki altağaca bölüntülenir. T1T1 T 2 u v Optimal altyapı November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.15 MST T: (G' nin diğer ayrıtları gösterilmemiştir.)

16 Herhangi bir (u, v) ∈ T ayrıtını kaldırın.Bu durumda T, T 1 and T 2 olarak iki altağaca bölüntülenir. Teorem. Altağaç T 1, G 1 = (V 1, E 1 ) 'in bir MST'sidir ve T 1 'in tepeleri tarafından oluşturulan G' nin altgrafıdır: V 1 = T 1 ' in tepeleri E 1 = { (x, y) ∈ E : x, y ∈ V 1 }. T 2 için de bu böyledir. T1T1 T 2 u v Optimal altyapı November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.16 MST T: (G' nin diğer ayrıtları gösterilmemiştir.)

17 Optimal altyapı Aynı zamanda çakışan altproblemlerimiz de var mı? Evet var. Harika, o zaman dinamik programlama çalışabilir! Evet, fakat MST daha da verimli bir algoritmaya yol açan bir başka kuvvetli özelliğini sergiler. November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.17

18 Açgözlü algoritmalar için Kalite işareti Açgözlü-seçim özelliği Yerel olarak en uygun seçim genel olarak da en uygundur. November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.18

19 Teorem. T, G = (V, E)'nin MST'si olsun ve A ⊆ V olsun.(u, v) ∈ E 'nin A yı V – A'ya bağlayan en az ağırlıklı ayrıt olduğunu farzedin. O zaman (u, v) ∈ T olur. Açgözlü algoritmalar için Kalite İşareti Açgözlü-seçim özelliği Yerel olarak en uygun seçim genel olarak da en uygundur. November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.19

20 Teorem' in kanıtı ∈ A ∈ V – A Kanıt. (u, v) ∉ T olduğunu düşünün. T:v November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.20 u (u, v) = A'danV–A'ya bağlanan en az ağırlıklı ayrıt.

21 Teorem' in kanıtı ∈ A ∈ V – A Kanıt. (u, v) ∉ T olduğunu düşünün. T:v November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.21 u (u, v) = A'danV–A'ya bağlanan en az ağırlıklı ayrıt. T ' de u'dan v'ye benzeri olmayan basit yolu düşünün.

22 Teorem' in kanıtı ∈ A ∈ V – A Kanıt. (u, v) ∉ T olduğunu düşünün. T:v November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.22 u (u, v) = A'danV–A'ya bağlanan en az ağırlıklı ayrıt. T ' de u'dan v'yebenzeri olmayan basit yolu düşünün. (u, v)' yi, bu yolda A' daki bir tepeyi V – A' daki bir tepeye bağlayan ilk ayrıt ile değiştirin.

23 Teorem' in kanıtı ∈ A ∈ V – A Kanıt. (u, v) ∉ T olduğunu düşünün. T:v November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.23 u (u, v) = A'danV–A'ya bağlanan en az ağırlıklı ayrıt. T ' de u'dan v'yebenzeri olmayan basit yolu düşünün. (u, v)' yi, bu yolda A' daki bir tepeyi V – A' daki bir tepeye bağlayan ilk ayrıt ile değiştirin. T 'den daha az ağırlıklı bir kapsayan ağaç oluşur.

24 Prim’in Algoritması November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.24 Fikir: V – A'yı bir Q öncelikli sırası olarak koruyun. Q' daki her tepeyi, A' daki bir tepeye bağlayan en az ağırlıklı kenarın ağırlığıyla KEY'leyin. (anahtarlayın) Q ← V key[v] ← ∞ v ∈ V key[s] ← 0 rastgele s ∈ V 'için while Q ≠ ∅ u ← E XTRACT -M IN (Q) for each v ∈ Adj[u] if v ∈ Q ve w(u, v) < key[v] then key[v] ← w(u, v) π [v] ← u ⊳ DECREASE-KEY (anahtarı küçült) Algoritmanın sonunda, {(v, π[v])}, MST' yi biçimlendirir.

25 Prim’in algoritmasına örnek ∈ A ∈ V – A ∞∞ ∞ 0 ∞ ∞ ∞ ∞5∞5 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL ∞ ∞

26 ∈ A ∈ V – A ∞ ∞ ∞ 0 ∞ ∞ ∞ ∞5∞5 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL Prim’in algoritmasına örnek ∞ ∞

27 ∈ A ∈ V – A ∞ 7 ∞ 0 10 ∞ 15 ∞5∞5 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL Prim’in algoritmasına örnek ∞ 15

28 ∈ A ∈ V – A ∞ 7 ∞ 0 10 ∞ 15 ∞5∞5 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL Prim’in algoritmasına örnek ∞ 15

29 ∈ A ∈ V – A ∞ Prim’in algoritmasına örnek November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL

30 ∈ A ∈ V – A ∞ Prim’in algoritmasına örnek November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL

31 ∈ A ∈ V – A Prim’in algoritmasına örnek November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.31

32 ∈ A ∈ V – A Prim’in algoritmasına örnek November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL

33 ∈ A ∈ V – A Prim’in algoritmasına örnek November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL

34 ∈ A ∈ V – A Prim’in algoritmasına örnek November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL

35 ∈ A ∈ V – A Prim’in algoritmasına örnek November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL

36 ∈ A ∈ V – A Prim’in algoritmasına örnek November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL

37 ∈ A ∈ V – A Prim’in algoritmasına örnek November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.37

38 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.38 Q ← V key[v] ← ∞ v ∈ V key[s] ← 0 rastgele s ∈ V 'için while Q ≠ ∅ u ← E XTRACT -M IN (Q) for each v ∈ Adj[u] if v ∈ Q ve w(u, v) < key[v] then key[v] ← w(u, v) π [v] ← u Prim's Algoritmasının Analizi

39 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.39 Q ← V key[v] ← ∞ v ∈ V key[s] ← 0 rastgele s ∈ V 'için while Q ≠ ∅ u ← E XTRACT -M IN (Q) for each v ∈ Adj[u] if v ∈ Q ve w(u, v) < key[v] then key[v] ← w(u, v) π [v] ← u Prim's Algoritmasının Analizi Θ(V)Θ(V)

40 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.40 Q ← V key[v] ← ∞ v ∈ V key[s] ← 0 rastgele s ∈ V 'için while Q ≠ ∅ u ← E XTRACT -M IN (Q) for each v ∈ Adj[u] if v ∈ Q ve w(u, v) < key[v] then key[v] ← w(u, v) π [v] ← u Prim's Algoritmasının Analizi Θ(V)Θ(V) |V | defa

41 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.41 Q ← V key[v] ← ∞ v ∈ V key[s] ← 0 rastgele s ∈ V 'için while Q ≠ ∅ u ← E XTRACT -M IN (Q) for each v ∈ Adj[u] if v ∈ Q ve w(u, v) < key[v] then key[v] ← w(u, v) π [v] ← u Prim's Algoritmasının Analizi Θ(V)Θ(V) |V | defa degree(u) defa

42 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.42 Q ← V key[v] ← ∞ v ∈ V key[s] ← 0 rastgele s ∈ V 'için while Q ≠ ∅ u ← E XTRACT -M IN (Q) for each v ∈ Adj[u] if v ∈ Q ve w(u, v) < key[v] then key[v] ← w(u, v) π [v] ← u Prim's Algoritmasının Analizi Θ(V)Θ(V) |V | defa degree(u) defa Tokalaşmaönkuramı ⇒ Θ (E) varsayılan D ECREASE -K EY' ler. (Anahtarı küçült)

43 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.43 Q ← V key[v] ← ∞ v ∈ V key[s] ← 0 rastgele s ∈ V 'için while Q ≠ ∅ u ← E XTRACT -M IN (Q) for each v ∈ Adj[u] if v ∈ Q ve w(u, v) < key[v] then key[v] ← w(u, v) π [v] ← u Prim's Algoritmasının Analizi Θ(V)Θ(V) |V | defa degree(u) defa Tokalaşmaönkuramı ⇒ Θ (E) varsayılan D ECREASE -K EY 'ler. (Anahtarı küçült) Time(süre) = Θ (V)·T EXTRACT - MIN + Θ (E)·T DECREASE - KEY (en küçüğü çıkar)

44 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.44 Time(süre) = Θ (V)·T EXTRACT - MIN + Θ (E)·T DECREASE - KEY (en küçüğü çıkar)(Anahtarı küçült) Prim's Algoritmasının Analizi Toplam Q T E XTRACT - M IN T D ECREASE - K EY Array O(V2)O(V2) O(V)O(V)O(1)O(1)

45 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.45 Time(süre) = Θ (V)·T EXTRACT - MIN + Θ (E)·T DECREASE - KEY (en küçüğü çıkar)(Anahtarı küçült) Prim's Algoritmasının Analizi Toplam Q T E XTRACT - M IN T D ECREASE - K EY Array Bin_heap O(V2)O(V2) O(V)O(V)O(1)O(1) O(E lg V)O(E lg V)O(lg V)O(lg V)O( lg V)O( lg V)

46 November 9, 2005Copyright © by Erik D. Demaine and Charles E. LeisersonL16.46 Time(süre) = Θ (V)·T EXTRACT - MIN + Θ (E)·T DECREASE - KEY (en küçüğü çıkar)(Anahtarı küçült) Prim's Algoritmasının Analizi Toplam Q T E XTRACT - M IN T D ECREASE - K EY Array Bin_heap Fib_heap O(V2)O(V2) O(V)O(V)O(1)O(1) O(E lg V)O(E lg V)O(lg V)O(lg V)O( lg V)O( lg V) O(E+V lg V)O(1)O(1)O( lg V)O( lg V)


"Algoritmalar Ders 11 Açgözlü Algoritmalar (ve Graflar) Graf gösterimi Minimum kapsayan ağaç Optimal altyapı Açgözlü seçim Prim’in algoritması November." indir ppt

Benzer bir sunumlar


Google Reklamları