Vass Balázs. Online algoritmusok árverési feladatokban



Hasonló dokumentumok
Analízisfeladat-gyűjtemény IV.

Bináris keres fák kiegyensúlyozásai. Egyed Boglárka

Általános statisztika II. Kriszt, Éva Varga, Edit Kenyeres, Erika Korpás, Attiláné Csernyák, László

Lehet vagy nem? Konstrukciók és lehetetlenségi bizonyítások Dr. Katz Sándor, Bonyhád

Gráfokkal megoldható hétköznapi problémák

Klasszikus alkalmazások

Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR. Analízis I. példatár. (kidolgozott megoldásokkal) elektronikus feladatgyűjtemény

2. Halmazelmélet (megoldások)

Játékelmélet és pénzügyek

KOVÁCS BÉLA, MATEMATIKA I.

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Halmazok. Halmazelméleti lapfogalmak, hatványhalmaz, halmazm veletek, halmazm veletek azonosságai.

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

2. előadás: További gömbi fogalmak

Tervezett erdőgazdálkodási tevékenységek bejelentése

1 Rendszer alapok. 1.1 Alapfogalmak

KOVÁCS BÉLA, MATEMATIKA I.

NUMERIKUS MÓDSZEREK FARAGÓ ISTVÁN HORVÁTH RÓBERT. Ismertető Tartalomjegyzék Pályázati támogatás Gondozó

Analízis 1. (BSc) vizsgakérdések Programtervez informatikus szak tanév 2. félév

Lineáris programozás. Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer

matematikai statisztika október 24.

8. előadás EGYÉNI KERESLET

Matematikai és matematikai statisztikai alapismeretek

ÉS TESZTEK A DEFINITSÉG

p j p l = m ( p j ) 1

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

Sztojka Miroszláv LINEÁRIS ALGEBRA Egyetemi jegyzet Ungvár 2013

Tantárgyi útmutató. 1. A tantárgy helye a szaki hálóban. 2. A tantárgyi program általános célja. Statisztika 1.

4. sz. Füzet. A hibafa számszerű kiértékelése 2002.

(Nem jogalkotási aktusok) RENDELETEK

Biztosítási ügynökök teljesítményének modellezése

Digitális kártyák vizsgálata TESTOMAT-C" mérőautomatán


5. Trigonometria. 2 cos 40 cos 20 sin 20. BC kifejezés pontos értéke?

Adatszerkezetek és algoritmusok Geda, Gábor

Lineáris Algebra gyakorlatok

Mesterséges intelligencia 1 előadások

Mátrixaritmetika. Tartalom:

MIKROÖKONÓMIA I. Készítette: K hegyi Gergely és Horn Dániel. Szakmai felel s: K hegyi Gergely június

Gyakorló feladatok ZH-ra

Tűgörgős csapágy szöghiba érzékenységének vizsgálata I.

GroupWise 5.2 használói jegyzet

BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM ÁRAMLÁSTAN TANSZÉK TOMPA TESTEK ELLENÁLLÁSTÉNYEZŐJÉNEK VIZSGÁLATA MÉRÉSI SEGÉDLET. 2013/14. 1.

Ingatlanvagyon értékelés

3. Strukturált programok

Ferenczi Dóra. Sorbanállási problémák

Valószín ségelmélet házi feladatok

Pénzügyi matematika. Medvegyev Péter szeptember 8.

A DDR 3D Bajnokság célja: Jellege: A DDR 3D Bajnokság rendezői: Helyszínek, időpontok: Korosztályok, javasolt nevezési díjak: Díjazás:

Mercs Erika. Matematikai módszerek a navigációban

Online jegyzet az Egészérték Programozás I. és II. tárgyhoz

Lineáris algebra - jegyzet. Kupán Pál

Bevezetés a játékelméletbe Kétszemélyes zérusösszegű mátrixjáték, optimális stratégia

VÁLLALATIRÁNYÍTÁSI ÜGYVITELI PROGRAMRENDSZER. Váradi László OKTATÁSI SEGÉDANYAG. XIII. kötet

Átrendezések és leszámlálások ÚTMUTATÓ Hegedüs Pál június 30.

Mesterséges Intelligencia I. (I602, IB602)

TÁMOP VIR alprojekt VIR felhasználói kézikönyv

PROGRAMOZÁS 1. kötet TERVEZÉS

Pontszerű test, pontrendszer és merev test egyensúlya és mozgása (Vázlat)

Kétszemélyes négyes sor játék

Reform előtt a szakgyógyszerész képzés: Mi a gyógyszerészek véleménye?

Fókuszált fénynyalábok keresztpolarizációs jelenségei

(1. és 2. kérdéshez van vet-en egy 20 oldalas pdf a Transzformátorokról, ide azt írtam le, amit én kiválasztanék belőle a zh-kérdéshez.

Dr. Kuczmann Miklós JELEK ÉS RENDSZEREK

ICN 2005 ConferControl

P-GRADE fejlesztőkörnyezet és Jini alapú GRID integrálása PVM programok végrehajtásához. Rendszerterv. Sipos Gergely

Bevezetés a valószínűségszámításba és alkalmazásaiba: példákkal, szimulációkkal

MRR Útmutató a Kockázat értékeléshez és az ellenőrzési tevékenységekhez

1. Számoljuk meg egy számokat tartalmazó mátrixban a nulla elemeket!

Párhuzamos algoritmusmodellek Herendi, Tamás Nagy, Benedek

VHR-23 Regisztráló műszer Felhasználói leírás

Aronic Főkönyv kettős könyvviteli programrendszer

e s gyakorlati alkalmaza sai

ELEMI BÁZISTRANSZFORMÁCIÓ LÉPÉSEI 2.NEHEZÍTETT VÁLTOZAT 2.a) Paramétert nem tartalmazó eset

LÁNG CSABÁNÉ SZÁMELMÉLET. Példák és feladatok. ELTE IK Budapest javított kiadás

Felhasználói kézikönyv

MATEMATIKA PRÓBAÉRETTSÉGI MEGOLDÓKULCS EMELT SZINT

A gyakorlatok HF-inak megoldása Az 1. gyakorlat HF-inak megoldása. 1. Tagadások:

BME Villamos Energetika Tanszék Nagyfeszültségű Technika és Berendezések Csoport Nagyfeszültségű Laboratórium. Mérési útmutató

Kockázati folyamatok. Sz cs Gábor. Szeged, szi félév. Szegedi Tudományegyetem, Bolyai Intézet

MATEMATIKA ÍRÁSBELI ÉRETTSÉGI-FELVÉTELI FELADATOK május 19. du. JAVÍTÁSI ÚTMUTATÓ

Budapesti Corvinus Egyetem Közgazdaságtudományi Kar Eötvös Loránd Tudományegyetem Természettudományi Kar

HITELESÍTÉSI ELŐÍRÁS HIDEGVÍZMÉRŐK ÁLTALÁNOS ELŐÍRÁSOK

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Gráfelmélet II. Gráfok végigjárása

3. Állapítsa meg, hogy 1 db. KÖNYV 5. kötete és annak egyes részei szerzői jogvédelem alatt állnak-e.

MIKROÖKONÓMIA I. Készítette: K hegyi Gergely és Horn Dániel. Szakmai felel s: K hegyi Gergely június

5. gyakorlat. Lineáris leképezések. Tekintsük azt a valós függvényt, amely minden számhoz hozzárendeli az ötszörösét!

Analízis előadás és gyakorlat vázlat

A 2011/2012. tanévi FIZIKA Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai és megoldásai fizikából. I.

Soukup Dániel, Matematikus Bsc III. év cím: Témavezető: Szentmiklóssy Zoltán, egyetemi adjunktus

TERMELÉSMENEDZSMENT. Gyakorlati segédlet a műszaki menedzser szak hallgatói számára. Összeállította: Dr. Vermes Pál főiskolai tanár 2006.

Access 2010 Űrlapok és adatelérés

Számelméleti feladatok az általános iskolai versenyek tükrében dr. Pintér Ferenc, Nagykanizsa

Konzultáns: Varga Hajnalka okl. adószakértő

DIÁKIGAZOLVÁNY. Felhasználói dokumentáció verzió 3.7. Budapest, 2015.

A digitális számítás elmélete

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk).

2007. évi CXXVII. törvény az általános forgalmi adóról. ELSŐ RÉSZ ÁLTALÁNOS RENDELKEZÉSEK I. Fejezet ALAPVETŐ RENDELKEZÉSEK Bevezető rendelkezés

EÖTVÖS LORÁND TUDOMÁNYEGYETEM KLASSZIFIKÁCIÓ AZ ADATBÁNYÁSZATBAN

Átírás:

Eötvös Loránd Tudományegyetem Természettudományi Kar Vass Balázs Online algoritmusok árverési feladatokban BSc Szakdolgozat Témavezet k: Kovács Erika Renáta Long Tran-Thanh ELTE, Operációkutatási Tanszék University of Southampton Budapest, 2014

