curs 8 - alexandru ioan cuza universitydcristea/cursuri/ia/2017-2018/curs8 jocuri.ppt.pdf ·...
TRANSCRIPT
![Page 1: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/1.jpg)
Curs 8
Jocuri
![Page 2: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/2.jpg)
Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea jocului • Doar unul poate câştiga sau se poate obține
remiză • În modelarea iniţială nu intervine şansa
– dar ea poate fi simulată • Exemple:
– şah – checkers – tic-tac-toe – ...
![Page 3: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/3.jpg)
Jocul tic-tac-toe
MAX joacă cu X-uri MIN joacă cu O-uri
![Page 4: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/4.jpg)
Jocul tic-tac-toe
MAX
![Page 5: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/5.jpg)
Jocul tic-tac-toe
MIN
![Page 6: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/6.jpg)
Jocul tic-tac-toe
MAX
![Page 7: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/7.jpg)
Jocul tic-tac-toe
MIN
![Page 8: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/8.jpg)
Jocul tic-tac-toe
MAX
![Page 9: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/9.jpg)
Jocul tic-tac-toe
MIN
![Page 10: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/10.jpg)
Jocul tic-tac-toe
MAX
![Page 11: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/11.jpg)
Jocul tic-tac-toe
MIN
![Page 12: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/12.jpg)
Jocul tic-tac-toe
Remiză!
MAX
![Page 13: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/13.jpg)
Jocul tic-tac-toe
![Page 14: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/14.jpg)
Jocul tic-tac-toe
MAX
![Page 15: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/15.jpg)
Jocul tic-tac-toe
MIN
![Page 16: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/16.jpg)
Jocul tic-tac-toe
MAX
![Page 17: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/17.jpg)
Jocul tic-tac-toe
MIN
![Page 18: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/18.jpg)
Jocul tic-tac-toe
MAX
![Page 19: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/19.jpg)
Jocul tic-tac-toe
MIN
![Page 20: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/20.jpg)
Jocul tic-tac-toe
MAX
![Page 21: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/21.jpg)
Jocul tic-tac-toe
MAX câştigă
![Page 22: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/22.jpg)
Reprezentarea ca o problemă de IA
1. Problemă versus instanţă 2. Spaţiul stărilor:
– o stare: poziţia pe tabla a semnelor între două mutări – dimensiunea spaţiului: 39
3. Reprezentarea unei stări: – o matrice 3x3
4. Reprezentarea unei tranziţii – algoritmic (în abordarea de faţă)
5. Cum controlăm evoluţia jocului? – metoda MIN-MAX – metoda ALPHA-BETA
![Page 23: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/23.jpg)
Arborele de joc
o clasă de simetrie
MAX
![Page 24: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/24.jpg)
Arborele de joc
MIN
MAX
![Page 25: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/25.jpg)
Arborele de joc
MIN
MAX
![Page 26: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/26.jpg)
Arborele de joc
MIN
MAX
![Page 27: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/27.jpg)
Arborele de joc
MIN
MAX
![Page 28: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/28.jpg)
Valoarea unei stări
Câştig pentru MAX: +∞
![Page 29: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/29.jpg)
Valoarea unei stări
Câştig pentru MIN: -∞
![Page 30: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/30.jpg)
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.
1 2 3 4 5 6 7 8
![Page 31: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/31.jpg)
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 - 1 2 3 4 = 3 5
![Page 32: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/32.jpg)
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...
![Page 33: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/33.jpg)
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...
![Page 34: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/34.jpg)
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...
![Page 35: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/35.jpg)
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...
![Page 36: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/36.jpg)
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...
![Page 37: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/37.jpg)
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...
![Page 38: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/38.jpg)
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...
![Page 39: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/39.jpg)
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...
![Page 40: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/40.jpg)
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...
![Page 41: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/41.jpg)
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...
![Page 42: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/42.jpg)
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... 3 - = 3 0
![Page 43: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/43.jpg)
Evaluarea unei stări
2 1 2 3 3 = -1 -
![Page 44: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/44.jpg)
Evaluarea: de jos în sus
MIN
MAX
1
0 -1 1 0
![Page 45: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/45.jpg)
Evaluarea: de jos în sus
MIN
MAX
1
0 -1 1 0 -1 -1
![Page 46: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/46.jpg)
Evaluarea: de jos în sus
MIN
MAX
1
0 -1 1 0
-1
0 -2 -1 0
-1
![Page 47: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/47.jpg)
Evaluarea: de jos în sus
MIN
MAX
1
0 -1 1 0
-1
0
-1 0
-1
-2 -2
![Page 48: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/48.jpg)
Evaluarea: de jos în sus
MIN
MAX
1
0 -1 1 0
-1
0
-1 0
-1
-2 -2
-2
1 2
![Page 49: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/49.jpg)
Evaluarea: de jos în sus
MIN
MAX
1
0 -1 1 0
-1
0
-1 0
-1
-2 -2
-2
1 2 1
![Page 50: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/50.jpg)
Evaluarea: de jos în sus
MIN
MAX
1
0 -1 1 0
-1
0
-1 0
-1
-2 -2
-2
1 2 1
1
1
![Page 51: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/51.jpg)
Evaluarea: de jos în sus
MAX -1 -2
1
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 dacă ocupă centrul
MAX alege mutarea cea mai bună pentru el
1
0
1 0
-1
0
-1 0
2
MIN -1
-2 -2
1 1
1
MAX gândeşte: MIN alege mutarea cea mai
bună pentru el = cea mai proastă pentru mine
![Page 52: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/52.jpg)
Metoda MIN-MAX function min-max(state, player, depth) begin if (depth = 0) then return 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 function worst(player) begin if player = MAX then return -∞; else return +∞; end funtion back-up-compare(val1, val2, player) begin if player = MAX then return max(val1, val2); else return min(val1, val2); end
Apelul:
min-max( ,MAX,2)
![Page 53: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/53.jpg)
Evaluarea: de jos în sus
MIN
MAX
while (mai sunt stări de generat) begin generez o stare -> s; ... end
val=-1; player = MAX; depth=1;
1
0 -1 1 0
-1
![Page 54: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/54.jpg)
Evaluarea: de jos în sus
MIN
MAX
val=-1; player = MAX; depth=2;
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); if (val = -worst(player)) return(val); end
s
min-max( ,MIN,1)
1
0 -1 1 0
-1
![Page 55: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/55.jpg)
Evaluarea: de jos în sus
MIN
MAX
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); if (val = -worst(player)) return(val); end
1
0 -1 1 0
-1
s
val=∞
min-max( ,MIN,1)
-1
0
![Page 56: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/56.jpg)
Evaluarea: de jos în sus
MIN
MAX
if (depth = 0) then return score(state);
1
0 -1 1 0
-1
s
-1
min-max( ,MAX,0)
-1
0
![Page 57: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/57.jpg)
Evaluarea: de jos în sus
MIN
MAX 1
0 -1 1 0
-1
s
-1
min-max( ,MIN,1)
-1
0
val <- back-up-compare(val, -1, player); if (val = -worst(player)) return(val); end
val=∞; player=MIN;
-2 -1 0
![Page 58: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/58.jpg)
Evaluarea: de jos în sus
MIN
MAX 1
0 -1 1 0
-1
s
-1
min-max( ,MIN,1)
-1
0
val <- back-up-compare(val, -1, player); if (val = -worst(player)) return(val); end
val=∞; player=MIN;
-2 -1 0
-2
![Page 59: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/59.jpg)
Evaluarea: de jos în sus
MIN
MAX 1
0 -1 1 0
-1
s
-1
min-max( ,MIN,1)
-1
0
val <- back-up-compare(val, -1, player); if (val = -worst(player)) return(val); end
val=∞; player=MIN;
-2 -1 0
-2
![Page 60: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/60.jpg)
Evaluarea: de jos în sus
MIN
MAX 1
0 -1 1 0
-1
s
-1
min-max( ,MIN,1)
-1
0
val <- back-up-compare(val, -1, player); if (val = -worst(player)) return(val); end
val=∞; player=MIN;
-2 -1 0
-2
![Page 61: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/61.jpg)
Metoda alpha-beta
MIN
MAX
1
0 -1 1 0
-1
-1
La acest nivel se calculează un maxim.
Un moment din dezvoltarea arborelui în care apare o situaţie particulară:
Acest maxim (valoarea nodului rădăcină) nu poate fi mai mic decât -1!
-1
![Page 62: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/62.jpg)
Metoda alpha-beta
MIN
MAX
1
0 -1 1 0
-1
-1
La acest nivel se calculează un maxim.
Un moment din dezvoltarea arborelui în care apare o situaţie particulară:
Acest maxim (valoarea nodului rădăcină) nu poate fi mai mic decât -1!
-1
La acest nivel se calculează un minim.
-1
Orice valoare a nodului părinte poate fi mai mică sau egală cu -1.
![Page 63: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/63.jpg)
Metoda alpha-beta
MIN
MAX
1
0 -1 1 0
-1
-1
La acest nivel se calculează un maxim.
Un moment din dezvoltarea arborelui în care apare o situaţie particulară:
Acest maxim (valoarea nodului rădăcină) nu poate fi mai mic decât -1!
-1
La acest nivel se calculează un minim.
-1
Orice valoare a nodului părinte poate fi mai mică sau egală cu -1.
Ea nu mai poate influenţa valoarea nodului rădăcină!
Generarea poate fi oprită!
![Page 64: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/64.jpg)
Metoda alpha-beta
MIN
MAX
1
0 -1 1 0
-1
0
-1 0
-1
-2 -2
-2
1 2 1
1
1
-1
![Page 65: Curs 8 - Alexandru Ioan Cuza Universitydcristea/cursuri/IA/2017-2018/Curs8 Jocuri.ppt.pdf · Regulile de joc • Doi jucători: MAX şi MIN • Fiecare are ca obiectiv câştigarea](https://reader030.vdocuments.pub/reader030/viewer/2022040804/5e40a3d20c03ea759323885a/html5/thumbnails/65.jpg)
Metoda alpha-beta function alpha-beta(state, player, depth) begin if (depth = 0) then return score(state); val = worst(player); while (mai sunt stări de generat) begin generez o stare -> s; newval <- alpha-beta(s, not(player), depth-1);
if player=MAX & newval ≤ val then return(newval); else if player=MIN & newval ≥ val then return(newval); else 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
function worst(player) begin if player = MAX then return -∞; else return +∞; end function back-up-compare(val1, val2, player) begin if player = MAX then return max(val1, val2); else return min(val1, val2); end
Apelul:
alpha-beta ( ,MAX,2)