Ha I < B, akkor mind az online algoritmusnak mind pedig az optimális offline algoritmusnak a költsége I, így B(I)/OPT(I)=1.

Hasonló dokumentumok
1. A k-szerver probléma

Az online algoritmusok k-szerver probléma

1. Online kiszolgálóelhelyezés

Az online algoritmusok k-szerver probléma

Alapfogalmak, bevezető

(A TÁMOP /2/A/KMR számú projekt keretében írt egyetemi jegyzetrészlet):

Kétoldali hibás Monte Carlo algoritmus: mindkét válasz esetén hibázhat az algoritmus, de adott alsó korlát a hibázás valószínűségére.

3. SOROZATOK. ( n N) a n+1 < a n. Egy sorozatot (szigorúan) monotonnak mondunk, ha (szigorúan) monoton növekvő vagy csökkenő.

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Kalkulus I. Első zárthelyi dolgozat szeptember 16. MINTA. és q = k 2. k 2. = k 1l 2 k 2 l 1. l 1 l n 6n + 8

Diszkrét matematika II., 3. előadás. Komplex számok

Nevezetes sorozat-határértékek

VÉLETLENÍTETT ALGORITMUSOK. 1.ea.

Sorozatok, határérték fogalma. Függvények határértéke, folytonossága

1 k < n(1 + log n) C 1n log n, d n. (1 1 r k + 1 ) = 1. = 0 és lim. lim n. f(n) < C 3

Pályázat címe: Pályázati azonosító: Kedvezményezett: Szegedi Tudományegyetem Cím: 6720 Szeged, Dugonics tér

2. Hatványsorok. A végtelen soroknál tanultuk, hogy az. végtelen sort adja: 1 + x + x x n +...

Eötvös Loránd Tudományegyetem Informatikai Kar. Analízis 1. Írásbeli beugró kérdések. Készítette: Szántó Ádám Tavaszi félév

Eötvös Loránd Tudományegyetem Informatikai Kar. Analízis 1. Írásbeli tételek. Készítette: Szántó Ádám Tavaszi félév

10.M ALGEBRA < <

Elsőbbségi (prioritásos) sor

SZÁMELMÉLET. Vasile Berinde, Filippo Spagnolo

Írta: DÓSA GYÖRGY IMREH CSANÁD ONLINE ALGORITMUSOK. Egyetemi tananyag

18. Differenciálszámítás

VII. A határozatlan esetek kiküszöbölése

( a b)( c d) 2 ab2 cd 2 abcd 2 Egyenlőség akkor és csak akkor áll fenn

1. A KOMPLEX SZÁMTEST A természetes, az egész, a racionális és a valós számok ismeretét feltételezzük:

Sorozatok A.: Sorozatok általában

XXVI. Erdélyi Magyar Matematikaverseny Zilah, február II.forduló -10. osztály

Matematika B4 I. gyakorlat

ANALÍZIS I. TÉTELBIZONYÍTÁSOK ÍRÁSBELI VIZSGÁRA

Hiba! Nincs ilyen stílusú szöveg a dokumentumban.-86. ábra: A példa-feladat kódolási változatai

f (M (ξ)) M (f (ξ)) Bizonyítás: Megjegyezzük, hogy konvex függvényekre mindig létezik a ± ben

Matematika I. 9. előadás

Innen. 2. Az. s n = 1 + q + q q n 1 = 1 qn. és q n 0 akkor és csak akkor, ha q < 1. a a n végtelen sor konvergenciáján nem változtat az, ha

MATEMATIKA I. KATEGÓRIA (SZAKKÖZÉPISKOLA)

A G miatt (3tagra) Az egyenlőtlenségek két végét továbbvizsgálva, ha mindkét oldalt hatványozzuk:

(d) x 6 3x 2 2 = 0, (e) x + x 2 = 1 x, (f) 2x x 1 = 8, 2(x 1) a 1

1. feladat Az egyensúly algoritmus viselkedése: Tekintsük a kétdimenziós Euklideszi teret, mint metrikus teret. A pontok

Függvényhatárérték-számítás

Gyakorló feladatok II.

24. tétel A valószínűségszámítás elemei. A valószínűség kiszámításának kombinatorikus modellje.

Számsorozatok. 1. Alapfeladatok december 22. sorozat határértékét, ha. 1. Feladat: Határozzuk meg az a n = 3n2 + 7n 5n létezik.

Statisztika 1. zárthelyi dolgozat március 21.

1 n. 8abc (a + b) (b + c) (a + c) 8 27 (a + b + c)3. (1 a) 5 (1 + a)(1 + 2a) n + 1

4. Test feletti egyhatározatlanú polinomok. Klasszikus algebra előadás NE KEVERJÜK A POLINOMOT A POLINOMFÜGGVÉNNYEL!!!

ALGEBRA. egyenlet megoldásait, ha tudjuk, hogy egész számok, továbbá p + q = 198.

BIOMATEMATIKA ELŐADÁS

I. Függelék. A valószínűségszámítás alapjai. I.1. Alapfogalamak: A valószínűség fogalma: I.2. Valószínűségi változó.