Köszönetnyilvánítás Ezúton szeretném megköszönni Kovács Erika Renátának, hogy a témaválasztástól kezdve az apró részletekkel kapcsolatos észrevételekig kitartóan vezetett szakdolgozatom megalkotása alatt. Köszönet Long Tran-Thanhnak az általa mutatott madártávlatért és az ismeretlent feszeget kérdéseiért és válaszaiért. Köszönet mindazoknak, akik a matematika útját mutatták nekem. Köszönöm az egyetemnek és környezetemnek a légkört, amivel körbevett. Köszönöm a napnak, hogy sütött, az es nek, hogy esett, a húroknak, hogy zengettek, a színeknek, hogy meglettek. Örömmel végeztem a munkát. 2

Tartalomjegyzék El szó 4 1. Szubmoduláris függvények 6 1.1. Szubmoduláris függvények és tulajdonságaik................. 6 1.2. Szubmoduláris függvények oine maximalizálása............... 11 2. Online algoritmusok 13 2.1. Determinisztikus online algoritmusok...................... 13 2.2. Példa: lapozási feladat.............................. 16 2.3. Véletlen online algoritmusok........................... 18 2.4. Példa: maximális párosítás online keresése................... 22 3. Online szubmoduláris árverések 26 3.1. Online szubmoduláris árverések......................... 26 3.2. Ellenféllel szemben................................ 27 3.2.1. Azonos tárgyak esetén.......................... 29 3.2.2. Azonos haszonfüggvények esetén.................... 29 3.3. Független azonos eloszlású sztochasztikus bemenettel............. 32 3.3.1. Azonos tárgyak esetén.......................... 37 3.4. Összefoglalás................................... 38 Irodalomjegyzék 39 3

El szó Bizonyára többen találkoztak már Szindbád esetével a háremhölgyekkel, mely gyakran felbukkanó feladat a magyar szakirodalomban. Leírása a következ. Szindbád megmentette a kalifa életét, és ezért jutalmul feleségül veheti egyik háremhölgyét. A háremhölgyek sorban vonulnak el Szindbád el tt, egyszerre csak egyik jük van jelen. Szindbád minden háremhölgy szépségét össze tudja hasonlítani a már elhaladottakéval, és egyértelm en meg tudja állapítani, hogy az eddig látott háremhölgyek közül ki a legszebb. Egy éppen megjelent háremhölgyr l megjelenése után azonnal el kell döntse, hogy t akarja-e feleségül venni, és ezt a döntést késõbb nem változtathatja meg. Szindbád tudja, hogy a kalifának hány háremhölgye van, viszont nem tudja, hogy a még nem látott háremhölgyek milyen szépek. A háremhölgyek véletlen sorrendben jelennek meg, és minden sorrend egyformán valószín. Szindbád szeretné a legcsinosabb háremhölgyet választani. Milyen algoritmussal tudja ezt a lehetõ legnagyobb valószín séggel elérni, és mekkora ez a valószín ség? A feladat megoldása szerint Szindbád számára az a legígéretesebb, ha elengedi a háremhölgyek b egyharmadát, megjegyzi, milyen szép volt közülük a legszebb, majd a következ kben az els annál is csinosabbat kéri magának. Ekkor b egyharmad eséllyel szerzi meg a legszebbet. A Szindbád-probléma ismertségén kívül két szempontból is jó példa. Egyrészt online feladat abban az értelemben, hogy Szindbád még az adatok (azaz a háremhölgyek egymáshoz viszonyított szépsége) érkezése alatt, ám az összes adat ismerete nélkül kénytelen visszavonhatatlan döntéseket hozni, melyekr l kiderülhet, hogy nem voltak tökéletesek. Mint érezzük, nem várhatjuk, hogy az online feladatokat jobban meg tudjuk oldani, mint az oine párjaikat (amikor az összes adat birtokában hozhatjuk döntéseinket). Példánk oine változatának megoldása nyilvánvaló: Szindbád összehasonlítja az t körülül háremhölgyek külcsíneit, majd kiválasztja magának a legszebbet. Másrészt - egy kis fantáziával - Szindbád példája rávezet az árverési feladatokra. Képzeljük el, hogy Szindbád el szeretne venni egy olyan csinos háremhölgyet, akinek maga is rokonszenves. Tegyük fel továbbá, hogy Szindbád társaságában található Ali Baba és a 4

negyven rabló, akiknek Szindbáddal megegyez szándékuk van. Miközben a háremhölgyek egyesével vonulnak el el ttük (így a kölcsönös szimpátiák id közben derülnek ki), céljuk minél több házasság köttetése. Természetesen amelyik hölgy elhaladt, már nem kérhet vissza. E szakdolgozatban vizsgált árverési feladatok szintén online-ok. A következ képp lehet elképzelni ket. Egy árverésen jelen van néhány ügynök, akik a szerre érkez tárgyakra várnak. Minden ügynök esetén az általa éppen birtokolt tárgyak halmazának függvényében ismerjük, hogy mekkora hasznot hoz neki az éppen árverezend tárgy, amennyiben hozzá kerül. Feladatunk az éppen érkez tárgy hozzárendelése egy ügynökhöz úgy, hogy az ügynökök összhasznát (a közjót) az árverés során maximalizáljuk. A kezelhet ség érdekében feltesszük, hogy egy új tárgy egy ügynöknek egy általa birtokolt b vebb tárgyahalmaz esetén legfennebb akkora hasznot hoz, mint egy sz kebb halmaz esetén. Az ügynökök haszonfüggvényeinek ezt a tulajdonságát fogjuk szubmodularitásnak nevezni. Nyilvánvalóan léteznek nem szubmoduláris árverések is (például jegygy r k párban szoktak hasznot hozni), ezekr l nem lesz szó a szakdolgozatban. Megjegyzend továbbá, hogy nem foglalkozunk az árverések játékelméleti vonatkozásaival. A szakdolgozat felépítése a következ. Az els fejezet rövid áttekintést ad a szubmoduláris függvények néhány tulajdonságáról, alkalmazási lehet ségér l és oine maximalizálásáról. A második fejezetben el ször bevezetjük a determinisztikus online algoritmusokat és a c-közelít ségük fogalmát, majd a lapozási feladat példájában alkalmazzuk ezeket. A második fejezet második felében bemutatjuk a véletlen online algoritmusokat, különböz ellenfeleiket, az algoritmusok különböz esetekben való c-közelít ségi fogalmait, majd a maximális párosítás online keresésén keresztül közelebbi képet alkotunk róluk. A harmadik fejezetben rátérünk az online szubmoduláris árverések és különböz sajátos eseteik vizsgálatára. Ismeretes, hogy amennyiben az ügynökök haszonfüggvényei monoton szubmodulárisok, a mohó algoritmus által szolgáltatott megoldás biztosan eléri az optimum felét, azaz 1/2-közelít. Tavalyi, 2013-as eredmény, hogy ebben az esetben nem létezik a mohónál lényegesen jobb, azaz (1/2 + ɛ)-közelít algoritmus (ahol ɛ > 0). Long Tran-Thanh felvetése az volt, hogy vizsgáljuk meg a feladat speciális eseteit. Egy lehetséges eset az, amikor minden érkez tárgy egyforma az ügynökök haszonfüggvényei számára. Könny belátni, hogy ekkor a mohó algoritmus a feladat egy optimális megoldását szolgáltatja. Egy másik sajátos eset az, amikor az ügynökök haszonfüggvényei megegyeznek. Beláttuk, hogy a mohó algoritmus legfennebb 3/4-közelít lehet. Nyitott kérdés azonban, hogy a közelít ségi hányadosa ténylegesen eléri-e ezt a számot, illetve, hogy létezik-e a mohónál hatékonyabb algoritmus. 5

1. fejezet Szubmoduláris függvények 1.1. Szubmoduláris függvények és tulajdonságaik A szubmodularitás halmazfüggvények tulajdonsága. Legyen a V alaphalmaz véges, legyen f : 2 V R halmazfüggvény, és f( ) = 0. Az egyik legkézenfekv bb példa a szubmoduláris függvények szemléltetésére a következ. Tekintsük egy város vízvezeték-hálózatát, melybe id nként szennyez dés kerül. Szeretnénk érzékel ket telepíteni ezek miel bbi észlelése érdekében. Legyen V azon helyek halmaza, ahova szerelhet k ezek, f(s) pedig jelentse az S-beli pontokra helyezett érzékel k együttes hatékonyságát. A továbbiakban a szubmodularitás deniálása után megmutatjuk, hogyan is kerül el a példánkban ez a tulajdonság. 1.1.1. Deníció. (Diszkrét derivált) Egy f : 2 V R halmazfüggvény, S V, és e V esetén legyen a f (e S) := f(s {e}) f(s) kifejezés az f-nek S-ben vett e irányú diszkrét deriváltja. Hasonlóan értelmezhet a halmaz irányú diszkrét derivált. Legyen f és S mint az el bb. Ekkor egy T V esetén legyen a f (T S) := f(s T ) f(s) kifejezés az f-nek S-ben vett T irányú diszkrét deriváltja. Amennyiben az f függvény egyértelm, gyakran elhagyjuk az alsó indexb l, és egyszer en a következ t írjuk: (e S). 1.1.2. Megjegyzés. T V esetén legyen t k T k-adik eleme. Ekkor minden S V -re T (T S) = (t k S {t l l 1,..., k 1}). k=1 1.1.3. Deníció. (Szubmodularitás) Egy f : 2 V R függvény szubmoduláris, ha minden A B V, e V \ B re (e A) (e B). (1.1) 6

