PROIECT MOTHELLO

 
 M  E  N  I U
 
 [Introducere]
 ...[Teoria jocului]
 [Algoritmul MiniMax]
 [Alfa-Beta prunning]
 [Detalii tehnice]
 [Go Play]
 
 [Pagina welcome]
 [Back]
 

Jocul Othello se inscrie in seria jocurilor strategice care au reprezentat pentru specialisti o provocare continua in a face calculatorul "sa gandeasca" pentru a invinge oponentul uman. Chiar si unele mari companii au investit multi bani pentru a produce software si chiar hardware in acest scop. Un exemplu este vestitul "Deep Blue" al lui IBM, care in numeroase randuri a invins campioni in acest joc. Si totusi, oricat de performant s-a dovedit soft-ul sau hard-ul, in multe randuri oponentul uman castiga, pentru ca, spre deosebire de calculator, dispune de cele mai multe ori si de spontaneitate.
Teoria jocului reprezinta "matematizarea" strategiei. In acest sens, teorema principala a teoriei jocului este teorema MiniMax, care spune ca daca toti jucatorii implicati intr-un joc aleg mutarea cea mai buna (din punct de vedere al unei strategii rationale), atunci rezultatul jocului poate fi determinat. Iata cateva exemple de jocuri care pot fi modelate si analizate folosind teoria jocului:

  • Jocuri Random vs. Jocuri non-random. - Jocurile random contin cate un element aleator, ca de exemplu: aruncarea zarurilor, amestecarea cartilor, etc.(ex: table, poker) Jocurile non-random sunt jocuri de pura strategie. ex: dame, sah, reversi
  • "Vizibilitate totala" vs. "Vizibilitate partiala". - Jocurile cu "vizibilitate perfecta" sunt jocurile in care toate aspectele sunt vizibile tuturor jucatorilor implicati. Ex: Sah, Dame, Monopoly. Jocurile cu "vizibiliate partiala" contin aspecte ascunse, in sensul ca in analiza unei mutari un anumit jucator se bazeaza doar pe o parte din informatia care descrie starea jocului la acel moment de timp. De exemplu: jocurile de carti, "avioane"
  • Jocuri cu 1 jucator, 2 jucatori,...,n jucatori - Din acest punct de vedere exista jocuri din cele mai variate: puzzle (1 jucator), sah, reversi (2 jucatori), loteria (foarte multi jucatori)
  • Jocuri "suma-zero" vs. "suma-nonzero"In jocurile cu "suma-zero" valoarea totala a jocului ramane aceeasi sau scade De exemplu, la poker (intr-un caz ipotetic), se pleaca cu aceeasi suma de bani pentru fiecare player, si la un moment suma totala de la masa de joc este aceeasi ca la inceput (cu diferenta ca este altfel distribuita). Jocurile "suma-nonzero" sunt jocurile la care valoarea totala poate sa creasca si creste. De exemplu, in decursul jocului de Go piese sunt asezate pe tabla si valoarea toatala a jocului creste.
  • Privind clasificarea de mai sus, jocul Othello se inscrie in categoria jocurilor perfect deterministe, cu vizibilitate totala, ce se desfasoara intre doi jucatori. In plus, este un joc de "suma-nonzero" intru-cat la fiecare mutare o noua piesa este adaugata pe tabla, si astfel "valoarea" totala a jocului creste.

    Pentru implementarea unui jucator AI de Othello, am folosit algoritmul de cautare MiniMax in arborele de joc, imbunatatit cu "taiere" alfa-beta. In sectiunile urmatoare sunt prezentati pe larg acesti algoritmi.

     
     

    2002 copyright Cimpoesu Marius Laurentiu.