Documente Academic
Documente Profesional
Documente Cultură
Tipuri de jocuri
Algorimul minimax
Retezarea alfa-beta
Jocuri nedeterministe
Formalizarea problemelor de satisfacere a constrngerilor
Backtracking
Euristici de optimizare
Concluzii
Tipuri de jocuri
Algorimul minimax
Retezarea alfa-beta
Jocuri nedeterministe
Formalizarea problemelor de satisfacere a constrngerilor
Backtracking
Euristici de optimizare
Concluzii
Cutarea i jocurile
Jocuri
Jocuri deterministe cu
informaii perfecte
ah
Dame
Go
X i 0
Jocuri nedeterministe cu
informaii perfecte
Table
Monopoly
Jocuri nedeterministe cu
informaii imperfecte
Bridge
Poker
Scrabble
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
Dificulti
Exemple: dimensiunea
spaiului de cutare
ah (drosofila IA-ului)
Factor de ramificare 35
50 de mutri pe juctor
35100 (10154) noduri
1040 noduri distincte (dimensiunea grafului de cutare)
Go
10
Jocurile i cutarea
11
12
Modalitatea de joc:
Probleme cheie:
Reprezentarea tablei
Generarea tuturor configuraiilor urmtoare valide
Evaluarea unei poziii
Considerarea mai multor mutri n avans
13
14
15
Exemple
X i 0:
16
Exemple
17
Tipuri de jocuri
Algorimul minimax
Retezarea alfa-beta
Jocuri nedeterministe
Formalizarea problemelor de satisfacere a constrngerilor
Backtracking
Euristici de optimizare
Concluzii
18
Minimax
Restricii:
MAX
MIN
MAX
2 juctori: MAX
(calculator) i MIN
(adversar)
Determinist,
informaii perfecte
Se selecteaz o
limit de adncime
(de exemplu 2) i o
funcie de evaluare
19
Modul de funcionare
MAX
Alege
mutarea
MIN
2
MAX
- Se calculeaz funcia de
evaluare pentru frunze
- Se construiete arborele
pn la limita de adncime
20
Pseudocod
Initialize depthbound;
Minimax (board, depth) =
IF depth = depthbound
THEN return StaticEvaluation(board);
ELSE IF maximizing_level(depth)
THEN FOR EACH child c of board
compute Minimax(c, depth+1);
return maximum over all children;
ELSE IF minimizing_level(depth)
THEN FOR EACH child c of board
compute Minimax(c, depth+1);
return minimum over all children;
Apel: Minimax(current_board, 0)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.htm
21
22
Alianele
23
Tipuri de jocuri
Algorimul minimax
Retezarea alfa-beta
Jocuri nedeterministe
Formalizarea problemelor de satisfacere a constrngerilor
Backtracking
Euristici de optimizare
Concluzii
24
Retezarea alfa-beta
Retezarea alfa-beta
Motivaie
25
Ideea alfa-beta
MAX
MIN
MAX
=2
26
Terminologie
27
Dac valoarea alfa este mai mare sau egal dect valoarea
beta a unui nod descendent
Atunci se oprete generarea fiilor nodului descendent
28
Dac valoarea beta este mai mic sau egal dect valoarea
alfa a unui nod descendent
Atunci se oprete generarea fiilor nodului descendent
29
5 23
= 4 15
8 2
=85
9 8
= 5 30
2 10 1 18
4 12 3 20
= 4 14 = 5 22
8 7 3 9 1 6 2 4
1 3 4 7
5 31 = 5 39
9 11 13
MAX
3 38
1 33
2 35
3 25
9 27 6 29 = 3 37
1 3 5 3 9 2 6 5 2
17 19 21 24 26
MIN
28
MAX
1 2 3 9 7 2 8 6 4
32 34 36
11 evaluri evitate
30
Retezare n adncime
4
4
4
31
21
21
21
24
12
27
21 20 19 24 23 22 27 26 25
12
15
18
MIN
MAX
12 11 10 15 14 13 18 17 16 3 2 1 6 5 4 9 8 327
MIN
MAX
33
n exemplul anterior:
d = 3, b = 3 nes = 9 + 3 1 = 11
34
Comparaie ntre
minimax i alfa-beta
Cazul cel mai
favorabil
35
Cazul mediu:
36
Efectul orizontului
37
Continuarea euristic
38
Cutarea secundar
39
Retezarea nainte
40
Limite de timp
41
42
Tipuri de jocuri
Algorimul minimax
Retezarea alfa-beta
Jocuri nedeterministe
Formalizarea problemelor de satisfacere a constrngerilor
Backtracking
Euristici de optimizare
Concluzii
43
Jocuri nedeterministe
Includ elemente
probabilistice
De exemplu: table
Albul a dat 6-5 i are 4
mutri valide:
5-10, 5-11
5-11, 19-24
5-10, apoi 10-16
5-11, apoi 11-16
44
45
46
Exemplu
47
Performane
Complexitate: O(bmnm)
48
49
Tipuri de jocuri
Algorimul minimax
Retezarea alfa-beta
Jocuri nedeterministe
Formalizarea problemelor de satisfacere a constrngerilor
Backtracking
Euristici de optimizare
Concluzii
50
Satisfacerea constrngerilor
51
52
Soluie
respect toate
constrngerile
53
Graful constrngerilor
54
Tipuri de PSC
Variabile discrete
Domenii finite
Domenii infinite
Variabile continue
55
Tipuri de constrngeri
SA verde
SA WA
Probleme criptaritmetice
56
Probleme criptaritmetice
Variabile: F T U W R O X1 X2 X3
Domenii: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
Constrngeri: DiferiteToate (F, T, U, W, R, O)
O + O = R + 10 X1
X1 + W + W = U + 10 X2
X2 + T + T = O + 10 X3
X3 = F, T 0, F 0
57
Probleme reale
Probleme de atribuire
Problema orarului
Planificarea transporturilor
58
Cutarea incremental
standard
59
Tipuri de jocuri
Algorimul minimax
Retezarea alfa-beta
Jocuri nedeterministe
Formalizarea problemelor de satisfacere a constrngerilor
Backtracking
Euristici de optimizare
Concluzii
60
Rezolvarea PSC
Arbore cu n! dn frunze
Aciuni comutative
61
Cutarea backtracking
Comutativitatea atribuirilor
Cutare n adncime cu
Atribuirea unei singure variabile ntr-un nod
62
Exemplu de backtracking
63
Exemplu de backtracking
64
Exemplu de backtracking
65
Exemplu de backtracking
66
Cutarea neinformat i
backtracking-ul
67
Tipuri de jocuri
Algorimul minimax
Retezarea alfa-beta
Jocuri nedeterministe
Formalizarea problemelor de satisfacere a constrngerilor
Backtracking
Euristici de optimizare
Concluzii
68
Creterea eficienei
algoritmului backtracking
69
70
71
72
Verificarea nainte
73
Backtracking i
Verificarea nainte
74
Propagarea constrngerilor
75
Propagarea constrngerilor
76
Verificarea nainte i
Propagarea constrngerilor
77
Propagarea constrngerilor
cu euristici
78
Complexitatea de timp
79
Min-Conflicts
80
Min-Conflicts
81
Concluzii
82