1.1.4. Állítás. Egy f : 2 V R függvény pontosan akkor szubmoduláris, ha minden A, B V re f(a B) + f(a B) f(a) + f(b). (1.2) Bizonyítás. El ször azt mutatjuk meg, hogy (1.2) (1.1). Adott A B V és e V \B esetén legyen X = B és Y = A {e}. Ekkor (1.2) miatt igaz, hogy f(x Y ) + f(x Y ) f(x) + f(y ) f(a) + f(b {e}) f(b) + f(a {e}) f(b {e}) f(b) f(a {e}) f(a) (e B) (e A). Most mutassuk meg, hogy (1.1) (1.2). Adott A és B V esetén legyen X = A B és Y = A. Mivel X Y, 1.1.3 és (1.1) alapján B \ A elemeit egyenként, X-hez és Y -hoz egyszerre véve azt kapjuk, hogy (B \ A X) (B \ A Y ) f((b \ A) (A B)) f(a B) f((b \ A) A) f(a) f(b) + f(a) f(a B) + f(a B). Gondoljuk most a diszkrét deriváltat haszonnak. A szubmodularitás deníciója által sugallt szemlélet szerint egy adott e elem hozzávétele egy egyre b vül halmazsorozathoz nemnövekv haszonnal jár, azaz a szubmoduláris függvények kielégítenek egy természetes tulajdonságot, amit a csökken hasznok elvének nevezhetünk. Ennek észben tartása gyakran hasznunkra lehet a kés bbiekben. A vízhálózatos példánkhoz készített ábra szemléletesen is mutatja a csökken hasznokat. Legyen itt S i az a terület, ahol történt szennyezéseket az s i V helyre telepített érzékel gyorsan érzékeli. Ha s 1 és s 2 mellett telepítjük s 3 -at és s 4 -et, a több el re telepített érzékel hatókörnyezetébe S e nagyobb helyen metsz bele, azaz csökken a haszna: (s e {s 1, s 2 }) (s e {s 1, s 2, s 3, s 4 }). 7

S c S 4 S c S3 S 1 S 2 S 1 S 2 (a) (b) 1.1. ábra. Ugyanazon érzékel hozzávétele egy sz kebb szenzorhalmazhoz (a) legalább akkora hasznot hoz, mint egy b vebb halmazhoz való hozzáadása (b). Néhány gyakran el forduló példa szubmoduláris függvényekre: 1.1.5. Deníció. f : 2 V R moduláris, ha minden A, B V esetén f(a B) + f(a B) = f(a) + f(b). 1.1.6. Példa. A moduláris függvények szubmodulárisak 1.1.4 alapján. Hasonlítanak a lineáris függvényekre, mivel a diszkrét deriváltjaik konstansok: (e B) = (e A) minden A, B és e A B esetén. Ezért egy f moduláris függvény, feltéve, hogy f( ) = 0, felírható f(s) = w(e) alakban, ahol w : V R megfelel súlyfüggvény. e S 1.1.7. Példa. Halmazok be- és kifok-függvénye szubmoduláris. Könnyen ellen rizhet az 1.1.4-es állítás segítségével. 1.1.8. Deníció. (Monotonitás) Egy f : 2 V R függvény monoton, ha minden A B V esetén f(a) f(b). 1.1.9. Megjegyzés. Egy f függvény pontosan akkor monoton, ha a diszkrét deriváltjai nemnegatívak, azaz ha A V és e V esetén (e A) 0. A monoton szubmoduláris függvények egy fontos részhalmaza az, amelyre fennáll, hogy minden A B V és e V - re (e A) (e B). Ez a tulajdonság kissé különbözik a 1.1.3 deníciótól abban, hogy nem szükséges az, hogy e / B. 1.1.10. Példa. A súlyozott fedések szubmodulárisak. Legyen X egy halmaz, g : 2 X R + moduláris függvény, w : X R a g-hez tartozó súlyfüggvény, V pedig X egy részhalmazcsaládja. Ekkor egy S V részcsalád esetén az f(s) := g v = w(x) függvény ( ) v S x v S v monoton szubmoduláris. Mindkét állítás könnyen ellen rizhet. A vízvezetékes példában X vonatkozhat szennyezési eseményekre, w(x) mérheti egy adott x esemény súlyosságát, és minden lehetséges v V szenzorhelyhez hozzárendeljük az észlelt X-beli eseményeket. 8

1.1.11. Példa. Üzletláncok esetén tegyük fel, hogy egy V = {1,..., n} halmazból szeretnénk kiválasztani azokat a helyeket, ahol létesítményeket állítanánk fel adott m darab vev kiszolgálására. A j helyen megnyitott létesítmény az i vev számára M i,j értékben nyújt szolgáltatást, ahol M R m n. Amennyiben az összes vev a számára legnagyobb érték szolgáltatást nyújtó létesítményt választja, a vev knek nyújtott szolgáltatások összértékét m az f(s) = max M i,j függvény szolgáltatja. Legyen itt f( ) = 0. Ekkor ha minden i és j S i=1 j esetén M i,j 0, akkor könnyen belátható, hogy f(s) monoton szubmoduláris. Ez a modell más alkalmazásokban is használható. Például az érzékel -elhelyezési feladatunkban M i,j vonatkozhat a j szenzor által az i esetben hozott haszonra, ahol a hasznosságot például a szennyezés észlelési idejének várható csökkentésében mérhetjük. Most nézzük a szubmoduláris függvények néhány hasznos tulajdonságát. 1.1.12. Állítás. Szubmoduláris függvények nemnegatív lineáris kombinációja szubmoduláris. Más szóval ha g 1,..., g n : 2 V R szubmoduláris és α 1,..., α n 0, akkor f(s) := n α k g k (S) szubmoduláris. k=1 Bizonyítás. A deníció miatt szubmoduláris függvények nemnegatív számszorosa és összege is szubmoduláris. Az el bbi tulajdonság szerint bonyolult szubmoduláris célfüggvényeket felírhatunk egyszer bb szubmoduláris alkotóelemek összegeként. 1.1.13. Állítás. Minden f szubmoduláris függvény és A, B V halmazok esetén f(a) + (B A) f(a) + e B (e A). Bizonyítás. 1.1.2 és 1.1.3 felhasználásával adódik. Nézzük, mi a kapcsolat a szubmodularitás és a konkavitás között: 1.1.14. Állítás. g : {0,..., V } R esetén f(s) := g( S ) szubmoduláris g konkáv. Bizonyítás. Ha g konkáv, az azt jelenti, hogy minden S T V, e V -re S T miatt f (e S) f (e T ), ami épp a szubmodularitás deníciója. Visszafelé, legyen f szubmoduláris. Ekkor legyen S 0 S 1... S V = V. Ekkor minden 0 < k < V, e / S k - ra f (e S k ) f (e S k 1 ) g(k + 1) g(k) g(k) g(k 1) g(k + 1) + g(k 1) 2g(k), azaz g konkáv. 9

1.1.15. Állítás. A monoton szubmodularitás meg rz dik csonkoláskor: ha f : 2 V R monoton szubmoduláris, akkor g(s) := min{f(s), c} is az, bármely c R számra. Bizonyítás. Könnyen adódik a diszkrét deriváltas denícióból. Most nézzünk példát arra, hogy míg a csonkolás meg rzi a szubmodularitást, két szubmoduláris függvény minimuma, maximuma és különbsége nem feltétlen szubmoduláris. 1.1.16. Példa. (Kivonás) Legyen V = {1, 2}. Az els oszlopban a függvények neve, az els sorban a behelyettesítési értékek olvashatók. Itt míg f és g monoton szubmoduláris, f g nem szubmoduláris, mert f g (2 ) < f g (2 {1}). {1} {2} {1,2} f 0 1 1 2 g 0 1 2 2 f g 0 0 1 0 1.1.17. Példa. (Minimumvétel) Ugyanazokkal a jelölésekkel f és g szubmoduláris, de h := min(f, g) nem az, mert h( ) + h(1, 2) > h(1) + h(2). {1} {2} {1,2} f 0 1 1 0 g 0 1 1 0 min(f, g) 0 1 1 0 1.1.18. Példa. (Maximumvétel) Legyen V={1,2,3}, a jelösések az el bbiek. Itt f és g szubmoduláris, de h := max(f, g) nem az, mert h(1) + h(1, 2, 3) > h(1, 2) + h(2, 3). {1} {2} {3} {1,2} {1,3} {2,3} {1,2,3} f 0 0 0 1 0 1 1 1 g 0 1 0 1 0 1 0 0 max(f, g) 0 1 0 1 0 1 1 1 Míg a szubmoduláris függvények egyes tulajdonságai a konkáv függvényekére emlékeztetnek, úgy egyes tulajdonságuk a konvex függvényekkel hozza ket kapcsolatba. Ilyen például az, hogy a konvex függvényekhez hasonlóan, melyeket hatékonyan lehet minimalizálni, a szubmodulárisok minimalizálása lehetséges (er sen) polinomiális id ben [1]. 10

