Professional Documents
Culture Documents
Algoritamska Teorija Igara
Algoritamska Teorija Igara
Odsjek za matematiku
Odabrana poglavlja kompjuterskih nauka
Autor:
Harun Hindija
5. decembar 2014.
Sažetak
U ovom radu je dat kratak uvod u teoriju igara sa primjenom
na neke oblasti kompjuterske nauke, posebno na modeliranje nekih
situacija koje dolaze u kontekstu interneta. Nakon toga su predeni
neki aspekti Algoritamske teorije igara.
1 Uvod
Kako se drugi svjetski rat približavao kraju, von Neumann, tada nedvojbeno
najistaknutiji matematičar svijeta, se bavio dvjema naučnim disciplinama
koje će oblikovati ostatak dvadesetog stoljeća: Teorijom igara i algoritmima.
Godine 1944. sa Oskarom Morgensternom objavljuje knjigu Games and Eco-
nomics Behavior i tako nastaje Teorija igara, disciplina koja je našla veliku
primjenu u ekonomiji. U 1952. godini objavljuje naučni rad u kom se prvi
put spominje polinomijalni algoritam kao posebna prednost. Rješivost pro-
blema u polinomijalnom vremenu postaje jedan od zadataka koji još uvijek
predstavlja izazov svim naučnicima koji se bave algoritmima(došlo je vrijeme
kada efikasan i rješiv u polinomijalnom vremenu postaju skoro pa nerazdvojni
pojmovi).
Da li je von Neumann mogao predvidjeti da će se dvije potpuno različite
discipline koje je zasnovao pola vijeka kasnije spojiti. Amir Ronen i Nisan
Noam 1999. godine prvi put na Simpoziju o teoriji izračunljivosti STOC ’99
govore o dizajniranju algoritama za sebične korisnike.Oni kažu:
“Posmatrajmo algoritamske probleme u distribuiranom sistemu, gdje ne
možemo pretpostaviti da učesnici prate algoritam, gdje učesnike zanima samo
njihov interes.Budući da su ti učesnici u mogućnosti da manipuliraju i izmi-
jenjuju algoritam, dizajner algoritma mora osigurati da će agenti(učesnici)
najbolje zadovoljiti svoje interese ako slijede algoritam.”
Ono što von Neumann vjerovatno nije mogao pretpostaviti je nevjero-
vatna ekspanzija interneta. Internet je totalno promijenio ekonomiju, pro-
mijenio, ubrzao i stvorio dotada nezamislive forme tržišta. Algoritmi su
postali prirodno okruženje i platforma strateškog donošenja odluka. S druge
strane, internet je prvo kompjutersko djelo koje nije nastalo od jednog iz-
vora, već od strateške interakcije mnogih strana. Naučnici koji su se bavili
kompjuterskom naukom su po prvi put bili suočeni sa istim onim osjećajem
neizvjesnosti, straha i zbunjenosti sa kojim su već odavno ekonomisti posma-
trali tržište. Naravno, okrenuli su se teoriji igara za inspiraciju. Fascinantni
1
spoj ideja iz obe discipline - teorije igara i algoritama - je bio spreman da
se iskoristi da bi se osvijetlile misterije interneta. Nazvan je Algoritamska
teorija igara.
2
Slika 1: Zatvorenička dilema
3
Slika 2: ISP problem rutiranja
ga izdam(dobit ću 1 mjesec umjesto 4). Ali sada primijetimo da ako su oba
kriminalca racionalna, izdat će jedan drugog i obojica će završiti u zatvoru
4 mjeseca. Razlog zbog kojeg ovo i jeste dilema je što je očigledno bolja za
njih varijanta u kojoj oba šute i tako dobijaju po 2 mjeseca zatvora.
Ova situacija zatvoreničke dileme se javlja u dosta situacija, pogledajmo
jednu od njih:
Pretpostavimo da imamo dva ISP-a od kojih svaki ima svoju mrežu i oni
komuniciraju kroz dvije tačke C i S, kao na slici 2. Primijetimo da imamo dva
para si i ti , odredišni čvor - čvor u koji poruka stiže. Pretpostavimo da ISP
1 treba da pošalje poruku od čvora s1 do t1 . ISP1 ima dva načina da pošalje
svoju poruku ISP2(koji će dalje uručiti poruku t1 ). Može da koristi tačku
C i tačku S. Ono što rade tipično ISP-ovi je da minimiziraju svoju putanju
do ISP2(u ovom slučaju do neke od tačaka C i S) ne vodeći računa o tome
koliko će ISP2 trebati da poruku prebaci do odredišta. U ovom slučaju će on
poruku proslijediti do C(jer će ga to koštati 1, za razliku od proslijedivanja
do tačke S, koje bi ga koštalo 2.
4
Ali ono što primijetimo je da je na ovaj način ISP2 ovo koštalo 3, a da
je ISP1 poruku poslao kroz tačku S, ISP 2 bi proslijedivanje poruke koštalo
0(jer je t1 jako blizu S). Odnosno, slično kao u zatvoreničkoj dilemi, ”sebična”
odluka jednog igrača je za njega dobra, ali šteti drugom igraču. Ono što je još
važno je da je ukupna predena udaljenost poruke veća. Da bi ova situacija
bila primjer zatvoreničke dileme, pretpostavimo još da imamo simetričnu
situaciju na drugoj strani. Neka ISP2 sada želi da proslijedi poruku od s2
do t2 . On takoder ima dvije mogućnosti i jasno je da odabirom ”sebične”
opcije njega proslijedivanje poruke košta 1, a ISP1 3. Sada primijetimo da je
ova situacija analogna zatvoreničkoj dilemi, jer oba igrača biraju ”sebične”
strategije i na taj način biraju dosta lošiji rezultat za obojicu od onog koji
su mogli postići ako bi obojica proslijedivali poruku kroz tačku S.
Budući da u stvarnom životu češće imamo situaciju u kojoj učestvuju
više od dva učesnika, posmatrajmo sada poopštenje zatvoreničke dileme na
proizvoljan broj sudionika. Ova igra se javlja u više okolnosti, mi ćemo
predstaviti onu sa zagadenjem zraka. Posmatrajmo sljedeću situaciju:
5
Primjer 3 Pretpostavimo da n igrača želi da pošalje informaciju kroz ka-
nal maksimalnog kapaciteta 1. Svaki igrač ima beskonačno mnogo strategija,
igrač i može da pošalje xi jedinica za bilo koje xi izmedu 0 i 1. Pretposta-
vimo da svaki igrač želi da koristi što više kanala, ali i to da propusni opseg
kanala opada kako raste iskorištenost kanala.
Pn Igrač i koji pošalje xi jedinica
informacija dobija vrijednost 0 ako je i=1 xi veće od 1(možemo reći Pnda in-
formacija ne prode kroz kanal). U suprotnom igrač dobija xi (1 − j=1 xj )
kanala. Primijetimo da igrač povećavanjem ukupnog korištenja kanala os-
talih igrača gubi vrijednost kanala koju dobija, dok povećavanjem jedinica
koje pošalje kroz kanal u zavisnosti od vrijednosti ostalih xk jedinica se može
povećati i smanjiti vrijednost koju će dobiti igrač i.
6
Slika 3: Igra koordinacije
Primjer 4 Muž i žena odlučuju šta će raditi u subotu naveče, oboje biraju
izmedu dvije opcije: odlazak na fudbalsku utakmicu i odlazak na balet. Muž
želi da ide na utakmicu, žena želi da ide na balet, ali oboje više od toga žele
da budu zajedno. Možemo reći da ako oboje odu na fudbal muž će dobiti
6 kredita, a žena 5 kredita. Ako ipak bude onako kako bi žena željela muž
dobija 5, a žena 6 kredita. Ako muž ode na fudbal, a žena na balet dobijaju
po 2 kredita. Ako eventualno muž ode na balet, a žena na fudbal dobijaju
po 1 kredit(kreditom ovdje podrazumijevamo količinu sreće igrača). Ovo je
predstavljeno tabelom na slici 3.
Jasno je da dva stanja u kojima oni idu na različita mjesta nisu stabilna
jer u oba slučaja bi oboje htjeli promijeniti odluku(jer im to donosi više
kredita). S druge strane oba stanja u kojima oni biraju isto su stabilna, jer
nijedno promjenom svoje odluke(pretpostavljajući da partner neće mijenjati
odluku) ne može povećati broj dobijenih kredita.
7
Slika 4: Igra rutiranja
8
Slika 5: Igra slaganja novčića
9
2.2 Definisanje igara
Dosad smo pričali o primjerima nekih klasičnih igara. Spominjali smo stra-
tegije, troškove i kredite, ali sad ćemo o tome govoriti formalnije. Tačnije,
definisat ćemo simultane jednopotezne igre, igre u kojima svaki igrač ima
skup mogućih strategija koje može igrati i bira jednu od tih strategija. U
zavisnosti od toga koju strategiju je odigrao svaki od igrača, igrači dobivaju
svoje nagrade i troškove.
Formalno, igra se sastoji od skupa od n igrača, {1, 2, 3, ..., n}. Svaki igrač
i ima skup mogućih strategija Si . Da bi igrao, svaki igrač bira strategiju si
iz Si .Označavat ćemo sa s = (s1 , s2 , ..., sn ) vektor strategija odabranih od
igrača i sa S =×i Si skup svih mogućih načina na koje igrači mogu izabrati
strategije.
Vektor strategija s iz S odabranih od igrača jednoznačno odreduje na-
gradu(odnosno trošak) svakog od igrača na kraju igre. Generalno će svaki
od igrača imati različitu nagradu(odnosno trošak). Za svakog igrača i de-
finišemo funkciju ui = ui (s) koja uzima vrijednosti iz skupa S i koja daje
vrijednosti iz skupa realnih brojeva. Primijetimo da je moguće da ova funk-
cija prima pozitivne vrijednosti(kada igrač i dobija nagradu), kao i da je
moguće da prima negativne vrijednosti(kada igrač i ima kaznu) i naravno
funkcija može davati i nulu(kada igrač i nema ni nagradu ni kaznu). Ovu
funkciju ćemo u daljem radu zvati funkcija utilitarnosti ili funkcija korisnosti.
Objasnimo sada na primjeru igre Slaganja novčića definisane pojmove.
U ovoj igri imamo dva igrača, igrač 1 i igrač 2. Skup mogućih strategija
S1 igrača 1 je {H, T }(H-Pismo i T-Glava). Primijetimo da u ovoj igri oba
igrača imaju isti skup strategija. Ako igrač 1 odabere Pismo, a igrač 2
Glavu tada je vektor strategija (H, T ) i igrač 1 dobija u1 ((H, T )) = −1, a
igrač 2 u2 ((H, T )) = 1. Skup svih mogućih strategija igrača sadrži 4 člana,
(H, H),(H, T ),(T, H) i (T, T ).
Ono što smo mogli uočiti kod zatvoreničke dileme i sličnih igara(igra
kontrole zagadenja) je da je svaki igrač imao dominantnu strategiju, što znači
da je za svakog igrača postojala strategija bolja od bilo koje druge neovisno
od toga koje strategije ostali igrači koristili. Ovo zadovoljava jako mali broj
igara. Ako za igru vrijedi da svaki igrač ima dominantnu strategiju, kažemo
da ima rješenje dominantnih strategija.
Formalno rečeno, za vektor strategija s iz S sa si označavamo strategiju
igrača i, neka je s−i (n − 1)-dimenzionalni vektor strategija igranih od ostalih
igrača. Funkciju utilitarnosti sada možemo napisati i kao ui = ui (si , s−i )
10
i ovu oznaku ćemo koristiti kada je to prigodnije. Koristeći ovu notaciju
možemo reći da je vektor strategija s iz S rješenje dominantnih strategija
ako za svakog igrača i, i za svaki alternativni vektor strategija s′ vrijedi
ui (si , s’−i )≥ui (s’i , s’−i )(svaki igrač ima dominantnu strategiju).
Ono što je važno je da primijetimo da rješenje dominantnih strategija
ne mora biti optimalno ni za jednog igrača(ustvari u zatvoreničkoj dilemi i
sličnim igrama i nije), iako na prvi pogled nam izgeda da je optimalno za sve
igrače.
Sada posmatrajmo igre kod kojih ne postoji rješenje dominantnih strate-
gija. To znači da postoji barem jedan igrač koji nema dominantnu strategiju.
Pokušavajući predvidjeti najvjerovatniji ishod ovih igara dolazimo do defi-
nicije Nešovog ekvilibrijuma, odnosno Nešove ravnoteže. Nešov ekvilibrijum
neke igre je ustvari stabilno stanje igre o kojem smo govorili u igri Bitka
polova. Stanje igre je Nešov ekvilibrijum te igre ako nijedan igrač ne može
promjenom svoje strategije poboljšati svoju nagradu(smanjiti trošak) pret-
postavljajući da će ostali igrači igrati isto.
Formalno rečeno, vektor strategija s iz S je Nešov ekvilibrijum igre ako za
sve igrače i i za sve alternativne strategije s’i vrijedi ui (si , s−i ) >=ui (s’i , s−i ).
Drugim riječima, ako igrač i promijeni strategiju si u s’i , pretpostavljajući
da će ostali igrači igrati isto, vrijednost koju daje njegova funkcija korisnosti
se može samo smanjiti. Zbog toga smo dosad spominjali Nešov ekvilibrijum
u kontekstu stabilnih stanja, jer primijetimo da jednom kada igrači dodu u
Nešov ekvilibrijum, nijednom od njih se ne isplati da mijenja svoju strategiju.
Sada primijetimo da je Nešov ekvilibrijum proširenje pojma rješenja do-
minantnih strategija, jer ako je neko stanje rješenje dominantnih strategija,
to stanje je i Nešov ekvilibrijum. Ako je to rješenje ustvari rješenje strik-
tno dominantnih strategija(mijenjajući svoju strategiju igrač uvijek smanjuje
svoju nagradu), Nešov ekvilibrijum je jedinstven. To u generalnom ne vrijedi,
vidjeli smo na primjeru igre Bitka spolova kada imamo 2 Nešova ekvilibri-
juma(naravno, može ih biti i više).
Sada možemo da se zapitamo, da li Nešov ekvilibrijum uvijek postoji?
Odgovor je negativan i to vidimo na primjeru igre Slaganja novčića(već smo
konstatovali da ova igra nema stabilno stanje). Ovo nas dovodi do proširenja
definicije Nešovog ekvilibrijuma, Nešov ekvilibrijuma za mješovite strategije.
Već smo spominjali da je najbolja strategija igrača u igri Slaganja novčića
bila da randomizuje svoju strategiju kako ga drugi igrač ne bi mogao pre-
dvidjeti. Tačnije najbolja moguća strategija je da igra oba poteza sa vjero-
vatnoćom 1/2(ako bi neki potez igrao više to bi drugi igrač mogao iskoris-
11
titi). Ako bi neki od igrača igrao tu strategiju primijetimo da će drugi igrač
imati očekivanu dobit 0 nebitno kako igrao. I sada primijetimo da u slučaju
da oba igrača igraju ovu strategiju nijedan promjenom svoje strategije ne
može povećati nagradu. Strategije koje igraju igrači u ovom slučaju zovemo
mješovite strategije.
Mješovita strategija nekog igrača je, formalno rečeno, distribucija vjero-
vatnoće na skupu njegovih strategija. Vektor mješovitih strategija je u ovom
slučaju distribucija vjerovatnoće na skupu vektora strategija S. Za kraj
uvoda u Teoriju igara navodimo jedan od najfascinantnijih rezultata teorije
igara - Nešova teorema.
12
3 Algoritamski dizajn mehanizama
Kao što smo već naveli, algoritamski dizajn mehanizama je nova oblast,
oblast čiji su temelji postavljeni 1999. godine u radu Noam Nisana i Amir
Ronena. Ova oblast proučava probleme optimizacije u kojima neke informa-
cije poput količine ili troška nekog resursa dizajneru algoritma nisu poznate i
moramo ih na neki način saznati od ”sebičnih” agenata, agenata koji gledaju
samo svoju korist.
Klasični primjeri su primjeri aukcija u kojima nam je nepoznata želja
onih koji kupuju proizvod(koliko bi ga najviše platili) i u kojima je problem
optimiziranja rasporediti proizvode koje prodajemo da bi maksimizirali pri-
hode. ”Mehanizam” je protokol po kojem radimo sa učesnicima(”sebičnim”
agentima) i koji na kraju rješava problem optimiziranja.
U nastavku ćemo se upoznati sa najpoznatijim protokolom za aukcije sa
jednim proizvodom.
13
• Plati svoju ponudu: Druga prirodna ideja je da jednostavno po-
bjednik plati onoliko koliko je ponudio. Ovaj mehanizam bi takoder
bio podoban za manipulaciju. Naime, problem je što pobjednik u tom
slučaju, ako je ponudio svoju stvarnu cijenu, dobija nagradu 0. Jasno je
da mu je logičnije da ponudi neki broj koji je manji, jer tako povećava
mogućnost da zaradi(a i dalje ni na koji način ne može izgubiti). Nije
očigledno koliko bi igrač trebao da ponudi. Kakogod, ne isplati mu se
da nudi svoju stvarnu cijenu.
Nakon što smo vidjeli dvije prirodne ideje koje nisu zadovoljile, prelazimo
na jednu koja iznenadujuće dobro rješava naš problem.
Dokaz:
Pretpostavimo da će igrač i pobijediti ako kaže svoju stvarnu cijenu wi .
Ako bi ponudio bilo koju vrijednost veću od druge najveće ponude, njegova
nagrada se ne bi promijenila(zaradio bi wi −p, gdje je p druga najveća ponuda
na aukciji), a ako bi ponudio manje od nje tada bi dobio 0 što je još manje.
Pretpostavimo sada da će igrač izgubiti ako kaže svoju stvarnu cijenu. Tada,
ako ponudi bilo koju vrijednost manju od najveće ponude, dobit će 0, a
ako kaže vrijednost veću od najveće ponude osvojit će aukciju, ali će dobiti
nagradu manju ili jednaku 0, budući da je tada platio više od svoje stvarne
cijene. Zaključujemo da igrač ni u kojem slučaju ne može poboljšati svoju
nagradu tako što ponudi cijenu različitu od svoje stvarne cijene wi .
Da bi mogli zaključiti da smo ovim protokolom aukcije dobili ono što
želimo, da svi igrači kažu svoju stvarnu cijenu proizvoda, moramo dodati
neke pretpostavke. Inače, nije moguće predvidjeti ishod neke igre bez pret-
postavki o ponašanju igrača. Ono što je dobro za ovu aukciju je da ne
moramo pretpostavljati da igrači igraju racionalno(da u svakom momentu
14
biraju ono što je bolje za njih). Dovoljno je pretpostaviti da će igrač ako
ima dominantnu strategiju uvijek izabrati nju. Naime, to znači da ako igrač
ima strategiju koja je bolja od svih ostalih kako god ostali igrači igrali, on će
koristiti tu strategiju.
Navedimo nekoliko važnih osobina Wickrey-ove aukcije:
15
Slika 6: Google pretraga
16
ova aukcija u ovom slučaju. Ta aukcija bi trebala zadovoljavati osobine:
17
Neka su ponude oglašivača bile b1 ≥b2 ≥...≥bn . Već smo rekli da ćemo
oglašivaču koji je ponudio bi davati i-to mjesto od vrha stranice. Neka on za
to mjesto plati bi+1 , ponudu koju je ponudio oglašivač koji je bio odmah iza
njega.
Budući da je ova aukcija generalizacija Wickrey-ove aukcije, za očekivati
je bilo da dobijemo osobine koje nam trebaju. Ova aukcija zaista ima neke
osobine(već smo vidjeli da zadovoljava osobine 2 i 3 Wickrey-ove aukcije), ali
u slučaju ove aukcije nudenje stvarne cijene igračima i nije uvijek dominantna
strategija. Pogledajmo to na sljedećem primjeru:
Pretpostavimo da k od n oglašivača ima otprilike istu stvarnu procjenu
”mjesta” dok ostalih n-k igrača puno manje vrednuje ”mjesta”. Sada pret-
postavimo da su svi ponudili svoju stvarnu cijenu. Tada će igrač koji osvoji
k-to mjesto platiti puno manje od ostalih igrača jer on plaća bk+1 . Sada je
jasno da će svaki od igrača prije željeti da dobije k-to ”mjesto” ako će platiti
puno manje, nego neka od prvih k-1 mjesta, pošto bi tada platio otprilike
svoju stvarnu cijenu. Konkretno možemo staviti vi = M za i≤k i vi = m za
i > k, pri čemu je M neki veliki broj, a m neki mali broj. Sada primijetimo
da je puno bolje za nekog od k igrača koji cijene ”mjesta” više da ponudi
neki broj manji od M, jer ako svi ostali ponude svoju stvarnu cijenu, on će
za k-to mjesto platiti m, što je puno bolje nego za neka od prvih k-1 mjesta
platiti M i ovo vrijedi neovisno od n,k i vrijednosti a1 , a2 , ..., an za dovoljno
veliko M(ili dovoljno malo m).
Iz ovog zaključujemo da igraču koji igra ovu aukciju nije dominantna
strategija da ponudi svoju stvarnu cijenu, jer smo naveli primjer kada je
igraču puno bolje da ponudi neku drugu cijenu. Uprkos ovome, ova aukcija
se koristi na većini pretraživača. Već smo naveli da ova aukcija ima neke fine
osobine i ne bi bilo čudno to što je pretraživači koriste da ne postoji aukcija
kod koje su zadovoljene sve tri osobine Wickrey-ove aukcije. U ovom radu
mi je nećemo navoditi, samo ćemo kazati da je jedinstvena.
18
4 Zaključak
Prvo poglavlje ovog rada upućuje čitatelja u svijet teorije igara i prikazuje
kako se situacije koje dolaze u kontekstu Interneta mogu modelirati nekim
klasičnim igrama. Cilj prvog dijela rada nije samo da predstavi osnove teorije
igara, nego i da predstavi čitatelju drugačiji pogled na neke životne situacije.
Drugo poglavlje rada bi trebalo da upozna čitatelja sa oblasti algoritam-
ske teorije igara, relativno nove oblasti. Kako je algoritamska teorija igara
značajna oblast u modernoj nauci i predmet aktivnih istraživanja, vrijedi se
upoznati sa osnovnim konceptima ove discipline.
5 Literatura
[1] Noam Nisan, Tim Roughgarden, Eva Tardos, Vijay V. Vazirani: Algorit-
hmic Game Theory, 2007
[2] Joseph Y. Halpern: Computer Science and Game Theory: A Brief
Survey, 2007
[3] Tim Roughgarden: Algorithmic Game Theory, 2009
19