Sunteți pe pagina 1din 15

31.03.

2016

Cutarea i teoria jocurilor

Buzic Ioana-Adriana
Frona Alina
Necula Dan

Jocurile i inteligena artificial


John von Neumann i Oskar Morgenstern au definit
jocul(1944) ca orice interaciune ntre diveri ageni,
guvernat de un set de reguli specifice care stabilesc mutrile
posibile ale fiecrui participant i ctigurile pentru fiecare
combinaie de mutri. Jocurile sunt primele domenii de
aplicare a IA(performana uor de msurat, reguli simple i
precise).
Teoria jocurilor abordeaz problema comportamentului
optim n jocurile cu dou sau mai multe persoane, ntr-un
cadru descris de un ansamblu de reguli precise care stabilesc
posibilitile de aciune ale fiecarui jucator, precum i
modul cum li se acorda acestora, n final, anumite valori.
Teoria jocurilor utilizeaz trei ipoteze fundamentale:
juctorii se comport raional;
fiecare tie c ceilali sunt raionali;
toi juctorii cunosc regulile jocului.
1

31.03.2016

Elemente ale teoriei jocurilor

Funcia de ctig a jocului este funcia u = (u1, u2, ...un), format din
funciile de ctig ale fiecrui juctor. Notnd funcia de ctig a fiecrui
juctor ui i funciile de ctig ale celorlali juctori u-i, funcia de ctig a
jocului va fi: u : S R, u = (ui, u-i).
Strategia este mulimea aciunilor unui juctor cu scopul de a-i atinge
obiectivele. Numim strategie optimal acea strategie care maximizeaz
ctigul juctorului i, indiferent de strategiile alese de ceilali juctori.
Spunem c un joc merge spre un Echilibru Nash(John Nash), dac
strategiile ambilor juctori, i vor duce pe acetia la acelai ctig, innd
cont de strategia adversarului.
Dac exist un set de strategii cu proprietatea c nici unul dintre juctori
nu poate obine un beneficiu superior prin schimbarea unilateral a
propriei strategii, atunci setul respectiv i utilitaile asociate constituie un
punct de echilibru Nash.

Clasificarea jocurilor

Dup modul n care juctorii comunic intre ei:


- Jocuri cooperative, n care juctorii comunic intre ei nainte de luarea deciziilor i pot
face promisiuni, care vor fi respectate, nainte de alegerea strategiilor.
Jocuri necooperative. Juctorii nu comunic intre ei nainte de luarea deciziilor.
n raport cu desfurarea n timp a jocurilor:
- Jocuri statice; deciziile se iau simultan, dup care jocul ia sfrit.
- Jocuri dinamice; deciziile juctorilor sunt secveniale, adic evolueaz n timp.
Dup natura informaiei:
- Jocul n informaie complet, este tipul de joc n care toi juctorii cunosc numrul
celorlali juctori, strategiile fiecruia, funciile de ctig ale fiecruia, precum i regulile
jocului.
- Jocul n informaie incomplet, este jocul n care cel puin unul dintre juctori nu cunoate
una sau mai multe funcii de ctig ale celorlali juctori.
n raport cu tipul informaiei, n cazul jocurilor dinamice:
- Joc dinamic n informaie perfect, este acel joc dinamic n care fiecare dintre juctori
cunoate regulile, numrul juctorilor, strategiile acestora, precum i evoluia n timp a
jocului (istoria jocului)
- Joc dinamic n informaie imperfect, este acel joc n care cel puin unul dintre juctori nu
cunoate istoria jocului, cunoscnd ns celelalte elemente.
n raport cu structura ctigurilor:
- Jocul de sum nula, jocul n care suma ctigurilor este zero.
- Jocul de sum nenul, jocul n care suma ctigurilor este diferit de zero.

31.03.2016

Jocuri n form extins i jocuri n


form normalizat
Exist jocuri care implic elemente aleatoare numite i ans, care intervin
atunci cnd se arunc zarurile sau se extrage o carte. Toate aceste mutri
sunt atribuite unui juctor ans un juctor fictiv folosit doar pentru o
bun abstractizare a jocului.
Spunem ca un joc este n forma extins, atunci cnd acesta este specificat
de o list de reguli. Pentru rezolvarea matematic a unui joc, avem ns
nevoie de jocuri n form normalizat. Pentru aceasta este nevoie s
cunoatem o list complet cu toate combinaiile de mutri legale posibile,
pe care un juctor poate s le fac pentru fiecare situaie care apare pe
parcursul unui joc.
Pentru jocurile de 2 juctori, cea mai simpl metod de stocare a acestora
este folosind matrice bidimensionale .

Dilema prizonierilor
Doi prizonieri sunt chestionai de poliie. Poliia tie ceva de
despre ce au fcut, dar nu are toate informaiile. Ca s afle, i
bag n doua celule separate i i interogheaz.
Prizonierii au dou opiuni: pot spune toat povestea (adic
s trdeze) sau pot s nu spun nimic (cooperare). Niciun
prizonier nu tie ce va spune celalalt.
Dac amndoi coopereaz (adic tac), ambii iau sentin
uoar (1 an).
Dac unul trdeaz i cellalt coopereaz, trdtorul e
liber, iar cel trdat primete 10 ani de nchisoare.
Dac ambii trdeaz, fiecare ia 5 ani de detenie.