Hajós György Versenyre javasolt feladatok SZIE.YMÉTK 2011

6. Elsőbbségi (prioritásos) sor

Matematikai játékok. Svetoslav Bilchev, Emiliya Velikova

1. A radioaktivitás statisztikus jellege

f(n) n x g(n), n x π 2 6 n, σ(n) n x

A tárgy címe: ANALÍZIS 1 A-B-C (2+2). 1. gyakorlat

Debreceni Egyetem, Közgazdaság- és Gazdaságtudományi Kar. Feladatok a Gazdasági matematika I. tárgy gyakorlataihoz. Halmazelmélet

Tartalomjegyzék. Pemutáció 5 Ismétléses permutáció 8 Variáció 9 Ismétléses variáció 11 Kombináció 12 Ismétléses kombináció 13

Kombinatorika. Variáció, permutáció, kombináció. Binomiális tétel, szita formula.

VI.Kombinatorika. Permutációk, variációk, kombinációk

n akkor az n elem összes ismétléses ... k l k 3 k 1! k 2!... k l!

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Komplex számok (el adásvázlat, február 12.) Maróti Miklós

V. GYAKORLATOK ÉS FELADATOK ALGEBRÁBÓL

Lajkó Károly Kalkulus I. példatár mobidiák könyvtár

Komplex számok. d) Re(z 4 ) = 0, Im(z 4 ) = 1 e) Re(z 5 ) = 0, Im(z 5 ) = 2 f) Re(z 6 ) = 1, Im(z 6 ) = 0

5. Kombinatorika. 8. Legfeljebb hány pozitív egész számot adhatunk meg úgy, hogy semelyik kettő összege és különbsége se legyen osztható 2015-tel?

min{k R K fels korlátja H-nak} a A : a ξ : ξ fels korlát A legkisebb fels korlát is:

NÉMETH LÁSZLÓ VÁROSI MATEMATIKA VERSENY 2013 HÓDMEZŐVÁSÁRHELY OSZTÁLY ÁPRILIS 8.

1 h. 3. Hogyan szól a számtani és a mértani közép közötti összefüggést kifejező tétel?

1. Bevezet példák, síbérlés

Eseme nyalgebra e s kombinatorika feladatok, megolda sok

Online migrációs ütemezési modellek

ANALÍZIS I. DEFINÍCIÓK, TÉTELEK

Ingatlanfinanszírozás és befektetés

A függvénysorozatok olyanok, mint a valós számsorozatok, csak éppen a tagjai nem valós számok,

1. Gyökvonás komplex számból

dr. CONSTANTIN NĂSTĂSESCU egyetemi tanár a Román Akadémia levelező tagja dr. CONSTANTIN NIŢĂ egyetemi tanár

V. Deriválható függvények

Sorozatok október 15. Határozza meg a következ sorozatok határértékeit!

Az átlagra vonatkozó megbízhatósági intervallum (konfidencia intervallum)

2.1. A sorozat fogalma, megadása és ábrázolása

Kvantum párhuzamosság Deutsch algoritmus Deutsch-Jozsa algoritmus

Dr. Tóth László, Kombinatorika (PTE TTK, 2007) nem vagyunk tekintettel a kiválasztott elemek sorrendjére. Mennyi a lehetőségek száma?

Algebrai egyenlőtlenségek versenyeken Dr. Kiss Géza, Budapest

Kalkulus II., második házi feladat

Rudas Tamás: A hibahatár a becsült mennyiség függvényében a mért pártpreferenciák téves értelmezésének egyik forrása

Nagyméretű nemlineáris közúti közlekedési hálózatok speciális analízise

képzetes t. z = a + bj valós t. a = Rez 5.2. Műveletek algebrai alakban megadott komplex számokkal

KAOTIKUS VAGY CSAK ÖSSZETETT? Labdák pattogása lépcsôn

Andai Attila: november 13.

194 Műveletek II. MŰVELETEK A művelet fogalma

megoldásvázlatok Kalkulus gyakorlat Fizika BSc I/1, 1. feladatsor 1. Rajzoljuk le a számegyenesen az alábbi halmazokat!

Eseményalgebra, kombinatorika

Analízis feladatgy jtemény II.

3. Számelmélet. 1-nek pedig pontosan három. Hány pozitív osztója van az n számnak? OKTV 2012/2013; I. kategória, 1. forduló

XXVI. Erdélyi Magyar Matematikaverseny Zilah, február

GAZDASÁGI MATEMATIKA 1. ANALÍZIS

A FUNDAMENTÁLIS EGYENLET KÉT REPREZENTÁCIÓBAN. A függvény teljes differenciálja, a differenciális fundamentális egyenlet: U V S U + dn 1

A figurális számokról (IV.)

1. ALGORITMUSOK MŰVELETIGÉNYE

Átírás:

