Vous êtes sur la page 1sur 52

November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.

1
Algoritmalara Giri
6.046J/18.401J
Ders 16
Agzl Algoritmalar (ve
Grafikler)
Grafik gsterim
Minimum kapsayan aa
Optimal altyap
Agzl seim
Primin agzl MST
algoritmas
Prof. Charles E. Leiserson
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.2
Grafikler (tekrar)
Tanm. Ynlendirilmi grafik (digraf)
G = (V, E),
V keler kmesi ve
E V V kenarlar kmelerinden oluur.
Ynlendirilmemi grafik G = (V, E)'de, E kenar
kmesi, sral olmayan ke iftlerinden oluur.
Her durumda, elimizde | E| = O(V
2
) vardr.
Ayrca, eer G balantlysa, | E| | V| 1, ki bu da
lg| E| = (lgV) anlamna gelir.
(Baknz CLRS, Appendix B.)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.3
Bir G = (V, E) grafiinin komuluk matrisi
V = {1, 2, , n}olduunda,

A[i, j] =
1 eer (i, j) E ise,
0 eer(i, j) E ise,
A[1 . . n, 1 . . n] matrisidir.
Komuluk matrisi gsterimi
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.4
Komuluk matrisi gsterimi
Bir G = (V, E) grafiinin komuluk matrisi
V = {1, 2, , n}iken,

A[i, j] =
1 eer (i, j) E ise,
0 eer (i, j) E ise,
A[1 . . n, 1 . . n] matrisidir.
2
2
1
1
3
3
4
4
A 1 2 3 4
1
2
3
4
0 1 1 0
0 0 1 0
0 0 0 0
0 0 1 0
(V
2
) depolama:
youn
gsterimi.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.5
Komuluk listesi gsterimi
Bir v V kesinin komuluk listesi,v' ye komu olan
kelerin Adj[v] listesidir.
Adj[1] = {2, 3}
Adj[2] = {3}
Adj[3] = {}
Adj[4] = {3}
2
2
1
1
3
3
4
4
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.6
Adj[1] = {2, 3}
Adj[2] = {3}
Adj[3] = {}
Adj[4] = {3}
2
2
1
1
3
3
4
4
Ynlendirilmemi grafikler iin, | Adj[v] | = degree (derece)(v).
Ynlendirilmi grafikler iin, | Adj[v] | = out-degree (d-derece)(v).
Bir v V kesinin komuluk listesi, v 'ye komu olan
kelerin Adj[v] listesidir.
Komuluk listesi gsterimi
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.7
Tokalama nkuram:Ynlendirilmemi grafikler
iin
vV
= 2| E komuluk listeleri, (V + E) depolama
alann kullanr. Bu seyrek gsterimdir. (her tr grafik iin.)
Adj[1] = {2, 3}
Adj[2] = {3}
Adj[3] = {}
Adj[4] = {3}
2
2
1
1
3
3
4
4
Ynlendirilmemi grafikler iin, | Adj[v] | = degree (derece)(v).
Ynlendirilmi grafikler iin, | Adj[v] | = out-degree (d-derece)(v).
Bir v V kesinin komuluk listesi, v' ye komu olan
kelerin Adj[v] listesidir.
Komuluk listesi gsterimi
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.8
Minimum kapsayan aalar
Girdi: w : E R arlk fonksiyonlu, G= (V, E)
balantl, ynlendirilmemi grafik.
Basitlik adna, farzedin ki tm kenar
arlklar farkl olsun. (CLRS genel durumu kapsar.)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.9

