1. Online kiszolgálóelhelyezés

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

Az online algoritmusok k-szerver probléma

Az online algoritmusok k-szerver probléma

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

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

Alapfogalmak, bevezető

Online migrációs ütemezési modellek

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

A k-szerver probléma

Abszolút folytonos valószín ségi változó (4. el adás)

i=1 i+3n = n(2n+1). j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes.

Approximációs algoritmusok

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

Permutációk véges halmazon (el adásvázlat, február 12.)

Elméleti összefoglaló a Valószín ségszámítás kurzushoz

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Arany Dániel Matematikai Tanulóverseny 2017/2018-as tanév 2. forduló Haladók II. kategória

Függvények növekedési korlátainak jellemzése

Online ládapakolás. 1. Ládapakolási modellek

Amortizációs költségelemzés

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

Valószín ségszámítás és statisztika

Pénzügyi matematika. Vizsgadolgozat I. RÉSZ. 1. Deniálja pontosan, mit értünk amerikai vételi opció alatt!

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

Általános algoritmustervezési módszerek

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31

Skalárszorzat, norma, szög, távolság. Dr. Takách Géza NyME FMK Informatikai Intézet takach/ 2005.

Lineáris egyenletrendszerek

1. Példa. A gamma függvény és a Fubini-tétel.

Deníciók és tételek a beugró vizsgára

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

Valószín ségszámítás és statisztika

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

5. házi feladat. AB, CD kitér élpárra történ tükrözések: Az ered transzformáció: mivel az origó xpont, így nincs szükség homogénkoordinátás

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

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.

ZH feladatok megoldásai

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

1. tétel - Gráfok alapfogalmai

i p i p 0 p 1 p 2... i p i

Modellek és Algoritmusok - 2.ZH Elmélet

Sorozatok és Sorozatok és / 18

Chomsky-féle hierarchia

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

Függvények folytonosságával kapcsolatos tételek és ellenpéldák

Módosítható Prioritási sor Binomiális kupaccal. Wednesday, March 21, 12

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Minden x > 0 és y 0 valós számpárhoz létezik olyan n természetes szám, hogy y nx.

A brachistochron probléma megoldása

HALMAZELMÉLET feladatsor 1.

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Diszkrét matematika 2.C szakirány

Diszkrét matematika I. gyakorlat

Opkut deníciók és tételek

Teodolit. Alapismeretek - leolvasások

Láthatjuk, hogy az els szám a 19, amelyre pontosan 4 állítás teljesül, tehát ez lesz a legnagyobb. 1/5

Elméleti összefoglaló a Sztochasztika alapjai kurzushoz

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Diszkrét matematika 2. estis képzés

1. A vállalat. 1.1 Termelés

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Eseményalgebra. Esemény: minden amirl a kísérlet elvégzése során eldönthet egyértelmen hogy a kísérlet során bekövetkezett-e vagy sem.

Az optimális megoldást adó algoritmusok

7 7, ,22 13,22 13, ,28

A Markowitz modell: kvadratikus programozás

Konvex optimalizálás feladatok

Analízisfeladat-gyűjtemény IV.

Biostatisztika. Sz cs Gábor. 2018/19 tavaszi félév. Szegedi Tudományegyetem, Bolyai Intézet

Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória

9. Tétel Els - és másodfokú egyenl tlenségek. Pozitív számok nevezetes közepei, ezek felhasználása széls érték-feladatok megoldásában

Ütemezési feladatok. Az ütemezési feladatok vizsgálata az 50-es évek elején kezdődött, majd

Matematikai és matematikai statisztikai alapismeretek

