Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Költségmegosztás és a Télapó-probléma
Szakdolgozat
Írta: Gyenes Dávid
Matematika BSc (alkalmazott matematikus szakirány)
Témavezet®:
Király Tamás, egyetemi adjunktus
Operációkutatási Tanszék
Eötvös Loránd Tudományegyetem
Természettudományi Kar
2012
Tartalomjegyzék
El®szó 4
Köszönetnyilvánítás 5
I. Költségmegosztás 6
1. Költségmegosztás kooperatív játékokban 7
1.1. A kooperatív játékok fogalma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2. Költségmegosztási játékok magja . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. A közelít® mag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
II. A Télapó-probléma 14
2. A probléma felírása kongurációs LP feladatként 17
2.1. Az LP formalizálás nehézségei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2. A kongurációs LP feladat egészérték¶ségi rése . . . . . . . . . . . . . . . . . . . 19
3. A korlátozott hozzárendelés esete 22
3.1. Az ajándékok értékének kerekítése és a feltételek enyhítése . . . . . . . . . . . . 22
3.2. A megoldás átalakítása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3. Az algoritmus váza és a közelítés aránya . . . . . . . . . . . . . . . . . . . . . . 26
2
3.4. A probléma átfogalmazása halmazrendszerekre . . . . . . . . . . . . . . . . . . . 27
3.5. Az eredeti feladat egy megoldásának kiolvasása a végs® redukált rendszerb®l . . 30
4. Az általános eset 34
4.1. Az algoritmus leírása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2. A párosítás véletlenszer¶ kiválasztása . . . . . . . . . . . . . . . . . . . . . . . . 36
Zárszó 38
Irodalomjegyzék 39
3
El®szó
A játékelmélet olyan játékok vizsgálata során alakult ki, amelyekben a játékosnak el®re
számba kell venni az ellenfél lehetséges válaszlépéseit, és ez alapján meghatározni a legopti-
málisabb stratégiát, mint például a sakkban vagy a pókerben. Számos gazdasági helyzetben
szintén bizonyos stratégiák kidolgozása a cél, ezért bizonyult nagyon hasznosnak a játékelmé-
let a gazdasági elemzés számára. Mindezt már az 1920-as években felismerte Neumann János,
aki Oskar Morgensternnel közösen nemcsak a játékelmélet, hanem a hasznosságok elméletének
és a mikroökonómiának az alapjait is lefektette az 1944-ben megjelent Theory of games and
economic behavior cím¶ könyvében.
A tudományterülettel azóta számos közgazdász, matematikus és társadalomtudós foglal-
kozott, akik közül többen Nobel-díjat kaptak munkájuk jelent®ségének elismeréseként. Nekik
köszönhet®en az elmúlt évtizedekben hatalmas ismeretanyag halmozódott fel, és az új eredmé-
nyek más tudományok fejl®dését is el®segítették, hiszen például a sokszerepl®s játékok tanul-
mányozása nehezen képzelhet® el a számítástudomány eszközeinek felhasználása nélkül. Maga a
játékelmélet is elkezdett részterületekre bomlani, aminek egyik terméke a mechanizmustervezés.
A klasszikus játékelméletben adottak a játék feltételei, és a rendelkezésünkre álló (eset-
leg hiányos) információ alapján próbáljuk kialakítani a számunkra legkedvez®bb stratégiát. A
mechanizmustervezés esetében viszont nincsenek el®re lefektetett szabályok, hanem önz® játé-
kosaink vannak, és nekünk kell kialakítani a feltételeket úgy, hogy a játék igazságos legyen, és
kialakulhasson egy egyensúlyi helyzet. Ilyen értelemben a mechanizmustervezést felfoghatjuk a
játékelmélet kifordításának, és önálló tudományágnak is tekinthetjük.
A mechanizmustervezés f® célja a társadalmi döntés meghatározása. Ez nem más, mint
az egyes résztvev®k különböz® érdekeinek összehangolása egyetlen egységes döntésben. Ennek
szemléltetésére felsorolunk néhány tipikus példát.
Választások : minden választópolgár rendelkezik bizonyos preferenciákkal a jelölteket ille-
t®en, és a társadalmi döntés a választás kimenetele.
Kormányprogram : a kormány tagjainak rendszeresen olyan döntéseket kell hozniuk, ame-
lyek az emberek tömegének életére lehet hatással. Megépítsünk egy bizonyos hidat? Mek-
kora szennyezés tekinthet® még elfogadhatónak? Hogyan szabályozzunk bizonyos terü-
leteket? Nyilván minden állampolgárnak megvannak az egyéni érdekei, de a társadalmi
döntést a kormány hozza meg.
Árverések : általánosságban elmondható, hogy minél több eladó és vev® van egy piacon,
annál inkább beszélhetünk tökéletes versenyr®l. Egy széls®séges ellenpélda az árverés, ahol
4
egyetlen eladó van. Az aukció lebonyolítása határozza meg a társadalmi döntést, azaz a
gy®ztes személyét.
Piacok : a közgazdaságtan klasszikus elméletében fel szokták tenni a tökéletes piac lé-
tezését. A valóságban viszont csak személyek közötti kölcsönhatás zajlik bizonyos írott
vagy íratlan szabályok szerint. A társadalmi döntés a pénz és a javak újraelosztása.
A továbbiakban az utóbbival foglalkozunk részletesebben.
A dolgozat két nagyobb részre tagolódik. Az els®ben a költségmegosztás általános kérdéseir®l
lesz szó kooperatív játékok esetében. Az ide vonatkozó eredményeket az [1] könyv megjelölt
fejezete szolgáltatta. El®ször is pontosan deniáljuk, hogy mit is értünk kooperatív játék alatt.
Itt két esetet fogunk megkülönböztetni aszerint, hogy a játékosok hasznosságai átruházhatók
vagy nem. Ezután bevezetjük a mag fogalmát, amely az ilyen játékok vizsgálatában központi
szerepet játszik. Rávilágítunk arra is, hogy bizonyos esetekben csak egy enyhébb tulajdonságot,
az úgynevezett közelít® magot érdemes gyelembe venni.
A második részben egy speciális költségmegosztási játékkal, a Télapó-problémával foglalko-
zunk. Ez a feladat úgy is felfogható, mint az áruk igazságos elosztásának meghatározása abban
az esetben, amikor az egyes termékek nem igazán bonthatók részekre. Itt a kiindulópontot [2]
fogja jelenteni, az úgynevezett korlátozott hozzárendelés esetére vonatkozó f® eredmény pedig
[5]-b®l származik. Végül foglalkozunk a probléma általános esetével is, amelyhez [7] szolgáltatta
a megfelel® eredményeket.
Köszönetnyilvánítás
Ezúton szeretném megköszönni témavezet®mnek, Király Tamásnak a szakdolgozat elkészíté-
sében nyújtott segítségét. Rendszeresen biztosított számomra konzultációs lehet®séget, melyek
során több a szakdolgozat korábbi verzióiba bekerült hibára felhívta a gyelmemet. Nagyban
hozzájárult a megfelel® források megtalálásához is. Emellett a LaTeX-program használatával
kapcsolatban is hasznos tanácsokat adott.
Szeretnék továbbá köszönetet mondani a családomnak, akik az évek során végig támogatták
a tanulmányaimat.
5
I. rész
Költségmegosztás
6
1. fejezet
Költségmegosztás kooperatív játékokban
1.1. A kooperatív játékok fogalma
A kooperatív játékelmélet azzal foglalkozik, hogyan lehet kikényszeríteni és fenntartani
együttm¶ködést olyan felek között, akik ebben érdekeltek. Azaz adott a játékosok egy n elem¶
halmaza, amit jelöljünk A-val. k azok, akik hajlandók összefogni azért, hogy valamilyen ér-
téket teremtsenek (vagy esetleg a kiadásaikat csökkentsék). Az el®állított érték nagysága függ
attól, hogy az n szóba jöv® játékos közül pontosan kik alkotnak koalíciót. Azon kimenetelek
halmazát, melyet a játékosok egy S ⊆ A koalíciója állít el®, jelöljük V (S)-sel. Ebben egy v ∈∈ RS vektor reprezentál minden egyes kimenetelt, melynek i-edik koordinátája az i-edik játékos
nyereménye az adott kimenetelben. A játékosok A halmaza a fenti V függvénnyel együtt de-
niál egy kooperatív játékot, melyben a hasznosságok nem átruházhatók, rövidítve NTU játék
(nontransferable utilities).
Egy másik eset, amikor a koalíció által el®állított érték tetsz®legesen szétosztható a játéko-
sok között. Egy ilyen játékot egy v : 2A 7→ R függvénnyel jellemezhetünk, mely minden egyes S
koalícióhoz megadja az el®állított v(S) ∈ R értéket. Feltesszük, hogy v(∅) = 0. Az összes lehet-
séges kimenetel halmaza V (S) = x ∈ RS :∑
i∈S xi 6 v(S). Az ilyen játékban a hasznosságok
átruházhatók, ezért TU játéknak nevezzük (transferable utilities).
A TU modellt például olyankor alkalmazhatjuk, amikor egy szolgáltató akar kiépíteni egy
hálózatot c(S) költséggel, és ezt szét akarja osztani az S-ben szerepl® ügyfelek között. A gyakor-
latban a c költségfüggvényt általában egy kombinatorikus optimalizálási feladat megoldásával
határozhatjuk meg. Egy konkrét példa a szolgáltatóelhelyezési feladat, melyre többször hivat-
kozunk a fejezet során:
1.1. deníció. Adott a leend® ügyfelek A halmaza, illetve a lehetséges szolgáltatóhelyek F
halmaza. Az i-edik szolgáltatóhely megnyitásának költsége fi, a j-edik ügyfél és az i-edik szol-
7
gáltató közti távolság pedig dij. Feltesszük, hogy a távolságfüggvény metrikát alkot. Az ügyfelek
S ⊆ A halmazának költségét úgy deniáljuk, hogy vesszük a minimumát azon költségeknek,
hogy bizonyos szolgáltatókat megnyitunk, és mindegyik S-beli ügyfelet összekötjük ezen szol-
gáltatók valamelyikével. Azaz c(S) = minF ′⊆F∑
i∈F ′ fi +∑
j∈S mini∈F ′ dij.
A következ® ábrán egy példa látható a fenti feladatra 3 ügyféllel a, b, c és 3 szolgáltatóval
A,B,C. Megadtuk a szolgáltatóhelyek megnyitásának, valamint az ügyfelek kiszolgálásának
költségeit (az ábrán nem jelölt esetekben a háromszög-egyenl®tlenség alapján számíthatjuk ki
®ket). Ez a bemenet a következ® költségfüggvényt deniálja: c(a) = 4, c(b) = 4, c(c) =
= 4, c(a, b) = 5, c(b, c) = 7, c(a, c) = 7, c(a, b, c) = 9.
1.1. ábra. Szolgáltatóelhelyezési feladat
Mivel az összköltség a fenti feladatban önkényesen szétosztható az ügyfelek között, ezért
természetes, hogy TU játékkal modellezzük. Alább viszont az NTU játékokra mutatunk példát.
Hálózattervezésnél egy S-beli ügyfél költségének azt a késést tekinthetjük, amennyit a szolgál-
tatás igénybevételekor kénytelen elszenvedni, ha S azon ügyfelek halmaza, akik használják a
szolgáltatást. Ebben a feladatban többféleképpen megtervezhetjük a hálózatot, és mindegyikhez
tartozik késések egy prolja, melyet az ügyfelek szenvednek el. C(S)-sel jelöljük az S koalíció
által elszenvedett összes lehetséges késés halmazát. Mivel a késések nem átruházhatók, ezért itt
az NTU modell lesz használható.
A kooperatív játék fogalmát el®ször Neumann és Morgenstern használta. Az ® megközelí-
tésükben csak a megalakítható koalíciók kombinatorikus kérdései számítanak. Ez különbözteti
8
meg a nemkooperatív játékoktól, amelyekben az egyes játékosok által hozható döntések halma-
zára és azok kimeneteleire fókuszálnak.
A kooperatív játék deníciójában nem tesszük fel, hogy az értékek nemnegatívok. S®t, a
nempozitív értékek esete éppen annak felel meg, amikor egy szolgáltatás költségét azok között
akarjuk szétosztani, akik igénybe veszik (ekkor az értéket a költség ellentettjének vesszük).
Mostantól kezdve kooperatív játék alatt mindig TU játékot értünk majd. A következ® sza-
kaszokban ezen játékok f®bb jellemz®it fogjuk megvizsgálni.
1.2. Költségmegosztási játékok magja
A kooperatív játékelmélet egyik központi fogalma a mag. Ez egy olyan kimenetelt jelent,
amely minden játékos együttm¶ködése esetén áll el® úgy, hogy a résztvev®k egyetlen csoport-
ja sem protálna abból, ha kiválna a nagykoalícióból. Vagyis egy olyan helyzetnek felel meg,
amikor képesek vagyunk minden játékost együttm¶ködésre bírni úgy, hogy ez az állapot köz-
gazdasági értelemben stabil legyen.
Ebben a fejezetben deniáljuk a költségmegosztási játékok magját, majd bemutatunk egy
klasszikus eredményt arról, hogy milyen feltételek teljesülése esetén lesz egy játék magja nem-
üres. A következ® fejezetben pedig azt fogjuk megvizsgálni, hogy bizonyos nehéz kombinatorikus
optimalizálási feladatoknál milyen enyhített változatot tudunk használni, amit majd közelít®
magnak nevezünk.
Formálisan egy TU költségmegosztási játék magja a következ®:
1.2. deníció. Legyen (A, c) egy TU költségmegosztási játék. Egy α ∈ RA vektor a magban
van, ha teljesül rá az alábbi két feltétel :
Költségegyensúly :∑
j∈A αj = c(A).
Magtulajdonság : minden S ⊆ A halmazra∑
j∈S αj 6 c(S).
Példaként tekintsük az 1.1 ábrán látható szolgáltatóelhelyezési feladatot. Könnyen ellen-
®rizhet®, hogy a (2; 3; 4) vektor a játék magjában van. S®t, másik költségelosztást is találunk
a magban: (3; 2; 4). Viszont, ha egy negyedik szolgáltató is megjelenik a piacon az 1.2 ábra
szerinti módon, akkor az így keletkez® játék magja már üres. Ehhez azt kell észrevenni, hogy a
költségfüggvény csak két helyen módosul: c(a) = 3, c(a, c) = 5. Ekkor, ha egy α vektor a
9
magban van, akkor a következ®k teljesülnek:
αa + αb 6 c(a, b) = 5 (1.1)
αb + αc 6 c(b, c) = 7
αa + αc 6 c(a, c) = 5
A három egyenl®tlenséget összeadva és leosztva 2-vel kapjuk, hogy αa + αb + αc 6 8,5 <
< c(a, b, c), azaz α-ra nem teljesül a költségegyensúly feltétele.
1.2. ábra. Módosított szolgáltatóelhelyezési feladat
A kooperatív játékelmélet egy klasszikus tétele mely szükséges és elégséges feltételt ad
arra, hogy a játék magja mikor nemüres a Bondareva-Shapley tétel. Ahhoz, hogy ezt ki
tudjuk mondani, szükségünk lesz a következ® fogalomra:
1.3. deníció. A λ vektor kiegyenlített súlyok gy¶jteménye, amely ∀S ⊆ A halmazhoz egy
nemnegatív λS súlyt rendel, ha minden j ∈ A esetén∑
S:j∈S λS = 1.
1.4. tétel. Egy (A, c) TU költségmegosztási játék magja pontosan akkor nemüres, ha minden
λ kiegyenlített súlygy¶jteményre∑
S⊆A λSc(S) > c(A).
10
Bizonyítás. A mag deníciója szerint egy (A, c) játék magja pontosan akkor nemüres, ha a
következ® LP feladat megoldása éppen c(A) :
∀S ⊆ A∑j∈S
αj 6 c(S) (1.2)
max∑j∈A
αj
Vegyük észre, hogy ennek a megoldása egyrészt nem lehet több mint c(A), másrészt az er®s
dualitás tétel miatt egyenl® az alábbi duális megoldásával :
∀j ∈ A∑S:j∈S
λS = 1 (1.3)
∀S ⊆ A λS > 0
min∑S⊆A
λSc(S)
Így a mag pontosan akkor nemüres, ha a duális megoldása c(A). Ennek a feladatnak egy megol-
dása deníció szerint kiegyenlített súlygy¶jtemény. Tehát az (A, c) játék magja pontosan akkor
nemüres, ha minden kiegyenlített súlygy¶jteményre∑
S⊆A λSc(S) > c(A).
A tétel illusztrálásaként ismét bebizonyítjuk, hogy az 1.2 ábrán bemutatott játék magja
üres. Ehhez deniáljunk egy λ vektort a következ®képpen: λa = 15, λa,b = λa,c = 2
5, λb,c =
= 35és λS = 0 minden más S ⊆ A halmazra. Ekkor nyilván λ kiegyenlített súlygy¶jtemény és∑
S⊆A λSc(S) = 445< 9 = c(A).
1.3. A közelít® mag
Az 1.2 ábrával megadott feladatban láttuk, hogy egy költségmegosztási játék magja le-
het üres. Valójában nagyon sok játék van köztük olyanok, melyek algoritmikusan nehezen
kiszámítható optimalizálási feladatok amelyeknek a magja üres. Ráadásul, ha a fellép® költ-
ségfüggvény meghatározása nehéz, mint például a szolgáltatóelhelyezési feladatban, akkor még
annak eldöntése is komoly feladat lehet, hogy egyáltalán üres-e a mag. Emiatt célszer¶ bevezetni
a következ® deníciót:
1.5. deníció. Egy α ∈ RA vektor az (A, c) játék γ-közelít® magjában van, ha teljesülnek az
alábbiak:
γ-költségegyensúly : γc(A) 6∑
j∈A αj 6 c(A)
Magtulajdonság : minden S ⊆ A halmazra∑
j∈S αj 6 c(S)
11
Például az 1.2 ábra feladatát tekintve láthatjuk, hogy az (1,5; 3,5; 3,5) vektor a játék 8,59-
közelít® magjában van. Az 1.1-beli egyenl®tlenségeket felhasználva ugyanazzal a gondolatme-
nettel, amivel igazoltuk, hogy ennek a játéknak a magja üres, belátható, hogy bármely γ > 8,59
esetén a γ-közelít® mag is üres. A Bondareva-Shapley tétel egyszer¶ általánosításával kapjuk
az alábbi közelít® verziót:
1.6. tétel. Minden γ 6 1 esetén az (A, c) TU költségmegosztási játék γ-közelít® magja pontosan
akkor nemüres, ha bármely λ kiegyenlített súlygy¶jteményre∑
S⊆A λSc(S) > γc(A).
A bizonyítás hasonló az el®z® tételnél látottakhoz. Azt lehet észrevenni, hogy a dualitás tétel
miatt a játék γ-közelít® magja pontosan akkor nemüres, ha (1.3) megoldása legalább γc(S). Ha
a c költségfüggvény szubadditív, azaz bármely S1 és S2 esetén c(S1∪S2) 6 c(S1) + c(S2), akkor
(1.3) optimális egészérték¶ megoldása éppen c(A). Ebb®l adódik az alábbi
1.7. állítás. Bármely (A, c) költségmegosztási játékban, ahol a költségfüggvény szubadditív, a
legnagyobb γ érték, amire a közelít® mag nemüres, egyenl® az (1.3) feladat egészérték¶ségi ré-
sével.
Sok kombinatorikus optimalizálási feladatban, mint például a halmazfedési, csúcslefogási
vagy szolgáltatóelhelyezési probléma, az (1.3) felírás ekvivalens a természetes (polinomiális
méret¶) LP formalizációval. Így a fenti következmény ezen feladatok egészérték¶ségi résér®l
szóló állításként is felfogható. Most a szolgáltatóelhelyezési feladaton keresztül mutatjuk be ezt
az összefüggést.
El®ször is felírjuk a probléma egészérték¶ alakját. Itt xi fogja jelölni, hogy az i-edik szol-
gáltatóhelyet megnyitjuk-e, yij pedig azt, hogy a j-edik ügyfél az i-edik szolgáltatóval áll-e
kapcsolatban.
∀j ∈ A∑i∈F
yij > 1 (1.4)
∀i ∈ F, j ∈ A xi > yij
∀i ∈ F, j ∈ A xi, yij ∈ 0,1
min∑i∈F
fixi +∑i∈F
∑j∈A
dijyij
Ha enyhítjük az egészérték¶ségi feltételt arra, hogy xi, yij > 0, akkor egy olyan LP feladatot
kapunk, melynek duálisa
∀i ∈ F, j ∈ A βij > αj − dij (1.5)
∀i ∈ F∑j∈A
βij 6 fi
∀i ∈ F, j ∈ A αj, βij > 0
max∑j∈A
αj
12
Nyilván feltehetjük, hogy a fenti programban βij = max0, αj − dij, ezért egy duális megol-
dásban elég α-t megadni. A fenti LP éppen a magtulajdonságot ragadja meg, azaz ekvivalens
(1.2)-vel.
1.8. állítás. (1.5) bármely (α, β) megengedett megoldásában α-ra érvényes a szolgáltatóelhelye-
zési feladat magtulajdonsága.
Bizonyítás. Azt kell megmutatnunk, hogy minden S ⊆ A halmazra∑
j∈S αj 6 c(S). Az ügyfe-
lek bármely R ⊆ A halmazát kiválasztva, ha minden j ∈ R esetén összeadjuk az (1.5)-beli els®
és második egyenl®tlenséget, kapjuk, hogy∑
j∈R αj 6 fi +∑
j∈R dij teljesül az i-edik szolgálta-
tóra. Vegyünk egy optimális megoldást az ügyfelek S halmazára, és tegyük fel, hogy az i1, . . . , ik
szolgáltatókat nyitottuk meg. Legyen Rl azon ügyfelek halmaza, akiket az il-edik szolgáltató
lát el ebben a megoldásban. Összeadva az el®z® egyenl®tlenséget minden il-re és Rl-re a kívánt
eredményt kapjuk.
Ezen állítás szerint (1.5) megoldása (mely a dualitás tétel miatt azonos (1.4) relaxáltjáéval)
egyenl® (1.2) és (1.3) közös megoldásával. S®t, (1.4) optimális egész megoldása pedig c(A). Így
(1.4) egészérték¶ségi rése egyenl® (1.3)-éval, azaz a legjobb közelít® szorzó, amit egy magtulaj-
donságot kielégít® költségelosztással elérhetünk. A közelít® algoritmusok terén kapott legjobb
eredmények alapján ez az érték (a legrosszabb esetben) 11,52
és 11,463
között van.
13
II. rész
A Télapó-probléma
14
A továbbiakban egy speciális költségmegosztási játékkal foglalkozunk, amelyet a szakiroda-
lomban legtöbbször Télapó-problémaként emlegetnek. Ezt a következ®képpen szokták megfo-
galmazni: a Télapó n ajándékot akar szétosztani m gyerek között. Minden gyerek tetsz®legesen
értékeli az ajándékokat: pij jelöli a j-edik ajándék értékét az i-edik gyermek számára. A cél az,
hogy úgy osszuk szét az ajándékokat, hogy a legkevésbé szerencsés gyerek is minél elégedettebb
legyen. Azaz maximalizálni akarjuk mini∑
j∈Si pij-t, ahol Si azon ajándékok halmaza, melyet
az i-edik gyereknek adunk.
A fenti alak a probléma legszemléletesebb és legkönnyebben érthet® megfogalmazása. Ugyan-
akkor a költségmegosztás szempontjából f®leg az úgynevezett korlátozott hozzárendelés érdekes.
Ez annak a speciális esetnek felel meg, amikor pij ∈ 0, pj, azaz egy gyerek vagy nem érdekl®dik
egy adott ajándék iránt, vagy ugyanazt a pj értéket tulajdonítja neki, mint azok, akik szintén
örülnének, ha megkapnák. A kés®bbiekben ezt a speciális esetet fogjuk részletesen vizsgálni.
Szokás a problémát géplefedési feladatként is emlegetni, ami egy másik lehetséges alkalma-
zásra világít rá. Legyenek ugyanis az ajándékok bizonyos munkák, melyeket el akarunk végezni,
a gyerekek pedig olyan gépek, amelyek alkalmasak ezek elvégzésére (esetleg er®források, ame-
lyeket felhasználunk). Szemben a klasszikus esettel, amikor a munkák elvégzéséhez szükséges
id®t akarjuk minimalizálni, a Télapó-probléma korlátozott hozzárendelésének megoldása úgy
osztja ki a munkákat a gépek között, hogy az egyes gépek kihasználtsága minél nagyobb legyen.
Erre például egy olyan nagyüzemben lehet szükség, ahol adott id®tartamú m¶szakokban folyik
a munkavégzés, és azt szeretnénk, hogy az egyes m¶szakokban minél egyenletesebb legyen a
gépek vagy egyéb er®források kihasználtsága.
A problémát igazán alaposan Bansal és Sviridenko tanulmányozta el®ször [2]-ben. Munkájuk
a mai napig kiindulópontnak számít a témában, ezért el®ször az ® eredményeiket ismertetjük.
Megmutatták, hogy a természetes LP formalizáció helyett hasznosabb az úgynevezett kongu-
rációs LP feladat deniálása. Ennek részletei olvashatók a 2. fejezetben. Ugyanitt bemutatjuk
azt a példát is, amellyel igazolták, hogy ennek a feladatnak az egészérték¶ségi rése Ω( 1√n). Végül
a 4. fejezet els® 3 szakaszában különböz® ötleteik alapján egy véletlenszer¶ kerekítésen alapuló
O( lognlog logn
)-es közelít® algoritmushoz jutunk a korlátozott hozzárendelés esetében. [2] f® ered-
ményét viszont nem ismertetjük, mert azt kés®bb Haeupler, Saha és Srinivasan megjavította a
Lovász-féle lokális lemmára támaszkodva. k bebizonyították, hogy a közelítés aránya a mód-
szerükkel konstansnak vehet®. Ennek részleteit a 4. fejezet utolsó két szakaszában tárgyaljuk
[5] alapján.
Az általános megfogalmazás azt a játékelméleti helyzetet ragadja meg, amikor bizonyos áruk
igazságos szétosztása a feladat. Jelképezzék az ajándékok ezeket az árukat, a gyerekek pedig
a potenciális vev®ket. Ekkor az ajándékok értéke az a hasznosság (például ár-érték arány),
amit a j-edik vev® nyer azáltal, hogy ® kapja az i-edik árut. Ebben az esetben a Télapó-
15
probléma megoldása egy olyan hozzárendelést ad meg, amelyben a legkevesebbet nyer® ügyfél
sem jár sokkal rosszabbul, mint a többiek. Ennek az esetnek a vizsgálatában ezidáig Asadpour és
Saberi jutott a legmesszebbre, akik [7]-ben egy olyan közelít® algoritmust konstruálnak, amely
az optimális megoldás legalább Ω( 1√n log3 n
)-ed részét adja minden gyereknek. A részletek az 5.
fejezetben olvashatók.
16
2. fejezet
A probléma felírása kongurációs LP
feladatként
2.1. Az LP formalizálás nehézségei
A legtermészetesebb LP formalizáció a következ®:m∑i=1
yij = 1 j = 1, . . . , n (2.1)
n∑j=1
pijyij > T i = 1, . . . ,m
∀i, j yij > 0
maxT
Azonban ennek az egészérték¶ségi rése nemkorlátos még egy ajándék és minden gyerek számára
azonos p esetén is (azaz pi1 = p i = 1, . . . ,m). Ez abból következik, hogy az LP-ben részekre
bonthatjuk az ajándékot az m gyerek közt, míg az egészérték¶ségi feltétel esetén m− 1 gyerek
nem kap ajándékot.
Ezt a nehézséget könnyedén ki tudjuk küszöbölni, ha alkalmazzuk a [3] szerinti ötletet az
ajándékok értékének kerekítésére kombinálva a bináris kereséssel. Ehhez rögzítenünk kell T -t,
ami a célfüggvényünk kívánt értéke. Legyen p′ij = minpij, T az új bemenet. A legfontosabb
észrevétel, hogy bármely egész megoldás, amely legalább T érték¶ az eredeti értékek mellett,
a kerekített értékek esetén is legalább T érték¶. Az algoritmusban tehát bináris kereséssel
határozzuk meg a célfüggvénynek azt a maximális T értékét, amelyre létezik megoldása annak
az LP feladatnak, amit (2.1)-b®l úgy nyerünk, hogy a pij-k helyett p′ij-t veszünk. Ez a technika
kiküszöböl egy sor rossz bemenetet (például a fentit is), és kifejezetten jól használható, ha a
maximális p′ij viszonylag kicsi T -hez képest. S®t, [4] bebizonyítja, hogy:
17
2.1. állítás. A módosított LP feladat T érték¶ megoldása egészérték¶vé alakítható, és az új
érték T −maxi,j p′ij lesz.
Ebb®l adódik egy közelít® megoldás akkor, ha maxi,j p′ij jelent®sen kisebb T -nél. Ellenkez®
esetben viszont az egészérték¶ségi rés Ω(m) még a korlátozott hozzárendelés esetében is. Ezt a
következ® példa mutatja: legyen n = 2m − 1 ajándékunk, ebb®l j = 1, . . . ,m kis érték¶, míg
j = m + 1, . . . ,2m − 1 nagy érték¶. Minden nagy ajándék értéke m az összes gyerek számára,
az i. kis ajándék értéke pedig 1 az i. gyereknek, a többieknek viszont 0. Ez éppen a korlátozott
hozzárendelés bemenete. T = m esetén p′ij = pij. Adjuk az i. kis ajándékot az i. gyereknek,
a nagy ajándékokat pedig külön-külön osszuk szét m egyenl® részre az összes gyerek között.
Ekkor az egyes gyerekekhez került ajándékok összértéke 1 + (m− 1) 1mm = m. Így a módosított
LP feladatnak T = m megengedett megoldása. Másrészt mivel csak m − 1 nagy ajándék van,
ezért egy egész megoldásban lesz olyan gyerek, aki nem kap nagy ajándékot. Minthogy minden
gyerek pontosan egy kis ajándék iránt érdekl®dik, ebb®l következik, hogy minden egész optimális
megoldás legfeljebb 1.
A fenti példa jól mutatja, hogy szükséges deniálnunk a Télapó-probléma egy er®sebb LP
relaxáltját. A továbbiakban kongurációnak nevezzük ajándékok egy részhalmazát. A C kon-
guráció értéke p(C, i) az i. gyerek számára, ahol p(C, i) =∑
j∈C pij. Továbbra is feltesszük,
hogy a célfüggvény T értéke bináris kereséssel adott. A C konguráció releváns az i. gyerek
számára, ha p(C, i) > T . Jelölje C(i, T ) az összes releváns konguráció halmazát az i. gyerek
számára. Néha csak C(i)-t írunk, ha nem okoz félreértést.
A kongurációs LP feladat a következ®: bevezetjük az xi,C változókat minden az i. gyerek
számára releváns kongurációra. Ekkor exponenciális számú változónk is lehet. A feltételek:
∀i∑C∈C(i)
xi,C > 1 (2.2)
∀j∑j∈C
∑i
xi,C 6 1
∀i, ∀C ∈ C(i, T ) xi,C > 0
Az els® feltétel azt fejezi ki, hogy minden gyerekhez tartozik legalább egy konguráció, a má-
sodik pedig azt, hogy egy ajándékot sem használunk egységnyinél több kongurációban.
Feltesszük, hogy a primál feladatban a csupa 0 együtthatójú célfüggvényt akarjuk minima-
lizálni. Az yi változók feleljenek meg az els® feltételnek (1 6 i 6 m), a zj-k pedig a másodiknak
18
(1 6 j 6 n). Ekkor a duális :
∀i, ∀C ∈ C(i, T )∑j∈C
zj > yi (2.3)
∀j zj > 0
maxm∑i=1
yi −n∑j=1
zj
Azt állíthatjuk, hogy a (2.3)-hoz tartozó szeparációs probléma éppen az ismert minimális há-
tizsák feladat. S®t egy (y∗, z∗) megoldásjelölt esetében a feltételek sérülése azt jelenti, hogy
találunk egy i gyereket és ajándékok egy A′ halmazát, melyre∑
j∈A′ zj 6 yi és∑
j∈A′ pij > T .
Az eljárás el®készítéseként lekerekítjük minden ajándék értékét εTnlegközelebbi egész több-
szörösére valamilyen ε > 0-val. Mivel minden gyerek legfeljebb n ajándékot kaphat, ez a megol-
dást legfeljebb εT -vel módosíthatja. Emiatt feltehet®, hogy minden ajándék értéke egész szám a
[0, nε] intervallumban, és a fenti hátizsák feladat a szokásos dinamikus programozással polinom
id®ben megoldható. Így a duális tetsz®leges pontossággal megoldható az ellipszoid-módszerrel
szintén polinom id®ben. Vagyis a primál feladat pontos megoldását kiszámítva azokon a válto-
zókon, amelyekhez tartozó duálisbeli egyenl®tlenségeket az ellipszoid-módszer használ, találha-
tunk egy megengedett megoldást (2.2)-re tetsz®leges pontossággal polinom id®ben.
Megjegyezzük, hogy a kongurációs LP feladat minden megengedett megoldásából nyerünk
egy yij nemegész hozzárendelést, melyben minden gyerek legalább T érték¶ ajándékot kap.
Továbbá a kongurációs LP sokkal er®sebb, mint az alap változat. Ehhez érdemes megvizsgálni
a kongurációs LP viselkedését a fentebb részletezett Ω(m) egészérték¶ségi rés¶ bemeneten.
Ezen (2.2) T > 1 esetén nem megengedett, így pontos megoldást ad. Sajnos ahogy azt
hamarosan megmutatjuk még a kongurációs LP feladat egészérték¶ségi rése is nagy az
általános esetben, amikor pij tetsz®leges.
2.2. A kongurációs LP feladat egészérték¶ségi rése
Ebben a szakaszban a Télapó-probléma általános esetének olyan bemenettípusát ismertet-
jük, amelyre a kongurációs LP egészérték¶ségi rése nemkorlátos. Pontosabban tetsz®leges k
paraméterhez gyártunk egy bemenetet O(k2) ajándékkal és ugyanennyi gyerekkel, melyre a kon-
gurációs LP feladat megoldása Ω(k2) érték¶, míg az optimális egész megoldás 1. Az ajándékok
értéke pedig 0, 1 vagy k lesz.
Legyen k tetsz®leges egész, A az ajándékok, B pedig a gyerekek halmaza. B-t k + 1 cso-
portba osztjuk: B0, . . . , Bk, és mindegyik csoportban k gyerek lesz: bi1, . . . , bik (i = 0, . . . , k).
A háromféle ajándékhalmazból áll : nagy (An), kicsi (Ak) és töltelék (At) ajándékok. An-ben
19
b0,1 b0,2 b0,3 b1,1 b1,2 b1,3 b2,1 b2,2 b2,3 b3,1 b3,2 b3,3
an,1 3 3 3 0 0 0 0 0 0 0 0 0
an,2 3 3 3 0 0 0 0 0 0 0 0 0
ak,1,1 1 0 0 3 0 0 0 0 0 0 0 0
ak,1,2 1 0 0 0 3 0 0 0 0 0 0 0
ak,1,3 1 0 0 0 0 3 0 0 0 0 0 0
ak,2,1 0 1 0 0 0 0 3 0 0 0 0 0
ak,2,2 0 1 0 0 0 0 0 3 0 0 0 0
ak,2,3 0 1 0 0 0 0 0 0 3 0 0 0
ak,3,1 0 0 1 0 0 0 0 0 0 3 0 0
ak,3,2 0 0 1 0 0 0 0 0 0 0 3 0
ak,3,3 0 0 1 0 0 0 0 0 0 0 0 3
at,1 0 0 0 3 3 3 0 0 0 0 0 0
at,2 0 0 0 0 0 0 3 3 3 0 0 0
at,3 0 0 0 0 0 0 0 0 0 3 3 3
2.1. táblázat. A kongurációs LP feladat 1Ω(k2)
egészérték¶ségi rés¶ bemenete k = 3-ra
k − 1 nagy ajándék van, melyek értéke k a B0-beli gyerekek számára, és 0 a többieknek. Ak
k csoportból áll (Ak,i i = 1, . . . , k), mindegyikben k darab ajándékkal (ak,i,1, . . . , ak,i,k). Az
ak,i,l-edik ajándék értéke k a bi,l-edik gyerek számára, 1 a b0,i-edik gyereknek, és 0 a többieknek.
Vagyis az Ak,i-beli l-edik ajándék csak 2 gyerek számára nem 0 érték¶: k a Bi-beli l-edik gye-
reknek, és 1 a B0-beli i-edik számára. Végül az at,i töltelék ajándék értéke k a Bi-beli gyerekek
számára, és 0 a többieknek. A 2.1 táblázatban a k = 3 esetet foglaltuk össze.
2.2. állítás ([2]). A fenti (A,B) bemenethez létezik a kongurációs LP feladatnak nemegész
T = k érték¶ megengedett megoldása.
Bizonyítás. Tekintsük a következ® nemegész megoldást: az An-beli k − 1 ajándékot egyenl®en
elosztjuk a B0-beli k gyerek közt. Vagyis minden b0,i ∈ B0-hoz hozzárendelünk egy kongu-
rációt, amely csak an,l-b®l tartalmaz 1k-nyit (l = 1, . . . , k − 1). Ezután i = 1, . . . , k-ra b0,i-hez
rendeljük azt a kongurációt, amely az Ak,i-beli k darab ajándékból tartalmaz 1k-nyit. B0-hoz
több ajándékot nem rendelünk. B1, . . . , Bk esetében i = 1, . . . , k-ra és l = 1, . . . , k-ra bi,l-hez
1 − 1k-nyit rendelünk abból a kongurációból, amely csak ak,i,l-b®l áll, és 1
k-nyit at,i-b®l. Ezzel
megengedett hozzárendelést kaptunk, amelyben minden konguráció telítettsége k, minden gye-
rek egységnyit kap a kongurációból, és minden ajándék legfeljebb egységnyi kongurációban
szerepel.
2.3. állítás ([2]). Az (A,B) bemenettel minden egész megoldás értéke legfeljebb 1.
20
Bizonyítás. Tekintsünk az (A,B) bemenethez tetsz®leges egész megoldást. Mivel k−1 ajándék
van An-ben és k gyerek B0-ban, ezért létezik olyan b0,i ∈ B0, akinek nem adunk nagy ajándékot.
A nagy ajándékokon kívül csak Bk,i-ben vannak 0-nál nagyobb érték¶ ajándékok a b0,i-edik
gyerek számára; mindegyik értéke 1. Ha 2-nél kevesebb ajándékot rendelünk b0,i-hez Ak,i-b®l,
akkor a telítettség legfeljebb 1. Így feltehetjük, hogy legalább 2 Ak,i-beli ajándékot rendelünk
b0,i-hez. Megmutatjuk, hogy ekkor van olyan gyerek, aki nem kapott ajándékot. Mivel Ak,i k
ajándékot tartalmaz, és ezekb®l legalább 2 b0,i-hez tartozik, ezért legfeljebb k − 2 Ak,i-beli
ajándék kerül Bi-beli gyerekhez. Mivel az egyetlen ajándék (az Ak,i-belieken kívül), amelyet
Bi-beli gyerek kaphat, az at,i töltelék, ezért legfeljebb k − 1 ajándék rendelhet® a Bi-beli k
gyerekhez, vagyis valamelyik Bi-beli gyerek nem kap ajándékot.
21
3. fejezet
A korlátozott hozzárendelés esete
A következ® szakaszokban a Télapó-probléma korlátozott hozzárendelésére fókuszálunk,
majd ezután bemutatjuk az általános esetre ismert eredményeket. A továbbiakban tehát pij ∈∈ 0, pj, azaz minden ajándék vagy értéktelen, vagy rögzített érték¶ egy-egy gyerek számára.
Emiatt mostantól a j-edik ajándék értékét egyszer¶en pj-vel jelöljük. A kongurációs LP feladat
egy megengedett megoldásából indulunk ki, de az algoritmus alkalmazása el®tt még szükség lesz
bizonyos átalakításra.
3.1. Az ajándékok értékének kerekítése és a feltételek eny-
hítése
Legyen I a feladat egy inputja. Jelölje T a legnagyobb értéket, amelyre a kongurációs LP
feladatnak megengedett megoldása van (feltesszük, hogy az algoritmus bináris kereséssel már
megtalálta ezt az értéket). Nyilván T fels® korlát az optimális egész megoldásra. Módosítsuk I-
t a következ®képpen: adott α > 1 mellett ha pj > Tα, akkor pj-t T -re kerekítjük, egyébként
változatlanul hagyjuk. Az így módosított bemenetet α-rés¶nek mondjuk, és I ′-vel jelöljük.
Ebben pj = T esetén a j-edik ajándék nagy, különben kicsi.
Mivel az I ′-beli értékek nem kisebbek az I-belieknél, ezért I ′ megoldása legalább akkora,
mint I-é. Ráadásul, mivel minden I ′-beli nagy ajándék értéke T , feltehetjük, hogy I ′ bármely
megoldásában egy gyerek vagy egyetlen nagy ajándékot kap, vagy több kicsit. Azt állíthatjuk,
hogy ha létezik egy legalább Tαérték¶ S megoldás I ′-re, akkor ugyanez a megoldás garantálja
az I inputon, hogy minden gyerek legalább Tαértéket kap. Ehhez azt kell észrevenni, hogy ha S
nagy ajándékot ad egy gyereknek, akkor az ® nyeresége legalább Tαaz I bemenet mellett (mert
I-ben minden nagy ajándék értéke legalább Tα), míg ha S kis ajándékokat ad egy gyereknek
22
összesen T ′ értékben, akkor ez a gyerek I mellett is T ′ nyereséghez jut (mert a kis ajándékok
értéke I-ben és I ′-ben megegyezik). Emiatt feltesszük, hogy a bemenet α-rés¶, a legnagyobb
ajándék értéke T , és biztosan van T érték¶ megengedett megoldása (2.2)-nek.
Tekintsük (2.1)-et. Enyhítsük az els® feltételt a kis ajándékok esetében∑m
i=1 yij 6 β-ra
(β > 1). Legyen y∗ ennek a gyengébb LP feladatnak a megoldása. y∗-ot β-relaxált hozzárende-
lésnek nevezzük. Fontos, hogy ebben egyetlen nagy ajándék sem szerepelhet 1-nél többször. A
következ® egyszer¶, de hasznos tulajdonsága van a β-relaxált megoldásoknak:
3.1. állítás ([2]). Legyen I α-rés¶ bemenet, és S egy β-relaxált hozzárendelés I mellett legalábbTγértékkel (γ > 1). Ha βγ < α, akkor létezik egész megoldás legalább T
γβ− T
αértékkel, melyben
minden ajándék legfeljebb egy gyerekhez kerül.
Bizonyítás. Mivel I α-rés¶, ezért minden gyerek vagy egyetlen nagy ajándékot, vagy sok kicsit
kap. Legyen BS azon gyerekek halmaza, akiknek S kis ajándékokat ad, és AS az összes kis
ajándék halmaza. Deníció szerint S-b®l adódik egy y∗ megengedett megoldás a következ®
feladatra:
∀i ∈ BS
∑j∈AS
pijyij >T
γ
∀j ∈ AS∑i∈BS
yij 6 β
0 6 yij 6 1
Ha minden y∗ij-ot leosztunk β-val, akkor az alábbi feladat egy megengedett megoldását kapjuk:
∀i ∈ BS
∑j∈AS
pijyij >T
γβ
∀j ∈ AS∑i∈BS
yij 6 1
0 6 yij 6 1
Mivel minden AS-beli ajándék értéke kisebb, mint Tα, ezért a 2.1 állítás miatt ez a megoldás
átalakítható egész hozzárendeléssé az AS-beli ajándékok és a BS-beli gyerekek között, melynek
értéke legalább Tβγ− T
α.
Az algoritmus azzal kezd®dik, hogy megoldjuk a kongurációs LP feladatot az α-rés¶ be-
menetre. Legyen x∗ = . . . , xi,C , . . . a konguráció egy nemegész kiosztása. Egy gyereknél
lév® kongurációt nagynak nevezünk, ha csak egyetlen nagy ajándékból áll, és kicsinek egyéb-
ként. Jelölje N(i) az i-edik gyerek számára releváns nagy kongurációk halmazát. A kapott
x∗ megoldáshoz tekintsük a neki megfelel® yij hozzárendelést. A j-edik ajándék esetén legyen
y(j) =∑m
i=1 yij, vagyis az az összérték, amit j-b®l gyerekeknek adunk. Nyilván (2.2) második
23
feltétele biztosítja, hogy y(j) 6 1 minden j-re. Az x∗ megoldást többször módosítani fogjuk,
és közben y(j) értéke kis ajándékok esetén 3-ig is n®het. Azonban nagy ajándékoknál továbbra
sem fogja meghaladni az 1-et.
3.2. A megoldás átalakítása
Most megmutatjuk, hogy bármely x∗ megoldás 3-relaxált x′ megoldássá alakítható. Azzal
kezdjük, hogy egyszer¶sítjük a nagy ajándékok kiosztását x∗-ban. Jelölje An a nagy ajándékok
halmazát. Deniáljuk a G páros gráfot a B és az An pontosztályokkal, ahol B a gyerekek
halmaza. Az i-edik gyerek és a j-edik ajándék között yij súlyú élt húzunk a gráfban, ha yij > 0.
3.2. állítás ([2]). x∗ egy olyan 1-relaxált megoldássá alakítható, amelyhez tartozó G már erd®.
Bizonyítás. G-t aciklikussá fogjuk tenni a következ® eljárás alkalmazásával. Tekintsünk egy
tetsz®leges C kört a gráfban. Mivel G páros gráf, ezért C páros számú élb®l áll, így felbontható
a P1 és P2 párosításokra. A P1-beli élek súlyát folyamatosan növeljük, és ezzel egyid®ben a
P2-beli élek súlyát ugyanolyan mértékben csökkentjük egészen addig, amíg valamelyik yij 0
vagy 1 nem lesz. Ha yij 0 lett, akkor eltávolítjuk az (i, j) élt a gráfból. Ha yij 1 lett, akkor a
j-edik nagy ajándékot véglegesen az i-edik gyereknek adjuk, és töröljük i-t és j-t a bemenetb®l.
Figyeljük meg, hogy ekkor egyetlen nagy ajándékot sem adunk egységnyinél nagyobb részben a
gyerekeknek. Ráadásul a gyerekekhez rendelt kis kongurációk mennyisége is csak csökkenhet
az eljárás során (ez csak abban a lépésben történik meg, amikor az egyik nagy ajándékot végleg
valamelyik gyereknek adjuk, mert ilyenkor bizonyos kis kongurációkat elvethetünk).
Jelölje G′ a fenti eljárással kapott erd®t, x∗ pedig a hozzá tartozó kongurációs LP megol-
dást. Megmutatjuk, hogy ez az erd®struktúra hogyan használható a gyerekek és a nagy aján-
dékok csoportosítására.
3.3. állítás ([2]). Az x∗ megoldás átalakítható egy relaxált kongurációs LP megoldássá (x′),
továbbá a gyerekeket B1, . . . , Bp, a nagy ajándékokat pedig A1, . . . , Ap csoportokba oszthatjuk
úgy, hogy a következ® tulajdonságok teljesülnek:
1. Minden i = 1, . . . , p-re az Ai-beli ajándékok száma |Bi| − 1. Ai lehet üres is.
2. Csoporton belül a nagy ajándékok szétosztása rugalmas, azaz bármely |Bi| − 1 gyerek
megkaphatja ®ket a |Bi| közül.
3. Bármely Bi csoportban az x′ megoldás egységnyi kis kongurációt és mind a |Bi| − 1
mennyiség¶ Ai-beli nagy ajándék kongurációját a Bi-beli gyerekekhez rendeli. Az LP
feladat x′ által indukált megoldása 2-relaxált.
24
Bizonyítás. Tekintsük a 3.2 állítás alapján nyert G′ erd®t. Ennek minden (fa) komponensére
alkalmazzuk a következ® eljárást. Minden izolált G′-beli gyerekcsúcs x∗-ban csak kis kongurá-
ciót kap. Egy ilyen csúcs egyedül alkot csoportot, a hozzá tartozó ajándékhalmaz pedig az üres
halmaz.
Ha a j nagy ajándék levél, akkor a szül®csúcshoz rendeljük (aki egy i gyerek), és töröljük
i-t és j-t G′-b®l (azaz j-t véglegesen i-nek adjuk). Figyeljük meg, hogy ez a lépés meg®rzi a
megoldás 1-relaxáltságát. Ezt addig folytatjuk, amíg nem marad levélként ajándék (azaz minden
ajándékcsúcs fokszáma legalább 2).
Ha minden ajándékcsúcs másodfokú, akkor ezen fabeli gyerekekb®l létrehozzuk Bi-t, Ai
elemei pedig a fabeli nagy ajándékok lesznek. A fokszám-tulajdonság miatt |Ai| = |Bi| − 1.
Különben jelöljünk ki gyökérnek egy tetsz®leges gyerekcsúcsot. Válasszunk ki egy olyan
legalább 2 utódcsúccsal rendelkez® j∗ ajándékcsúcsot, amely rendelkezik azzal a minimalitási
tulajdonsággal, hogy minden más ajándékcsúcs a j∗ gyöker¶ részfában pontosan egy utód-
csúccsal bír. Tegyük fel, hogy j∗ utódai b1, . . . , bl (l > 2) a megfelel® gyerekcsúcsok. Az x∗
megoldásban j∗-ból legfeljebb egységnyit rendelünk b1, . . . , bl-hez. Mivel l > 2, ezért legalább 1
ilyen gyerekcsúcsnak (legyen ez b1) kevesebb, mint 0,5-nyit adunk j∗-ból. Legyen R a b1 gyö-
ker¶ részfa. j∗ minimalitási tulajdonsága miatt minden R-beli ajándékcsúcsnak pontosan egy
gyerekcsúcs az utóda. Legyen B(R) az R-beli gyerekek, A(R) az ajándékok halmaza. Nyilván
|A(R)| = |B(R)| − 1. Mivel minden A(R)-beli ajándékból legfeljebb egységnyit, j∗-ból pedig
legfeljebb fél egységnyit rendelünk B(R)-beli csúcsokhoz, így az x∗ által B(R)-hez rendelt kis
kongurációk összes mennyisége legalább 0,5. B(R) fog egy csoportot alkotni, A(R) pedig a
hozzá tartozó ajándékcsoport lesz. Ezután R-t töröljük G′-b®l, és a maradék gráfra iteráljuk az
eljárást.
A fenti algoritmus során bizonyos nagy ajándékokat véglegesen gyerekeknek adunk. Végül
kapjuk a B1, . . . , Bp és A1, . . . , Ap csoportokat. A konstrukció miatt |Ai| = |Bi| − 1, ezért az
állítás 1. tulajdonsága teljesül. A 2. következik abból, hogy minden b ∈ Bi csúcsnál a Bi∪Ai-nekmegfelel® fát b gyöker¶vé tehetjük, és minden j ∈ Ai ajándékcsúcsot az utódához (gyerekcsúcs)rendelünk (ezt mindig megtehetjük, mert egyetlen ajándékcsúcs sem levél). A 3. tulajdonság
abból adódik, hogy az x∗ megoldás szerint a Bi-beli gyerekcsúcsokhoz rendelt kis kongurációk
együttes mennyisége legalább 0,5. Bármely b ∈ Bi gyerek esetében az xi,C kis kongurációkat
egységesen átméretezhetjük (esetleg a nagy kongurációkkal együtt, hogy (2.2) els® feltétele ne
sérüljön) úgy, hogy a Bi-hez rendelt kis kongurációk mennyisége pontosan 1 legyen. A kapott
megoldás nyilván 2-relaxált.
A 3.3 állításból következik, hogy a nagy ajándékok szétosztása gyerekcsoporton belül rugal-
mas, ezért gyelmen kívül hagyható. Így egy adott Bi csoport esetében csak azzal foglalkozunk,
25
hogy (2.2) megoldása milyen kis kongurációkat ad Bi-beli gyerekeknek. Ha az x′ megoldás a
C kis kongurációból xb,C-nyit ad a b ∈ Bi gyereknek, akkor azt mondjuk, hogy Bi-hez gyerek-
konguráció pár (b, C) tartozik xb,C mértékben. Végül még egy kisebb egyszer¶sítéssel élünk:
3.4. állítás ([2]). Az x′ megoldást kerekíthetjük úgy, hogy bármely xb,C 1n+m
egész többszöröse
legyen, és a kapott eredmény pedig 3-relaxált.
Bizonyítás. 2.2 bármely megengedett megoldásában a nemnulla xi,C változók száma legfeljebb
n+m. Ezért az összes xi,C-t fel- vagy lekerekítve 1n+m
legközelebbi egész többszöröséhez meg-
®rizhetjük a kis kongurációk teljes mennyiségét gyerekcsoportonként 1-nek. Mivel minden xi,C
változó legfeljebb 1n+m
-mel n®tt, az új megoldás 3-relaxált.
3.3. Az algoritmus váza és a közelítés aránya
A [2]-beli algoritmus lényege a következ®. Tegyük fel, hogy meg tudunk adni egy (relaxált)
hozzárendelést a kis ajándékok és a gyerekcsoportok között az alábbi tulajdonságokkal:
1. Bármely Bi gyerekcsoportban van olyan bi gyerek, akinek összesen legalább Tγérték¶ kis
ajándékot adunk.
2. Egyetlen ajándékot sem adunk β-nál több gyereknek (azaz a hozzárendelés β-relaxált).
Ekkor a 3.3 állítás szerint bármely Bi gyerekcsoport esetében az Ai-beli nagy ajándékokat bi-
t®l különböz® gyerekeknek adjuk. A bi gyerekeknek a 3.1 állítás miatt tudunk úgy ajándékokat
adni, hogy mindegyikük legalább Tβγ− T
αérték¶t kapjon. Tehát ha βγ < α
2, akkor minden gyerek
garantáltan legalább Tαösszérték¶ ajándékokat kap. Ebb®l egy α =O(βγ)-s közelítést nyerünk.
Valójában az algoritmus során még a fenti 1.-nél is er®sebb tulajdonság fog teljesülni. Bizto-
sítani fogjuk, hogy minden Bi-hez rendelt kis ajándék egy bizonyos (bi, C) gyerek-konguráció
párhoz tartozzon, ahol bi ∈ Bi. Most megmutatjuk, hogy a fenti algoritmusvázlatból közvetlenül
adódik egy O( lognlog logn
)-es közelítés.
3.5. tétel ([2]). Véletlenszer¶ kerekítésen alapuló algoritmussal O( lognlog logn
)-es közelítés érhet®
el.
Bizonyítás. A 3.3 állítás szerint a Bi gyerekcsoport esetében pontosan 1 egységnyi gyerek-
konguráció párt rendelünk a különböz® Bi-beli gyerekekhez, azaz∑
b∈Bi
∑C xb,C = 1. Tegyük
fel, hogy minden Bi-nél pontosan egy (b, C) gyerek-konguráció párt választunk xb,C valószí-
n¶séggel, és a C kongurációbeli ajándékokat a b-nek adjuk. Mivel az x′ megoldás 3-relaxált,
26
ezért bármely kis ajándékból legfeljebb 3 egységnyi szerepel a nemegész megoldásban. Így a
Cherno-korlátok közvetlen alkalmazásával kapjuk, hogy nagy valószín¶séggel egyetlen aján-
dékot sem adunk β =O( lognlog logn
)-nél több gyereknek. Mivel minden konguráció összértéke T ,
ezért nagy valószín¶séggel kapunk egy β-relaxált hozzárendelést, amelynél γ = 1. A fenti vázlat
szerint ebb®l következik a kívánt közelítés.
Végül még egy további egyszer¶sítéssel élünk. Bebizonyítjuk, hogy a közelítés arányában
elszenvedett O(γ)=O(1) nagyságú, azaz konstans szorzónyi veszteség árán feltehetjük, hogy
minden kis ajándék értéke ugyanannyi. Ezután nem kell majd tör®dnünk a kis ajándékok érté-
kével, és ez lehet®vé fogja tenni, hogy átfogalmazzuk a feladatot bizonyos halmazrendszerekkel
kapcsolatos problémává.
3.6. állítás ([2]). A korábban ismertetett algoritmusváz alapján feltehet®, hogy minden kis
ajándék értéke εTn. Mindez O(γ) szorzós veszteséget eredményez a közelítés arányában.
Bizonyítás. El®ször is feltehetjük, hogy minden ajándék értéke egész többszöröse εTn-nek elég
kicsi ε-ra. Ez legfeljebb εT -vel módosítja az egyes gyerekeknek adott ajándékok összértékét.
Minden ajándékot εTnérték¶ atomokra bontunk, és innent®l minden atomot külön ajándékként
kezelünk.
Most tegyük fel, hogy van egy β-relaxált hozzárendelésünk az atomok és a gyerekcsoportok
között, és minden gyerekcsoportban valamelyik gyereknek legalább Tγösszérték¶ ajándékokat
adtunk. Ezt a megoldást úgy írjuk vissza az eredeti bemenetre, hogy a j. ajándékot a b gyerek
kapja, ha ® j atomjaiból 12γ-nyi résznél többet birtokol. Nyilván egyetlen ajándékot sem adunk
2γβ gyereknél többnek, különben j-nek lenne olyan atomja, melyet β-nál több gyereknek ad-
tunk ellentmondásban a feltevésünkkel, hogy az atomok kiosztása β-relaxált volt. S®t, ha egy
b gyereknek összesen Tγ-nyi atomot adtunk, akkor egyszer¶ átlagolással adódik, hogy b ajándé-
kainak értékéb®l legalább T2γ-nyit olyan ajándékok atomjai tesznek ki, melyekb®l 1
2γ-nál több
részt adtunk b-nek. Így a fenti ajándékkiosztó eljárás egy 2βγ-relaxált hozzárendelést ad, mely-
ben minden gyerek legalább T2γ
értékben kap ajándékokat. Ezért a korábbi algoritmus szerint
ez a megoldás átalakítható egy T2γβ2γ
− Tαérték¶ érvényes hozzárendeléssé, amib®l egy O(γ2β)
arányú közelítés adódik.
3.4. A probléma átfogalmazása halmazrendszerekre
Az eddigi el®készületek alapján feltehetjük, hogy a következ® helyzettel állunk szemben:
a B1, . . . , Bp csoportok mindegyikében legfeljebb l gyerek van. Minden gyerekhez tartozik egy
halmaz, amelynek k = Θ(nε) eleme van. Minden elem legfeljebb βl halmazban szerepel. Egy
27
ilyen rendszert (k, l, β)-rendszernek nevezünk. A cél az, hogy minden csoportból kiválasztva egy
gyereket a hozzá tartozó halmaz elemeinek legalább egy konstans részét neki adjuk úgy, hogy
minden elemet pontosan egyszer használunk fel. Az ilyen megoldást γ-jónak fogjuk nevezni.
Feige megmutatta, hogy a kongurációs LP felírásból adódó (k, l, β)-rendszer γ-jó, ahol
γ=O( 1max1,β) (ld. [6]). Ebb®l konstans egészérték¶ségi rés adódik erre a feladatra. Azonban
a [6]-ban található bizonyítás nem konstruktív, ezért nem szolgált olyan hatékony algoritmussal
amely megtalál egy ilyen hozzárendelést. Szerencsére Feige érvelését konstruktívvá lehet tenni,
amit el®ször [5]-ben olvashattunk. Ennek ismertetése el®tt kiemeljük Feige algoritmusának f®bb
lépéseit. Az ® megközelítésének az alapja, hogy iterációval csökkentjük k és l értékét, míg végül
egy olyan rendszert kapunk, amelynél k vagy l már konstans. Ebben az esetben γ is vehet®
konstansnak az alábbi állítás szerint:
3.7. állítás ([6]). Minden (k, l, β)-rendszerhez található hatékonyan egy γ-jó megoldás, ahol
γ = 1kvagy γk = b k
dβlec.
A (k, l, β)-rendszerek konstans k-ra és l-re történ® redukálásának menetét két állítás teszi
lehet®vé, melyeket k-csökkentés és l-csökkentés néven emlegetünk majd.
3.8. állítás ([6], l-csökkentés). l > c esetén (ahol c elég nagy konstans) minden γ-jó (k, l, β)-
rendszer (k 6 l) átalakítható egy γ-jó (k, l′, β′)-rendszerré, ahol l′ 6 log5 l és β′ 6 β(1 + 1log l
).
3.9. állítás ([6], k-csökkentés). Minden (k, l, β)-rendszer, amelyre k > l > c, átalakítható egy
(k′, l, β)-rendszerré úgy, hogy k′ 6 k2, és teljesül a következ® tulajdonság: ha az eredeti rendszer
nem γ-jó, akkor az új rendszer nem γ′-jó, ahol γ′ = γ(1+ 3 log k√γk
). Megfordítva, ha az új rendszer
γ′-jó, akkor az eredeti γ-jó volt.
Ha β nem olyan konstans, amivel elkezdhetnénk az eljárást, akkor az alábbi állítás többszöri
alkalmazásával 1 alá csökkenthet® az értéke.
3.10. állítás ([6]). l > c esetén minden (k, l, β)-rendszer átalakítható egy γ-jó (k′, l, β′)-
rendszerré, ahol k′ = bk2c és β′ 6 β
2(1 + log βl√
βl).
A mi esetünkben viszont β 6 3, így erre az eredményre a továbbiakban nem lesz szükségünk.
Az eredeti rendszerb®l kiindulva l > c mellett az l-csökkentést alkalmazzuk, ha l > k, ha
pedig l 6 k, akkor a k-csökkentést. Ezen eljárás alatt β legfeljebb a 2-szeresére n®het. Így
végül l és β is konstans lesz. Alkalmazva a 3.7 állítást kapjuk, hogy a kongurációs LP feladat
egészérték¶ségi rése konstans.
Randomizált algoritmus γ-jó (k, l, β)-rendszerre: az algoritmusnak két f® lépése van:
28
1. Mutatunk egy konstruktív eljárást a redukált rendszer megalkotására az l-csökkentés és
a k-csökkentés segítségével.
2. A végs® redukált rendszer segítségével megoldást adunk az eredeti feladatra.
Az l-csökkentés konstruktívvá tétele a következ®képpen történik. Az algoritmus minden
csoportból egymástól függetlenül egyenl® valószín¶séggel kiragad blog5 lc számú halmazt. Így
k értéke változatlan marad, míg l értéke l′ = blog5 lc-re csökken. Ekkor β várható értéke nem
változik, és annak valószín¶sége, hogy β′ > β(1 + 1log l
), azaz β′l′ > βl(1 + 1log l
), legfeljebb
e− β′l′
3 log2 l 6 e− log3 l = l− log2 l. Minden elemre vonatkozóan deniálunk egy rossz esetet: legyen Aj
az az esemény, hogy a j elem β′l′-nél több példányban bukkan fel.
Most a függ®ségi gráfban a legmagasabb fokszám legfeljebb klβl 6 6l3, így a Lovász-féle loká-
lis lemma szimmetrikus változata alkalmazható. Esetünkben könny¶ ellen®rizni, hogy létezik-e
a feltételeket sért® esemény: egyszer¶en megszámoljuk, hogy az egyes elemek hányszor szere-
pelnek a halmazokban. Legyen xAj = 1
ellog2 l, ekkor a futásid® várható értéke az összes rossz
esemény elkerülése esetén O( plk
llog2 l)=O(p)=O(m).
A k-csökkentés konstruktívvá tétele már jóval nehezebb feladat. A véletlen kísérlet abból
áll, hogy minden egyes elemet egymástól függetlenül 12valószín¶séggel választunk ki. A rossz
események jellemzéséhez szükségünk lesz egy lemmára [6]-ból. Konstruálunk egy gráfot, melynek
csúcsai a halmazok, és két csúcsot összekötünk, ha az adott halmazoknak van közös eleme.
Halmazok egy családját összefügg®nek nevezzük pontosan akkor, ha a nekik megfelel® részgráf
összefügg®.
Kétféle rossz eseményt fogunk vizsgálni :
1. B1 : valamely halmazban k′ = (1− log k√k
)k2-nél kevesebb elem marad.
2. Bi (i > 2) : létezik egy különböz® csoportokból származó i halmazból álló összefügg®
család, melyek uniója eredetileg legfeljebb iγk elemet tartalmazott, amelyekb®l iδ′ k2-nél
több elem marad meg (δ′ = γ(1 + log k√γk
)).
Ha a fenti rossz események közül egyik sem következik be, akkor vegyük az els® k′ elemet
minden halmazból, és ebben az esetben a második típusú rossz események sem következnek be.
Ezeket az eseményeket úgy választjuk, hogy az új rendszer γ′-jó tulajdonsága (γ′ = δ′ k2
1k′
6
γ(1 + 3 log k√γk
)) biztosítja az eredeti rendszer γ-jóságát. Mindez közvetlenül következik a Hall-
tételb®l, ahogy azt Feige bebizonyította:
3.11. állítás. Vegyük n halmaz egy családját és egy q pozitív egész számot.
29
1. Ha 1 6 i 6 n esetén létezik egy i halmazból vett összefügg® részcsalád, melyek uniója
iq-nál kevesebb elemet tartalmaz, akkor nem tudunk halmazonként q elemet kiválasztani
úgy, hogy minden elem különböz® legyen.
2. Ha minden 1 6 i 6 n esetén bármely i halmaz összefügg® részcsaládjának uniója tartalmaz
legalább iq (különböz®) elemet, akkor ki tudunk választani halmazonként q elemet úgy, hogy
minden elem különböz® legyen.
Feige megmutatta [6]-ban, hogy minden Bi típusú rossz eseményre (i > 1) az xi = 2−10i log k
választás mellett teljesül a Lovász-féle lokális lemma aszimmetrikus változatának megfelel® fel-
tétele. Pontosabban bármely B ∈⋃i>1Bi rossz esemény esetén legyen Γ(B) az összes olyan
A 6= B rossz esemény halmaza, amelyre A és B legalább egy közös valószín¶ségi változótól függ
a kísérletünkben. [6] bebizonyítja, hogy az xi = 2−10i log k választással minden Bi-beli eseményre
∀i > 1, ∀B ∈ Bi P (B) 6 2−10i log k 6 xi∏j>1
∏A∈Bj∩Γ(B)
(1− xj). (3.1)
Így a Lovász-féle lokális lemma miatt létezik olyan hozzárendelés, amely elkerüli a rossz ese-
ményeket. Azonban korábban nem volt ismeretes kell®en hatékony konstrukció, és ahogy Feige
mondja: a rossz események száma exponenciális a feladat méretében, s®t vannak olyan rossz
események, amelyek a valószín¶ségi változók konstans részét tartalmazzák. Az [5]-beli 3.4 té-
tel közvetlen alkalmazásával a bizonyítás konstruktívvá tehet®, és egy hatékony Monte Carlo-
algoritmust nyerünk, amely k-csökkentett rendszer nagy valószín¶séggel történ® gyártását teszi
lehet®vé:
3.12. állítás ([5]). Létezik olyan Monte Carlo-algoritmus, amely érvényes k-csökkentett rend-
szert gyárt legalább 1− 1m2 valószín¶séggel.
3.5. Az eredeti feladat egy megoldásának kiolvasása a végs®
redukált rendszerb®l
Az l-csökkentés vagy a k-csökkentés algoritmusának többszöri futtatásával teljesen redu-
kálni tudjuk az eredeti rendszert úgy, hogy csoportonként konstans legyen a gyerekek száma,
és β 3-ról legfeljebb 6-ra n®het a 3.8 állítás szerint. Ez legfeljebb logm l-csökkentést és log n
k-csökkentést foglal magába. Azt is feltehetjük, hogy n < 2m, különben a csoportonként egy
gyerek minden lehetséges kombinációját egyszer¶en kipróbálhatnánk n-ben polinomiális id®-
ben. Mivel minden egyes l- vagy k-csökkentés egy kívánt megoldást eredményez legalább 1− 1m2
valószín¶séggel, ezért közös korlátként legalább 1−O( logn logmm2 ) = 1−O( logm
m) valószín¶séggel
egy végs® (k, l, β)-rendszerhez jutunk, amely a 3.7 állítás szerint γ-jó valamilyen konstans γ-ra.
30
Ugyanezt az állítást használva a gyerekek γ-jó kiválasztása is megoldható. Ekkor, ha min-
den csoportból kiválasztottunk egy gyereket, egy folyamfeladatot konstruálhatunk, melynek
megoldásával ajándékokat adunk ezen kiválasztott gyerekeknek (3.14). Ezzel lezárul az eredeti
(k, l, β)-rendszer egy megoldásának kiolvasása a végs® redukált rendszerb®l. Annak ellen®rzése,
hogy egy konkrét redukció kudarcot vall, NP-nehéznek t¶nik, viszont az könnyen látható, hogy
végül egy elég jó hozzárendelést gyártottunk-e. Ez lehet®vé teszi, hogy újra lefuttassuk az algo-
ritmust egy esetleges kudarc után. Így a Monte Carlo-módszer egy olyan er®sebb algoritmushoz
vezet, amely mindig jó megoldást ad, és aminek a várható futásideje polinomiális.
A fenti gondolatmenet részleteit a 3.13 és a 3.14 állítás tartalmazza. A 3.15 tétel pedig ebb®l
a két állításból következik.
Tegyük fel, hogy egy (k1, l1, β1)-rendszerb®l indultunk ki, és az l- vagy a k-csökkentés több-
szöri alkalmazása után egy (ks, ls, βs)-rendszerhez jutottunk, ahol ls < c konstans. Ezután a 3.7
állítást alkalmazva kapunk egy γs-jó (ks, ls, βs)-rendszert, ahol γsks = b ksdβslsec. Mivel ls kons-
tans és βs 6 6, ezért γs is konstans. A 3.7 állítás segítségével ki tudunk választani minden
csoportból egy gyereket, amit az f : 1, . . . , p → 1, . . . , ls függvény jelöl aki tanúsítja,
hogy a (ks, ls, βs)-rendszer γs-jó. Ugyanezt a leképezést alkalmazzuk az eredeti rendszerre is. A
következ® állítás igazolja a (k1, l1, β1)-rendszer jó tulajdonságát.
3.13. állítás ([5]). Legyen adott k-csökkentések egy sorozata: k1, l1, β1 → · · · → ks, ls, βs,
közbeiktatva l-csökkentéseket, és legyen s > 2 esetén γs = γs−1(1+ 3 log ks−1√γs−1ks−1
). Ekkor ha a végs®
redukált rendszer γs-jó, és ezt az f : 1, . . . , p → 1, . . . , ls függvény tanúsítja, akkor f nagy
valószín¶séggel a (k1, l1, β1)-rendszer γ-jó tulajdonságára is tanú. Másként fogalmazva az f által
megadott hozzárendelést használhatjuk arra, hogy minden csoportból kiválasszunk egy gyereket,
és ez a hozzárendelés tanúsítja, hogy az eredeti rendszer nagy valószín¶séggel γ-jó.
Bizonyítás. Tegyük fel, hogy létezik olyan f függvény, amely tanúsítja, hogy a (ks, ls, βs)-
rendszer γs-jó, de nem tanúsítja, hogy a (ks−1, ls−1, βs−1)-rendszer γs−1-jó. Ekkor léteznie kell
olyan p csoportból f szerint választott i halmaz (i > 0) összefügg® családjának, amelyek uni-
ója γs−1ks−1i-nél kevesebb ajándékot tartalmaz. Azonban a redukált rendszerben az uniójuk
γsks−1i elem¶. Hívjunk egy ilyen f függvényt rossznak. Így minden rossz függvény jellemezhet®
egy korábban ismertetett Bi típusú eseménnyel (i > 1). Viszont a 3.12 állítás szerint P (∃ egy
f rossz függvény)6 P (egy Bi típusú esemény bekövetkezik (i > 1))6 1m2 .
Most a k-csökkentések maximális száma log k1 6 log n. Így ha l-csökkentést egyáltalán
nem alkalmazunk, akkor kapjuk azt az egységes korlátot, hogy f γ-jó a (k1, l1, β1)-rendszerre
legalább 1 − logm lognm2 valószín¶séggel. Feltehetjük, hogy n 6 2m. (Különben polinom id®ben
kitalálhatnánk, melyik gyerek kap kis ajándékokat, vagyis ismernénk f -et. Ekkor pedig a 3.14
állítás szerint polinom id®ben kioszthatnánk a kis ajándékokat az f által választott gyerekek
31
között.) Mivel n 6 2m, f γ-jó a (k1, l1, β1)-rendszerre legalább 1 − logmm
valószín¶séggel. Az
l-csökkentés pedig csak l értékét változtatja, k-ét nem, így ez nem rontja el a halmazrendszer
jó tulajdonságát.
Ha már ismerjük az f függvényt, akkor a következ® állítást használva bkγc ajándékot tudunkadni a kiválasztott gyereknek.
3.14. állítás ([5]). Legyen adva az f : 1, . . . , p → 1, . . . , l függvény és a γ paraméter. Ekkor
polinomiális algoritmussal eldönthetjük, hogy f γ-jó-e, és meghatározhatjuk az ajándékok azon
bkγc elem¶ részhalmazát, amelyet az f(i) gyerek kap (i ∈ 1, . . . , p).
Bizonyítás. Konstruálunk egy olyan páros gráfot, amelynek az U = 1, . . . , p csúcsosztálya a
p csoportból kiválasztott gyerekeknek, a V csúcsosztálya pedig az ® kongurációikban szerepl®
kis ajándékoknak felel meg. A gráfhoz adunk még egy s forrást és egy t nyel®t. s-b®l minden
U -beli csúcsba irányított élt húzunk bγkc kapacitással. Az u ∈ U csúcsból irányított él megy a
v ∈ V csúcsba, ha a v ajándék szerepel u valamely kongurációjában. Ezen élek kapacitása 1.
Végül a V -beli csúcsok mindegyikéb®l élt húzunk t-be szintén 1 kapacitással. Azt állítjuk, hogy
ebben a hálózatban a maximális folyam értéke pontosan akkor bkγcp, ha f γ-jó.
El®ször tegyük fel, hogy f γ-jó. Ekkor létezik egy bγkc elem¶ halmaz, melyb®l minden u ∈ Ugyereknek tudunk adni ajándékot. Folyjon egységnyi folyam minden egyes gyerekt®l azokhoz az
ajándékokhoz, amelyeket ® kap. Ekkor egy u ∈ U csúcsból kiáramló folyam nagysága pontosan
bγkc. Mivel minden ajándékot legfeljebb 1 gyereknek adunk, ezért egy v ∈ V csúcsból t-be
men® folyam nagysága legfeljebb 1. Így a kapacitásokat sehol sem lépjük túl, és a folyam értéke
bγkcp.
Megfordítva, vegyünk egy bkγcp érték¶ egész folyamot. Mivel az s-b®l kimen® élek összkapa-
citása bkγcp, ezért a maximális folyamnak mindegyiket telítenie kell. A folyam egészérték¶sége
miatt minden u gyerek esetében pontosan bγkc darab 1 folyamnagyságú él megy azokhoz az
ajándékokhoz, amiket ® kap. Mivel a kapacitásokat most sem lépjük túl, minden ajándékot
pontosan egy gyereknek adunk. Tehát f γ-jó.
Hogy ellen®rizhessük egy f függvény γ-jóságát, és kapjunk egy jó hozzárendelést, elkészítjük
a fenti gráfot, és lefuttatjuk a maximális folyam algoritmust, amely végül egy egészérték¶
folyamot ad eredményül. Ahogy az el®bb beláttuk, egy bγkcp érték¶ maximális folyam jelzi,
hogy f γ-jó, és a megfelel® hozzárendelést megkapjuk közvetlenül a folyamból, ha tekintjük
azokat az éleket, amelyeket érint a folyam.
A f® eredményünk következik az el®z® két állításból :
32
3.15. tétel ([5]). A korlátozott hozzárendelés esetében létezik egy α > 0 konstans és egy ran-
domizált algoritmus, aminek a futásideje várhatóan polinomiális, és mindig legalább α·OPTösszérték¶ ajándékokat ad minden egyes gyereknek.
33
4. fejezet
Az általános eset
Ebben a fejezetben [7] alapján bemutatjuk, hogy milyen eredmény ismert a Télapó-probléma
általános esetére. Asadpour és Saberi adta az els® nemtriviális közelít® algoritmust erre a fel-
adatra. Az ® algoritmusuk olyan hozzárendelést talál, amely szerint minden gyerek legalább
Ω( 1√n log3 n
)-szeresét kapja az optimális megoldás értékének. Ahogy korábban láttuk, az erre a
feladatra felírt kongurációs LP egészérték¶ségi rése O( 1√n).
Az algoritmus a korábbihoz hasonló kongurációs LP feladat kerekítésén alapszik. Most is
xi,C jelöli az i-edik gyereknek adható ajándékok C halmazát. Egy érvényes konguráció vagy
párosításbeli, azaz egyetlen ajándékból áll, amely i számára nagyon értékes, vagy ömlesztett,
azaz sok olyan ajándék halmaza, amelyek i számára viszonylag alacsony érték¶ek. Az alábbi-
akban vázoljuk, hogyan kerekítjük ezen LP feladat megoldását. Az algoritmus részletes leírása
a következ® szakaszban olvasható.
Azt a páros gráfot fogjuk tekinteni, amelyet az LP feladat megoldása deniál. Az élek súlya
annyi lesz, amekorra részét a megfelel® ajándéknak az adott gyereknek adunk. Az ajándékok
nem egészérték¶ szétosztása a párosításbeli és az ömlesztett éleken kersztül két politopot de-
niál. Külön-külön mindkett® elég jól kezelhet®, azonban ugyanazon a csúcshalmazon vannak
értelmezve, ezért nem lehet ®ket egymástól függetlenül kerekíteni. Az algoritmus legkényesebb
része a gráf csúcsainak partícionálása a két politop között. Ha egyszer eldöntjük, hogy kikhez
tartozzanak párosításbeli élek, a többi ajándékot már kis veszteség árán tudjuk kiosztani a
többi gyerek között.
A párosításbeli élek súlyának kerekítését véletlent használó módszerrel érjük el. Minden v
csúcsra (akár gyereknek, akár ajándéknak felel meg), jelölje mv a hozzá tartozó párosításbeli
élek súlyainak összegét. A nemegész párosítást úgy kerekítjük, hogy annak valószín¶sége, hogy
a v csúcs telített a kapott egészérték¶ párosításban, mv legyen. Ezt például megtehetnénk úgy,
hogy a nemegész párosítást felírjuk néhány egészérték¶ párosítás konvex kombinációjaként, és
34
véletlenszer¶en kiválasztjuk az egyiket a súlyával arányos valószín¶séggel. Azonban egy ilyen
kerekít® eljárás a csúcsok között sok nemkívánatos függ®séget hoz létre, és emiatt nem felel
meg a céljainknak.
Ehelyett megmutatjuk, hogy az általánosság megszorítása nélkül feltehetjük, hogy a párosí-
tásbeli élek erd®t alkotnak. Ezután a keletkez® erd® éleinek súlyát iterálva kerekítjük. Az eljárás
megpróbálja elkerülni a csúcsok közötti újabb függ®ségek létrehozását. [7]-ben bebizonyítják,
hogy az erd® párosításain értelmezett megengedett eloszlások közül a kerekít® algoritmus által
deniált eloszlás entrópiája a legnagyobb.
Az is megmutatható, hogy miután a párosításbeli ajándékokat kiosztottuk, marad elég aján-
dék a telítetlen gyerekcsúcsok számára. Ezt f®leg a minden kongurációból kihagyott elemek
számának koncentrációja mutatja. Az Azuma-Hoeding egyenl®tlenség általánosításait lehet
alkalmazni azokra a martingálokra, amelyeket az algoritmus folyamata deniál.
4.1. Az algoritmus leírása
Most is feltesszük, hogy az optimális megoldás T értékét bináris kereséssel meghatároztuk. A
problémát egy 2.2-höz nagyon hasonló kongurációs LP felírással modellezzük. A korábbiakhoz
képest az az eltérés, hogy egy C konguráció akkor releváns i számára, ha vagy pi,C > T , vagy
egyetlen j ajándékból áll, amelyre pij > T√n log3 n
. Ekkor a feltételek a következ®k:
∀i∑C∈C(i)
xi,C = 1 (4.1)
∀j∑j∈C
∑i
xi,C 6 1
∀i, ∀C ∈ C(i, T ) xi,C > 0
Megmutatható, hogy ha a fenti LP feladatnak létezik megengedett megoldása, akkor találha-
tunk olyan nemegész hozzárendelést, amely minden gyereknek (1− ε)T érték¶ kongurációt ad
polinom id®ben.
Deniálunk egy G súlyozott páros gráfot, amelyben A az ajándékok, B pedig a gyerekek
halmaza. i ∈ B és j ∈ A közé élt húzunk, ha egy j-t tartalmazó C kongurációt részben i-
nek adtunk. Legyen wij =∑
j∈C xi,C a j-edik ajándék azon része, amelyet i-nek adtunk (4.1)
megoldásában. A j ajándék nagy i számára, ha pij > T√n log3 n
, különben kicsi. Az els® esetben
az i, j él párosításbeli, az utóbbiban ömlesztett. Legyen M a párosításbeli, F az ömlesztett
élek halmaza. Minden v ∈ A∪B-re legyen mv a hozzá tartozó párosításbeli élek összsúlya, míg
fv = 1−mv.
35
Az algoritmus két lépéses véletlen kerekítést alkalmaz (4.1) egy megoldására. Az els® lépés-
ben véletlenszer¶en választunk egy párosítást M -b®l úgy, hogy a v csúcs mv valószín¶séggel
szerepeljen benne. A párosítás megtalálására adandó eljárás részleteit a következ® szakaszban
tárgyaljuk.
A második lépésben minden kimaradt i gyerek xi,C valószín¶séggel választ egyet a kis aján-
dékokból álló C kongurációi közül. A választott halmazból azokat az ajándékokat fogja meg-
kapni, amelyeket nem fogja le a párosítás. Figyeljük meg, hogy az i. gyereket 1 − mi = fi
valószín¶séggel nem fogja le a párosítás, így xi,Cfi
valószín¶séggel választja éppen a C kon-
gurációt. [7] azt is megmutatja, hogy nagy valószín¶séggel minden kongurációban elegend®
ajándék marad, azaz ezen ajándékok összértéke i számára T√n log2 n
-nél több lesz. Az is fontos,
hogy az egyes ajándékokra egyszerre sok gyerek is igényt tarthat. Az utolsó lépésben minden
ajándékot egyenl® valószín¶séggel kap meg minden olyan gyerek, aki arra igényt tartott.
A f® algoritmus tehát a következ®:
1. Végezzünk bináris keresést az optimális T megoldás megtalálására. Oldjuk meg (4.1)-et.
Határozzuk meg az M halmazt, és számítsuk ki mv és fv értékét minden G-beli csúcsra.
2. A második algoritmust használva válasszunk véletlenszer¶en egy párosítástM éleib®l úgy,
hogy minden v ∈ A∪B-re annak valószín¶sége, hogy v-t lefogja a párosítás, mv = 1− fvlegyen.
3. Válasszon minden i gyerek, akit nem fog le a párosítás, xi,Cfi
valószín¶séggel egy kis aján-
dékokból álló C kongurációt, és a továbbiakban ® igényt tart ezekre az ajándékokra
(kivéve azokat, amelyeket már az el®z® lépésben kiosztottunk).
4. Minden kimaradt j termékhez válasszunk egy i gyereket egyenl® valószín¶séggel azok
közül, akik az el®z® lépésben igényt tartottak j-re, és adjuk neki az ajándékot.
4.2. A párosítás véletlenszer¶ kiválasztása
Számos olyan példa konstruálható, amely megmutatja, hogy a párosításbeli élek kerekítésé-
vel vigyázni kell. A feladat egészérték¶ségi rését illusztráló korábbi példából is látszik, hogy kicsi
a rugalmasság azon csúcsok tekintetében, amelyeket lefog a párosítás, amikor (4.1) megoldását
kerekítjük.
Azt akarjuk, hogy a gráf minden v csúcsát mv valószín¶séggel fogja le a párosítás. Továb-
bá azt is szeretnénk, hogy az algoritmus ne hozzon be újabb feltételeket a csúcsokra. Ennek
36
érdekében kihasználjuk, hogy M -et tekinthetjük erd®nek. A következ® állítás bizonyítja ezt az
egyszer¶sít® észrevételt.
4.1. állítás ([7]). Az M-beli élek súlyozását megváltoztathatjuk úgy, hogy minden v csúcsra∑uwuv változatlan marad, és a nemnulla súlyú élek halmaza erd®t alkot.
Bizonyítás. Tegyük fel, hogy létezik kör M -ben e1, . . . , e2a élekkel. Legyen e1 minimális súlyú
(w) ezen élek között. Konstruálunk egy új megoldást, amely a többi élen egyezik az eredeti
megoldással, míg ezen a 2a élen a páratlan index¶eken w-vel csökkentjük, a páros index¶eken
w-vel növeljük a súlyokat. Ez az eljárás amely nem változtatja az egy csúcsba befutó élek
összsúlyát M -et erd®vé redukálja.
Az algoritmus iterálva választ egy még fel nem dolgozott u csúcsot, és vagy párosítja vala-
mely v szomszédjával wiuv valószín¶séggel, vagy egyikkel sem 1−piu valószín¶séggel, ahol wiuv azi, j él súlya az i+ 1-edik lépés el®tt, míg piu =
∑v w
iuv. Az eljárás által a párosításokra deni-
ált valószín¶ségeloszláshoz tartozó σ-algebrát jelölje Fi az i+ 1-edik lépés el®tt. A legfontosabb
meggyelés err®l az algoritmusról a következ®:
4.2. állítás ([7]). Minden e′ élre és minden i-re E(wie′|Fi−1) = wi−1e′ .
Ebb®l rögtön adódik az alábbi következmény:
4.3. állítás ([7]). mv a valószín¶sége annak, hogy egy v ∈ A ∪ B csúcsot a 2. algoritmus által
szolgáltatott párosítás lefog.
Egy további hasznos tulajdonsága is van az eljárásnak (teljes indukcióval igazolható):
4.4. állítás ([7]). Az algoritmus sorrendinvariáns, azaz mindig az M párosítást adja p(M)
valószín¶séggel, ami csak az erd®beli élek kezdeti súlyától és magától M-t®l függ.
2. algoritmus (a párosítás véletlenszer¶ kiválasztása) :
1. Tüntessük el a köröket M -b®l a 4.1 állítás bizonyításában szerepl® technikával.
2. Vegyünk egy v csúcsot, amelyet még nem dolgoztunk fel.
3. Minden e ∈M élre legyen w′e = we.
a. Vagy választunk egy v-vel szomszédos e élt akkora valószín¶séggel, amennyi ezen élek
súlya, és legyen w′e = 1, valamint minden e-vel szomszédos e′ élre w′e′ = 0, vagy a
maradék valószín¶séggel minden v-vel szomszédos e élre w′e = 0.
37
b. Minden más e′ élre, amely ugyanebben az összefügg® komponensben van, keressünk
egy utat, ami összeköti e′-t egy olyan éllel, aminek a súlya 0 lett az el®z® lépésben.
Legyen ez az út e′ = e0, e1, . . . , el. Ekkor w′e0 = (1+(−1)l−1 we1we2 ···wel(1−we1 )(1−we2 )···(1−wel )
)we0 .
c. Minden élre legyen we = w′e. Töröljük a 0 súlyú éleket.
Zárszó
Végül ejtünk néhány szót azokról a témákról, amelyek terjedelmi okok miatt nem kerültek
bele a dolgozatba.
A költségmegosztás kapcsán nem részleteztük, hogyan döntse el a szolgáltató, hogy milyen
áron biztosítja a szolgáltatását. Ha a kereslet érzékeny az árra, akkor a szolgáltató árverést
szervezhet a lehetséges ügyfeleknek, hogy kiválogassa, kinek nyújtja a szolgáltatást gyelembe
véve a zetési hajlandóságot és a probléma költségstruktúráját. A cél olyan mechanizmus ter-
vezése, melyben az egyének és a csoportok is abban érdekeltek, hogy az ajánlataik valóságh¶ek
legyenek.
Csoportstratégiamentesnek nevezünk egy eljárást, ha nem tud benne olyan koalíció alakulni,
amely ha hazudik, legalább olyan jól jár, mint az igazmondással, és van köztük legalább egy
olyan személy, aki protál is a hazugságból. Egy ilyen mechanizmus tervezéséhez a kereszt-
monotonitást használhatjuk fel, ami azt jelenti, hogy az ügyfeleket nem büntetik, ha n® a
kiszolgált személyek halmaza. Ezen fogalmak precíz bevezetése megtalálható az [1] könyvben.
A témában való alaposabb elmélyedéshez ajánljuk az ottani irodalomjegyzéket.
A Télapó-probléma általános esetének tárgyalásakor mell®ztük a bizonyítások nagy részét.
A bemutatott algoritmus részletes vizsgálata és a kimondott eredmények precíz bizonyítása
megtalálható [7]-ben. S®t, a cikk végén azt is megmutatják a szerz®k, hogy az eljárás kiterjeszt-
het® olyan megoldás megtalálására, amelyben 1−O( nα2 logn
)-ed része a gyerekeknek legalább
akkora érték¶ ajándékcsomagot kap, amennyi az optimális megoldás 1α log3 n
-edszerese abban az
esetben, ha minden gyerek igényét ki akarjuk elégíteni.
38
Irodalomjegyzék
[1] N. Nisan, T. Roughgarden, É. Tardos, V. V. Vazirani : Algorithmic Game Theory; Chapter
15: Cost Sharing, 209-210. és 385-391. old. ; Cambridge Univ. Press ; 2007.
[2] N. Bansal, M. Sviridenko: The Santa Claus Problem; Proc. 38th Annual ACM Symp. Theory
of Computing ; 2006.
[3] J. K. Lenstra, D. B. Shmoys, É. Tardos: Approximation algorithms for scheduling unrelated
parallel machines; Mathematical Programming, Series A, 46(2): 259-271. old. ; 1990.
[4] I. Bezakova, V. Dani: Allocating indivisible goods; SIGecom Exchanges, 5.3; 2005.
[5] B. Haeupler, B. Saha, A. Srinivasan: New Constructive Aspects of the Lovasz Local Lemma;
In Journal of the ACM, Volume 58, Issue 6; 2011.
[6] U. Feige: On Allocations That Maximize Fairness; In SODA '08: Proceedings of the 19th
Annual ACM-SIAM Symposium on Discrete Algorithms, 287-293 old. ; 2008.
[7] A. Asadpour, A. Saberi : An approximation algorithm for max-min fair allocation of indivi-
sible goods; In Proc. 39th Annual ACM Symp. Theory of Computing ; 2007.
39