Bevezetés A k-szerver probléma Imreh Csanád SZTE, Informatikai Tanszékcsoport 6720, Szeged, Árpád tér 2. Email: cimreh@inf.u-szeged.hu A gyakorlatban gyakran fordulnak elő olyan optimalizálási feladatok, ahol az inputot csak részenként ismerjük meg, és a döntéseinket a már megkapott információk alapján a további adatok ismerete nélkül kell meghoznunk. Ilyen feladatok esetén online problémáról beszélünk. Az online algoritmusok elméletének igen sok alkalmazása van a számítástudomány, a közgazdaságtan, és az operációkutatás különböző területein. Az online algoritmusok hatékonyságának vizsgálatára használt legelterjedtebb módszer a kompetitív analízis. Az online algoritmus által kapott megoldás költségét hasonlítjuk össze az optimális offline (az offline esetben az algoritmus már kezdetben ismeri az egész inputot) célfüggvényértékkel. Az alábbiakban pontosabban definiáljuk ezen módszer alapvető fogalmait. Egy online algoritmust C-kompetitívnek nevezünk, ha minden inputra az algoritmus által kapott megoldás költsége nem nagyobb, mint C-szer az optimális offline költség. Egy algoritmus kompetitív hányadosa a legkisebb olyan C szám, amelyre az algoritmus C-kompetitív. Egy probléma kompetitív hányadosa a legkisebb kompetitív hányados, amelyet online algoritmus el tud érni. Az egyik legismertebb online probléma a k-szerver probléma. A feladatban adott egy metrikus tér, és van k szerverünk, amelyek a térben mozoghatnak. A probléma során a tér pontjaiból álló kérések egy listáját kell kielégíteni azáltal, hogy a megfelelő kérések helyére odaküldünk egy-egy szervert. A probléma online, ami azt jelenti, hogy az igényeket egyenként kapjuk meg, és az egyes igényeket a további kérések ismerete nélkül kell kielégítenünk. A célunk a szerverek által megtett össztávolság minimalizálása. Ezen modellnek és speciális eseteinek számos alkalmazása van. Ebben a dolgozatban röviden összefoglaljuk a k-szerver problémára vonatkozó legismertebb, ma már klasszikusnak számító eredményeket, (egy részletesebb áttekintés megtalálható az [5] surveyben), majd röviden kitérünk 1
néhány mostanában felvetett általánosításra és szorosan kapcsolódó egyéb problémára. Alapvető eredmények a k-szerver problémára Az első fontos eredményeket a k szerver problémára a [13] cikkben igazolták. Megmutatták, hogy nincs olyan legalább k + 1 pontból álló metrikus tér, ahol megadható olyan online algoritmus, amelynek kisebb a kompetitív hányadosa, mint k. A probléma nagy érdeklődést keltett, az elkövetkező néhány évben számos eredmény született. Az általános esetre elsőként konstans kompetitív (O(2 k )- kompetitív) algoritmust a [8] cikkben publikáltak. Ezt követően hosszan nem sikerült lényegesen csökkenteni a felső és az alsó korlát közötti rést. Az áttörést a [11] dolgozatban közölt eredmény hozta. A dolgozatban sikerült a [4] cikkben javasolt munkafüggvényen alapuló algoritmust analizálni, és igazolták, hogy az algoritmus 2k 1-kompetitív. Nem sikerült meghatározni az algoritmus kompetitív hányadosát, bár általánosan sejtett, hogy az algoritmus valójában k-kompetitív. Ezen kompetitív hányados pontos meghatározása, illetve egy k-kompetitív algoritmus kifejlesztése azóta is az online algoritmusok elméletének legismertebb és sokak által legfontosabbnak tartott nyílt problémája. A probléma speciális eseteit számos dolgozatban vizsgálták. A k = 2 esetre már az eredeti [13] dolgozatban bemutattak egy 2-kompetitív algoritmust, és később több egyszerűbb illetve gyorsabb 2-kompetitív algoritmust is kifejlesztettek. Szintén igazolást nyert, hogy az a kiegyensúlyozó algoritmus, amely igyekszik a szerverek által megtett távolságot egyenletesen elosztani k-kompetitív abban az esetben, ha a metrikus tér pontjainak száma k + 1. Szintén sok cikk foglalkozik speciális metrikus terekkel. Amennyiben bármely két pont távolsága 1, akkor a lapozási problémához jutunk, amely a számítógépek memóriakezelését modellezi, ezt a problémát számos dolgozat tanulmányozza, egy áttekintés található a [10] surveyben. Amennyiben a metrikus tér egy egyenes vagy egy fa, akkor megadható k-kompetitív algoritmus (ld. [3]) A kezdeti alapvető eredmények után több dolgozat foglalkozott egyéb speciális esetekkel, és számos eredmény született a véletlenített online algoritmusokhoz kapcsolódóan. Továbbá olyan algoritmusokat vizsgáltak, amelyeknek korlátozott a memóriájuk. Itt ezekkel az eredményekkel nem foglalkozunk, inkább az eredeti k-szerver problémához kapcsolódó modelleket mutatjuk be röviden. 2
Egyéb kapcsolódó modellek Súlyozott szerverek: Az egyik legfontosabb általánosítása a k-szerver problémának a súlyozott k-szerver probléma. Ebben a problémában minden szervernek van egy súlya (az i-edik szerver súlya w i ), és amennyiben az i-edik szerver szolgál ki egy a szerver pozíciójától d távolságra eső kérést, akkor ennek a költsége dw i. Ez a probléma igen nehéznek bizonyult, csak kevés hozzá kapcsolódó eredmény ismert. Az uniform terek esetét (bármely két pont távolsága 1) vizsgálja általános k-ra a [9] dolgozat, ahol k-ban duplán exponenciális kompetitív hányadossal rendelkező algoritmust fejlesztettek ki. A k = 2 esetet vizsgálják a [6] és [7] dolgozatok, [6] tetszőleges sebességek esetén vizsgálja a problémát, a [7] dolgozat főleg azzal az esettel foglalkozik, amelyben a szerverek sebességének hányadosa kicsi. Online utazó ügynök probléma: Az online utazó ügynök problémában (ld. [1]) egyetlen szerverünk van, amellyel kéréseket kell kielégítenünk. A különbség az, hogy a kéréseket nem az adott sorrendben kell kielégíteni, hanem a kéréseknek van egy érkezési ideje, és a kéréseket bármikor kielégíthetjük az érkezési idejük után. A szerver egység sebességgel mozog, a probléma online, ami azt jelenti, hogy egy adott időpontban csak az addig beérkezett kéréseket ismerjük és semmit nem tudunk a többi kérésről. A cél az, hogy minél hamarabb fejezzük be a kérések kielégítését. Az [1] dolgozatban két modellt vizsgálnak, az egyikben a szervernek vissza kell térnie a kéréssorozat végén a kezdőpontba a másikban nem. Az első modellben optimális 2-kompetitív algoritmust adtak az általános esetre, és egy 1.75- kompetitív algoritmust, továbbá egy 1.64 alsó korlátot a lehetséges kompetitív hányadosokra az egyenes esetén. A második modellben 2.5-kompetitív algoritmust mutattak be általános tér esetén és 7/3-kompetitív algoritmust az egyenesre. Ez a probléma jelenleg igen nagy érdeklődésre tart számot. Több eredmény született más célfüggvényekre a legtöbb a kérések kielégítésének átlagos idejére (ld [12] és az ott szereplő hivatkozások). Az összes dolgozat egyetlen szerver esetét vizsgálja, arra az esetre, amelyben több szerver használható nem ismertek eredmények. Fuvarra várva modellek: Végül mindenképpen érdemes megemlítenünk ezt a változatot is. A fenti modellekben a kérések egy pontra vonatkoztak, ahova a szervert küldeni kellett. Másrészt igen sok gyakorlati alkalmazás esetén a kérést nem lehet kielégíteni pusztán azáltal, hogy odaküldünk egy szervert, hanem a kérés arra vonatkozik, hogy adott pontból szállítsunk 3
el valamit egy másik pontba. Több online modellt tanulmányoztak attól függően, hogy a célállomást is megkapja az algoritmus a kérés érkezésekor vagy csak akkor amikor odaérkezett a kérés helyszínére. Irodalomjegyzék [1] G. Ausiello, E. Feuerstein, S. Leonardi, L. Stougie, M. Talamo, Algorithms for the On-Line Travelling Salesman, Algorithmica, 29, 560 581, 2001. [2] N. Auscheuer, S. O. Krumke, J. Rambau, Online dial a ride problems: Minimizing the completion time, Proc. of the 17-th International Symposiumon Theoretical Aspects of Computer Science, LNCS 1770, Springer Verlag, 639 650, 2000. [3] M. Chrobak, L. Larmore, An optimal algorithm for k-servers on trees, SIAM Journal on Computing, 20, 144-148, 1991. [4] M. Chrobak, L. Larmore, The server problem and online games, DIMACS series in Discrete mathemtaics and Theortical Computer Science, 7, 11 64, 1992. [5] M. Chrobak, L. Larmore, Metrical task systems, the server problem and the work function algorithm, Online algorithms: The State of the Art (A. Fiat, and G. J. Woeginger (eds.)) LNCS 1442, Springer-Verlag, 74 96, 1998. [6] M. Chrobak, J. Sgall, The weighted 2-server Problem, Proc. of the 17-th International Symposiumon Theoretical Aspects of Computer Science, LNCS 1770, Springer-Verlag, 593 604, 2000. [7] L. Epstein, Cs. Imreh, R. van Stee, More on weighted servers or FIFO is better than LRU, Proceedings of 27th MFCS, LNCS 2420 Springer, 257 268, 2002 [8] A. Fiat, Y. Rabani, Y. Ravid, Competitive k-server algorithms, Journal of Computer and System Sciences, 48, 410-428, 1994. (also in FOCS 90) [9] A. Fiat, M. Ricklin, Competitive algorithms for the weighted server problem, Theoretical Computer Science, 130 85 99, 1994. [10] S. Irani, Competitive analysis of paging, Online algorithms: The State of the Art (A. Fiat, and G. J. Woeginger (eds.)) LNCS 1442, Springer-Verlag, 52 73, 1998 [11] E. Koutsoupias, C. Papadimitriou, On the k-server conjecture, Journal of the ACM, 42, 971 983, 1995. 4
[12] S. O. Krumke, W. E. de Paepe, D. Poengsen, L. Stougie, News from the Online Traveling Repairman, Proceedings of 26th MFCS, LNCS 2136 Springer, 487 499, 2001. [13] M. Manasse, L. McGeoch, D. Sleator, Competitive algorithms for server problems, Journal of Algorithms, 11, 208 230, 1990 5