1.2. Szubmoduláris függvények oine maximalizálása Legyen U 2 V halmazok családja, U elemeit hívjuk megengedetteknek. Szeretnénk megoldani a max f(s) feladatot. Az erre a célra írt algoritmusok vizsgálatakor felmerül a kérdés, S U hogy egy S V esetén hogy kapjuk meg f(s)-et. Feltesszük, hogy adott egy orákulum, mely minden S-re azonnal megadja az f(s) értéket. A legegyszer bb példa a megoldandó feladatra a számosságkorlátos, ahol U = {S S k} valamely k-ra. Már ez is NP-nehéz a szubmoduláris függvények több osztályára nézve [1]. Ebb l adódóan érdemes tárgyalni az optimumot elméletileg is biztosan hatékonyan közelít algoritmusokat. 1.2.1. Példa. (Mohó algoritmus) A max f(s) közelítésére monoton szubmoduláris függvényeknél számosságkorlátos esetben kézenfekv lehet ség a mohó algoritmus, mely S U egy üres S 0 halmazból indul, és az i. lépésben hozzávesz egy e elemet, melyre maximális a (e S i 1 ), azaz S i = S i 1 {arg max (e S i 1 )}. e A következ tétel bizonyítja, hogy a mohó algoritmus közelítést ad az optimális megoldásra. 1.2.2. Tétel. (Nemhauser, Wolsey, Fisher 1978) [1] Legyen f : 2 V R + nemnegatív monoton szubmoduláris függvény, és legyenek {S i } i 0 a mohó algoritmus által választott halmazok. Ekkor minden k, l N + -ra f(s l ) (1 e l/k ) max S: S k f(s). Speciálisan, l = k-ra f(s k ) (1 1/e) max S: S k f(s). Bizonyítás. Rögzítsük le l-et és k-t. Legyen S arg max{f(s) : S k}. A monotonitás miatt az általánosság megszorítása nélkül feltehetjük, hogy S = k. Legyen S egy tetsz leges sorbarendezése a következ : {v1,..., v k }. Ekkor minden i < l-re áll az alábbi egyenl tlenséglánc: f(s ) f(s S i ) (1.3) = f(s i ) + (S S i ) (1.4) f(s i ) + v S (v S i ) (1.5) 11

k f(s i ) + (f(s i+1 ) f(s i )) (1.6) i=1 f(s i ) + k(f(s i+1 ) f(s i )) (1.7) (1.3) f monotonitásából ered, (1.4) 1.1.2 miatt igaz, (1.5) 1.1.13-b l következik, (1.6) azért áll, mert S i+1 mohón származott S i -b l, (1.7) pedig azt használja ki, hogy S k. Tehát f(s ) f(s i ) k(f(s i+1 ) f(s i )) (1.8) Legyen δ i := f(s ) f(s i ), így (1.8)-et újraírhatjuk δ i k(δ i δ i+1 ) alakban, ezt átrendezve kapjuk: Ezért δ l δ i+1 ( 1 1 ) δ i. (1.9) k ( 1 1 k) l δ 0. Jegyezzük meg, hogy δ 0 = f(s ) f( ) f(s ), mert f 0. Ezekb l a jól ismert 1 x e x, minden x R-re egyenl tlenséggel adódik, hogy δ l ( 1 1 k) l δ 0 e l/k f(s ). (1.10) δ l helyére f(s ) f(s l )-et helyettesítve, majd az egyenletet átrendezve kapjuk a keresett f(s l ) (1 e l/k )f(s ) korlátot. Bár a tételt eredetileg csak az l = k esetre bizonyították, az l k eset ismerete hasznos. Például ha a szennyezési feladatban a mohó algoritmusnak megengedjük, hogy k helyett 5k érzékel t válasszon ki, akkor a k elem optimumának közelítési hányadosa 0.63-ról 0.99-re n. Nemhauser és Wolsey ugyancsak 1978-ban bebizonyította, hogy nem létezik olyan polinomiális sok részhalmazt megvizsgáló algoritmus, mely az (1 1/e)-közelítésnél jobbat tudna. 12

2. fejezet Online algoritmusok 2.1. Determinisztikus online algoritmusok Az algoritmusok hagyományos módon való tervezésekor feltesszük, hogy az algoritmus birtokába kerül az összes bemeneti adatnak, még miel tt a kimeneti adatokat meg kéne adja nekünk. Sok valós alkalmazásban ez a feltételezés nem állja meg a helyét, ilyenkor az algoritmusunk még az el tt el kell kezdje a kimenet generálását, miel tt a teljes bemenetet ismerné. Az általunk tárgyalt online feladatok felfoghatók kérelem-válasz-játékként. 2.1.1. Deníció. (Kérelem-válasz-játék) A kérelem-válasz-játék egy R kérelemhalmazból, egy véges A válaszhalmazból, és az f n : R n A n R { }, n N költségfüggvényekb l áll. Minden n-re valamely F n A n halmazt hívjunk a megengedett válaszok halmazának. Legyen f := f n. n N 2.1.2. Deníció. Egy n hosszú r kérelemsorozat költségét jelölje c(r) := min{f n (r, a) a F n }. Ha az r R n kérelem- és a F n válaszsorozatok esetén f n (r, a) = c(r), akkor az a válaszsorozatot optimálisnak nevezzük az r-re. El ször tekintsük a determinisztikus online algoritmusokat, azaz az olyanokat, melyek futásuk során nem használnak véletleneket. 2.1.3. Deníció. (Determinisztikus online algoritmus) Egy G determinisztikus online algoritmus egy g i : R i A, i {1, 2,... } alakú függvényekb l álló sorozat. Egy r = (r 1,..., r n ) kérelemsorozat esetén deniáljuk a G(r) = (a 1,..., a n ) F n válaszsorozatot, ahol a i = g i (r 1,... r i ), i {1,... n}. Legyen G költsége r-en c G (r) = f n (r, G(r)). 13

Online feladatok és online algoritmusok környezetében a jobb megkülönböztethet ség érdekében a hagyományos feladatok és algoritmusok elnevezését néha kiegészítjük az oine jelz vel. Az online algoritmusok hatékonyságát az összehasonlító-analízis segítségével mérjük, ahol az online algoritmus által adott kimenetet hozzámérjük az optimális kimenethez. 2.1.4. Deníció. (Determinisztikus online algoritmus c-közelít sége) Legyen α : R R lineáris függvény. Azt mondjuk, hogy egy G determinisztikus online algoritmus α- közelít, ha bármely r kérelemsorozatra c G (r) α(c(r)) teljesül. Amennyiben α(x) = dx+e, ahol d > 0, azt mondjuk, hogy a közelítési hányados d. 2.1.5. Megjegyzés. Amennyiben egy G algoritmus α-közelít, és α(x) = dx + e, esetenként a G algoritmust d-közelít nek mondjuk. Hasonló átfogalmazásokat lehet eszközölni az α-közelít ségek kés bbi denícióinál is. Néhány példa online feladatra: 2.1.6. Példa. Feladatelosztás. Feladatok egy sorát kell beosztani gépek egy halmazán, egy adott célfüggvényt optimalizálva (például az utolsónak befejezett feladat befejezési id pontját minimalizálva). A feladatok egyenként érkeznek, és azonnal hozzá kell rendelni ket egy géphez, a kés bbi feladatok ismerete nélkül. Az utolsó befejezési id pont minimalizálását kérelem-válasz-játékként a következ képp fogalmazhatjuk meg. Legyen M a gépek, R pedig a lehetséges feladatok id igényének halmaza. Legyen A = M, azaz a válasz azt határozza meg, melyik géphez rendeljük a feladatunkat. Ekkor f n = max r i. m M a i =m 2.1.7. Példa. Adatszerkezetek. Szeretnénk egy adatszerkezetet (pl. egyszeresen láncolt listát, fát) karbantartani úgy, hogy minél kisebb költséggel hozzáférjünk a kért adatelemhez. A jöv beli kéréseket nem ismerjük el re. Lista-karbantartás. Legyen a lista hossza k és R = {R 1,..., R k } a lista elemeib l álló kérelemhalmaz. Legyen L = {[a, b] a és b a lista elemeinek egy-egy permutációja}, azaz L a lista lehetséges megváltoztatásainak halmaza. Legyen M L a megengedett megváltoztatások halmaza. Az A = {1,..., k} M válaszhalmaz elemeinek els koordinátái azt mondják meg, hogy hányadik helyen érhet el a kért elem, a második koordináta pedig hogy az adott állapotból milyen sorrendbe rendezi át az algoritmusunk a listát az aktuális k lépésben. Legyen f n (r, a) = a l,1, azaz az n. kérésig tett lépések száma az adatelemek elérésekor. l=1 14

