Hrvatski matematički elektronski časopis math.e | |
http://www.math.hr/~mathe/ |
Kombinatorne igre
Matko Botinčan
Igrači naizmjence uzimaju koliko žele karata iz jednog retka te se igra ponavlja sve dok jedan od igrača ne uzme posljednju kartu i time gubi igru. U navedenom filmu osoba M velikodušno prepušta osobi X da odigra prvi potez. Na žalost, osoba X će uvijek izgubiti igru, kako god igrala.
Igra koju u filmu igraju osobe M i X poznata je pod imenom Nim (dolazi od njemačke riječi nehmen) te je jedna od najstarijih i najpoznatijih matematičkih igara za dva igrača. Samo ime igre pod kojim je ona danas poznata kao i njezina precizna matematička teorija nastali su još početkom prošlog stoljeća pionirskim radom C. L. Boutona [2].
Općenito se igra, dakako, može igrati predmetima bilo koje vrste (sigurno ste barem jednom imali priliku susresti varijantu s npr. šibicama, kamenčićima, novčićima i sl.), a pravila za određivanje pobjednika znaju varirati. Naime, u standardnoj varijanti igre pobjeđuje igrač koji uzima posljednji predmet, a u tzv. mizernoj varijanti igrač koji odigra posljednji potez gubi. Igrači iz filma [1] igraju, dakle, mizernu varijantu Nima.
Neki od čitatelja sigurno već znaju zašto osoba X u opisanoj situaciji gubi igru. Naime, Nim je primjer igre koja ima svojstvo da sa svake njezine pozicije uvijek točno jedan igrač ima pobjedničku strategiju (za takve igre kažemo da su determinirane), a pripadna je strategija praktički jednostavno provedljiva. Pogledajmo ukratko o čemu je riječ (pretpostavivši pri tome da igramo standardnu varijantu Nima). Uvedimo pojam korektne pozicije u igri na sljedeći način. Izrazimo broj predmeta na svakoj hrpi u binarnom sustavu te dobivene brojeve potpišimo jedan ispod drugoga (kao kad npr. zbrajamo brojeve na papiru). Reći ćemo da je dana pozicija Nima korektna ako je zbroj brojeva u svakom od stupaca paran. U protivnom govorimo o inkorektnoj poziciji. Indukcijom nije teško pokazati da tada vrijedi:
Teorem 1: S dane pozicije u Nimu igru dobiva drugi igrač (onaj koji drugi vuče potez) ako i samo ako je pozicija korektna.
Zadatak 1: Provedite induktivni dokaz ove tvrdnje.
Uputa: Uočite kako svaki
potez odigran s korektne pozicije nužno rezultira inkorektnom pozicijom, a
sa svake inkorektne pozicije moguće je odigrati potez na korektnu poziciju.
Zadatak 2: I za mizernu varijantu Nima postoji slična karakterizacija koja određuje s kojih pozicija pobjeđuje prvi, a s kojih drugi igrač. Pronađite tu karakterizaciju te odredite kako u tom slučaju izgledaju pobjedničke strategije za igrače.
Opisana karakterizacija u potpunosti rješava pitanje pobjednika u igri Nim te pobjedničkom igraču nalaže kako treba optimalno igrati da bi dobio igru. Pitanja o nalaženju pobjednika i pobjedničkih strategija prirodno se nameću praktički kod svih tipova igara, no također je interesantno zapitati se u kojim bismo sve igrama mogli upotrijebiti pobjedničku strategiju analognu onoj iz igre Nim. Osnovni cilj ovog teksta jest prezentirati jedan od temeljnih odgovora na ovo drugo pitanje. Također, namjera nam je pri tome upoznati čitatelja i s osnovnim konceptima koji figuriraju u kombinatornoj teoriji igara te posebno mlađim čitateljima dočarati na koji način u ovom konkretnom slučaju snaga i elegancija matematičke apstrakcije dolaze do izražaja.Igrači naizmjence vuku poteze odabirući jedan od bridova koji im je dostupan u pojedinom vrhu grafa. Igra završava u trenutku kada se stigne do terminalne pozicije u kojoj igrač koji je na potezu nema više što odigrati. U slučaju igre Nim to je pozicija u kojoj nijedna hrpa više ne sadrži predmet(e). Ishod igre u takvom slučaju ovisi o pravilima igre — vidjeli smo da je kod Nima moguće da takva pozicija bude bilo pobjednička, bilo gubitnička, ovisno o tome igramo li normalnu ili mizernu varijantu igre. Ipak, u općenitom slučaju normalna i mizerna varijanta igre nisu simetrične (mizerne varijante daleko je teže analizirati) pa ćemo se u ovom tekstu opredijeliti za normalnu varijantu igara u kojima je pobjednik onaj igrač koji je napravio posljednji potez. Dakle, igru gubi igrač koji u nekom trenutku ostane bez poteza, tj. nađe se na terminalnoj poziciji u pripadnom grafu igre.
Primijetimo: da bismo uopće mogli primijeniti opisani kriterij određivanja pobjednika u igri, moramo biti sigurni da igra završava nakon konačnog broja koraka, tj. da nijednim izborom poteza ne može nastati beskonačni niz pozicija (uočite kako će to biti slučaj ako u pripadnom grafu igre ne postoji beskonačno dugački put). Tipične matematičke igre poput Nima imaju to svojstvo, no to ne mora uvijek biti tako — uzmite za primjer igru šah (prisjetite se na koji se način u šahu rješavaju takve situacije u igri; naime, nijedna stvarna partija šaha ipak ne traje beskonačno dugo). Tretiranje beskonačnih tijekova igre općenito nije jednostavno i takvim se igrama nećemo baviti u ovom tekstu.
Često je zgodno prikazati sve moguće tijekove igre (sve različite puteve u reprezentaciji igre usmjerenim grafom) pomoću stabla. Kako bi to izgledalo za prethodni primjer igre Nim s hrpama od jednog i triju predmeta, možete vidjeti na idućoj slici:
Uočite kako u svakoj poziciji igre Nim lijevom i desnom igraču stoji na raspolaganju jednak skup opcija (kažemo da je Nim imparcijalna igra). To ne mora uvijek biti slučaj pa općenito moramo zasebno promatrati opcije lijevog, odnosno desnog igrača.
Na kraju ove točke istaknimo još jednom ključne pojmove koji će nam biti važni u daljnjem tekstu:
Teorija igara velika je znanstvena disciplina koja svoje korijene vuče ponajviše iz matematike i ekonomije. U najširem smislu podijeljena je u dvije grane:
Igre kojima ćemo se baviti u ovom tekstu spadaju, dakako, u nekooperativnu teoriju igara. Iako one, zbog svoje nekooperativnosti, predstavljaju već znatnu simplifikaciju realnih situacija, vidjet ćemo da su još uvijek sve prije negoli jednostavne. Općenito, igre takvog tipa ne završavaju nužno samo pobjedom ili porazom, već uključuju niz mogućih ishoda zajedno s pripadnim preferencijama svakog od igrača. Pri tome očekivani dobitak u igri utječe na ponašanje igrača. Osnovni cilj jest predvidjeti racionalno ponašanje igrača u raznim konfliktnim situacijama te objasniti pod kojim uvjetima dolazi do “stabiliziranja”.
Da bismo jasnije odredili kakvi nas to točno tipovi nekooperativnih igara zanimaju, moramo napraviti određenu distinkciju među njima. Uzmimo kao primjer igru Nim i neku tipičnu kartašku igru, npr. Briškulu. Ako malo razmislimo, uočit ćemo da postoje dvije ključne razlike između igara poput Nima i igara poput Briškule:
Uočimo kako u igrama nepotpune informacije postoji neizvjesnost o trenutnom stanju igre (odnosno, o sadašnjosti). S druge pak strane, igre s elementima slučajnosti uključuju samo neizvjesnost o budućnosti (pri tome neizvjesnost budućeg poteza nestaje čim taj potez bude odigran).
Dakle, sve skupa zaključujemo kako nekooperativne igre ima smisla podijeliti na one potpune, odnosno nepotpune informacije, te na one sa, odnosno bez elemenata slučajnosti. Na taj je način svaku nekooperativnu igru moguće svrstati u jednu od četiriju dobivenih skupina. Klasifikacija nekolicine popularnih igara prikazana je u sljedećoj tablici:
igre potpune informacije | igre nepotpune informacije | |
bez elemenata slučajnosti | Nim, Šah, Go | Potapanje brodova |
s elementima slučajnosti | Monopoly, “Čovječe ne ljuti se” | Briškula, Bela, Poker |
S druge strane, mi se u ovom tekstu bavimo igrama koje se nalaze u onoj “preostaloj” kategoriji, tj. (ne-kooperativnim) igrama potpune informacije bez elemenata slučajnosti. Takve su igre prvenstveno od matematičkog interesa (makar to ne znači da nemaju primjenu i u drugim područjima; sjetite se, primjerice, uvodnog dijela ovog teksta), a kako tipično imaju dodirnih točaka s kombinatorikom i teorijom grafova, teorija koja se oko njih razvila naziva se kombinatornom teorijom igara. Ovime smo također dali i svojevrsno opravdanje zašto smo u naslovu upotrijebili termin kombinatorne igre.
pri čemu su , odnosno , skupovi opcija lijevog, odnosno desnog igrača. Bazu ove induktivne definicije predstavlja igra u kojoj nijedan od igrača nema što odigrati, tj. igra oblika:
Ovakvu igru kratko ćemo označivati s 0 (nula). Također, igru G obično ćemo kompaktnije zapisivati kao G = , pri čemu onda GL, odnosno GD, predstavljaju skupove opcija igrača L, odnosno D.
Napomenimo i to da igru nismo slučajno označili s 0. Od ovog trenutka nadalje pojedine igre svjesno ćemo označivati simbolima za brojeve jer ćemo takvim igrama moći manipulirati na način sličan onom kojim manipuliramo brojevima u standardnoj aritmetici. Da bismo tu ideju razjasnili i preciznije opisali, promotrimo prethodno nekoliko jednostavnih primjera.
Svakoj igri korisno je dodijeliti stupanj koji opisuje njezinu jednostavnost. Nakon svakog odigranog poteza igra postaje jednostavnija u smislu da stižemo u poziciju igre manjeg stupnja. Najjednostavnija igra (i jedina stupnja 0) jest igra s praznim skupom opcija za lijevog i desnog igrača. U idućem koraku kao opcije imamo na raspolaganju Ø i 0 = pa tako igara stupnja 1 ima ukupno četiri (= 2 . 2) i to su: 0, 1 = , -1 = , te * = . Pripadajuća stabla ovih igara prikazana su na sljedećoj slici (pri tome opcije igrača L bojimo plavom bojom, a opcije igrača D crvenom):
0 = | 1 = | -1 = | * = |
Dakle, svaku igru možemo prema ishodu svrstati u jednu od navedenih četiriju klasa, kako je to sistematizirano sljedećom tablicom:
počinje
D i
| |||
Ako u igri
G | L ima pobjedničku | D ima pobjedničku | |
strategiju | strategiju | ||
počinje L i | D ima pobjedničku | G = 0 | G < 0 |
strategiju | (drugi pobjeđuje) | (D pobjeđuje) | |
L ima pobjedničku | G > 0 | G || 0 | |
strategiju | (L pobjeđuje) | (prvi pobjeđuje) | |
Sjetite se pri tome da primjerice -GD zapravo označuje skup opcija , gdje svaka pojedina opcija predstavlja igru jednostavniju od -G.
Nadalje, na igrama možemo definirati i operaciju sume. Naprimjer, svaka igra Nim suma je određenog broja igara Nim s jednom hrpom. U danoj sumi igrač koji je na potezu bira jednu od komponenata sume te u njoj odigrava jedan od mogućih poteza. Stoga definicija sume igara G i H izgleda ovako:
Ovo opet predstavlja induktivnu definiciju: GL + H, primjerice, predstavlja skup opcija , svaka od kojih je igra jednostavnija od G + H.
Nije teško provjeriti da na ovaj način definirana suma ima svojstvo komutativnosti (G + H = H + G) i asocijativnosti (F + (G + H) = (F + G) + H) te da vrijedi G + 0 = G i G + (-G) = 0 (drugim riječima, igre sa sumom kao binarnom operacijom uvjetno rečeno čine grupu). Pri tome treba biti malo oprezan s čitanjem posljednjih dviju relacija jer je simbol 0 u njima upotrijebljen u dva bitno različita smisla. U relaciji G + 0 = G simbol 0 predstavlja igru nula, odnosno . S druge strane, relacija G + (-G) = 0 govori da je igra G + (-G) igra vrijednosti 0, odnosno da pripada klasi igara u kojoj drugi igrač ima pobjedničku strategiju.
Zadatak 3: Provjerite da vrijede sljedeće jednakosti:
Sada možemo definirati relaciju ekvivalencije na igrama na način da za igre G i H kažemo da su ekvivalentne, u oznaci G = H, ako u igri G + (-H) pobjeđuje drugi igrač, odnosno vrijedi G + (-H) = 0. Štoviše, na igrama možemo definirati i parcijalni uređaj >, pri čemu G > H označuje da je G + (-H) > 0, tj. u igri G + (-H) uvijek pobjeđuje igrač L, neovisno o tome koji igrač započinje igru.
Zadatak 4: Pokušajte dokazati sljedeće tvrdnje:
Na dijagramu preferencije igrača L rastu prema gore, a preferencije igrača D rastu prema dolje. Primjerice, u skupu opcija igrač L očito će preferirati 0, a u skupu igrač D preferirat će opciju -1. Jedini skup opcija u kojem nije a priori jasno što bi bila najbolja opcija za pojedinog igrača jest skup . Stoga je za opcije igrača u igrama stupnja dva potrebno uzeti u obzir jedino sljedeće skupove: Ø, -1, *, 0, i 1. Između 62 = 36 rezultantnih igara stupnja dva samo su 22 međusobno neekvivalentne (pri tome su četiri od njih ekvivalentne već poznatim igrama stupnja jedan). Pripadna stabla tih igara prikazuje sljedeća slika.
0 | 1 | -1 | 2 | -2 |
* | - | |||
= ±1 | 1* | -1* | ||
* | * | |||
*2 | ||||
* | - | |||
±1 | 1* | -1* | ||
* | * | |||
*2 | ||||
Ø | 1 | * | 0 | -1 | ||
Ø | -1 | -2 | ||||
-1 | 0 | -1* | ||||
* | | |||||
0 |
1 | | | * | * | |
* | *2 | |||||
1 | 2 | 1* | ±1 | |||
Drugi, nešto suptilniji način, sastoji se od zamjene tzv. reverzibilnih opcija. Opciju desnog igrača X nazivamo reverzibilnom ako lijevi igrač ima odgovor XL, koji je za njega barem jednako toliko dobar koliko i dana igra G, tj. ako vrijedi XL ≥ G. U tom slučaju X smijemo zamijeniti nizom svih desnih opcija XLD = od XL. Slično, opcija lijevog igrača Y je reverzibilna ako desni igrač ima odgovor YD, koji je za njega barem jednako toliko dobar koliko i sama igra G, tj. ako je YD ≤ G te tada Y smije biti zamijenjen nizom svih lijevih opcija YDL od YD.
Primjerice, u igri G = nijedna opcija lijevog igrača ne dominira nad onom drugom budući da je 0 ||*, ali je zato njegova opcija * reverzibilna, budući da je pripadni odgovor desnog igrača *R = 0, a za igru G vrijedi G ≥ 0 (uvjerite se da je to doista tako!). To znači da opciju lijevog igrača * možemo zamijeniti svim opcijama lijevog igrača od *R = 0 = , tj. možemo je zamijeniti svim opcijama praznog skupa, dakle, možemo je obrisati. Na taj se način polazna igra G pojednostavljuje u igru = .
Zadatak 6: Analizirajte reverzibilne opcije u igri , te je pojednostavite.
Ovakve igre, budući da su od posebne važnosti, imaju i posebno ime — nazivaju se nimberima. Ime potječe, naravno, od igre Nim — svaki nimber *n odgovara igri Nim koja se sastoji od jedne hrpe s n objekata. S obzirom da su u nimberima opcije lijevog i desnog igrača jednake, dovoljno je pisati samo jedan skup opcija pa ćemo u daljnjem tekstu nimber *n pisati kao *n = .
Zadatak 7: Zapišite pomoću nimbera općenitu igru Nim kod koje se u prvoj hrpi nalazi n1 predmeta, u drugoj hrpi n2 predmeta ..., te u k-toj hrpi nk predmeta.
Nadalje, uloga nimbera postaje još važnija ako uvidimo da vrijedi sljedeća tvrdnja: svaka igra oblika
ekvivalentna je igri *m, gdje je m najmanji nenegativan cijeli broj koji se ne nalazi u skupu . Da bismo to uvidjeli, potrebno je samo uočiti kako je svaka opcija *n za n > m reverzibilna — naime, opcija *m od *n ima svojstvo da je ≥ *m — pa stoga *n možemo zamijeniti opcijama od *m, odnosno s 0, *, *2, ..., *(m - 1).
Dana argumentacija zapravo predstavlja induktivni korak dokaza činjenice da je svaka imparcijalna igra ekvivalentna nekom nimberu. Ova tvrdnja, koju su po prvi puta dokazali Sprague (1935.-36.) i Grundy (1939.), jedna je od prvih i temeljnih rezultata kombinatorne teorije igara.
Teorem 2 (Sprague-Grundy): Za svaku imparcijalnu igru G postoji m takav da vrijedi G = *m.
Zadatak 8: Napravite za vježbu kompletni induktivni dokaz Sprague-Grundyjevog teorema (bazu, pretpostavku, te korak indukcije).
Znamo da vrijedi *n + 0 = *n, a nije teško pokazati da vrijedi i *n + *n = 0 (naime, opcije lijevog i desnog igrača su jednake). Krenimo izračunati koliko je *2 + *:
Ako sada svakoj strani jednakosti dodamo *, odnosno *2, dobivamo da vrijedi *2 = *3 + *, odnosno * = *3 + *2. Na isti način induktivno dobivamo da vrijedi:
Pomoću ove jednakosti sada možemo izgraditi tablicu zbrajanja nimbera koja bi za prvih 16 nimbera izgledala ovako (elementima u tablici su radi lakše čitljivosti ispuštene zvjezdice, tj. elementi predstavljaju tzv. nim-vrijednosti nimbera):
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
1 | 1 | 0 | 3 | 2 | 5 | 4 | 7 | 6 | 9 | 8 | 11 | 10 | 13 | 12 | 15 | 14 |
2 | 2 | 3 | 0 | 1 | 6 | 7 | 4 | 5 | 10 | 11 | 8 | 9 | 14 | 15 | 12 | 13 |
3 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 11 | 10 | 9 | 8 | 15 | 14 | 13 | 12 |
4 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 12 | 13 | 14 | 15 | 8 | 9 | 10 | 11 |
5 | 5 | 4 | 7 | 6 | 1 | 0 | 3 | 2 | 13 | 12 | 15 | 14 | 9 | 8 | 11 | 10 |
6 | 6 | 7 | 4 | 5 | 2 | 3 | 0 | 1 | 14 | 15 | 12 | 13 | 10 | 11 | 8 | 9 |
7 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
8 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
9 | 9 | 8 | 11 | 10 | 13 | 12 | 15 | 14 | 1 | 0 | 3 | 2 | 5 | 4 | 7 | 6 |
10 | 10 | 11 | 8 | 9 | 14 | 15 | 12 | 13 | 2 | 3 | 0 | 1 | 6 | 7 | 4 | 5 |
11 | 11 | 10 | 9 | 8 | 15 | 14 | 13 | 12 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 |
12 | 12 | 13 | 14 | 15 | 8 | 9 | 10 | 11 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 |
13 | 13 | 12 | 15 | 14 | 9 | 8 | 11 | 10 | 5 | 4 | 7 | 6 | 1 | 0 | 3 | 2 |
14 | 14 | 15 | 12 | 13 | 10 | 11 | 8 | 9 | 6 | 7 | 4 | 5 | 2 | 3 | 0 | 1 |
15 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Ako malo bolje promotrimo relaciju *5 + *6 = *3, uvidjet ćemo da je nim-vrijednost 3 dobivena zbrajanjem bez prijenosa u bazi 2, odnosno logičkom operacijom eksluzivno ili (XOR) nim-vrijednosti 5 i 6. Ako tu operaciju nazovemo nim-sumiranjem, dobivamo:
Korolar 1: Nim-vrijednost sume dviju imparcijalnih igrara je nim-suma njihovih nim-vrijednosti.
Sada, dakle, imamo efektivan način za određivanje vrijednosti imparcijalnih igara.
Na kraju, zaključimo što možemo reći o ishodima u imparcijalnim igrama.
Korolar 2:
Svaka pozicija u imparcijalnoj igri je:
Ovakva karakterizacija, iskazana doduše nešto drugačijim riječima, bila je navedena za igru Nim još na samom početku ovog teksta. No, sada vidimo kako ista karakterizacija vrijedi i u znatno općenitijem kontekstu — sve imparcijalne igre imaju takvo svojstvo. To nam zapravo govori kako igra Nim upravo predstavlja prototip svih imparcijalnih igara pa je stoga njezina matematička, a i ona nematematička popularnost doista i teorijski opravdana. Ne znamo da li je te činjenice bio svjestan Alain Resnais, redatelj filma [1], no, očito, opredijelivši se u svom filmu za igru Nim, nije pogriješio.
[1] A. Resnais. L’Année dernière à Marienbad. http://www.imdb.com/title/tt0054632/
[2] C. L. Bouton. Nim, a game with a complete mathematical theory. Annals of Mathematics 3 (1901-02), 35–39.
[3] V. Krčadinac. Teorija igara - matematičko modeliranje konfliktnih situacija. Math.e 3. http://www.math.hr/~mathe/teorijaigara/index.html
[4] E. R. Berlekamp, J. H. Conway and R. Guy. Winning ways for your Mathematical Plays. Academic Press, 1982.
[5] J. H. Conway. On Numbers and Games. Academic Press, 1976.
[6] R. Guy. Combinatorial Games. In Handbook of Combinatorics, R. Graham, M. Grotschel and L. Lovasz (Eds.), Vol. II, North-Holland, Amsterdam, 1996, 2117–2162.