(1 + (y ) 2 = f(x). Határozzuk meg a rúd alakját, ha a nyomaték eloszlás. (y ) 2 + 2yy = 0,

Bázistranszformáció és alkalmazásai 2.

Relációk. 1. Descartes-szorzat. 2. Relációk

Bevezetés. Párhuzamos vetítés és tulajdonságai

Közgazdaságtan 1. ELTE TáTK Közgazdaságtudományi Tanszék. 3. hét A KERESLETELMÉLET ALAPJAI. HASZNOSSÁG, PREFERENCIÁK

MIKROÖKONÓMIA II. B. Készítette: K hegyi Gergely. Szakmai felel s: K hegyi Gergely február

Vektorok. Wettl Ferenc október 20. Wettl Ferenc Vektorok október / 36

A relációelmélet alapjai

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI

KÖZGAZDASÁGTAN I. Készítette: Bíró Anikó, K hegyi Gergely, Major Klára. Szakmai felel s: K hegyi Gergely június

ANALÍZIS II. Példatár

p j p l = m ( p j ) 1

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

d(f(x), f(y)) q d(x, y), ahol 0 q < 1.

Idegennyelv-tanulás támogatása statisztikai és nyelvi eszközökkel

Átírás:

1. Online kiszolgálóelhelyezés A probléma általános deníciójának megadásához szükség van a metrikus tér fogalmára. Egy (M, d) párost, ahol M a metrikus tér pontjait tartalmazza, d pedig az M M halmazon értelmezett távolságfüggvény metrikus térnek nevezünk, ha a távolságfüggvényre teljesülnek az alábbi tulajdonságok d(x, y) 0 minden x, y M esetén, d(x, y) = d(y, x) minden x, y M esetén, d(x, y) + d(y, z) d(x, z) minden x, y, z M esetén, d(x, y) = 0 akkor és csak akkor teljesül, ha x = y. A konstans költség kiszolgálóelhelyezési feladatban adottak egy metrikus térben s 1,..., s n kérések, amelyek a metrikus tér pontjai. Az algoritmusnak kiszolgálókat kell elhelyezni a metrikus tér pontjaiba. A cél a kiszolgálás teljes költségét minimalizálni, amely költség az alábbi két részköltség összege: A kiszolgálók elhelyezési költsége: egy f konstans szorozva a kiszolgálók számával. A kérések kiszolgálási költsége: ni=1 min j=1,...,k d(s i, p j ), ahol a kiszolgálók a p 1,..., p k pontokban vannak. (Egy kérés kiszolgálásának a költsége a legközelebbi ponttól való távolsága.) Az online kiszolgálóelhelyezési feladatban a kérések egyenként jönnek és az egyes kérések érkezése után kell eldöntenünk, hogy veszünk e új kiszolgálót. A feladat megoldására Meyerson a következ egyszer véletlenített algoritmust javasolta. Meyerson algoritmusa Legyen a kérés távolsága a legközelebbi kiszolgálótól d, és legyen p = min{d/f, 1}. Vegyünk a kérés helyén egy új kiszolgálót p valószín séggel. Véletlenített algoritmusok esetén egy adott inputra az erdemény nem egy adott érték, hanem egy valószín ségi változó, amely függ az algoritmus által használt véletlen döntések kimenetelét l. Ennek megfelel en a versenyképesség fogalmát is módosítani kell, az eerdmény várható értékét felhazsnálva. Egy R véletlenített online algoritmus c-versenyképes, ha E(R(I)) COP T (I) teljesül minden I inputra. Az algoritmusra a következ állítások teljesülnek:

Tétel: Meyerson algoritmusa O(log n) versenyképes, ahol n a kérések száma. Bizonyítás: Megtalálható [1]-ben. Az alábbi állítás is igaz, amelynek bizonyítása túlmutat a kurzus keretein. Tétel Amennyiben az inputsorozaton a végrehajtás el tt egy egyenletes eloszlás alapján választott permutációt is végrehajtunk, akkor ezen inputokra a Meyerson féle algoritmus konstans versenyképes. Bizonyos online alkalmazásokban el fordulhat, hogy a megvásásárolt kiszolgáló helyét nem kell véglegesen rögzítenünk, az mozgatható. Amennyiben a mozgatás ingyenes a következ algoritmust használhatjuk a kiszolgálás során. OPTMASOL algoritmus Határozzuk meg az inputra az optimális megoldást. Amennyiben az optimális megoldás legalább annyi kiszolgálót használ, mint ahányat eddig az OPTMASOL algoritmus vásárolt, akkor vegyünk új kiszolgálókat, annyit ahány hiányzik az optimális megoldás által használt kiszolgálószámhoz. Majd mozgassuk ezeket az optimális megoldásban szerepl helyekre. Amennyiben az optimális megoldás kevesebb kiszolgálót használ, mint ahányat eddig az OPTMASOL algoritmus vásárolt, akkor oldjuk meg az adott kiszolgálószám melletti optimális kiszolgálás feladatát (k-median feladat) az online algoritmus által már megvett kiszolgálószámra, és mozgassuk a kiszolgálókat a megoldásban szerepl helyekre. Az algoritmusra a következ állítások teljesülnek. Tétel OPTMASOL 2-versenyképes. Amennyiben a metrikus tér a egyenes OPTMASOL 3/2-versenyképes. Igazolható az alábbi alsó korlát ebben a modellben. tétel Nincs olyan online algoritmus, ami C-versenyképes valamely C < ( 13 + 1)/4 1.15 esetén. Bizonyítás: Vegyünk egy A online algoritmust és tegyük fel, hogy C- versenyképes valamely C < ( 13+1)/4 számra. Vegyük a következ inputot: s 1 = s 2 = 0, s 3 = s 4 = r = ( 13 1)/4 (ekkor 1/2 < r < 1). Ha A csak egy kiszolgálót vesz, akkor a teljes költsége legalább 2r +1, az optimális költség 2. Ekkor a sorozat véget ér és C A (σ 4 )/C OP T (σ 4 ) = (2r + 1)/2 = ( 13 + 1)/4 > C, ami ellentmondás. Tehát feltehetjük, hogy A legalább két kiszolgálót vesz. Ekkor az inputot s 5 = s 6 = s 7 = r/2 fejezi be. Az optimális megoldás egyetlen kis-

zolgálót használ az r/2 pontban, így C OP T (σ 7 ) = 2r + 1. Másrészt A-nak már van legalább két kiszolgálója, így a költsége legalább 2 + r. Tehát C A (σ 7 )/C OP T (σ 7 ) = (2 + r)/(2r + 1) = ( 13 + 1)/4 > C, ami ismét ellentmondás. 2. A k-szerver probléma Az egyik legismertebb on-line probléma a k-szerver probléma. A k-szerver problémában adott egy metrikus tér, és van k darab 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 kiszolgálni azáltal, hogy a megfelel kérések helyére odaküldünk egy-egy szervert. A probléma on-line, ami azt jelenti, hogy a kéréseket egyenként kapjuk meg, és az egyes kéréseket a további kérések ismerete nélkül azok érkezése el tt kell kiszolgálnunk. A cél a szerverek által megtett össztávolság minimalizálása. Ezen modellnek és speciális eseteinek számos alkalmazása van. A továbbiakban azt a metrikus tér pontjaiból álló multihalmaz, amely megadja mely pontokban helyezkednek el a szerverek (azért kell multihalmazokat használnunk, mert egy pontban több szerver is lehet) a szerverek kongurációjának nevezzük. Az els fontos eredményeket a k szerver problémára Manasse, McGeoch és Sleator érték el. A probléma megoldására javasolt els eljárás a következ Egyensúly algoritmus, amelyet a továbbiakban ES-el jelölünk. Az eljárás során a szerverek mindig különböz pontokban helyezkednek el. Az algoritmus futása során minden szerverre számon tartja, hogy az aktuális id pontig összesen mekkora távolságot tett meg. Jelölje rendre s 1,..., s k a szervereket és a pontokat is, ahol a szerverek elhelyezkednek. Továbbá jelölje D 1,..., D k rendre a szerverek által az adott id pontig megtett összutat. Ekkor, amennyiben egy P pontban megjelenik 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 minimális. Tehát az algoritmus számon tartja a szerverek S = {s 1,..., s k } szerver kongurációját, és a szerverekhez rendelt távolságokat, amelyek kezdeti értékei D 1 =... = D k = 0. Ezt követ en a algoritmus egy I = P 1,..., P n pontsorozatra a következ képpen fut ES(I) for j = 1 to n i = argmin{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 Tekintsük a kétdimenziós Euklédeszi teret, mint metrikus teret. A pontok (x, y) valós számpárokból állnak, két pontnak a, b c, d-nek a távolsága (a c) 2 + (b d) 2. Legyen két szerverünk kezdetben a (0, 0) és (1, 1) pontokban. Kezdetben D 1 = D 2 = 0, s 1 = (0, 0), s 2 = (1, 1). Az els kérés legyen az (1, 4) pontban. Ekkor D 1 + d((0, 0)(1, 4)) = 17 > D 2 + d((1, 1)(1, 4) = 3, így a második szervert használjuk és a kérés kiszolgálása után D 1 = 0, D 2 = 3, s 1 = (0, 0), s 2 = (1, 4) teljesül. Legyen 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 használjuk, és a kérés kiszolgálása után D 1 = 0, D 2 = 4, s 1 = (0, 0), s 2 = (2, 4) teljesül. A harmadik kérés legyen ismét az (1, 4) pontban, ekkor D 1 + d((0, 0)(1, 4)) = 17 < D 2 + d((2, 4)(1, 4) = 4 + 1 = 5, így az els szervert használjuk és a kérés kiszolgálása után D 1 = 17, D 2 = 4, s 1 = (1, 4), s 2 = (2, 4) teljesül. Az algoritmus hatékony speciális terek esetén, miként ezt a következ állítás mutatja. A tétel bizonyítását nem ismertetjük. tétel Amennyiben a metrikus tér k + 1 pontot tartalmaz, akkor az ES algoritmus enyhén k-versenyképes. Az alábbi állítás mutatja, hogy a k-szerver problémára általában nem adható meg k-versenyképesnél jobb algoritmus. tétel Nincs olyan legalább k + 1 pontból álló metrikus tér, ahol megadható olyan on-line algoritmus, amelynek kisebb a versenyképességi hányadosa, mint k. Bizonyítás Tekintsünk egy tetsz leges legalább k + 1 pontból álló teret, és egy tetsz leges on-line algoritmust. Jelölje az algoritmust ONL, a pontokat ahol kezdetben ONL szerverei állnak P 1, P 2,..., P k, a térnek egy további pontját jelölje P k+1. Vegyük kéréseknek egy hosszú I = Q 1,..., Q n sorozatát, amelyet úgy kapunk, hogy a következ kérés mindig a P 1, P 2,..., P k+1 pontok közül abban a pontban keletkezik, ahol a ONL algoritmusnak nem tartózkodik szervere. Vizsgáljuk els ként a ONL(I) költséget. Mivel a Q j pont kiszolgálása után a Q j+1 pont lesz szabad, ezért a Q j pontot mindig a Q j+1 pontban álló szerver szolgálja ki, így a kiszolgálás költsége d(q j, Q j+1 ). Következésképpen

n ONL(I) = d(q j, Q j+1 ), j=1 ahol Q n+1 azt a pontot jelöli, ahol az n+1-edik kérés lenne, azaz azt a pontot, amelyr l kiszolgáltuk az n-edik kérést. Most vizsgáljuk a OPT(I) költséget. Az optimális o-line algoritmus meghatározása helyett deniálunk k darab o-line algoritmust, és ezek költségeinek az átlagát használjuk, mivel mindegyik algoritmus költsége legalább akkora mint a minimális költség, ezért a költségek átlaga is fels korlátja lesz az optimális költségnek. Deniáljunk k darab o-line algoritmust, jelölje ket OFF 1,..., OFF k. Tegyük fel, hogy a kiindulási állapotban az OFF j algoritmus szerverei a P 1, P 2,..., P k+1 pontok közül a P j pontot szabadon hagyják, és a halmaz további pontjainak mindegyikén egy szerver helyezkedik el. Ez a kiindulási állapot elérhet egy C j konstans extra költség felhasználásával. A kérések kiszolgálása a következ képpen történik. Ha a Q i ponton van az OFF j algoritmusnak szervere, akkor nem mozgat egyetlen szervert sem, ha nincs, akkor a Q i 1 ponton lev szervert használja. Az algoritmusok jól deniáltak, hiszen ha nincs szerver a Q i ponton, akkor a P 1, P 2,..., P k+1 pontok mindegyikén, így Q i 1 -en is van szerver. Továbbá a Q 1 = P k+1 ponton az OFF j algoritmusok mindegyikének áll szervere a kezdeti kongurációban. Vegyük észre, hogy az OFF 1,..., OFF k algoritmusok szerverei rendre különböz kongurációkban vannak. Kezdetben ez az állítás a deníció alapján igaz. Utána a tulajdonság azért marad fenn, mert amely algoritmusok nem mozdítanak szervert a kérés kiszolgálására, azoknak a szerver kongurációja nem változik. Amely algoritmusok mozgatnak szervert, azok a Q i 1 pontról viszik el a szervert, amely pont az el z kérés volt, így ott minden algoritmusnak van szervere. Következésképp ezen algoritmusok szerver kongurációja nem állítódhat azonos pozícióba olyan algoritmus szerver kon- gurációjával, amely nem mozdított szervert. Másrészt, ha több algoritmus is mozgatná Q i 1 -r l Q i -be a szervert azok szerver kongurációja se válhat azonossá, hisz a mozgatást megel z leg különböz volt. Következésképp egy Q i kérés esetén, minden OFF j algoritmusra más a szerver konguráció. Továbbá minden kongurációnak tartalmaznia kell Q i 1 -et, tehát pontosan egy olyan OFF j algoritmus van, amelynek nincsen szervere a Q i ponton. Tehát a Q i kérés kiszolgálásának a költsége az OFF j algoritmusok egyikénél d(q i 1, Q i ) a többi algoritmus esetén 0.

Következésképp k n OFF j (I) = C + d(q i, Q i 1 ), j=1 i=2 ahol C = k j=1 C j egy az input sorozattól független konstans, amely az oline algoritmusok kezdeti kongurációinak beállításának költsége. Másrészt az o-line optimális algoritmus költsége nem lehet nagyobb semelyik o-line algoritmus költségénél sem, így k OPT(I) k j=1 OFF j (I). Következésképpen n k OPT(I) C + d(q i, Q i 1 ) C + ONL(I), i=2 amely egyenl tlenségb l következik, hogy az ONL algoritmus versenyképességi hányadosa nem lehet kisebb, mint k, hiszen az inputsorozat hosszúságának növelésével a OPT(I) érték tetsz legesen nagy lehet. Az általános probléma vizsgálata mellett a probléma speciális eseteit számos dolgozatban vizsgálták. Amennyiben bármely két pont távolsága 1, akkor a lapozási probléma on-line változatához jutunk, amely a számítógépek memóriakezelését modellezi. Egy másik vizsgált speciális tér az egyenes. Az egyenes pontjait a valós számoknak feleltetjük meg, és két pontnak a- nak és b-nek a távolsága a b. Erre az esetre, ahol a metrikus tér egy egyenes, Chrobak és Larmore kifejlesztett egy k-versenyképes algoritmust, amelyet dupla lefed algoritmusnak nevezünk. Az algoritmus a P kérést a P -hez legközelebb es s szerverrel szolgálja ki, és amennyiben vannak szerverek P -nek az s-el átellenes oldalán is, akkor azon szerverek közül a P -hez legközelebbit d(s, P ) egységnyit mozdítja P felé. A továbbiakban a dupla lefed algoritmust DL-el jelöljük. Példa Tegyük fel, hogy három szerverünk van, s 1, s 2, s 3 amelyek az egyenes 0, 1, 2 pontjaiban helyezkednek el. Amennyiben a következ kérés a 4 pontban jelenik meg, akkor DL a legközelebbi s 3 szervert küldi a kérés kiszolgálására a többi szerver helye nem változik, a költség 2 és a kérés kiszolgálása után a szerverek a 0, 1, 4 pontokban lesznek. Amennyiben ezt követ en a következ kérés a 2 pontban jelenik meg, akkor DL a legközelebbi s 2 szervert küldi a kérés kiszolgálására, de mivel a kérés másik oldalán is van szerver, ezért s 3 is megtesz egy egységnyi utat a kérés felé, így a költség 2 és a kérés kiszolgálása után a szerverek a 0, 2, 3 pontokban lesznek.

A DL algoritmusra teljesül a következ állítás. tétel A DL algoritmus k-versenyképes ha a metrikus tér egy egyenes. Bizonyítás Vegyünk egy tetsz leges sorozatát a kéréseknek, jelölje ezt az inputot I. Az eljárás elemzése során feltételezzük, hogy párhuzamosan fut a DL algoritmus és egy optimális o-line algoritmus. Szintén feltesszük, hogy minden kérést els ként az o-line algoritmus szolgál ki, utána pedig az on-line algoritmus. Az on-line algoritmus szervereit és egyben a szerverek pozícióit, (amelyek valós számok az egyenesen) s 1,..., s k jelöli, az optimális o-line algoritmus szervereit és egyben a szerverek pozícióit x 1,..., x k jelöli. Mivel a szerverek rendszeres átjelölésével ez elérhet feltételezzük, hogy s 1 s 2... s k és x 1 x 2... x k mindig teljesül. A tétel állítását a potenciálfüggvény technikájával igazoljuk. A potenciálfüggvény a szerverek aktuális pozíciójához rendel egy értéket, az on-line és az o-line költségeket a potenciálfüggvény változásainak alapján hasonlítjuk össze. Legyen a potenciálfüggvény k Φ = k x i s i + j s i ). i=1 i<j(s Az alábbiakban igazoljuk, hogy a potenciálfüggvényre teljesülnek az alábbi állítások. Amíg OPT szolgálja ki a kérést, addig a potenciálfüggvény nö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 annyival csökken, mint amennyi a kérés kiszolgálásának költsége. Amennyiben a fenti tulajdonságok teljesülnek, akkor a tétel állítása következik, hiszen ebben az esetben adódik, hogy Φ v Φ 0 k OPT(I) DL(I), ahol Φ v és Φ 0 a potenciálfüggvény kezdeti és végs értékei. Mivel a potenciálfüggvény nemnegatív, ezért adódik, hogy DL(I) kopt(i) + Φ 0, azaz azt kapjuk, hogy a DL algoritmus enyhén k-versenyképes. Most igazoljuk a potenciálfüggvény tulajdonságait. Els ként vizsgáljuk azt az esetet, amikor OPT valamely szervere d távolságot mozog. Ekkor a potenciálfüggvényben szerepl els rész legfeljebb kd-vel növekszik a második rész nem változik, tehát az els tulajdonsága a potenciálfüggvénynek valóban fennáll.

Most vizsgáljuk DL szervereit. Legyen P a kérés melyet ki kell szolgálni. Mivel els ként OPT szolgálta ki a kérést, ezért x j = P valamely szerverre. Most különböztessünk meg két esetet DL szervereinek elhelyezkedését l függ en. Els ként tegyük fel, hogy minden szerver P -nek ugyanarra az oldalára esik. Feltehetjük, hogy minden szerver pozíciója nagyobb P -nél, a másik eset teljesen hasonló. Ekkor s 1 a legközelebbi szerver P -hez és DL s 1 -et küldi P -be, más szervert nem mozgat. Tehát DL költsége d(s 1, P ). A potenciálfüggvényben szerepl els összegben csak az x 1 s 1 tag változik és ez csökken d(s 1, P ) egységgel, tehát az els rész csökken kd(s 1, P ) egységgel. A második tag növekszik (k 1)d(s 1, P ) egységgel, így Φ értéke csökken d(s 1, P ) egységgel. Most tekintsük a másik esetet! Ekkor P -nek mindkét oldalára esik szerver, legyenek ezek a szerverek s i és s i+1. Tegyük fel, hogy s i esik közelebb P -hez, a másik eset teljesen hasonló. Tehát DL költsége 2d(s i, P ). Vizsgáljuk a potenciálfüggvény els részének változásait! Az i-edik és az i + 1-edik tag változik. Az egyik tag növekszik, a másik csökken d(s i, P ) egységgel, tehát az els rész összességében nem változik. A Φ függvény második részének változása d(s i, P )( (k i) + (i 1) (i) + (k (i + 1))) = 2d(s i, P ). Tehát ebben az esetben is fennáll a potenciálfüggvény második tulajdonsága. Mivel több eset nem lehetséges ezért igazoltuk a potenciálfüggvény tulajdonságainak fennállását, amivel a tétel állítását is bebizonyítottuk. [1] A. Meyerson: Online Facility Location. Prooceedings of FOCS 2001, 426431, 2001. http://www.cs.ucla.edu/~awm/papers/ofl.ps