A fa karbantartásának leírása hasonló a listáéhoz. A különbség az A válaszhalmaz leírásában van. A lista esetéb l kiindulva legyen M a fa megengedett megváltoztatásainak halmaza. Legyen N az összes lehetséges elérési útvonal halmaza. A = {1,..., k} M N, a i,1 -ben tároljuk a kért elem szintjét a fában. Így a költségfüggvények szintén f n (r, a) = k a l,1 módon alakulnak. l=1 2.1.8. Példa. Memória-kezelés, azaz a számítógépek memóriájának kezelése, ahol a memória egy kicsi gyors, és egy nagy lassú részb l áll. Konkrétabb példaként, mialatt a felhasználó önkényesen lapozgat, az a célunk, hogy a gyakran látogatott oldalak a gyors memóriában legyenek tárolva, minél kevesebbszer kelljen új oldalt betölteni oda. A lapozási feladat leírásához képzeljük azt, hogy a k oldalt tárolni tudó gyorsmemória helyezkedik el egy lista els k helyén, a lassú memória pedig mögötte. Az összes kezelt oldal száma legyen l. Ekkor R = {R 1,..., R l } az oldalakból mint a lista elemeib l áll. M elemei a helybenhagyás és az olyan transzpozíciók, ahol a kicserélt elemek közül pontosan egy van a gyorsmemóriában. Legyen A = {1,..., l} M. A válaszok els koordinátáiban tároljuk a kért elem helyét. Ekkor f n (r, a) := {a i,1 a i,1 > k}. 2.1.9. Példa. Szindbád esete a háremhölgyekkel. Mivel Szindbád nem ismeri el re a szerre elhaladó hölgyek szépségét, a legszebb hölgy kiválasztása számára online feladat. (A kiválasztott háremhölgy szépsége várható értékének maximalizálása szintén.) Egy lehetséges megfogalmazás a kérelem-válasz-játékok nyelvén. Tegyük fel, hogy a háremhölgyek száma ismert, n. Közülük az i-edik a legszebb (i {1,..., n}). Jelölje r j azt a kérdést, hogy óhajtja-e Szindbád a j. hölgyet. A j. hölgy megjelenésekor az els j hölgy szépsége között ismert egy rendezés, legyen ez bekódolva az r j kérésbe. Legyen A = {1, 0}, azaz a lehetséges válaszok az igen és a nem. Az egyszer ség kedvéért tegyük fel, hogy az r vektor n koordinátából áll, azaz minden esetben az összes háremhölgy elvonul Szindbád el tt. Legyen a k hosszú megengedett válaszsorozatok halmaza F k = {a a A k, a, a 1}. Mivel egyértelm, hogy Szindbád sikerrel jár vagy kudarcot vall, deniáljuk a költségfüggvényeket a következ képp. Legyen f m azonosan nulla minden m < n esetén, 0 ha a i = 1 és a megengedett, f n (r, a) = 1 különben. 15

2.2. Példa: lapozási feladat A következ kben közelebbr l vizsgálunk egy online példát. 2.2.1. Példa. (Lapozási feladat) Vegyük a memóriáról szóló 2.1.8 példát. Tegyük fel, hogy a gyors memóriaegység egyszerre k oldalt tud tárolni, a lassú kapacitása pedig bármilyen nagy lehet. A kérelmek egy-egy oldal megjelenítésére szólnak. Ha az oldal a gyors memóriában található, a kérelmet kiszolgáljuk, ha pedig a lassúban van, akkor hibát jelzünk. Ebben az esetben a gyors memóriából át kell helyezni egy oldalt a lassúba, hogy a megürült helyre betölthessük a kért oldalt. Egy lapozó-algoritmus eldönti, hogy hiba esetén melyik oldalt vegyük ki a gyors memóriából. A minimalizálandó költség a jelzett hibák száma. A lapozási feladatot oldja meg a következ két determinisztikus online algoritmus. 2.2.2. Deníció. A lapozási feladatra adott LRU (legkevésbé használt, Least Recently Used) determinisztikus online algoritmus hibajelzéskor azt az oldalt veszi ki a gyors memóriájából, amelyik legutóbbi kérése a legrégebb történt. 2.2.3. Deníció. A lapozási feladatra adott F IF O(First-In First Out) determinisztikus online algoritmus hibajelzéskor a gyorsmemóriában legrégebb óta bent lev oldalt veszi ki. 2.2.4. Deníció. A lapozási feladatra adott M IN oine algoritmus hibajelzéskor azt az oldalt veszi ki a gyorsmemóriából, amelyik kérése a jöv ben legmesszebb fog történni. 2.2.5. Tétel. [5] A MIN optimális. Legyen n A az A algoritmus gyors memóriájában tárolható oldalak száma. Jelölje F A (s) az A algoritmus által az s bemeneten elkövetett hibák számát. 2.2.6. Tétel. Legyen A egy lapozási feladatra adott tetsz leges determinisztikus online algoritmus. Feltéve, hogy n A n MIN, létezik tetsz legesen hosszú s kérelemsorozat úgy, hogy F A (s) (n A /(n A n MIN + 1))F MIN (s). Bizonyítás. Alkotunk egy olyan n A hosszú kérelemsorozatot, melyen A n A hibát vét, míg, a MIN csak (n A n MIN + 1)-et. Az els (n A n MIN + 1) kérés érkezzen olyan odalakra, melyek sem az A, sem a MIN gyors memóriájában nincsenek benne, így ebben a fázisban mindkét algoritmus (n A n MIN + 1) hibát vét. Legyen S azon oldalak halmaza, melyek eredetileg benne voltak a MIN memóriájában, vagy szerepeltek az els (n A n MIN + 1) kérés között. Ekkor S = n A + 1, azaz létezik olyan eleme, ami pillanatnyilag nincs A gyors memóriájában. A következ n MIN 1 kérés érkezzen olyan S-beli oldalakra, melyek 16

pillanatnyilag nincsenek A gyors memóriájában. Ezáltal míg A a kérelemsorozat második felében mind az n MIN 1 esetben hibát vét, a MIN a leírásából adódóan sosem, hiszen memóriájában tartja az utolsó n MIN 1 kért oldalt. Összegezve, mialatt eme n A hosszú kérelemsorozat alatt az A végig hibázik, a MIN (n A n MIN + 1) hibát vét. Az el bbi eljárást kell en sokszor ismételve kapjuk a tétel állítását. 2.2.7. Megjegyzés. A bizonyításból látszik, hogy ha n A < n MIN, akkor tetsz legesen hosszú kérelemsorozat készíthet úgy, hogy az A mindig hibázzon, a M IN pedig sose. 2.2.8. Következmény. Az el z tételbe k := n A = n MIN -t írva azt kapjuk, hogy a lapozási feladat megoldására c < k esetén nem létezik c-közelít determinisztikus online algoritmus. 2.2.9. Tétel. Bármely s kérelemsorozatra F LRU (s) (n LRU /(n LRU n MIN + 1))F MIN (s) + n MIN. Bizonyítás. Az els kérelem után bizosan van az LRU és a MIN memóriájában közös oldal, mégpedig a legutóbb kért. Legyen t s egy olyan részsorozata, mely nem tartalmazza s els elemét, és amely folyamán az LRU f n LRU -szor hibázik. Jelölje p a közvetlen t el tt kért oldalt. Ha t alatt az LRU kétszer is hibázik ugyanazon oldal kérésekor, akkor t-nek tartalmazni kell kérést legalább n LRU + 1 különböz oldalra. Ugyanez igaz, ha p-n hibázik t alatt. Ha az el bbi két eset közül egyik sem következik be, akkor f n LRU miatt a MIN t folyamán legalább f n MIN + 1-szer hibázik. Osszuk s-et fel s 0, s 2,..., s k -ra, úgy, hogy s 0 tartalmazza az els kérést és legfennebb n LRU hibát kövessen el rajta az LRU, i {1,..., k} esetén pedig s i -n pontosan n LRU hibát ejtsen az LRU. Ekkor s 1,..., s k mindegyikén az LRU és a MIN hibáinak aránya legfennebb n LRU /(n LRU n MIN + 1). Ekkor s 0 alatt amennyiben az LRU f 0 -szor hibázik, a MIN legalább f 0 n MIN -szer ejt hibát. Mindent összevetve kapjuk a tételt. 2.2.10. Megjegyzés. A tételben szerepl additív tag abból adódik, hogy kezdetben a M IN és az LRU gyors memóriájában teljesen különböz oldalak szerepelhetnek. Ezt a tagot eltüntethetjük azáltal, hogy feltesszük, hogy kezdetben az LRU gyors memóriájában megtalálható a M IN gyors memóriájának összes eleme, és ezeknél frissebben nem volt használva egyetlen más elem sem. 2.2.11. Tétel. Amennyiben n LRU = n MIN =: k, az LRU k-közelít. Bizonyítás. Felhasználva 2.2.8-t, és 2.2.9 n LRU = n MIN esetét, a tételt kapjuk. 2.2.12. Tétel. Amennyiben n F IF O = n MIN =: k, a F IF O k-közelít. 17