=
T v u
v u w T w
) , (
) , ( ) ( .
kt: T kapsayan aac--en az arlkla tm keleri
birletiren bir aa:
Minimum kapsayan aalar
Girdi: w : E R arlk fonksiyonlu, G= (V, E)
balantl, ynlendirilmemi grafik.
Basitlik adna, farzedin ki tm kenar
arlklar farkl olsun. (CLRS genel durumu kapsar.)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.10
MST (minimum kapsayan aa) rnei
6 12
5
14
3
8
10
15
9
7
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.11
6 12
5
14
3
8
10
15
9
7
MST (minimum kapsayan aa) rnei
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.12
Optimal altyap
MST T:
(G' nin dier kenarlar
gsterilmemitir.)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.13
Optimal altyap
u
v
MST T:
(G' nin dier kenarlar
gsterilmemitir.)
Herhangi bir (u, v) T kenarn kaldr.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.14
u
v
Herhangi bir (u, v) T kenarn kaldr.
MST T:
(G' nin dier kenarlar
gsterilmemitir.)
Optimal altyap
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.15
u
v
Herhangi bir (u, v) T kenarn kaldr. Bu durumda T,
T
1
ve T
2
olarak iki altaaca blntlenir.
T
1
T
2
u
v
Optimal altyap
MST T:
(G' nin dier kenarlar
gsterilmemitir.)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.16
u
v
Herhangi bir (u, v) T kenarn kaldrn.Bu durumda T,
T
1
and T
2
olarak iki altaaca blntlenir.
T
1
T
2
u
v
Optimal altyap
MST T:
(G' nin dier kenarlar
gsterilmemitir.)
Teorem. Altaa T
1
, G
1
= (V
1
, E
1
) 'in bir MST'sidir ve
T
1
'in keleri tarafndan oluturulan G' nin altgrafiidir:
V
1
= T
1
' in keleri
E
1
= { (x, y) E : x, y V
1
}.
T
2
iin de bu byledir.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.17
Optimal altyapnn kant
w(T) = w(u, v) + w(T
1
) + w(T
2
).
Kant.Kes ve yaptr:
Eer T
1
G
1
iin T
1
den daha az arlkl bir kapsayann
aasa, bu durumda T = {(u, v)} T
1
T
2
G iin
T 'den daha az arlkl bir kapsayan aa olur.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.18
Ayn zamanda akan altproblemlerimiz de var m?
Evet var.
Optimal altyapnn kant
w(T) = w(u, v) + w(T
1
) + w(T
2
).
Kant.Kes ve yaptr:
Eer T
1
G
1
iin T
1
den daha az arlkl bir kapsayan
aasa, bu durumda T = {(u, v)} T
1
T
2
G iin
T 'den daha az arlkl bir kapsayan aa olur.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.19
Harika, o zaman dinamik programlama alabilir!
Evet, fakat MST daha da verimli bir algoritmaya
yol aan bir baka kuvvetli zelliini sergiler.
w(T) = w(u, v) + w(T
1
) + w(T
2
).
Kant.Kes ve yaptr
Ayn zamanda akan altproblemlerimiz de var m?
Evet var.
Optimal altyapnn kant
w(T) = w(u, v) + w(T
1
) + w(T
2
).
Eer T
1
G
1
iin T
1
den daha az arlkl bir kapsayan
aasa, bu durumda T = {(u, v)} T
1
T
2
G iin
T 'den daha az arlkl bir kapsayan aa olur.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.20
Agzl algoritmalar iin
Kalite iareti
Agzl-seim zellii
Yerel olarak en uygun seim
genel olarak da en uygundur.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.21
Teorem. T, G = (V, E)'nin MST'si olsun ve
A V olsun. (u, v) E 'nin
A y V A'ya balayan en az arlkl kenar
olduunu farzedin. O zaman (u, v) T olur.
Agzl algoritmalar iin
Kalite areti
Agzl-seim zellii
Yerel olarak en uygun seim
genel olarak da en uygundur.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.22
Teorem' in kant
Kant. (u, v) T olduunu dnn.Kes-yaptr.
A
V A
u
v
(u, v) =A'dan VA'ya balanan
en az arlkl kenar.
T:
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.23
A
V A
T:
T ' de u'dan v'ye benzeri olmayan basit yolu
dnn.
Teorem' in kant
Kant. (u, v) T olduunu dnn. Kes-yaptr.
u
v
(u, v) =A'dan VA'ya balanan
en az arlkl kenar.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.24
A
V A
T:
(u, v)' yi, bu yolda A' daki bir keyi
V A' daki bir keye balayan ilk kenarla deitirin.
T ' de u'dan v'ye benzeri olmayan basit yolu
dnn.
Teorem' in kant
Kant. (u, v) T olduunu dnn. Kes-yaptr.
u
v
(u, v) =A'dan VA'ya balanan
en az arlkl kenar.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.25
T 'den daha az arlkl bir kapsayan aa oluur.
A
V A
(u, v)' yi, bu yolda A' daki bir keyi
V A' daki bir keye balayan ilk kenarla deitirin.
T ' de u'dan v'ye benzeri olmayan basit yolu
dnn.
Teorem' in kant
Kant. (u, v) T olduunu dnn. Kes-yaptr.
u
v
(u, v) =A'dan VA'ya balanan
en az arlkl kenar.
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.26
Primin Algoritmas
Fikir: V A'y bir Q ncelikli sras olarak koruyun.
Q' daki her keyi, A' daki bir keye balayan en az
arlkl kenarn arlyla KEYleyin. (anahtarlayn)
Q V
key[v] tm v V 'ler iin
key[s] 0 rastgele s V 'iin
while Q
do u EXTRACT-MIN(en k kar)(Q)
her v Adj[u] iin
do if v Q ve w(u, v) < key[v]
then key[v] w(u, v) DECREASE-KEY
[v] u
Sonunda, {(v, [v])}, MST' yi biimlendirir.
(anahtar klt)
(yap-eer)
(yap)
(-iken)
(sonra)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.27
Primin algoritmasna rnek
A
V A

0
0

6 12
5
14
3
8
10
15
9
7
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.28
A
V A

0
0

6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.29
A
V A

7
7

0
0
10
10

15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.30
A
V A

7
7

0
0
10
10

15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.31
A
V A
12
12
5
5
7
7

0
0
10
10
9
9
15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.32
A
V A
12
12
5
5
7
7

0
0
10
10
9
9
15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.33
A
V A
6
6
5
5
7
7
14
14
0
0
8
8
9
9
15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.34
A
V A
6
6
5
5
7
7
14
14
0
0
8
8
9
9
15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.35
A
V A
6
6
5
5
7
7
14
14
0
0
8
8
9
9
15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.36
A
V A
6
6
5
5
7
7
3
3
0
0
8
8
9
9
15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.37
A
V A
6
6
5
5
7
7
3
3
0
0
8
8
9
9
15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.38
A
V A
6
6
5
5
7
7
3
3
0
0
8
8
9
9
15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.39
A
V A
6
6
5
5
7
7
3
3
0
0
8
8
9
9
15
15
6 12
5
14
3
8
10
15
9
7
Primin algoritmasna rnek
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.40
Prim' in zmlemesi
Q V
key[v] tm v V'ler iin.
key[s] 0 rastgele s V'ler iin.
while Q
do u En az (Q)' yu kar.
her v Adj[u] iin
do if v Q ve w(u, v) < key[v]
then key[v] w(u, v)
[v] u
(yap-eer)
(yap)
(-iken)
(sonra)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.41
Q V
while Q
do u En az (Q)' yu kar.
her v Adj[u] iin
do if v Q ve w(u, v) < key[v]
then key[v] w(u, v)
[v] u
(V)
toplam
Prim' in zmlemesi
key[v] tm v V'ler iin.
key[s] 0 rastgele s V'ler iin.
(yap-eer)
(yap)
(-iken)
(sonra)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.42
|V|
kere
Q V
while Q
do u En az(Q)'yu kar.
her v Adj[u] iin
do if v Q ve w(u, v) < key[v]
then key[v] w(u, v)
[v] u
(V)
toplam
Prim' in zmlemesi
key[v] tm v V'ler iin.
key[s] 0 rastgele s V'ler iin.
(yap-eer)
(yap)
(-iken)
(sonra)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.43
Q V
key[v] tm v V' ler iin.
key[s] 0 rastgele s V' ler iin.
while Q
do u En az(Q)' yu kar.
her v Adj[u] iin
do if v Q ve w(u, v) < key[v]
then key[v] w(u, v)
[v] u
degree(u)
kere
|V|
kere
(V)
toplam
Prim' in zmlemesi
(derece)
(yap-eer)
(yap)
(-iken)
(sonra)
(derece)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.44
Tokalama nkuram (E) varsaylan DECREASE-KEY'ler.
degree(u)
kere
|V|
kere
(V)
toplam
Prim' in zmlemesi
Q V
key[v] tm v V' ler iin.
key[s] 0 rastgele s V' ler iin.
while Q
do u En az(Q)' yu kar.
her v Adj[u] iin
do if v Q ve w(u, v) < key[v]
then key[v] w(u, v)
[v] u
(Anahtar klt)
(derece)
(yap-eer)
(yap)
(-iken)
(sonra)
(derece)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.45
Time(sre) = (V)T
EXTRACT
-
MIN
+ (E)T
DECREASE
-
KEY
Q V
key[v] tm v V' ler iin.
key[s] 0 rastgele s V' ler iin.
while Q
do u En az (Q)' yu kar.
her v Adj[u] iin
do if v Q ve w(u, v) < key[v]
then key[v] w(u, v)
[v] u
degree(u)
kere
|V|
kere
(V)
toplam
Prim' in zmlemesi
Tokalama nkuram (E) varsaylan DECREASE-KEY'ler.
(en k kar)
(yap-eer)
(yap)
(-iken)
(sonra)
(derece)
(Anahtar klt)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.46
Prim' in zmlemesi (devam)
Time(sre) = (V)T
EXTRACT
-
MIN
+ (E)T
DECREASE
-
KEY
(en k kar) (Anahtar klt)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.47
Toplam Q T T
DECREASE
-
KEY EXTRACT
-
MIN
Prim' in zmlemesi (devam)
Time(sre) = (V)T
EXTRACT
-
MIN
+ (E)T
DECREASE
-
KEY
(en k kar)
(Anahtar klt)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.48
dizilim O(V) O(1) O(V
2
)
Toplam Q T T
DECREASE
-
KEY EXTRACT
-
MIN
Prim' in zmlemesi(devam)
Time( sre ) = (V)T
EXTRACT
-
MIN
+ (E)T
DECREASE
-
KEY
(Azaltlm anahtar) (en az kar)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.49
ikili
yn
O(lg V) O(lg V) O(Elg V)
dizilim O(V) O(1) O(V
2
)
Toplam Q T T
DECREASE
-
KEY EXTRACT
-
MIN
Prim' in zmlemesi(devam)
Time( sre ) = (V)T
EXTRACT
-
MIN
+ (E)T
DECREASE
-
KEY
(Azaltlm anahtar) (en az kar)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.50
Fibonacci
yn
O(lg V)
amortize
O(1)
amortize
O(E + Vlg V)
worst case
ikili
yn
O(lg V) O(lg V) O(Elg V)
dizilim O(V) O(1) O(V
2
)
Toplam Q T T
DECREASE
-
KEY EXTRACT
-
MIN
Prim' in zmlemesi (devam)
Time( sre ) = (V)T
EXTRACT
-
MIN
+ (E)T
DECREASE
-
KEY
edilmi
edilmi
en kt durum
(Azaltlm anahtar) (en az kar)
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.51
MST algoritmalar
Kruskal algoritmas (CLRS ye baknz):
Ayrk-kme veri yaps 'n kullanr.(Ders 10)
Koma sresi = O(Elg V).
November 9, 2005 Copyright 2001-5 by Erik D. Demaine and Charles E. Leiserson L16.52
Bugne kadar en iyisi:
Karger, Klein, and Tarjan [1993].
Rastgele algoritma.
O(V + E) beklenen sre.
MST algoritmalar
Kruskal algoritmas (CLRS ye baknz):
Kopuk-kme veri yaps 'n kullanr.(Ders 10)
Koma sresi = O(Elg V).

Vous aimerez peut-être aussi