31.03.2016

Vntoarea de cerbi/iepuri
Doi indivizi merg la vntoare. Fiecare poate
alege individual s vneze un cerb sau un
iepure i trebuie s fac alegerea fr s tie
ce a ales celalalt.
Dac unul alege un cerb, are nevoie de
cooperarea celuilalt ca s reueasc.
Fiecare poate vna un iepure de unul singur,
dar un iepure valoreaz mai puin dect un
cerb.

31.03.2016

Aplicabilitate

Economie : Dac dou companii aleg s fac reclam n o anumit


perioad, ambele se anuleaz reciproc, dar costurile rmn. Cantitatea
de reclam a uneia depinde direct de cantitatea de reclam pe care o
face cealalt.
Membrii unui cartel sunt implicai ntr-un astfel de joc cu mai
multi juctori. Cooperare in acest caz nseamn s in preurile la un
minim prestabilit. Trdarea vine de la vnzarea sub minimul prestabilit.
Sport : Doi cicliti aflai n faa plutonului (grupului masiv) poart
consecutiv trena (coopereaz) pentru a nu fi ajuni din urm. De multe
ori, doar unul duce trena (coopereaz), iar la linia de sosire este trdat de
adversar.
Sociologie : Cnd cunoatem o noua persoan, tindem s fim foarte
ateni pentru a avea o poziie de sigurant (competiie). Ambii pot
semnala dorina de a se muta de la poziiile defensive ctre interaciune
s recunoaterea unei intenii comune.
Corporaii
Rzboi

31.03.2016

Jocul ca problem de cutare


Implementarea: Codificarea jocului astfel
ncat s fie pe nelesul caculatorului
Structura: jocul gndit ca un arbore ce conine
toate strile viitoare ale jocului
Exemplu: jocul de ah cu stri ce reprezint modul de
aranjare a pieselor pe tabl, precum i cine face
urmtoarea mutare
Stare iniial: rdcina arborelui
Fii arborelui: fiecare mutare posibil executat de un
juctor, reprezentnd starea jocului
Stare final: reprezentat prin frunzele arborelui din
care nu se va mai face nici o mutare -> un jucator a
castigat sau remiza

Componentele unei probleme de


cutare
Jocul privit ca o problem de cautare ce va avea
urmtoarele componente:
Starea iniial, include poziiile pe tabla de joc i cine este la
mutare.
Mulime de aciuni, care definesc mutrile admise pe care
le poate efectua un juctor.
Stare terminal, care determin cnd se sfrete jocul.
Strile n care jocul se ncheie se numesc stri terminale.
Funcie de utilitate, care ntoarce o valoare numeric
pentru rezultatul jocului. De ex. n ah posibilitile sunt 1
pentru victorie, 0 pentru egalitate i -1 pentru nfrngere.

31.03.2016

Decizii perfecte n jocuri de dou


persoane
Caz general dou persoane MIN i MAX
MAX este primul juctor ce va face mutarea
iar apoi mutrile se vor face pe rnd pn la
sfritul jocului
La sfrit, pierztorul este penalizat iar
punctele se atribuie juctorului care ctig

Descrierea formal a unui joc


Un joc poate fi definit formal ca o problem de cutare
cu urmtoarele componente:
Starea initiala include poziiile de pe tabl i cine este cel
care este la mutare.
O mulime de aciuni care definesc mutrile admise pe
care le poate face un juctor.
O stare terminal care determin cnd se sfreste jocul.
Strile n care jocul se ncheie se numesc stri terminale.
O funcie de utilitate care ntoarce o valoare numeric
pentru rezultatul jocului.
n general, posibilitile sunt victorie, egal sau nfrngere
care pot fi reprezentate ca 1, 0 sau -1.

31.03.2016

Decizii perfecte n jocuri de dou


persoane
MAX trebuie s gseasc o strategie care s l
duc la o stare terminal n care el este
ctigtorul, indiferent de ce mutri face MIN
Strategia presupune c MAX face mutrile
corecte, indiferent de mutrile lui MIN
Ideea este de a arta cum se gsete o
strategie optim, chiar dac n mod normal nu
este timp suficient s o gsim.

Aplicaia X O
Importan
Managementul sistemelor informatice
Abilitatea de a asocia situaii spre aciuni care s
conduc la maximizarea unei recompense
numerice
Precum n cele mai multe forme de instruire a
mainilor, nu tim ce aciuni trebuie fcute dar
ncercndu-le pe toate, trebuie s descoperim
aciunile ce aduc cea mai mare recompens

31.03.2016

Aplicaia X O
Doi juctori mut pe rnd folosind o tabla de
joc de dimensiune 3 x 3. Unul dintre ei joac
cu X, iar cellalt cu O, pn cnd unul
dintre ei ctig, reuind s plaseze trei semne
de-ale sale pe o linie, coloan sau diagonal.
Dac nici un juctor nu reuete aceasta i
toat tabla este completat, jocul se ncheie la
egalitate