2.3. Véletlen online algoritmusok Egy természetesen felmerül kérdés, hogy érhetünk-e el jobb eredményt nemdeterminisztikus algoritmusokat használva. Ennek megválaszolásához deniálni kell a randomizált online algoritmusok c-közelít ségét. 2.3.1. Deníció. (Véletlen (randomizált, véletlenített) online algoritmus) Legyen D determinisztikus online algoritmusok egy halmaza, P egy eloszlás D-n, ahol minden d D esetén P (d) annak az esélye, hogy d fut le. Ekkor a G(D, P ) párost véletlen online algoritmusnak hívjuk. 2.3.2. Megjegyzés. Az egyszer ség kedvéért egy G(D, P ) véletlen online algoritmust gyakran G-vel jelölünk. Bármely r kérelemsorozatra a G(r) válaszsorozat, így a c G (r) költség is valószín ségi változó. 2.3.3. Állítás. Legyen G(D, P ) egy véletlen online algoritmus. Ekkor E[c G(D,P ) (r)] = P (d)c d (r). d D 2.3.4. Deníció. Egy G véletlen online algoritmust valamely α lineáris függvény esetén α-közelít nek hívunk, ha bármely r bemeneti sorozatra E[c G (r)] α(c(r)). Mivel a c-közelít ség szempontjából fontos, hogy a vizsgált algoritmusunk minden r kérelemsorozaton jól teljesítsen, gondolhatunk arra, hogy a bemenetet egy ellenség szolgáltatja. A következ típusú ellenfeleket szokás vizsgálni: 2.3.5. Deníció. (Feledékeny ellenfél) A feledékeny ellenfél (oblivious adversary) legenerálja a teljes r kérelemsorozatot, még miel tt az online algoritmus kielégített volna egyetlen kérelmet is. A feledékeny ellenfél ismeri az általa generált kérelemsorozat optimális megoldását, így az költsége c(r). Az alkalmazkodó oine ellenfél (adaptive oine adversary) meggyelheti az online algoritmust, és a következ kérelmet adhatja az eddigi kérelmekre kapott válaszok alapján. A kérelemsorozatot optimális módon teljesíti. 2.3.6. Deníció. (Alkalmazkodó oine ellenfél) Egy Q alkalmazkodó oine ellenfél egy q k : A k R {stop} függvénysorozat, ahol d Q N, k {1,..., d Q } és q dq csak a stop értéket veheti fel. Egy G determinisztikus online algoritmus és Q alkalmazkodó ellenfél esetén legyen r(g, Q) = (r 1,..., r n ) a tényleges kérelemsorozat, a(g, Q) = (a 1,..., a n ) a tényleges válaszsorozat, n d Q ezek hossza. Ezen objektumokat a következ kben leírtak szerint, egyenként számoljuk ki, a következ sorrendben: r 1, a 1, r 2, a 2,..., r n, a n, n. 18

Legyen r i+1 := q i (a 1,..., a i ), i {0,..., n 1}, a(g, Q) := G(r(G, Q)) és q n (a(g, Q)) = stop. A G algoritmus költsége a Q ellenfél esetén legyen c G (Q) := f n (r(g, Q), a(g, Q)). A Q ellenfél költsége a G algoritmus esetén c Q (G) = c(r(g, Q)). Egy H(D, P ) véletlen online algoritmus esetén r(h(d, P ), Q), a(h(d, P ), Q) és n = n(h(d, P ), Q) valószín ségi változók. Ekkor a H(D, P ) algoritmus várható költsége a Q ellenfél esetén E[c H(D,P ) (Q)] = P (d)c d (Q). A Q ellenfél várható költsége a H(D, P ) d D algoritmus esetén E[c Q (H(D, P ))] = P (d)c Q (d). d D Az alkalmazkodó online ellenfél az alkalmazkodó oine ellenfélhez hasonló, azzal a különbséggel, hogy minden kérelmet online kell teljesítsen, azaz nem ismeri az algoritmus által a jelenben és jöv ben adott (véletlen) válaszokat. 2.3.7. Deníció. (Alkalmazkodó online ellenfél) Egy S = (Q, P ) alkalmazkodó online ellenfél egy alkalmazkodó oine ellenfél, ellátva egy P = {p 1,..., p n } függvénysorozattal, ahol p k : A k A, k {1,..., d Q }. Legyen G egy determinisztikus online algoritmus. Mivel r(g, S) független P -t l, r(g, S) = r(g, Q), a(g, S) = a(g, Q) és c G (S) = c G (Q). Az S alkalmazkodó online ellenfél válaszsorozata b(g, S) = (b 1,..., b n ), ahol n := n(g, Q) és b i+1 = p i (a 1,..., a i ), i {0,..., n 1}. Legyen S költsége G esetén c S (G) = f n (r(g, S), b(g, S)). Az el bbi denícióhoz hasonlóan egy S véletlen online algoritmus esetén E[c S (H(D, P ))] = P (d)c S (d). d D 2.3.8. Megjegyzés. Determinisztikus online algoritmust tekinthetünk speciális randomizált online algoritmusnak. Figyeljük meg, hogy ebben az esetben a három ellenfélfogalom egybeesik: mindhárom annyit tehet, hogy megválasztja a bemenetet. Ezért a 2.1.4 denícióból adódóan determinisztikus online algoritmusnál a c-közelít ség szempontjából mindegy, hogy használjuk-e bármely ellenfelet, vagy sem. 2.3.9. Deníció. (α-közelít ség feledékeny ellenfelekhez) Egy G véletlen online algoritmus α-közelít sége bármely feledékeny ellenfélhez jelentse ugyanazt, mint a 2.3.4-ben leírt α-közelít sége. 2.3.10. Deníció. (α-közelít ség alkalmazkodó oine ellenfelekhez) Egy G véletlen online algoritmust α-közelít nek nevezünk bármely alkalmazkodó oine ellenfélhez, ha bármely Q alkalmazkodó oine ellenfél esetén E[c G (Q)] E[α(c Q (G))]. 19

2.3.11. Deníció. (α -közelít ség alkalmazkodó online ellenfelekhez) Egy A randomizált online algoritmus α-közelít nek nevezünk bármely alkalmazkodó online ellenfélhez, ha bármely S alkalmazkodó online ellenfél esetén E[c G (S)] E[α(c S (G))]. 2.3.12. Megjegyzés. A költségminimalizáló feladatból adódik, hogy α(x) = ax + b esetén a 1. Azonban amennyiben a feladatunk valamely célfüggvény maximalizálása, az α-közelít ségeket értelemszer en újradeniáljuk, ekkor a 1 lesz. A rájuk vonatkozó, értelemszer en átfogalmazott állítások igazak maradnak. A következ kben rangsoroljuk az ellenfeleket. 2.3.13. Tétel. [3] Ha létezik minden alkalmazkodó oine ellenfelet α-közelít véletlen online algoritmus, akkor létezik minden alkalmazkodó oine ellenfelet α-közelít determinisztikus online algoritmus is. 2.3.14. Következmény. Az alkalmazkodó oine ellenfelet ugyanannyira lehet közelíteni determinisztikus online algoritmussal, mint véletlen online algoritmussal. Az el bbi tétel üzenete az, hogy az alkalmazkodó oine ellenfél jobb közelítésében nem segít a randomizálás. 2.3.15. Állítás. Legyen G egy véletlen online algoritmus. Ha G b-közelít bármely alkalmazkodó online ellenfélhez, akkor b-közelít bármely feledékeny ellenfélhez is. Bizonyítás. Minden feledékeny ellenfelet utánozni lehet alkalmazkodó online ellenféllel. 2.3.16. Tétel. [3] Legyen G egy véletlen online algoritmus. Ha G b-közelít bármely alkalmazkodó online ellenfélhez, és c-közelít bármely feledékeny ellenfélhez, akkor (b c)-közelít bármely alkalmazkodó oine ellenfélhez. 2.3.17. Következmény. Legyen G egy véletlen online algoritmus. Ha G a-közelít bármely alkalmazkodó oine ellenfélhez, b-közelít bármely alkalmazkodó online ellenfélhez, és c-közelít bármely feledékeny ellenfélhez, akkor a b c. Bizonyítás. 2.3.15-b l és 2.3.16-ból következik. Miel tt az eredményeket összefoglalnánk, az ellenfeles környezet mellett ejtsünk pár szót a sztochasztikus esetr l is, amikor a kérelmek véletlenszer en érkeznek. 2.3.18. Deníció. (Sztochasztikus kérelemsorozat) Legyen n egy valószín ségi változó, mely a {0,... N}, N N értékeket veheti fel. Legyen r n = (ρ 0,..., ρ n ) olyan valószín ségi változók egy vektora, a valószín ségi változók értékkészlete az R kérelemhalmaz egy részhalmaza. Ekkor az r n kérelemsorozatot sztochasztikusnak nevezzük. 20