Olie algoritmusok Olie problémáról beszélük azokba az esetekbe, ahol em ismert az egész iput, haem az algoritmus az iputot részekét kapja meg, és a dötéseit a megkapott részletek alapjá a további részekre voatkozó iformációk élkül kell meghozia. Olie algoritmusokat sok probléma eseté alkalmazak az operációkutatás, az elméleti számítástudomáy és a közgazdaságta külöböző területei. Az algoritmusok hatékoyságát általába a verseyképességi aalízis alapjá mérik (a másik haszált elemzési módszer az átlagos eset aalízis). Optimalizálási feladatok eseté mide I iputra OPT (I) jelöli az optimális megoldás célfüggvéyértékét és egy A algoritmusra A(I) jelöli az algoritmus által az A iputo felvett célfüggvéyértéket. Miimalizálási feladatok eseté egy olie A algoritmusra azt modjuk C-verseyképes, ha mide I iputra teljesül A(I) C OPT (I). Gyakra a defiícióba megegedek egy iputtól függetle D additiv kostast, azaz az A(I) C OPT (I) + D egyelőtleségek kell teljesülie mide iputra. Bizoyos esetekbe a C függhet az iput méretétől. Ekkor az A(I) C() OPT (I) egyelőtleségek kell teljesülie mide méretű iputra. Egy algoritmus verseyképességi háyadosáak a legkisebb C számot evezzük, amire C-verseyképes. Síbérlési feladat A síbérlési feladat eseté, adott egy sí, amit vagy 1 egységért bérelhetük vagy megvásárolhatuk B egységért, a feladat eldötei mikor vásároljuk meg. B algoritmus: A B-edik apig béreljük a sít, a B-edik apo megvásároljuk. Tétel A B algoritmus (2B 1)/B-verseyképes. Bizoyítás A feladat iputja I, azo apok száma, aháy apig síelük. Ha I < B, akkor mid az olie algoritmusak mid pedig az optimális offlie algoritmusak a költsége I, így B(I)/OPT(I)=1. Ha I B, akkor OPT (I) = B, továbbá B(I) = B 1 + B, így B(I)/OPT (I) = (2B 1)/B Tétel Nics olya olie algoritmus, amelyek kisebb a verseyképességi háyadosa, mit (2B 1)/B. Bizoyítás Legye A az az időpot, amikor az algoritmus megvásárolja a sít. A feladat iputja legye A apyi síelés, az algoritmus költsége A 1 + B. Ha A < B, akkor az optimális költség A. Másrészt (A 1 + B)/A = 1 + (B 1)/A (2B 1)/B. Ha A B, akkor az optimális költség B. Másrészt (A 1 + B)/B (2B 1)/B. Lapozás A lapozási problémába a számítógépek gyorsmemóriájáak a kezelését modellezik. Adott lapok egy uiverzuma, és iét származó lapok egy sorozata az iput. Az algoritmusak egy k lap kapacitású gyorsmemóriát kell kezelie. Ha az aktuálisa igéyelt lap ics a memóriába, akkor a lapot az algoritmusak be kell teie és ehhez, ameyibe már ics hely, valamely lapot ki kell rakia. Ezt az eseméyt, amikor egy igéyelt lap ics a memóriába hibáak hívjuk, és a cél a hibák számáak miimalizálása. Alsó korlát Tétel Nics olya olie algoritmus a lapozási problémára, amely verseyképességi háyadosa kisebb, mit k. 1

Vegyük k+1 lapot és legye A egy tetszőleges olie algoritmus. Legye L az az elemből álló iput, amelybe az új elem midig az a lap, amely lap éppe hiáyzik A memóriájából. Legye továbbá osztható k-val. Ekkor A mide lapál hibázik, így A(L ) =. Legye LFD (logest forward distace) az az offlie algoritmus, amely ha egy lapot ki kell raki a memóriából midig azt a lapot választja a lapok közül, amelyre a következő igéy a legkésőbb érkezik. Ez az optimális. Ha LFD hibázik, akkor a következő k-1 kérés sorá em hibázhat újra, így LFD(L ) /k. Tehát A(L )/OPT (L ) /(/k), amivel a tétel állítását igazoltuk. Bélyegző algoritmus Az algoritmus bélyegeket haszál a memóriába. Kezdetbe egyetle lap sics megjelölve. Egy kérés érkezésekor az algoritmus a következő lépéseket hajtja végre. 1. Ha a kért lap a memóriába va, akkor ameyibe ez a lap még jelöletle, akkor megjelöljük. 2. Ha a kért lap ics a memóriába, és ics már jelöletle lap a memóriá- ba, akkor az összes jelölést töröljük. Ezt követőe veszük egy jelöletle lapot a memóriából (az előző lépés miatt va ilye) a kért lapot eek a lapak a helyére berakjuk, majd megjelöljük. Az algoritmus viselkedése agymértékbe függ attól, hogy milye szabály alapjá választjuk ki a törledő lapot, de a következő tétel mutatja, hogy a verseyképességi háyadosa em függ ettől. FIFO: A legrégebbe bekerült lapot dobja ki (em bélyegző). LRU: Midig a legrégebbe haszált lapot dobja ki (bélyegző). Tétel A B algoritmus verseyképességi háyadosa k. Bizoyítás Botsuk fel ezt az iputot fázisokra. Az első fázis kezdődjö az első elemél. Ezt követőe mide egyes fázis a megelőző fázis utolsó eleme utá jövő elemél kezdődik, és a leghosszabb olya sorozatát tartalmazza a kérésekek, amelyek legfeljebb k külöböző lapot igéyelek. (Tehát a következő fázis akkor kezdődik, amikor a k+1-edik külöböző lap megjeleik.) Érdemes megjegyezi, hogy a fázis a bélyegek kiosztásával is defiiálható, akkor kezdődik új fázis, amikor a B algoritmus törli a bélyegeket a memóriába. Az algoritmus defiíciójából következik, hogy B legfeljebb k hibát vét egy fázis alatt, (ha egy lapo hibázik, azo többet már em fog a fázisba, hisze megjelölte). Egy tetszőleges fázis második kéréséél az offlie memóriába bee va a fázis első eleme. Ezt követőe a következő fázis első eleméig k további elem jeleik meg, így az offie algoritmusak legalább egy hibát kell véteie, az adott fázis második elemétől, a következő fázis első eleméig tartó kéréssorozato. Következésképpe mide fázishoz (kivéve esetleg az utolsót) hozzáredeltük az offlie algoritmus egy-egy hibáját. Jelölje r a fázisok számát. Ekkor B(I) rk + k 1 és OPT (I) r, következésképp B(I) k OPT (I) + k 1, amivel a tétel állítását igazoltuk. Lista karbatartási probléma Adott egy lista, amelye a következő műveleteket tudjuk végrehajtai: Keres(x) Torol(x) Beszúr(x) 2

