Algojáték 10. gyakorlat megoldókulcs
Javaslat
A megoldásokat ne nézd meg rögtön, előbb szánj egy kis időt az önálló gondolkodásra és az ötletelésre! A problémamegoldás képessége olyan mint egy izom: mindenkiben fejleszthető. Ezek a feladatok pontosan ebben segítenek. Ha teljesen elakadnál, ott a hint.1. feladat
Ketten játszanak két kupac kaviccsal. Az egyik kupacban $n_1$, a másikban $n_2$ darab kavics van, $n_1, n_2 \in \mathbb{N}_+$. A soron következő játékos vagy elvesz az egyik, általa választott kupacból valamennyi, de legalább egy darab kavicsot, vagy pedig mind a két kupacból elvesz ugyanannyi, de legalább egy darab kavicsot. Az a játékos veszít, aki nem tud lépni. Határozzuk meg minden $n_1, n_2 \in \{ 1, 2, \ldots, 6 \}$ esetén az $(n_1, n_2)$ állás Grundy-számát.
Hint
Készítsünk egy táblázatot, melyen sorai az egyik, oszlopai a másik kupac kavicsszámát jelölik. Vegyünk fel sort, illetve oszlopot a $0$ kavicsos kupachoz is! Számoljuk ki a Grundy-számozást a $mex$-es képlet alapján: minden cella átlósan, oszlopban és sorban látja a kisebb méretű kupacokat.
Az átlóban látás miatt a Sprague-Grundy tétel nem érvényes erre a feladatra.
Megoldás
| $n_1$ \ $n_2$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| 1 | 1 | 2 | 0 | 4 | 5 | 3 | 7 |
| 2 | 2 | 0 | 1 | 5 | 3 | 4 | 8 |
| 3 | 3 | 4 | 5 | 6 | 2 | 0 | 1 |
| 4 | 4 | 5 | 3 | 2 | 7 | 6 | 9 |
| 5 | 5 | 3 | 4 | 0 | 6 | 8 | 10 |
| 6 | 6 | 7 | 8 | 1 | 9 | 10 | 3 |
2. feladat
Három hitelező osztozik egy 100-nagyságú vagyonon. A hitelezők összkövetelése 200. Tudjuk, hogy a hitelezők $x_1 = 10$, $x_2 = 30$, illetve $x_3 = 60$ fabatkát kaptak. Előfordulhatott-e ez
- az arányos,
- a sorban állásos,
- az egyenletes nyereség,
- az egyenletes veszteség,
- a kelmeszabály-konzisztens
szétosztási szabályok szerinti szétosztás esetén? Amelyik esetben igen, ott határozzuk meg a hitelezők követeléseinek összes lehetséges értékét.
Megoldás
Arányos esetben a kifizetések aránya a követelések arányával egyezik meg. Ha az összkövetelés $200$ volt (ami éppen a vagyon kétszerese) akkor ez csak úgy lehet, ha $d_1=2 \cdot x_1 = 20$, $d_2=2 \cdot x_2 = 60$, $d_3=2 \cdot x_3 = 120$.
Sorban állásos esetben, mivel $x_3$ is kapott valamit, ezért $x_1$ és $x_2$ biztosan a teljes követelésüket kapták. Ezzel $d_1=x_1=10$, $d_2=x_2=30$. Az összkövetelés $200$, tehát a kimaradó $d_3=200-d_1-d_2=160$ volt.
Egyenletes nyereség esetében a maximális kifizetés $x_3=60$ volt, mindenki aki ennél kevesebbet kapott, tehát $x_1$ és $x_2$ is a teljes követelését meg kellett, hogy kapja. Ezzel $d_1=x_1=10$, $d_2=x_2=30$. Az összkövetelés $200$, tehát a kimaradó $d_3=200-d_1-d_2=160$ volt.
Egyenletes veszteség esetében aki nem nullát kapott, az egyforma veszteséget szenvedett el. Az összveszteség $200-100=100$, ezért fejenként $\frac{100}{3}$ volt a veszteségük. Ezzel a követeléseik $d_1=x_1+\frac{100}{3} = \frac{130}{3}$, $d_2=x_2+\frac{100}{3} = \frac{190}{3}$, $d_1=x_1+\frac{100}{3} = \frac{280}{3}$.
Kelmeszabály-konzisztens esetben a közlekedőedény-rendszerben lévő edények mérete a kérdés. Észrevehetjük, hogy a kifizetések éppen az összkövetelés felét adják. Ilyen esetben a közlekedőedény-rendszerben a vízszint éppen félúton lesz, azaz az alsó edények teljesen tele vannak, a felső edények pedig teljesen üresek. Tehát mindenki a követelése felét kapta, azaz $d_1=2 \cdot x_1 = 20$, $d_2=2 \cdot x_2 = 60$, $d_3=2 \cdot x_3 = 120$.
3. feladat
Öt játékos, $A$, $B$, $C$, $D$ és $E$ licitál két tárgyra $s$-re és $t$-re. Minden játékos legfeljebb egy tárgyat kaphat. A beérkezett liciteket az alábbi táblázat mutatja.
| $s$ | $t$ | |
|---|---|---|
| $A$ | 5 | 5 |
| $B$ | 4 | 2 |
| $C$ | 2 | 4 |
| $D$ | 2 | 0 |
| $E$ | 0 | 2 |
a) Határozzuk meg, hogy a Clarke-szabályos Vickrey-Clarke-Groves-mechanizmussal történő árverezés során kik lesznek a nyertesek, mit fognak ők kapni és mennyit kell fizetniük ezért?
Hint
A VCG szerint az az alternatíva nyer, ami maximalizálja az össztársadalmi hasznosságot. Ehhez egy maximális súlyú párosítást keresünk.
A Clarke-szabály szerint az $i$. játékos által fizetett összeg a következőképp számolódik:
- Megnézzük mennyi hasznosságot jelent a mechanizmus által kiválasztott alternatíva a többieknek.
- Megnézzük mennyi hasznosságot tudnának elérni a többiek ha az $i$. játékos nem lenne jelen: ehhez az $i$. játékos nélkül keresünk egy maximális súlyú párosítást.
Látható, hogy $i$ jelenlétében a többiek biztos nem járhatnak jobban, legfeljebb csak rosszabbul, hiszen $i$ elhappolhat előlük egy jó alternatívát. Ezért a Clarke-szabály azt mondja, hogy $i$ fizesse ki azt a kárt, amit az ő jelenléte okozott a többieknek, vagyis a két imént meghatározott érték különbségét.
Megoldás
1. lépés: Az optimális allokáció meghatározása.
Két tárgyat kell kiosztanunk öt játékos között úgy, hogy minden játékos legfeljebb egy tárgyat kaphat. Ránézésre látszik, hogy a maximális elérhető összhaszon $9$, ezt két allokáció is el tudja érni: $$A \gets s,\quad C \gets t \quad \text{vagy} \quad A \gets t,\quad B \gets s$$ Ilyenkor tetszőlegeset választhatunk, válasszuk például az elsőt. $$A \gets s,\quad C \gets t$$ Ez $A$-nak $5$-öt, $C$-nek pedig $4$-et ér.
2. lépés: Clarke-szabály szerinti fizetések.
$A$ játékos fizetése
Ha $A$ nincs, akkor a többiek ($B$, $C$, $D$, $E$) közül keressük a maximális párosítást. A legjobb: $B \gets s$, $C \gets t$, ahol az összhaszon $4 + 4 = 8$. $A$ jelenlétében a többiek ($C$) $4$-et kapnak, ezért $A$ fizetése $$p_A = 8 - 4 = 4.$$
$C$ játékos fizetése
Ha $C$ nincs, akkor a többiek ($A$, $B$, $D$, $E$) közül keressük a maximális párosítást. A legjobb: $A \gets t$, $B \gets s$, ahol az összhaszon $5 + 4 = 9$. $C$ jelenlétében a többiek ($A$) $5$-öt kapnak, ezért $C$ fizetése $$p_C = 9 - 5 = 4.$$
Mindenki más $0$-át fizet, hiszen akár jelen vannak, akár nem, a többiek ugyanannyit tudnak elérni.
Végső válasz.
- $A$ játékos megkapja $s$-t és $p_A = 4$-et fizet.
- $C$ játékos megkapja $t$-t és $p_C = 4$-et fizet.
- $B$, $D$ és $E$ játékosok nem kapnak semmit és nem is kell fizetniük.
b) Mi lesz a válasz akkor, ha két példány is rendelkezésre áll az $s$ tárgyból?
Megoldás
1. lépés: Az optimális allokáció meghatározása.
Ebben az esetben az $5+4+4$ a legnagyobb elérhető összhaszon, amit a következő allokáció ér el: $$A \gets s,\quad B \gets s \quad C \gets t$$ Ez $A$-nak $5$-öt, $B$-nek $4$-et, $C$-nek pedig szintén $4$-et ér.
2. lépés: Clarke-szabály szerinti fizetések.
$A$ játékos fizetése
Ha $A$ nincs, akkor a többiek ($B$, $C$, $D$, $E$) közül keressük a maximális párosítást. Egy legjobb: $B \gets s$, $C \gets t$, $D \gets s$ ahol az összhaszon $4 + 4 + 2 = 10$. $A$ jelenlétében a többiek ($B$ és $C$) $4+4=8$-at kapnak, ezért $A$ fizetése $$p_A = 10 - 8 = 2.$$
$B$ játékos fizetése
Ha $B$ nincs, akkor a többiek ($A$, $C$, $D$, $E$) közül keressük a maximális párosítást. Egy legjobb: $A \gets s$, $C \gets t$, $D \gets s$, ahol az összhaszon $5 + 4 + 2 = 11$. $B$ jelenlétében a többiek ($A$ és $C$) $5+4=9$-et kapnak, ezért $B$ fizetése $$p_B = 11 - 9 = 2.$$
$C$ játékos fizetése
Ha $C$ nincs, akkor a többiek ($A$, $B$, $D$, $E$) közül keressük a maximális párosítást. Egy legjobb: $A \gets s$, $B \gets s$, $E \gets t$, ahol az összhaszon $5 + 4 + 2 = 11$. $C$ jelenlétében a többiek ($A$ és $B$) $5+4=9$-et kapnak, ezért $C$ fizetése $$p_C = 11 - 9 = 2.$$
Mindenki más $0$-át fizet, hiszen akár jelen vannak, akár nem, a többiek ugyanannyit tudnak elérni.
Végső válasz.
- $A$ játékos megkapja az $s$ egyk példányát és $p_A = 2$-t fizet.
- $B$ játékos megkapja az $s$ másik példányát és $p_B = 2$-t fizet.
- $C$ játékos megkapja a $t$-t és $p_C = 2$-t fizet.
- $D$ és $E$ játékosok nem kapnak semmit és nem is kell fizetniük.
4. feladat
Három játékos osztozik arányosan a $[0,1)$ intervallumon a Fink-eljárás segítségével. A játékosok a sorszámuk szerinti növekvő sorrendben érkeztek, és minden vágás műveletnél a lehető legbalrább vágtak. Tudjuk, hogy az első játékos értékelő eloszlásfüggvénye $f_1(x) = x$ és hogy ő az eljárás végén egy $[a,b) \cup [c,d)$ alakú részt kapott, ahol $0 \le a < b < c < d \le 1$. Határozzuk meg $a$, $b$, $c$ és $d$ összes lehetséges értékét.
Hint
Az első körben az első játékos a $[0, \frac{1}{2})$ és $[\frac{1}{2}, 1)$ intervallumokat ajánlja fel a másodiknak, aki ezek közül egyet elvisz. Minek kell történnie a harmadik körben, hogy $[a,b) \cup [c,d)$ alakú részt kapjon az első?
Megoldás
Az első körben az első játékos a $[0, \frac{1}{2})$ és $[\frac{1}{2}, 1)$ intervallumokat ajánlja fel a másodiknak, aki ezek közül egyet elvisz. A harmadik körben ezeket három egyenlő hosszúságú részre fogja osztani, amiből a harmadiknak a középsőt kell elvinnie, hogy $[a,b) \cup [c,d)$ alakú legyen a maradék.
Tehát két eset van: $[0, \frac{1}{6})$ és $[\frac{2}{6}, \frac{1}{2})$, illetve $[\frac{1}{2}, \frac{4}{6})$ és $[\frac{5}{6}, 1)$.
Azaz $a=0, b=\frac{1}{6}, c=\frac{2}{6}, d=\frac{1}{2}$ vagy $a=\frac{1}{2}, b=\frac{4}{6}, c=\frac{5}{6}, d=1$.
5. feladat
Egy tengeralattjáró egy ($3 \times 3$)-as rács két oldalszomszédos mezőjén áll. Egy bombázó repülőgépről, ahonnan nem látszik a víz alatti jármű, bombát dobnak a kilenc mező valamelyikére. Ha a bombázó eltalálja a tengeralattjárót, akkor 1 pontot kap, a tengeralattjáró viszont ekkor 1 pontot veszít, ha azonban a bombázó nem találja el a tengeralattjárót, akkor a tengeralattjáró kap 1 pontot, a bombázó pedig veszít 1 pontot. Határozzuk meg a játékosok egy-egy tetszőleges maximin stratégiáját.
Hint
Használjuk ki a tábla szimmetriáit, készítsünk egy kisebb nyereségmátrixot ami leírja a játékot!
Megoldás
Számozzuk meg a négyzetrács mezőit a következőképpen.
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
Tegyük fel, hogy valamilyen maximin stratégiában a bombázó a következő valószínűségekkel választja az egyes mezőket.
| $p_1$ | $p_2$ | $p_3$ |
| $p_4$ | $p_5$ | $p_6$ |
| $p_7$ | $p_8$ | $p_9$ |
Azt állítjuk, hogy ekkor a függőleges tengelyre tükrözött eloszlás is maximin stratégia lesz.
| $p_3$ | $p_2$ | $p_1$ |
| $p_6$ | $p_5$ | $p_4$ |
| $p_9$ | $p_8$ | $p_7$ |
Ez azért van így, mert a maximin stratégia olyan, hogy az ellenség bármely kevert stratégiájával szemben garantálja az $\alpha$ biztonsági szintet, az ellenség lehetséges kevert stratégiái (vagyis hogy hol helyezkedik el a tengeralattjáró) pedig szintén szimmetrikusak, a főátlóra tükrözéssel egy másik lehetséges kevert stratégiát kapunk.
A maximin stratégiák lineáris kombinációja is maximin stratégia (megfelelően skálázva, hogy eloszlás legyen), tehát vehetem a két fenti eloszlás cellánkénti átlagát.
| $\frac{p_1 + p_3}{2}$ | $p_2$ | $\frac{p_1+p_3}{2}$ |
| $\frac{p_4+p_6}{2}$ | $p_5$ | $\frac{p_4+p_6}{2}$ |
| $\frac{p_7+p_9}{2}$ | $p_8$ | $\frac{p_7+p_9}{2}$ |
Mint látható, a tábla függőleges tengelyre vett szimmetriája miatt létezik olyan maximin stratégia ami szintén szimmetrikus a függőleges tengelyre.
A másik tengelyre tükrözés után azt kapjuk, hogy a bombázónak létezik olyan maximin stratégiája, amelyben valamilyen $q_1$ valószínűséggel dob középre (az 5-ös mezőre), $q_2$ valószínűségekkel élre (a 2, 4, 6, 8 mezőkre) és $q_3$ valószínűségekkel sarokba (az 1, 3, 7, 9 mezőkre).
Hasonló gondolatmenettel (90 fokos forgatási szimmetriával) az is belátható, hogy a tengeralattjárónak létezik olyan maximin stratégiája, amelyben valamilyen $r_1$ valószínűségekkel lesz az $\{ 2, 5 \}$, $\{ 4, 5 \}$, $\{ 6, 5 \}$, $\{ 8, 5 \}$ mezőkön és $r_2$ valószínűségekkel az $\{ 1, 2 \}$, $\{ 1, 4 \}$, $\{ 2, 3 \}$, $\{ 3, 6 \}$, $\{ 4, 7 \}$, $\{ 6, 9 \}$, $\{ 7, 8 \}$, $\{ 8, 9 \}$ mezőkön.
Ezzel pedig a nyereségmátrix a következő alakra hozható.
$$ \begin{array}{r|ccc} & 5 & \text{2, 4, 6, 8} & \text{1, 3, 7, 9} \\ \hline \{2,5\},\,\{4,5\},\,\{6,5\},\,\{8,5\} & a_{11} & a_{12} & a_{13} \\ \text{maradék} & a_{21} & a_{22} & a_{23} \end{array} \text{,} $$
Ahol egy cellán belül mindkét játékos egyenletes eloszlással választ a hozzá tartozó sor és oszlop stratégiái közül, a cella értéke pedig az így kapott várható nyereség lesz.
Vagyis $$a_{11} = -1 \text{,}$$ $$a_{12} = \frac{1}{4} \cdot (-1) + \frac{3}{4} \cdot 1 = \frac{1}{2} \text{,}$$ $$a_{13} = 1 \text{,}$$ $$a_{21} = 1 \text{,}$$ $$a_{22} = \frac{1}{4} \cdot (-1) + \frac{3}{4} \cdot 1 = \frac{1}{2} \text{,}$$ $$a_{23} = \frac{1}{4} \cdot (-1) + \frac{3}{4} \cdot 1 = \frac{1}{2} \text{,}$$ azaz a nyereségmátrix $$\left( \begin{array}{ccc} -1 & 1/2 & 1 \\ 1 & 1/2 & 1/2 \end{array} \right) \text{.}$$
Tudjuk, hogy elég egy kevert Nash-egyensúlyt meghatározni, márpedig a második sor második eleme egy tiszta Nash-egyensúly.
Vagyis a sorjátékos egy maximin stratégiája az, ha $\frac{1}{8}$ valószínűséggel rejtőzik el az $\{ 1, 2 \}$, $\{ 1, 4 \}$, $\{ 2, 3 \}$, $\{ 3, 6 \}$, $\{ 4, 7 \}$, $\{ 6, 9 \}$, $\{ 7, 8 \}$, $\{ 8, 9 \}$ mezők mindegyikén. Az oszlopjátékos egy maximin stratégiája pedig az, ha $\frac{1}{4}$ valószínűséggel lő a 2, 4, 6, 8 mezők mindegyikére.
6. feladat
A táblára felírtunk egy pozitív egész számot. Két játékos felváltva lép. A soron következő játékos átírja a táblán lévő $n$ számot ($n-1$)-re vagy $\lfloor n/2 \rfloor$-re. Az a játékos veszít, aki az 1-et írja fel. Határozzuk meg az $n$ függvényében, hogy kinek van nyerő stratégiája.
(Pöttyös feladat.)7. feladat
Közeledik a vizsgaidőszak a Bűbájtudományi és Mágiaelméleti Egyetemen. A Bevezetés a Számmisztikába 1 tantárgyból a félév során minden mágiatanonc különböző pontszámot szerzett. Főmágus Tamás a szóbeli vizsgára $n$ tanonchoz $n$ vizsgáztatót rendelt ki, akiket egy stabil párosítás szerint szeretne összerendelni. A vizsgáztatók egyetértésben a magasabb pontszámú tanoncok vizsgáztatását preferálják, a tanoncoknak viszont egyéni rangsoruk van a vizsgáztatókról, amit előzetesen leadtak. (Mindkét oldal rangsorai teljesek.) A tanoncok maximális kiszolgálása érdekében Főmágus Tamás elrendelte, hogy a vizsga megkezdése előtt módosítási kérelmeket nyújthatnak be: megneveznek két vizsgáztatót és kérik, hogy azok cseréljenek helyet a saját preferencialistájukban. Tamás a kérések kiszolgálásával Mágus Misit bízta meg: Misi előző nap este polinomiális időben feldolgozhatja a leadott listákat, a helyszínen viszont minden beérkező kérés után $O(n \log n)$ lépés megtételével ki kell hirdetnie egy új, az aktuális preferenciáknak megfelelő stabil párosítást. A tanoncok tetszőlegesen sok kérést intézhetnek Misihez. Segíts Misinek megoldani a feladatát!
(Pöttyös feladat.)