2.3.19. Deníció. (sztochasztikus α-közelít ség) Egy G(D, P ) algoritmust egy r n sztochasztikus kérelemsorozat és α lineáris függvény esetén sztochasztikusan α-közelít nek nevezünk (az optimumhoz), ha E[c G (r n )] α(e[c(r n )]), ahol a várhatóértéket r n és P szerint vesszük. 2.3.20. Állítás. Ha egy G online algoritmus α-közelít minden feledékeny ellenfélhez, akkor sztochasztikusan is α-közelít. Bizonyítás. Az, hogy a G(D, P ) online algoritmus α-közelít minden feledékeny ellenfélhez, azzal ekvivalens, hogy bármely r bemeneti sorozatra E P [c G (r)] α(c(r)). Ebb l következik, hogy bármely r n sztochasztikus kérelemsorozat esetén E (rn,p )[c G (r)] α(e (rn,p )[c(r)]), azaz G sztochasztikusan α-közelít. 2.3.21. Állítás. Ha létezik sztochasztikusan α-közelít G(D, P ) véletlen online algoritmus, akkor létezik sztochasztikusan α-közelít H determinisztikus online algoritmus is. Bizonyítás. G(D, P ) sztochasztikus α-közelít sége a következ t jelenti: E (rn,p )[c G (r n )] α(e (rn,p )[c(r n )]), ami a 2.3.3 állítás alapján az egyel tlenség a következ alakba írható: [ ] E rn P (d)c d (r) α(e rn [c(r n )]). d D A legutóbbi egyenl tlenség csak akkor állhat fenn, ha létezik olyan d D determinisztikus online algoritmus, amire E rn c d (r n ) α(e rn [c(r n )]). 2.3.22. Következmény. Sztochasztikus esetben ugyanannyira lehet közelíteni az optimumot determinisztikus online algoritmussal, mint véletlen online algoritmussal. A fentebb bemutatott eredményeket az alábbi táblázatban tekinthetjük át, ahol az (i, j) helyen található szám az i típusú online algoritmussal bármely j típusú ellenfél ellen, illetve sztochasztikus esetben elérhet legjobb közelítési hányados. A determinisztikus eset összes ellenfeles mez jét egyesítettem, mivel c-közelítési fogalmak ezekben egybeesnek. Megjegyezend, hogy az ellenfél nélküli és feledékeny ellenfeles esetek deníció szerint ugyanazt jelentik, így az ellenfél nélküli eredményeket a feledékeny ellenfeles oszlopból lehet kiolvasni. 21

Sztochasztikus Feledékeny Alkalmazkó online Alkalmazkodó oine Determinisztikus d a Véletlen d c b a 2.1. táblázat. Az online költségminimalizálási feladatban determinisztikus és véletlen online algoritmusokkal a különböz ellenfelekkel szemben, illetve a sztochasztikus esetben elérhet legalacsonyabb közelítési hányadosok. Itt d c b a és a cb. 2.4. Példa: maximális párosítás online keresése Ebben az alfejezetben f ként a [6] cikk tartalmát dolgozzuk fel. Sok, a Szindbád-feladathoz köthet problémát meg lehet fogalmazni. Egy számunkra érdekes kérdés az online házasításé, azaz a páros gráfokban történ maximális párosítás keresése. Látni fogjuk, hogy itt különböz típusú ellenfelekhez más-más közelítési eredményeket érhetünk el. A feladat leírása a következ. Legyen H(U, V, E) egy 2n ponton értelmezett teljes párosítást tartalmazó páros gráf, ahol két pont között pontosan a kölcsönös szimpátia esetén van él. Legyen B egy {0, 1} n n mátrix, melyben eltároljuk a H szerkezetét. A mátrix sorai tartozzanak az U-beli pontokhoz (úk), oszlopai a V -beli pontokhoz (lányok), B i,j := 1, ha {U i, V j } E, különben 0. Szeretnénk minél nagyobb párosítást készíteni H-ban online módon. Tegyük fel, hogy a ú pontok jelen vannak, a lány pontok pedig egy el re meghatározott sorrendben érkeznek, és a hozzájuk tartozó élek az érkezésükkor kerülnek birtokunkba. A feladatunk eldönteni minden érkez lány pontra, hogy melyik ú ponthoz adjuk (ha adjuk) úgy, hogy minél nagyobb párosításhoz jussunk. Az ezzel ekvivalens feladatot megfogalmazhatjuk a B mátrixra is, ahol a oszlopok (melyek a lányokhoz tartoznak) a lányok érkezési sorrendjénak függvényében szerre válnak ismertté. Legyen ez a sorrend σ = B σ1,..., B σn. Az általánosság megszorítása nélkül megváltoztathatjuk az oszlopok mátrixon belüli helyét. Ezentúl feltételezzük, hogy σ = B n, B n 1..., B 1. Egy A randomizált online algoritmus esetén legyen A(H) valószín ségi változó az A algoritmus által H bemeneten konstruált párosításának elemszáma. 2.4.1. Deníció. Az online párosítási feladatban az el bbiekben leírt jelölések mellett az A randomizált online algoritmus teljesítményét a p(a) := min E[A(H)] módon értelmezzük, ahol a várhatóértéket az A által használt véletleneken vesszük. H 2.4.2. Állítás. A párosítási feladatra létezik 1/2-közelít mohó determinisztikus online algoritmus, és nem létezik olyan determinisztikus online algoritmus, mely (1/2 + ɛ)-közelít 22

lenne (tetsz leges ellenfélhez), semely ɛ > 0 esetén. Bizonyítás. Egy mohó algoritmus, mely amennyiben lehet, mindig hozzáad egy lányt egy tetsz leges választható úhoz, minden esetben elér egy olyan párosításhoz, amelyik tovább nem b víthet, azaz mérete legalább n/2. Másrészt a program leírásának ismeretéb l adódóan egy (tetsz leges típusú) ellenfél bármely determinisztikus online algoritmus által elért legnagyobb párosítás méretét korlátozni tudja n/2 -ben, például úgy, hogy az els nek megjelen n/2 oszlopba 1-eseket ír, a maradékban pedig csak azokba, amelyikeket a determinisztikus algoritmus az els n/2 lépésben párosított. 2.4.3. Megjegyzés. Az el bbi állítás és a 2.3.14 értelmében véletlen online algoritmussal minden alkalmazkodó oine ellenfelet lehet 1/2-közelíteni, és nem lehet(1/2 + ɛ)-közelíteni semmilyen ɛ > 0 esetén. 2.4.4. Állítás. Randomizált online angoritmusok által generált párosítások várható méretének egy alkalmazkodó online ellenfél n/2 + O(log n)-es fels korlátot tud szabni. Azaz nem létezik alkalmazkodó online ellenfélhez (1/2+ɛ)-közelít randomizált online algoritmus, semmilyen ɛ > 0 esetén. Bizonyítás. Az ellenfél konstruálja B-t a következ módon. Adott i {0,..., n/2 } esetén B j,n i = 1 pontosan akkor, ha a j. sor nem eleme sem az algoritmus, sem az ellenfél által eddig készített párosításnak sem; az ellenfél a saját teljes párosításához egy tetsz leges 1-est választ az aktuális (n i). oszlopból. i { n/2 +1,..., n} esetén B j,n i = 1 pontosan akkor, ha a j. sor nem eleme az ellenfél által eddig készített párosításnak; az el bbi esethez hasonlóan az ellenfél a saját teljes párosításához egy tetsz leges 1-est választ az aktuális (n i). oszlopból. Hogy ezen ellenség ellen randomizált online algoritmus nem érhet el n/2 + O(log n)-nél nagyobb párosítást, a következ k miatt igaz. Egyrészt minden nem mohó randomizált online algoritmus (azaz mely nem feltétlenül rendel hozzá út a lányhoz, mikor erre lehet ség van) lecserélhet olyan mohóra (mely minden lehet ségkor hozzárendel a lányhoz út), mely legalább ugyanolyan jól teljesít átlagosan. Másrészt, bármely A mohó algoritmusra legyen T (A) azon sorok halmaza, melyeket párosított a B n, B n 1,..., B n/2 oszlopok valamelyikével mind az algoritmus, mind az ellenfél. Ekkor E [ T (A) ] = O(log n), és az A által konstruált párosítás mérete nem haladja meg az n/2 + T (A) számot. Az alkalmazkodó ellenfél vizsgálata után nézzük, mit mondhatunk feledékeny ellenfél esetén. 2.4.5. Deníció. A RANKING egy, az online párosításra adott algoritmus, mely két fázisból áll: 23

