You are on page 1of 40

Algoritmalara Giri

DERS 14
Yarmac zmleme
Kendini Dzenleyen Listeler
ne Tama - Bulusal
Yaklam
ne Tamann Yarmac
zmlemesi
Prof. Charles E. Leiserson
6.046J/18.401J
Kendini Dzenleyen Listeler
n elemanl L listesi
Eriim(x) ilemi seviye
L
(x) = xin Lnin bana
olan uzaklna mal olur.
L listesi, komu elemanlarn 1 maliyetle yer
deitirmesi ile yeniden dzenlenebilir.
Kendini Dzenleyen Listeler
n elemanl L listesi
Eriim(x) ilemi seviye
L
(x) = xin Lnin bana
olan uzaklna mal olur.
L listesi, komu elemanlarn 1 maliyetle yer
deitirmesi ile yeniden dzenlenebilir.
rnek :
Kendini Dzenleyen Listeler
n elemanl L listesi
Eriim(x) ilemi seviye
L
(x) = xin Lnin bana
olan uzaklna mal olur.
L listesi, komu elemanlarn 1 maliyetle yer
deitirmesi ile yeniden dzenlenebilir.
rnek :
14 anahtarl elemana eriim 4e mal olur.
Kendini Dzenleyen Listeler
n elemanl L listesi
Eriim(x) ilemi seviye
L
(x) = xin Lnin bana
olan uzaklna mal olur.
L listesi, komu elemanlarn 1 maliyetle yer
deitirmesi ile yeniden dzenlenebilir.
rnek :
3 ile 50nin yer deitirmesi 1e mal olur.
evrimii ve evrimd Problemler
Tanm. lemler serisi S her seferinde
bir kez oluturulur. Her ilem iin,
gelecekle ilgili herhangi bir bilgi
olmakszn bir evrimii algoritma A,
ilemi altrr. (rn. Tetris)
evrimd bir algoritma btn S
serisini en batan grr.
Ama : Toplam maliyet C
A
(S)yi en
aza indirgemektir.
Tetris Oyunu
Kendini Dzenleyen Listelerin En Kt
Durum Analizi
Rakip her zaman, L listesinin kuyruundaki ninci
elemana eriir. Herhangi bir evrimii A algoritmas iin
en kt durum :
Kendini Dzenleyen Listelerin Ortalama
Durum Analizi
x elemannn p(x) ihtimali ile eriildiini varsayalm. Bu
durumda;
seviye
L
(x)
Bu, L listesi pye gre azalan ekilde sral olursa en aza
indirgenir.
Bulu : L listesindeki her elemann ka kere eriildiini
gsteren bir liste tutalm, Lyi bu listeye gre sralayalm.
ne Tama Buluu
Pratik : Gelitiriciler, ne Tama (T) Buluunun iyi
sonular verdiini tecrbe ettiler.
Fikir : xe eritikten sonra, xi listenin en bana sra
deitirmelerle tamak.
maliyet = 2 . seviye
L
(x)
T Buluu, S dizisindeki eriim yerelliine iyi tepki verir.
Yarmac zmleme
Tanm : Eer bir k sabiti, herhangi bir S ilemler dizisi
iin;
durumunu salyorsa, evrimii A algoritmas
yarmacdr.
Burada OPT en uygun evrimd algoritmadr. (Tanrnn
algoritmas)
ne Tama O(1) yarmacdr
Teorem : T, kendini dzenleyen listeler iin
4-yarmacdr.
Teorem : T, kendini dzenleyen listeler iin
4-yarmacdr.
spat. L
i
, iinci eriimden sonraki T listesi olsun, L
i
* ise
iinci eriimden sonra en uygun liste olsun.
c
i
= Tdeki iinci ilem iin maliyet
= 2 . seviye
L
i-1
(x) , eer xe eriiliyorsa.
c
i
* = Tdeki iinci ilem iin maliyet
= seviye
L
i-1*
(x) + t
i
t
i
en uygun sra deitirme saysdr.
ne Tama O(1) yarmacdr
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
rnek :
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
rnek :
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
rnek :
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
rnek :
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
rnek :
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
rnek :
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
rnek :
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
rnek :
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
i=0, 1, ., iin
Eer T ve en uygun algoritma ayn
liste ile balyorsa;
Potansiyel Fonksiyonu
Potansiyel Fonksiyonu tanmlayn :
Ters evirme
ve
i=0, 1, ., iin
Eer T ve en uygun algoritma ayn
liste ile balyorsa;
1 deiimle ne kadar deiir?
Bir deiim 1 ters evirme yaratr veya yok eder.

Eriim srasnda ne olur?


iinci ilemin xe eritiini dnn ve unu tanmlayn;
ve
ve
ve
ve
Eriim srasnda ne olur?
Eriim srasnda ne olur?
T xi ne hareket ettirdiinde, ters evirme yaratr ve ters evirmeyi yok
eder. En uygun algoritmada, her bir yer deitirme ters evirme yaratr. Bu
durumda;
Amortize edilmi maliyet
Tnin iinci ilemi iin gre amortize edilmi maliyet :
Amortize edilmi maliyet
Tnin iinci ilemi iin gre amortize edilmi maliyet :
Amortize edilmi maliyet
Tnin iinci ilemi iin gre amortize edilmi maliyet :
iken.
Amortize edilmi maliyet
Tnin iinci ilemi iin gre amortize edilmi maliyet :
Amortize edilmi maliyet
Tnin iinci ilemi iin gre amortize edilmi maliyet :
Amortize edilmi maliyet
Tnin iinci ilemi iin gre amortize edilmi maliyet :
iken
Amortize edilmi maliyet
Tnin iinci ilemi iin gre amortize edilmi maliyet :
Byk Final
Bu durumda, una sahibiz;
Byk Final
Bu durumda, una sahibiz;
Byk Final
Bu durumda, una sahibiz;
Byk Final
Bu durumda, una sahibiz;
ve
iken.
EK
Eer xi ne tayan yer deitirmeleri bedava kabul edersek,
bu durumda ne tama 2-yarmac olur.
EK
Eer xi ne tayan yer deitirmeleri bedava kabul edersek,
bu durumda ne tama 2-yarmac olur.
Eer L
0
L
0
* ise ne olur?
Bu durumda, (L
0
) en kt durumda (n
2
) olur.
Ayrca, C
MTF
(S) 4 olur. n
2
, |S| bir sabitse, C
OPT
(S) +
(n
2
) ise hala 4-yarmacdr.

You might also like