![]() |
Hrvatski matematički elektronski časopis math.e |
http://www.math.hr/~mathe/ |
Kombinatorne igre
Matko Botinčan
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.
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:
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.
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) | |
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:
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:
![]() | ![]() | ![]() | ![]() | ![]() |
0 | 1 | -1 | 2 | -2 |
![]() | ![]() | ![]() | ![]() | ![]() |
* | ![]() | -![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | 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.
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
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 + *:
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.