Inicializálás: A ú pontokat rendezzük véletlenszer en, nevezzük ezt a sorrendet rangnak. Párosítás: Ahogy megérkezik egy lány pont, rendeljük a legmagasabb rangú elérhet ú ponthoz (amennyiben létezik ilyen). 2.4.6. Megjegyzés. Elég természetesnek t nik egy még egyszer bb algoritmust tanulmányozni, ami az érkez lány pontot egy tetsz leges elérhet ú ponthoz rendeli, ez azonban a teljes fels háromszög-mátrixon várhatóan n/2+o(log n) méret párosítást fog produkálni. Ehhez képest a RAN KIN G éppen a ú pontok rangsorolása miatt másként viselkedik, implicit módon el nyben részesítve azokat a úkat, melyek kevésbé voltak választhatók a múltban. 2.4.7. Tétel. [7] A B mátrixhoz tartozó teljes párosítást tartalmazó 2n pontú gráfban, a RANKING által adott párosítás várható mérete legalább (1 1/e) + o(n). Tehát a RAN KIN G (1 1/e)-közelíti bármelyik feledékeny ellenfelet. 2.4.8. Tétel. [7] ɛ > 0 esetén nem létezik minden feledékeny ellenfelet (1 1/e+ɛ)-közelít online maximális párosítást keres algoritmus. Az el bbiek alapján felvázolhatjuk a következ táblázatot. Ahol a fogalmak egybeesnek, a mez k egyesítettek. Feledékeny Alkalmazkó online Alkalmazkodó oine Determinisztikus 1/2 Véletlen 1 1/e 1/2 1/2 2.2. táblázat. Jelen feladatban determinisztikus és véletlen online algoritmusokkal a különböz ellenfelekkel szemben elérhet legmagasabb közelítési hányadosok. Mint látható, bár a véletlen online algoritmusoknak elvileg lehet ségük van magasabb közelítési hányadost elérni a determinisztikusoknál, az alkalmazkodó online ellenfélnél tapasztalt O(log n)-es többlet még nem jelentkezik a közelít ség mértékében. Így a determinisztikus és véletlen algoritmusok hatékonysága jelen feladatban a feledékeny ellenfeles és ellenfél nélküli esetben különbözik lényegesen. 2.4.9. Megjegyzés. Az online maximális párosítás keresésének feladata felfogható szubmoduláris függvények összegének online maximalizálásaként is, így felfoghatjuk a következ fejezetben tárgyalt probléma egy sajátos eseteként. Képzeljük ugyanis az eddigi H(U, V, E) páros gráfot úgy, hogy egy árverésen U elemei az ügynökök, V elemei pedig a tárgyak, és minden i U ügynök a j N(i) tárgyak 24

közül pontosan egy darab megszerzésében érdekelt, azaz az i ügynök hasznossági függvénye w i (S) := min{s N(i)} alakban írható. Könnyen ellen rizhet, hogy minden i U-ra w i szubmoduláris. Így ebben a megfogalmazásban a feladatunk az ügynökök összhasznának maximalizálása. 25

3. fejezet Online szubmoduláris árverések 3.1. Online szubmoduláris árverések A 2.4 részben tárgyalt feladat vizsgálata indította el a tudományos munkák azon sorozatát, amibe illeszkedik az alább meghatározott online szubmoduláris kombinatorikus árverési feladat is. Gyakorlati alkalmazásai az árveréseken és online hirdetési felületeken kívül számos helyen elképzelhet k. 3.1.1. Deníció. (Online szubmoduláris kombinatorikus árverési feladat) Tekintsünk egy árverést, ahol T = t darab, el re ismeretlen tárgy érkezik egyenként, amiket érkezésük pillanatában hozzá kell rendeljünk az u darab ügynök valamelyikéhez. Azt, hogy tárgyak egy halmaza milyen hasznot hoz az i. ügynöknek, a w i : 2 T R + alakú, haszonfüggvénynek u nevezett szubmoduláris hozzárendelés adja meg. Feladatunk a w i (S i ) kifejezés maximalizálása, ahol S i az i. ügynökhöz rendelt tárgyak halmaza, azaz S 1,..., S u S egy partícióját alkotja. 3.1.2. Megjegyzés. A maximalizálandó kifejezés azt méri, hogy az ügynökök összességének mennyire hasznos a tárgyak elosztása. Ez indokolhatja az árverési feladat angol szakirodalomban gyakran használatos welfare maximization elnevezést. Feltesszük, hogy mindenki együttm ködik (szeretné a közjót növelni), így nem foglalkozunk a feladat játékelméleti vonatkozásaival. Akárcsak az 1 fejezetben, itt is feltesszük, hogy a szubmoduláris függvények értékeit egy orákulum kérésünkre azonnal szolgáltatja. i=1 26

3.2. Ellenféllel szemben Ebben az alfejezetben célunk olyan algoritmus keresése, amely minden, a futása el tt rögzített bemeneten jól teljesít. Látni fogjuk, hogy a mohó algoritmusok sok esetben az árverési feladatokban is hatékonynak bizonyulnak. 3.2.1. Deníció. (Mohó algoritmus) A mohó algoritmus egy árverési feladatban az érkez tárgyat a legkisebb sorszámú olyan ügynökhöz rendeli, amelynek legnagyobb haszna származik bel le. 3.2.2. Tétel. [8] A mohó algoritmus online szubmoduláris árverési feladatokban 1/2-közelít, amennyiben a haszonfüggvények monotonok. Bizonyítás. Jelölje Q az eredeti feladatunkat, ahol t tárgy érkezik u ügynök részére. Tegyük fel, hogy az els tárgyat a mohó algoritmus a j. ügynökhöz rendelte. Jelöljük Q -tel azt a feladatot, amit a Q-ból kapunk azáltal, hogy az érkez tárgyak sorának elejér l elhagyjuk az els (1 nev ) tárgyat, és a j. ügynök w j haszonfüggvényét lecseréljük a w j (S) := w j (S {1}) függvényre. Legyen MOHÓ(Q) a mohó algoritmus futása során keletkezett összhasznát az ügynököknek, OP T (Q) pedig az optimális összhasznot. Legyen p = w j ({1}). Q meghatározásából adódóan MOHÓ(Q) = MOHÓ(Q ) + p. A következ kben megmutatjuk, hogy OP T (Q) OP T (Q ) + 2p. Legyen S 1,..., S u egy kiválasztott optimális elosztás, ahol S i az i. ügynökhöz rendelt tárgyak halmazát jelöli. Tegyük fel, hogy az els tárgy eleme S k -nak, azaz az optimális hozzárendelésben az els tárgy a k-adik ügynöknél van. Legyen S i az optimális elosztásból az els elem elhagyásával keletkezett elosztás Ekkor S i = S i, minden i k esetén, és S 1,..., S k egy lehetséges optimális megoldása Q -nek. Hasonlítsuk össze OP T (Q) és OP T (Q ) értékét. A k. ügynök kivételével mindegyikhez ugyanazokat a tárgyakat rendeljük mindkét esetben, a j. ügynök kivételével pedig mindegyiknek megegyezik a haszonfüggvénye. Az általánosság megszorítása nélkül feltehet, hogy k j. A Q feladatról a Q -re való áttérés során a k. ügynök legfennebb w k ({1}) hasznot veszít, mivel a w k szubmoduláris, továbbá a mohó algoritmus futása miatt w k ({1}) w j ({1}) = p, így a k. ügynök legfennebb p értéket veszít. A j. ügynök is legfennebb p hasznot veszít, mivel w j monotonitásából adódóan w j (S j) = w j (S j {1}) w j ({1})) w j (S j ) p. Így OP T (Q ) OP T (Q) 2p. A Q feladatban szerepl haszonfüggvények szintén szubmodulárisak lesznek, így indukció segítségével nyer bizonyítást: OP T (Q) OP T (Q ) 2MOHÓ(Q ) + 2p = 2MOHÓ(Q). 27

3.2.3. Megjegyzés. Könny belátni, hogy a mohó algoritmus legfennebb 1/2-közelít, mivel a következ példán csak az optimum felét éri el: {1} {2} {1, 2} w 1 0 1 1 1 w 2 0 1 0 1 Amennyiben a haszonfüggvények nem monotonok, a mohó algoritmus esetenként nagyon rosszul teljesít. Egy példa erre: {1} {2} {1, 2} w 1 0 0 1 0 w 2 0 0 0 0 3.2.4. Megjegyzés. A mohó algoritmus polinomiális futásidej. A következ kben megmutatjuk, hogy amennyiben N P RP, jelen feladatra nem létezik 1/2-nél nagyobb közelítési hányadosú algoritmus. 3.2.5. Deníció. (Fedés-kiértékelés) Egy w : 2 M R + függvényt fedés-kiértékel nek (coverage valuation) hívunk, ha létezik egy olyan {A j : j M} halmazrendszer, amire w(s) = A j, minden S M esetén. j S 3.2.6. Állítás. A fedés-kiértékel függvények szubmodulárisak. 3.2.7. Deníció. (RP) RP-belinek mondjuk az olyan feladatokat, melyekre léteztik olyan polinomiális futásidej véletlen Turing-gép, mely NEM-mel tér vissza, ha a válasz NEM, és legalább 1/2 valószín séggel IGEN-nel tér vissza, ha a válasz IGEN. 3.2.8. Tétel. [7] Ha NP RP, δ > 0 és fedés-kiértékel haszonfüggvények esetén nem létezik olyan polinomiális futásidej online algoritmus, mely (1/2+δ)-közelít lenne minden feledékeny ellenfélhez az online szubmoduláris árverési feladatban. 3.2.9. Következmény. Ha NP RP és δ > 0 esetén nem létezik olyan polinomiális futásidej online algoritmus, mely (1/2 + δ)-közelít lenne minden feledékeny ellenfélhez az online szubmoduláris árverési feladatban. 3.2.10. Megjegyzés. Az eredményeket összegezve: a 3.2.2 tétel, a 3.2.9 következmény és az ellenfelek típusainak er sorrendje értelmében monoton szubmoduláris haszonfüggvények 28