Professional Documents
Culture Documents
2. Metode de căutare
Florin Leon
http://florinleon.byethost24.com/curs_ia.html
v2022.1
Metode de căutare
1. Rezolvarea problemelor prin căutare
2. Căutarea neinformată (oarbă)
3. Căutarea informată (euristică)
4. Concluzii
Soluție
Seria de Spațiul de căutare
operatori
care trans-
(spațiul problemei)
Mulțimea tuturor stărilor care
formă starea
pot fi atinse prin aplicarea
inițială într-o
operatorilor disponibili
stare scop
Stare
scop
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.html 8
Soluția
O soluție este o cale care leagă nodul inițial de
oricare din nodurile scop
Costul soluției este suma costurilor arcelor care
formează calea
O soluție optimă este soluția de cost minim
Unele probleme nu au soluție!
1 2 3 4 1 2 3 4
5 6 7 8 ? 5 6 7 8
9 10 11 12 9 10 11 12
13 14 15 13 15 14 1000 $
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.html 9
Dimensiunea spațiului de
căutare
8-puzzle 9! = 362.880 stări
15-puzzle 16! 2 · 1013 stări
24-puzzle 25! 1025 stări
1
Rezultat: 1, 2, 3, 4, 5, 6, 7
2 3
4 5 6 7
1
Rezultat: 1, 2, 4, 5, 3, 6, 7
2 3
4 5 6 7
Situații posibile:
Găsirea unei soluții
Eșec: nu există soluție
Căutare incompletă: nu există soluție pe nivelurile
considerate
f(B) = 15 + 20 + 30 = 65
f(C) = 15 +10 + 35 = 60
f = 1+100 2+1
h = 100 1
2
1
90 4+90
100
?
0 104
1 2
1+100 2+1
100 1
2
1
90 2+90 4+90
100
0 102 104
100 Iterația 4
open list: B (1+100:101) E (104+0:104)
closed list: A (0+0:0) C (2+1:3) D (4+90:94)
E 0 expand B (1+100:101)
successor(B): A (2+0:2)
skip: parent pruning
successor(B): D (2+90:92)
add to open list: D (2+90:92)
add to closed list: B (1+100:101)
Florin Leon, Inteligenta artificiala, http://florinleon.byethost24.com/curs_ia.html 73
Cum funcționează A*
Iterația 5
A open list: D (2+90:92) E (104+0:104)
closed list: A (0+0:0) C (2+1:3) D (4+90:94) B (1+100:101)
1 2 expand D (2+90:92)
successor(D): B (3+100:103)
skip: parent pruning
100 B C 1
successor(D): C (4+1:5)
skip: lower G in closed list (& parent pruning)
2
1 successor(D): E (102+0:102)
D 90 add to open list: E (102+0:102)
replace in closed list: D (2+90:92)
100 Iterația 6
open list: E (102+0:102) E (104+0:104)
closed list: A (0+0:0) C (2+1:3) D (2+90:92) B (1+100:101)
E 0 expand E (102+0:102)
solution: A - B - D - E
Iterația 4 Iterația 4
open list: B (1+100:101) E (104+0:104) open list: B (1+100:101) E (104+0:104)
closed list: A (0+0:0) C (2+1:3) D (4+90:94) closed list: A (0+0:0) C (2+1:3) D (4+90:94)
expand B (1+100:101) expand B (1+100:101)
successor(B): A (2+0:2) successor(B): A (2+0:101)
skip: parent pruning skip: parent pruning
successor(B): D (2+90:92) successor(B): D (2+90:101)
add to open list: D (2+90:92) add to open list: D (2+90:101)
add to closed list: B (1+100:101) add to closed list: B (1+100:101)
Spațiu
Cazul cel mai defavorabil: O(nS), unde nS este numărul de
stări
În noduri: h()
Pe arce: cost()