Mi csak a statikus modellt vizsgáljuk, ahol adottak a lista elemei és csak Keres(X) műveleteket hajtuk végre. Ameyibe a lista i-edik elemét keressük, akkor a költség i. A megegedett karbatartási műveletek: a Keres(x) művelet sorá az x elemet igye tetszőleges helyre előre mozgathatjuk fizetett cserék: bármely két egymás melletti elemet felcserélhetük 1 költséggel Példa Legye a lista x 1,x 2,x 3 a kéréssorozat x 3,x 2,x 3,x 2. Esetszétválasztással igazolható, hogy ameyibe em haszál egy algoritmus fizetett cseréket a költsége legalább 9. (Az első kérés költsége 3, ezt követoe megvizsgálva, hogy hova rakja az algoritmus az x 3 elemet igazolható az állítás.) Ezzel szembe ha két fizetett cserével az utolsó helyre visszük x 1 -et, akkor a cserék költsége 2 és utáa em mozdítva több elemet a kérések költsége 6. Következésképpe fizetett cserével jobb megoldást kaphatuk. MTF algoritmus Az algoritmus iputja elemek egy kezdeti x 1,...,x listája, és kérések egy σ = σ 1,...,σ m sorozata, ahol σ i {x 1,...,x }. A i-edik kérés hatására a KERES(σ i ) műveletet kell végrehajtai. MTF algoritmus Az algoritmus a kért elemet a lista elejére mozdítja. Tétel Az MTF algoritmus 2-verseyképes. Bizoyítás Vegyük egy optimális megoldást, jelölje OPT. Legye a Φ(i) poteciálfüggvéy az iverziók száma az i-edik kérés utá az MTF által karbatartott listába az optimálishoz képest, azaz azo x,y párok száma, amelykre x megelőzi y-t OPT listájába de em előzi meg MTF listájába. Vizsgáljuk meg a k-adik kérés, Keres(σ k ) művelete sorá fellépő költségeket és poteciálváltozást. Legye p azo elemek száma, amelyek mid MTF mid OPT listájába megelőzik σ k -t, q azo elemek száma, amelyek csak MTF listájába előzik meg σ k -t. MTF költsége p + q + 1, az optimális költség legalább p + 1. A Φ függvéy értéke q + p-vel változik. Tehát MT F(σ i ) + Φ(k) Φ(k 1) = p + q + 1 q + p = 2p + 1 2OPT (σ i ) Következésképpe MT F(σ) + Φ Φ 0 2OPT (σ) FC algoritmus FC algoritmus Az elemeket midig a gyakoriságuk sorredjébe tartja sorba. (Ezt megteheti fizetett cserék élkül, mivel midig csak a keresett elem gyakorisága övekszik, így esetleg azt kell előre mozgati.) Lemma FC em kostas verseyképes. Bizoyítás Legye a kezdeti lista x 1,...,x, a kéréssorozat pedig legye -szer x 1, -1-szer x 2, és így tovább + 1 i-szer x i. Ekkor FC sosem változtat a listá és a kiszolgálás teljes költsége i=1 ( + 1 i)i = ( + 1) i=1 i i=1 i 2 = ( + 1) 2 /2 ( + 1)(2 + 1)/6 = Θ( 3 ). Ezzel szembe MT F költsége i=1 i + 1 i=1 i = Θ(2 ). Következésképpe FC(I)/OPT (I), ha tart végtelebe. TRANSPOSE algoritmus TRANSPOSE algoritmus: A keresett elemet, ha em az első a listába egy hellyel előrébb mozgatja. Lemma TRANSPOSE em kostas verseyképes. Bizoyítás: Legye a lista x 1,...,x és vegyük a következő kéréssorozatot (x,x 1 ) M. Ekkor Traspose midig a kért utolsó elemet felcseréli az előtte álló elemmel, így a teljes költsége 2M. Másrészt az MTF algoritmusak, 3

