Curs12 - PowerPoint PPT Presentation

wattan
curs12 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Curs12 PowerPoint Presentation
play fullscreen
1 / 61
Download Presentation
Curs12
111 Views
Download Presentation

Curs12

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Curs12 Jocuri

  2. Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea jocului • Doar unul poate câştiga • În modelarea iniţială nu intervine şansa • dar ea poate fi simulată • Exemple: • şah • checkers • tic-tac-toe • ...

  3. Jocul tic-tac-toe MIN joacă cu O-uri MAX joacă cu X-uri

  4. Jocul tic-tac-toe MAX

  5. Jocul tic-tac-toe MIN

  6. Jocul tic-tac-toe MAX

  7. Jocul tic-tac-toe MIN

  8. Jocul tic-tac-toe MAX

  9. Jocul tic-tac-toe MIN

  10. Jocul tic-tac-toe MAX

  11. Jocul tic-tac-toe MIN

  12. Jocul tic-tac-toe MAX Remiză!

  13. Jocul tic-tac-toe

  14. Jocul tic-tac-toe MAX

  15. Jocul tic-tac-toe MIN

  16. Jocul tic-tac-toe MAX

  17. Jocul tic-tac-toe MIN

  18. Jocul tic-tac-toe MAX

  19. Jocul tic-tac-toe MIN

  20. Jocul tic-tac-toe MAX

  21. Jocul tic-tac-toe MAXcâştigă

  22. Reprezentarea ca o problemă de IA • Problemă versus instanţă • Spaţiul stărilor: • o stare: poziţia pe tabla a semnelor între două mutări • dimensiunea spaţiului: < 9+8.9+7.8.9+…+9! < 9.9! • Reprezentarea unei stări: • o matrice 3x3 • Reprezentarea unei tranziţii • algoritmic (în abordarea de faţă) • Cum controlăm evoluţia jocului? • metoda MIN-MAX • metoda ALPHA-BETA

  23. o clasă de simetrie Arborele de joc MAX

  24. Arborele de joc MAX MIN

  25. Arborele de joc MAX MIN

  26. Arborele de joc MAX MIN

  27. Arborele de joc MAX MIN

  28. Valoarea unei stări Câştig pentru MAX: +

  29. Valoarea unei stări Câştig pentru MIN: -

  30. 1 2 3 4 5 6 7 8 Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN.

  31. 3 = 1 2 3 4 5 Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. - 8

  32. Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. Liniile fără nici un semn pot fi luate de ambii jucători...

  33. Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. Liniile fără nici un semn pot fi luate de ambii jucători...

  34. Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. Liniile fără nici un semn pot fi luate de ambii jucători...

  35. Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. Liniile fără nici un semn pot fi luate de ambii jucători...

  36. Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. Liniile fără nici un semn pot fi luate de ambii jucători...

  37. Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. Liniile fără nici un semn pot fi luate de ambii jucători...

  38. Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. Liniile fără nici un semn pot fi luate de ambii jucători...

  39. Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. Liniile fără nici un semn pot fi luate de ambii jucători...

  40. - 3 = 0 3 Evaluarea unei stări • O stare este mai bună dacă deschide mai multe posibilităţi de câştig până la sfârşitul jocului. • Un exemplu de funcţie de evaluare: • valoarea stării este diferenţa dintre numărul de linii pe care le mai poate completa MAX şi cele pe care le mai poate completa MIN. Liniile fără nici un semn pot fi luate de ambii jucători...

  41. - -1 = 2 1 2 3 3 Evaluarea unei stări

  42. Evaluarea: de jos în sus MAX MIN 1 0 0 -1 1

  43. Evaluarea: de jos în sus MAX MIN 1 0 0 -1 -1 -1 1

  44. Evaluarea: de jos în sus MAX -1 MIN 1 0 0 -1 1 -1 0 0 -2 -1

  45. Evaluarea: de jos în sus MAX -1 MIN 1 0 0 -1 1 -1 0 0 -2 -2 -1

  46. Evaluarea: de jos în sus MAX -1 -2 MIN 1 1 2 0 0 -1 1 -1 0 0 -2 -2 -1

  47. Evaluarea: de jos în sus MAX -1 -2 MIN 1 1 1 2 0 0 -1 1 -1 0 0 -2 -2 -1

  48. Evaluarea: de jos în sus 1 MAX -1 1 -2 MIN 1 1 1 2 0 0 -1 1 -1 0 0 -2 -2 -1

  49. Evaluarea: de jos în sus O dezvoltare a spaţiului de joc pe o adâncime de 2 duce la concluzia că jucătorul care joacă primul are o şansă de câştig în plus MAX alege mutarea cea mai bună pentru el 1 MAX -1 1 -2 MIN 1 1 1 2 0 0 -1 1 -1 MAX gândeşte: MIN alege mutarea cea mai bună pentru el = cea mai proastă pentru mine 0 0 -2 -2 -1

  50. Apelul: min-max( ,MAX,2) Metoda MIN-MAX procedure min-max(state, player, depth) begin if (depth = 0) thenreturn score(state); val = worst(player); while (mai sunt stări de generat) begin generez o stare -> s; val <- back-up-compare(val, min-max(s, not(player), depth-1), player); // următoarea mişcare micşorează spaţiul de căutare în cazul în care se obţine poziţia de câştig într-una // din stările generate: if (val = -worst(player)) return(val); end return(val); end procedure worst(player) begin ifplayer = MAX thenreturn -; elsereturn +; end procedure back-up-compare(val1, val2, player) begin ifplayer = MAX then return max(val1, val2); else return min(val1, val2); end