X i 0, reprezentarea jocului sub form


de arbore

31.03.2016

X i 0 - reprezentare
De la starea iniial, MAX are posibilitatea de a alege din 9
stri posibile
Juctorii alterneaz punnd X i 0 pn cnd se ajunge la o
stare terminal stare n care un juctor are trei elemente
pe o linie, coloan sau diagonal ori toate casuele sunt
completate
Numrul ataat la fiecare nod frunz se refer la utilitatea
strii terminale pentru jucatorul MAX
Valorile mari sunt considerate bune pentru MAX i proaste
pentru MIN (i invers), de aici i numele celor doi juctori
Sarcina lui MAX este s foloseasc arborele de cutare
pentru a determina cele mai bune mutri, innd cont de
utilitile strilor terminale

Definirea jocului
Un joc poate fi definit prin:
Starea iniial (cum sunt elementele aranjate
iniial)
Aciunile posibile (unde sunt definite mutrile
permise)
Un test terminal (care spune dac jocul s-a
terminat)
O funcie de utilitate (care spune cine a catigat i
cu ce scor)

10

31.03.2016

Minimax
Minimax este considerat la scar larg ca fiind algoritmul
de baz n rezolvarea jocurilor, ns vom vedea c are
multe deficiene.
n primul rnd complexitatea lui este una exponenial
ceea ce-l face greu de adaptat unui joc cu multe stri cum
ar fi ahul sau tablele.
Un alt dezavantaj este acela c Minimax pleac mereu de
la premisa c adversarul su face cea mai bun mutare
posibil, ceea ce n multe cazuri nu se ntmpl.

Minimax (2)
Alternativa pe care o propunem acestei abordri
tradiionale este nvarea prin ntrire bazat pe diferena
ntre estimrile unor sri ale jocului n diferite momente.
Vom ncerca s proiectm un agent inteligent care
cunoscnd doar regulile de baz ale jocului, s nvee s
joace la un nivel expert, fr a fi supravegheat de un om.
Ne-am oprit la jocul Tic-Tac-Toe, unul tipic pentru
abordarea Minimax, i vom ncerca s artm c nvarea
este intr-adevr o alternativ viabil, cu cerine minime.

11

31.03.2016

Algoritmul Minimax
Algoritmul Minimax este un algoritm de cutare ntr-un
arbore. Acest algoritm urmrete selectarea celei mai bune
mutri pentru calculator, ntr-un joc cu doi juctori. Mai nti
se construiete arborele de joc cu toate mutrile posibile
pentru ambii juctori.

Acest algoritm este denumit Minimax, deoarece calculatorul


face mutarea care-i ofer ctigul maxim, n acelai timp
asigurndu-se c oponentul face mutarea cea mai
defavorabil calculatorului. Deoarece mutrile alterneaz, i
algoritmul alterneaz maximiznd i minimiznd nivelele
arborelui n mod recursiv.

Minimax
n continuare vom considera cazul unui joc simplu cu
dou persoane, pe care le vom numi sugestiv MAX i
MIN. Primul care mut primul este MAX, apoi mut pe
rnd, pn la sfritul jocului, cnd unul este premiat
iar cellalt penalizat. MAX trebuie s gseasc o strategie
care s l aduc la o stare terminal n care el este
ctigtorul, indiferent de mutrile pe care le face MIN.
Strategia presupune c MAX face mutrile corecte,
indiferent de mutrile lui MIN. Ideea este de a arta cum
se gsete o strategie optim, chiar dac nu este timp
suficient s o gsim

12

31.03.2016

Arborele de cautare

Paii algoritmului Minimax


Algoritmul Minimax, care determin strategia optim pentru
juctorul MAX, const n 5 pai:
1. Genereaz arborele de joc pn la strile terminale
2. Aplic funcia de utilitate pentru fiecare stare terminal,
pentru a i determina valoarea.
3. Folosete utilitatea strilor terminale pentru a determina
utilitatea strilor de la un nivel superior al arborelui.
4. Continu evaluarea utilitii nodurilor pn ajunge la
rdcin.

13

31.03.2016

Paii algoritmului Minimax (2)


5. Cnd se ajunge la rdcin, MAX alege
nodul de pe nivelul inferior cu valoarea cea
mai mare.

Invatarea prin intarire


Idee de baz a nvrii prin ntrire este urmtoarea: agentul
care nva observ nite date sau un model de intrare, i
produce un semnal de ieire (numit i aciune sau semnal de
control). Imediat, agentul primete de la mediu o recompens
sau un feed-back de ntrire, care i arat ct de bun sau ct de
ru a fost semnalul de ieire. Scopul nvrii este de a genera
cele mai bune aciuni care duc la un ctig maxim. De multe ori
aceast recompens este ntrziat, ea vine la sfritul unei
lungi secvene de intrri i ieiri. Astfel cel care nva, trebuie
s figureze 33 modul n care distribuie ctigul i penalizrile
pentru diferitele intrri, ieirile conducnd spre semnalul final
de recompens.

14

31.03.2016

Interaciunea dintre agent i


mediu

15