amely midig legelőre hozza az aktuális elemet a költsége az első két kéréstől eltekitve midig 2, így összese 2 + 2(M 1)2. Következésképpe Traspose(I)/OPT (I) 2M /(2 + 4(M 1) /2 ha M tart végtelebe. Alsó korlát Tétel Ha egy olie algoritmus c-verseyképes a lista karbatartási feladatra, akkor c 2. Bizoyítás Vegyük egy tetszőleges olie algoritmust. Defiiáljuk egy m hosszú iputot, amely midig az algoritmus listájáak utolsó elemét kéri. Ekkor az algoritmus költsége m. Az optimális költség becsléséhez vegyük két statikus algoritmust. STAT1 em mozdít egyetle elemet sem, STAT2 pedig előszőr megfordítja az elemek sorredét és utáa em mozdít egyetle elemet sem. Ekkor bármilye kérés érkezik aak a teljes költsége a két algoritmusra ézve potosa + 1. Továbbá STAT2 eseté a kezdeti sorred eléréséek költsége ( 1)/2. Következésképpe STAT1 és STAT2 együttes költsége az iputra ( 1)/2 + m( + 1), így az optimális költség legfeljebb (( 1)/2 + m( + 1))/2. Tehát azt kaptuk, hogy erre az iputra ALG(I)/OPT (I) háyadosra kapott alsó korlát tart az 2/( + 1) értékhez, ahogy m tart a végtelebe. Másrészt eze háyados határértéke 2, ha tart a végtelebe, amivel a tételt igazoltuk. k-szerver probléma Egy (M,d) párost, ahol M a metrikus tér potjait tartalmazza, d pedig az M M halmazo értelmezett távolságfüggvéy metrikus térek evezük, ha a távolságfüggvéyre teljesülek az alábbi tulajdoságok d(x,y) 0 mide x,y M eseté, d(x,y) = d(y,x) mide x,y M eseté, d(x,y) + d(y,z) d(x,z) mide x,y,z M eseté, d(x,y) = 0 akkor és csak akkor teljesül, ha x = y. A k-szerver problémába adott egy metrikus tér, és va k darab szerverük, amelyek a térbe mozoghatak. A probléma sorá a tér potjaiból álló kérések egy listáját kell kiszolgáli azáltal, hogy a megfelelő kérések helyére odaküldük egy-egy szervert. A probléma o-lie, ami azt jeleti, hogy a kéréseket egyekét kapjuk meg, és az egyes kéréseket a további kérések ismerete élkül azok érkezése előtt kell kiszolgáluk. A cél a szerverek által megtett össztávolság miimalizálása. Lapozás mit speciális eset A lapozási problémába a számítógépek gyorsmemóriájáak a kezelését modellezi. Adott lapok egy uiverzuma, amely lapok egy sorozata az iput. Az algoritmusak egy k lap kapacítású gyorsmemóriát kell kezelie. Ha az aktuálisa igéyelt lap ics a memóriába, akkor a lapot az algoritmusak be kell teie és ehhez, ameyibe már ics hely, valamely lapot ki kell rakia. Ezt az eseéyt, amikor egy igéyelt lap ics a memóriába hibáak hívjuk, és a cél a hibák számáak miimalizálása. Ha az uiverzum a metrikus tér és a memória celláit a szerverekek feleltetjük meg (egy szerver azo a poto va, amely lapot a cella tartalmazza), akkor egy k-szerver feladatot kapuk. A metrikus térbe bármely két pot távolsága 1. Az ilye tereket uifrom térek evezzük. következméy: Uiform tereke vaak k-verseyképes algoritmusok, és ics olya algoritmus, amely verseyképessé háyadosa kisebb, mit k. Mohó algoritmus Természetes godolat a kéréseket midig a legközelebbi szerverrel kiszolgáli. 4

1. ábra. Lemma A mohó algoritmus em kostas verseyképes. Egyesúly algoritmus Az eljárás sorá a szerverek midig külöböző potokba helyezkedek el. Az algoritmus a futása sorá mide szerverre számo tartja, hogy az aktuális időpotig összese mekkora távolságot tett meg. Jelölje redre s 1,...,s k a szervereket és a potokat is, ahol a szerverek elhelyezkedek. Továbbá jelölje D 1,...,D k redre a szerverek által az adott időpotig megtett összutat. Ekkor, ameyibe egy P potba megjeleik egy kérés akkor a ES algoritmus azt az i szervert választja a kérés kiszolgálására, ahol a D i + d(s i,p) érték miimális. Tehát az algoritmus számo tartja egy k méretű S tömbbe szerverek kofigurációját, egy D tömbbe a szerverekhez redelt távolságokat. Az algoritmus egy I = P 1,...,P potsorozatra (amely potokat egy D tömb által kapuk meg) a következőképpe fut le ES(I) algoritmus for j=1 to i= argmi D[i]+d(s[i],P[j]) szolgáljuk ki a kérést az i-edik szerverrel D[i]:=D[i]+d(s[i],P[j]) s[i]:=p[j] Példa Tekitsük a kétdimeziós Euklédeszi teret, mit metrikus teret. A potok (x, y) valós számpárokból állak, két potak (a,b)-ek és (c,d)-ek a távolsága (a c) 2 + (b d) 2. Legye két szerverük kezdetbe a (0,0) és (1,1) potokba. Kezdetbe D 1 = D 2 = 0, s 1 = (0,0), s 2 = (1,1). Az első kérés legye az (1,4) potba. Ekkor D 1 +d((0,0)(1,4)) = 17 > D2 + d((1,1)(1,4)) = 3, így a második szervert haszáljuk és a kérés kiszolgálása utá D 1 = 0,D 2 = 3, s 1 = (0,0), s 2 = (1,4) teljesül. Legye a második kérés (2,4), ekkor D 1 + d((0,0)(2,4)) = 20 > D 2 + d((1,4)(2,4) = 3 + 1 = 4, így ismét a második szervert haszáljuk, és a kérés kiszolgálása utá D 1 = 0,D 2 = 4, s 1 = (0,0), s 2 = (2,4) teljesül. A harmadik kérés legye ismét az (1,4) potba, ekkor D 1 +d((0,0)(1,4)) = 17 < D 2 +d((2,4)(1,4) = 4+1 = 5, így az első szervert haszáljuk és a kérés kiszolgálása utá D 1 = 17,D 2 = 4, s 1 = (1,4), s 2 = (2,4) teljesül. tétel Ameyibe a metrikus tér k + 1 potot tartalmaz, akkor az ES algoritmus eyhé k-verseyképes. 5

Mukafüggvéy algoritmus Azt a metrikus tér potjaiból álló multihalmaz, amely megadja mely potokba helyezkedek el a szerverek (azért kell multihalmazokat haszáluk, mert egy potba több szerver is lehet) a szerverek kofigurációjáak evezzük. Legye A 0 az o-lie szerverek kezdeti kofigurációja. Ekkor a t-edik kérés utái X multihalmazra voatkozó mukafüggvéy w t (X) a miimális költség, amellyel kiszolgálható az első t kérés az A 0 kofigurációból kiidulva úgy, hogy a szerverek az X kofigurációba kerüljeek a kiszolgálás végé. A mukafüggvéy algoritmus a mukafüggvéyt haszálja. Legye A t 1 a szerverekek a kofigurációja közvetleül a t-edik kérés érkezése előtt. Ekkor a mukafüggvéy algoritmus azzal az s szerverrel szolgálja ki az R t potba megjelet kérést, amelyek a P helyére a w t 1 (A t 1 \ P R t ) + d(p,r t ) érték a miimális. Példa Tekitsük azt a metrikus teret, amelybe három pot va A, B és C, a távolságok d(a,b) = 1, d(b,c) = 2, d(a,c) = 3. A kezdeti szerver kofiguráció legye A,B. Ekkor a kezdeti mukafüggvéyek w 0 ({A,A}) = 1, w 0 ({A,B}) = 0, w 0 ({A,C}) = 2, w 0 ({B,B}) = 1, w 0 ({B,C}) = 3, w 0 ({C,C}) = 4. Legye az első kérés a C potba. Ekkor w 0 ({A,B} \ {A} {C}) + d(a,c) = 3 + 3 = 5 és w 0 ({A,B} \ {B} {C}) + d(b,c) = 2 + 2 = 4, így a MUNKAFÜGGVÉNY algoritmus a B potba levő szerver küldi a kérés kiszolgálására. Tétel A MUNKAFÜGGVÉNY algoritmus eyhé 2k 1-verseyképes. Dupla lefedő algoritmus Egy másik vizsgált speciális tér az egyees. Az egyees potjait a valós számokak feleltetjük meg, és két potak a-ak és b-ek a távolsága a b. Erre az esetre, ahol a metrikus tér egy egyees, Chrobak és Larmore kifejlesztett egy k-verseyképes algoritmust, amelyet dupla lefedő algoritmusak evezük. Az algoritmus a P kérést a P-hez legközelebb eső s szerverrel szolgálja ki, és ameyibe vaak szerverek P-ek az s-el átellees oldalá is, akkor azo szerverek közül a P-hez legközelebbit d(s, P) egységyit mozdítja P felé. A továbbiakba a dupla lefedő algoritmust DL-el jelöljük. Tétel A DL algoritmus k-verseyképes ha a metrikus tér egy egyees. DL(I,S) algoritmus for j=1 to i:=argmi {d(p[j],s[l]) : l=1,..,} if s[i]=mi{s[l] : l=1,..,} or s[i]=mi{s[l] : l=1,..,} the a kérést az i szerver szolgálja ki s[i]:=p[j] else if s[i]<= P[j] the m:={argmi}{d(s[l],p[j]) s[l] > P[j]} a kérést az i szerver szolgálja ki s[m]:=s[m]- d(s[i],p[j]) s[i]:=p[j] else r:={argmi}{d(s[l],p[j]) s[l] < P[j]} a kérést az i szerver szolgálja ki s[r]:=s[r]+ d(s[i],p[j]) s[i]:=p[j] 6

0 2 6 0 3 5 0 3 7 1 2 7 0 2 7 2. ábra. Példa Bizoyítás I. Vegyük egy tetszőleges sorozatát a kérésekek, jelölje ezt az iputot I. Az eljárás elemzése sorá feltételezzük, hogy párhuzamosa fut a DL algoritmus és egy optimális off-lie algoritmus. Szité feltesszük, hogy mide kérést elsőkét az off-lie algoritmus szolgál ki, utáa pedig az o-lie algoritmus. Az o-lie algoritmus szervereit és egybe a szerverek pozícióit, (amelyek valós számok az egyeese) s 1,...,s k jelöli, az optimális off-lie algoritmus szervereit és egybe a szerverek pozícióit x 1,...,x k jelöli. Mivel a szerverek redszeres átjelölésével ez elérhető feltételezzük, hogy s 1 s 2 s k és x 1 x 2 x k midig teljesül. A tétel állítását a poteciálfüggvéy techikájával igazoljuk. A poteciálfüggvéy a szerverek aktuális pozíciójához redel egy értéket, az o-lie és az off-lie költségeket a poteciálfüggvéy változásaiak alapjá hasolítjuk össze. Legye a poteciálfüggvéy Φ = k k i=1 x i s i + (s j s i ). i< j Az alábbiakba igazoljuk, hogy a poteciálfüggvéyre teljesülek az alábbi állítások. Amíg OPT szolgálja ki a kérést, addig a poteciálfüggvéy övekedése legfeljebb k-szor az OPT szerverei által megtett távolság. Amíg DL szolgálja ki a kérést, addig Φ legalább ayival csökke, mit ameyi a kérés kiszolgálásáak költsége. Ameyibe a feti tulajdoságok teljesülek, akkor a tétel állítása következik, hisze ebbe az esetbe adódik, hogy Φ v Φ 0 k OPT(I) DL(I), ahol Φ v és Φ 0 a poteciálfüggvéy kezdeti és végső értékei. Mivel a poteciálfüggvéy emegatív, ezért adódik, hogy DL(I) kopt(i) + Φ 0, azaz azt kapjuk, hogy a DL algoritmus eyhé k-verseyképes. Bizoyítás II. Elsőkét vizsgáljuk azt az esetet, amikor OPT valamely szervere d távolságot mozog. Ekkor a poteciálfüggvéybe szereplő első rész legfeljebb kd-vel övekszik a második rész em változik, tehát az első tulajdosága a poteciálfüggvéyek valóba feáll. Most vizsgáljuk DL szervereit. Legye P a kérés melyet ki kell szolgáli. Mivel elsőkét OPT szolgálta ki a kérést, ezért x j = P valamely szerverre. Most külöböztessük meg két esetet DL szervereiek elhelyezkedésétől függőe. 7

Elsőkét tegyük fel, hogy mide szerver P-ek ugyaarra az oldalára esik. Feltehetjük, hogy mide szerver pozíciója agyobb P-él, a másik eset teljese hasoló. Ekkor s 1 a legközelebbi szerver P-hez és DL s 1 -et küldi P-be, más szervert em mozgat. Tehát DL költsége d(s 1,P). A poteciálfüggvéybe szereplő első összegbe csak az x 1 s 1 tag változik és ez csökke d(s 1,P) egységgel, tehát az első rész csökke kd(s 1,P) egységgel. A második tag övekszik (k 1)d(s 1,P) egységgel, így Φ értéke csökke d(s 1,P) egységgel. Most tekitsük a másik esetet. Ekkor P-ek midkét oldalára esik szerver, legyeek ezek a szerverek s i és s i+1. Tegyük fel, hogy s i esik közelebb P-hez, a másik eset teljese hasoló. Tehát DL költsége 2d(s i,p). Vizsgáljuk a poteciálfüggvéy első részéek változásait. Az i-edik és az i + 1- edik tag változik. Az egyik tag övekszik, a másik csökke d(s i,p) egységgel, tehát az első rész összességébe em változik. A Φ függvéy második részéek változása d(s i,p) ( (k i) + (i 1) (i) + (k (i + 1)) ) = 2d(s i,p). Tehát ebbe az esetbe is feáll a poteciálfüggvéy második tulajdosága. Fa metrikus tér Az egyees általáosításakét kaphatjuk a fa metrikus teret. vegyük egy tetszőleges súlyozott fát. A metrikus tér potjai a fa csúcsai továbbá mide élhez és mide 0 < λ < 1 számhoz defiiáljuk az élet λ és 1 λ aráyba felosztó potokat. Mivel a fa körmetes ezért bármely két pot között egyetle út vezet. A két pot közötti távolság a közöttük vezető út hossza. Az élek belső potjai eseté az él hosszáak a felosztásak megfelelő részét vesszük figyelmebe. Azt modjuk, hogy egy szerver lát egy potot, ha a közte és a pot között levő úto ics másik szerver. Lefedő algoritmus Az algoritmus egy kérést úgy szolgál ki, hogy mide szervert, ami látja a kérés helyét egyeletes sebességgel mozgat a szerver felé. (A kérést látó szerverek halmaza változik a szerverek mozgatása sorá.) tétel A lefedő algoritmus eyhé k-verseyképes, ha a metrikus tér egy fa. 3. ábra. 8

tétel Nics olya legalább k + 1 potból álló metrikus tér, ahol megadható olya o-lie algoritmus, amelyek kisebb a verseyképességi háyadosa, mit k. bizoyítás Tekitsük egy tetszőleges legalább k + 1 potból álló teret, és egy tetszőleges o-lie algoritmust. Jelölje az algoritmust ONL, a potokat ahol kezdetbe ONL szerverei állak P 1,P 2,...,P k, a térek egy további potját jelölje P k+1. Vegyük kérésekek egy hosszú I = Q 1,...,Q sorozatát, amelyet úgy kapuk, hogy a következő kérés midig a P 1,P 2,...,P k+1 potok közül abba a potba keletkezik, ahol ics szerver. Vizsgáljuk elsőkét a ONL(I) költséget. Mivel a Q j pot kiszolgálása utá a Q j+1 pot lesz szabad, ezért a Q j potot midig a Q j+1 potba álló szerver szolgálja ki, így a kiszolgálás költsége d(q j,q j+1 ). ONL(I) = d(q j,q j+1 ), j=1 ahol Q +1 azt a potot jelöli, ahol az + 1-edik kérés lee, azaz azt a potot, amelyről kiszolgáltuk az -edik kérést. Most vizsgáljuk a OPT(I) költséget. Az optimális off-lie algoritmus meghatározása helyett defiiáluk k darab off-lie algoritmust, és ezek költségeiek az átlagát haszáljuk, mivel midegyik algoritmus költsége legalább akkora mit a miimális költség, ezért a költségek átlaga is felső korlátja lesz az optimális költségek. Defiiáljuk k darab off-lie algoritmust, jelölje őket OFF 1,..., OFF k. Tegyük fel, hogy a kiidulási állapotba az OFF j algoritmus szerverei a P 1,P 2,...,P k+1 potok közül a P j potot szabado hagyják, és a halmaz további potjaiak midegyiké egy szerver helyezkedik el. Ez a kiidulási állapot elérhető egy C j kostas extra költség felhaszálásával. A kérések kiszolgálása a következőképpe törtéik. Ha a Q i poto va az OFF j algoritmusak szervere, akkor em mozgat egyetle szervert sem, ha ics, akkor a Q i 1 poto levő szervert haszálja. Az algoritmusok jól defiiáltak, hisze ha ics szerver a Q i poto, akkor a P 1,P 2,...,P k+1 potok midegyiké, így Q i 1 -e is va szerver. Továbbá a Q 1 = P k+1 poto az OFF j algoritmusok midegyikéek áll szervere a kezdeti kofigurációba. Vegyük észre, hogy az OFF 1,..., OFF k algoritmusok szerverei redre külöböző kofigurációkba vaak. Kezdetbe ez az állítás a defiíció alapjá igaz. Utáa a tulajdoság azért marad fe, mert amely algoritmusok em mozdítaak szervert a kérés kiszolgálására, azokak a szerver kofigurációja em változik. Amely algoritmusok mozgatak szervert, azok a Q i 1 potról viszik el a szervert, amely pot az előző kérés volt, így ott mide algoritmusak va szervere. Következésképp eze algoritmusok szerver kofigurációja em állítódhat azoos pozícióba olya algoritmus szerver kofigurációjával, amely em mozdított szervert. Másrészt, ha több algoritmus is mozgatá Q i 1 -ről Q i -be a szervert azok szerver kofigurációja se válhat azoossá, hisz a mozgatást megelőzőleg külöböző volt. Következésképp egy Q i kérés eseté, mide OFF j algoritmusra más a szerver kofiguráció. Továbbá mide kofigurációak tartalmazia kell Q i 1 -et, tehát potosa egy olya OFF j algoritmus va, amelyek icse szervere a Q i poto. Tehát a Q i kérés kiszolgálásáak a költsége az OFF j algoritmusok egyikéél d(q i 1,Q i ) a többi algoritmus eseté 0. Következésképp k j=1 OFF j (I) = C + i=2 d(q i,q i 1 ), ahol C = k j=1 C j egy az iput sorozattól függetle kostas, amely az off-lie algoritmusok kezdeti kofigurációiak beállításáak költsége. Másrészt az off-lie optimális algoritmus költsége em lehet agyobb semelyik off-lie algoritmus költségéél sem, így k OPT(I) k j=1 OFF j(i). Következésképpe k OPT(I) C + i=2 d(q i,q i 1 ) C + ONL(I), 9

amely egyelőtleségből következik, hogy az ONL algoritmus verseyképességi háyadosa em lehet kisebb, mit k, hisze az iputsorozat hosszúságáak övelésével a OPT(I) érték tetszőlegese agy lehet. 10