aplicatii la cautarea neinformata si informata - facultatea de...
TRANSCRIPT
![Page 1: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/1.jpg)
Aplicatii la cautarea
neinformata si informata
Catalin Stoean
http://inf.ucv.ro/~cstoean
Inteligenta Artificiala 1
![Page 2: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/2.jpg)
Catalin
StoeanInteligenta Artificiala
2/107
Cuprins
Aplicatii la cautarea neinformata
Parcurgerea in latime
Parcurgerea in adancime
Parcurgerea limitata in adancime
Aplicatii la cautarea informata
Cautarea Greedy
Inteligenta ArtificialaCatalin
Stoean
2/107
![Page 3: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/3.jpg)
Catalin
StoeanInteligenta Artificiala
3/107
Formularea problemelor
O problema se defineste prin patru puncte:
1. Starea initiala in care se afla agentul (de exemplu, Arad).
2. Actiuni sau functia succesor S(x) – fiind data o stare x, S(x)
intoarce multimile de stari in care se poate ajunge din x printr-o
singura actiune (S(Arad) = {Zerind, Sibiu, Timisoara})
3. Testarea tintei problemei – se verifica daca starea curenta a
atins tinta problemei (x = Bucuresti, sah_mat(x))
4. Functia de cost al drumului –
calculeaza un cost g pentru drumul curent (suma distantelor,
numarul actiunilor executate etc).
c(x, y) – costul pasului, presupus sa fie ≥ 0
O solutie este o secventa de actiuni care merg de la starea initiala la
starea tinta
Inteligenta ArtificialaCatalin
Stoean
3/107
![Page 4: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/4.jpg)
Catalin
StoeanInteligenta Artificiala
4/107
Algoritm general de cautare
functia cautare_generala(problema, strategie)
intoarce solutie sau esec
Initializeaza arborele de cautare folosind starea initiala a problemei.
Cat timp este posibil executa
Daca nu mai sunt posibilitati de incercat atunci
intoarce esec
Alege un nod posibil in concordanta cu strategia
Daca nodul contine o stare tinta atunci
intoarce solutia corespunzatoare
Altfel gaseste toate posibilitatile ce pornesc din acest nod si
adauga-le la arborele de cautare
Sfarsit cat timp
Inteligenta ArtificialaCatalin
Stoean
4/107
![Page 5: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/5.jpg)
Catalin
StoeanInteligenta Artificiala
5/107
Algoritm general de cautare
functia cautare_generala(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, actiuni[problema]))
Sfarsit cat timp
Inteligenta ArtificialaCatalin
Stoean
5/107
![Page 6: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/6.jpg)
Catalin
StoeanInteligenta Artificiala
6/107
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
Inteligenta ArtificialaCatalin
Stoean
6/107
![Page 7: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/7.jpg)
Inteligenta Artificiala
Cautarea in latime
B C
D E F G
N OL MJ KH I
A
Catalin Stoean
7/107
![Page 8: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/8.jpg)
Inteligenta Artificiala
B C
D E F G
N OL MJ KH I
A
Cautarea in latime
Catalin Stoean
8/107
![Page 9: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/9.jpg)
Inteligenta Artificiala
B C
F G
N OL MJ KH I
A
Cautarea in latime
D E
Catalin Stoean
9/107
![Page 10: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/10.jpg)
Inteligenta Artificiala
B C
D E
N OL MJ KH I
A
Cautarea in latime
F G
Catalin Stoean
10/107
![Page 11: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/11.jpg)
Inteligenta Artificiala
B C
D E
N OL MJ K
A
Cautarea in latime
F G
H I
Catalin Stoean
11/107
![Page 12: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/12.jpg)
Inteligenta Artificiala
B C
D E F G
N OL M
A
Cautarea in latime
H I J K
Catalin Stoean
12/107
![Page 13: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/13.jpg)
Inteligenta Artificiala
B C
D E F G
N O
A
Cautarea in latime
J KH I L M
Catalin Stoean
13/107
![Page 14: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/14.jpg)
Inteligenta Artificiala
B C
D E F G
H I
A
Cautarea in latime
J K L M N O
Catalin Stoean
14/107
![Page 15: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/15.jpg)
Inteligenta Artificiala
B C
D E F G
H I
A
Cautarea in latime
J K L M N O
Catalin Stoean
15/107
![Page 16: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/16.jpg)
Inteligenta Artificiala
B C
D E F G
J KH I
A
Cautarea in latime
L M N O
Catalin Stoean
16/107
![Page 17: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/17.jpg)
Inteligenta Artificiala
B C
D E F G
J KH I
A
Cautarea in latime
L M N O
Catalin Stoean
17/107
![Page 18: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/18.jpg)
Inteligenta Artificiala
B C
D E F G
L MJ KH I
A
Cautarea in latime
N O
Catalin Stoean
18/107
![Page 19: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/19.jpg)
Inteligenta Artificiala
B C
D E F G
L MJ KH I
A
Cautarea in latime
N O
Catalin Stoean
19/107
![Page 20: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/20.jpg)
Inteligenta Artificiala
B C
D E F G
N OL MJ KH I
A
Cautarea in latime
Catalin Stoean
20/107
![Page 21: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/21.jpg)
Inteligenta Artificiala
B C
D E F G
N OL MJ KH I
A
Cautarea in latime
Catalin Stoean
21/107
![Page 22: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/22.jpg)
Catalin
StoeanInteligenta Artificiala
22/107
Vacanta in Romania – in Arad.
In ziua urmatoare ii pleaca avionul din Bucuresti.
Formularea scopului:
Ajungerea in Bucuresti
Formularea problemei:
Stari: diverse orase
Actiuni: de a merge dintr-un oras in altul
Gasirea solutiei:
O secventa de orase, de ex: Arad, Sibiu, Fagaras, Bucuresti.
Problema de rutare: un agent american
Inteligenta ArtificialaCatalin
Stoean
22/107
![Page 23: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/23.jpg)
Catalin
StoeanInteligenta Artificiala
23/107
Un agent american
Inteligenta ArtificialaCatalin
Stoean
23/107
![Page 24: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/24.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad,
Arad
Catalin Stoean
24/51
![Page 25: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/25.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind
AradZerind Sibiu Timisoara Zerind Sibiu Timisoara
Parcurgerea: Arad,
Catalin Stoean
25/51
![Page 26: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/26.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind
Zerind Sibiu Timisoara Zerind Sibiu Timisoara
Oradea Arad
A mai aparut acest nod!
Catalin Stoean
26/51
![Page 27: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/27.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu
Zerind Sibiu Timisoara Sibiu Timisoara
Oradea
Oradea
Catalin Stoean
27/51
![Page 28: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/28.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu
Zerind Sibiu Timisoara Sibiu Timisoara
Fagaras VilceaOradea
Oradea
Catalin Stoean
28/51
![Page 29: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/29.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu,
Timisoara
Zerind Sibiu Timisoara Timisoara
Fagaras Vilcea
Oradea
Oradea
Catalin Stoean
29/51
![Page 30: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/30.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu,
Timisoara
Zerind Sibiu Timisoara Timisoara
Fagaras Vilcea
Fagaras Vilcea
Lugoj
Oradea
Oradea
Catalin Stoean
30/51
![Page 31: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/31.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu,
Timisoara, Oradea
Zerind Sibiu Timisoara
Fagaras Vilcea
Fagaras Vilcea
Lugoj
Oradea Lugoj
Oradea
Catalin Stoean
31/51
![Page 32: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/32.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu,
Timisoara, Oradea, Fagaras
Zerind Sibiu Timisoara
Fagaras Vilcea
Fagaras Vilcea
Lugoj
Lugoj
Oradea
Catalin Stoean
32/51
![Page 33: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/33.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu,
Timisoara, Oradea, Fagaras
Zerind Sibiu Timisoara
Fagaras Vilcea
Fagaras Vilcea
Lugoj
Lugoj
Bucuresti
Oradea
Catalin Stoean
33/51
![Page 34: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/34.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu,
Timisoara, Oradea, Fagaras,
Vilcea
Zerind Sibiu Timisoara
Fagaras Vilcea
Vilcea
Lugoj
Lugoj Bucuresti
Bucuresti Pitesti Craiova
Oradea
Catalin Stoean
34/51
![Page 35: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/35.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu,
Timisoara, Oradea, Fagaras,
Vilcea, Lugoj
Zerind Sibiu Timisoara
Fagaras Vilcea Lugoj
Lugoj Bucuresti
Bucuresti Pitesti Craiova
Pitesti Craiova
Oradea
Catalin Stoean
35/51
![Page 36: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/36.jpg)
Inteligenta Artificiala
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu,
Timisoara, Oradea, Fagaras,
Vilcea, Lugoj
Zerind Sibiu Timisoara
Fagaras Vilcea Lugoj
Lugoj Bucuresti
Bucuresti Pitesti Craiova
Pitesti Craiova
Mehadia
Oradea
Catalin Stoean
36/51
![Page 37: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/37.jpg)
Inteligenta Artificiala
Bucuresti
Algoritm cautare in latime
functia cautare_latime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_sfarsit))
Sfarsit cat timp
AradnoduriFaţa Sfarsit
Parcurgerea: Arad, Zerind, Sibiu,
Timisoara, Oradea, Fagaras,
Vilcea, Lugoj, Bucuresti!
Zerind Sibiu Timisoara
Fagaras Vilcea Lugoj
Bucuresti Pitesti Craiova
Pitesti Craiova
Mehadia
Mehadia
Nod tinta!
Bucuresti
Oradea
Catalin Stoean
37/51
![Page 38: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/38.jpg)
Catalin
StoeanInteligenta Artificiala
38/107
Exercitiu
noduriFaţa Sfarsit
Parcurgerea: Bucuresti, …,
Rm. Vilcea
Gasiti o ruta de la Bucuresti la Sibiu
folosind parcurgerea in latime.
Desenati arborele, scrieti parcurgerea
si continutul pentru noduri la fiecare
pas.
Inteligenta ArtificialaCatalin
Stoean
38/107
![Page 39: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/39.jpg)
Misionarii si canibalii
Trei misionari si trei canibali se afla de o parte a raului. Ei au o
barca ce poate duce cel mult doi oameni. Gasiti o posibilitate sa
traverseze toti de cealalta parte a raului cu conditia sa nu existe mai
multi canibali decat misionari intr-o parte.
Stari: secvente ordonate de 3 numere reprezentand numarul de
misionari, canibali si barci de partea in care se aflau initial (3, 3, 1).
Actiuni: mutarea unui misionar sau canibal sau 2 canibali, 2
misionari sau un misionar si un canibal de pe o parte pe alta.
Testarea tintei: starea (0, 0, 0).
Costul drumului: numarul de traversari.
Inteligenta ArtificialaCatalin
Stoean
39/107
![Page 40: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/40.jpg)
Muta 1m
Misionarii si canibalii
(3m,3c,1) (a)
(3m,2c,0) (b)
Muta 1c
(3m,1c,0) (c)
Muta 2c
(2m,2c,0) (d)
Muta 1m 1c
(a)
Muta 1c
(3m,2c,1) (e)
Muta 1c
(a)
Muta 2c
(e) (a)
Muta 1m 1c
Muta 1m
(d) Muta 1c(c)(3m,0c,0) (f)
(e)
Muta 2cMuta 2c
(3m,1c,1) (g)
Muta 1c
(f)
Muta 1cMuta 2m
(1m,1c,0) (h)
(g)
Muta 2mMuta 1m 1c
(2m,2c,1) (i)
Inteligenta ArtificialaCatalin
Stoean
40/107
![Page 41: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/41.jpg)
(2m,2c,1) (i)
Misionarii si canibalii
Muta 1m 1cMuta 2m
(0m,2c,0) (j)(h)
Muta 2mMuta 1c
(0m,3c,1) (k)(i)
Muta 1cMuta 2c
(0m,1c, 0) (l) (j)Muta 2c
Muta 1c
(0m,2c,1) (m)(k)
Muta 1cMuta 2c
(0m,0c,0) (n)(l)
Stare tinta
Inteligenta ArtificialaCatalin
Stoean
41/107
![Page 42: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/42.jpg)
Puzzle cu 8 valori
2 3
1 4 6
7 5 8
1 2 3
4 5 6
7 8
Starea initiala Starea tinta
Stari: este descrisa locatia fiecarei cifre in una din cele 9 casute.
Actiuni: casuta goala se misca la stanga, dreapta, sus sau jos.
Testarea tintei: starea se gaseste in configuratia din dreapta.
Costul drumului: fiecare pas are costul 1, deci costul drumului
este dat de numarul de mutari.
Inteligenta ArtificialaCatalin
Stoean
42/107
![Page 43: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/43.jpg)
• Sam Loyd a introdus in 1878 15-puzzle-ul.
• A oferit un premiu de 1 000 $ din proprii bani pentru cel care
rezolva problema in situatia in care doar 14 si 15 sunt inversate,
restul fiind aliniate crescator.
Puzzle cu 15 valori
Inteligenta ArtificialaCatalin
Stoean
43/107
![Page 44: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/44.jpg)
Puzzle cu 15 valori
12
14
11
15
10
13
9
5 6 7 8
4321
12
15
11
14
10
13
9
5 6 7 8
4321
?
Nimeni nu a castigat premiul!
Inteligenta ArtificialaCatalin
Stoean
44/107
![Page 45: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/45.jpg)
Cate stari posibile exista?
9! = 362 880 stari
Numai la jumatate din aceste stari se poate
ajunge din orice stare data.
Puzzle cu 8 valori
Inteligenta ArtificialaCatalin
Stoean
45/107
![Page 46: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/46.jpg)
O valoare j apare dupa o valoare i daca
j apare pe acelasi rand, dar in dreapta lui i
j se afla sub linia lui i
Pentru i = 1, 2, ..., 8, fie ni numarul de aparitii ale lui j (j <
i) dupa i.
N = n2 + n3 + … + n8
Posibilitatea de a atinge scopul final...
2 3
1 4 6
7 5 8
n2 =1
n3 =1
n4 =0
n5 =0
n6 =1
n7 =1
n8 =0
N = 4
Pentru N par, puzzle-ul cu
8 valori este rezolvabil!
Inteligenta ArtificialaCatalin
Stoean
46/107
![Page 47: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/47.jpg)
2 3
1 4 6
7 5 8
2 3
1 4 6
7 5 8
D
1 2 3
4 6
7 5 8
J
2 3
1 4 6
7 5 8
D
St
2 3
1 4 6
7 5 8
2 4 3
1 6
7 5 8
J
1 2 3
7 4 6
5 8
J
1 2 3
4 6
7 5 8
D
2 3 6
1 4
7 5 8
J
2 4 3
1 6
7 5 8
St
2 4 3
1 6
7 5 8
D
2 4 3
1 5 6
7 8
J
1 2 3
4 6
7 5 8
D
1 3
4 2 6
7 5 8
S
1 2 3
4 5 6
7 8
J
1 2 3
7 4 6
5 8
D
2 3 6
1 4
7 5 8
St
2 3
1 4 6
7 5 8
S
4 3
2 1 6
7 5 8
S
2 4 3
7 1 6
5 8
J
2 4
1 6 3
7 5 8
S
2 4 3
1 6 8
7 5
J
2 4 3
1 5 6
7 8
St
2 4 3
1 5 6
7 8
D
1 2
4 6 3
7 5 8
S
1 2 3
4 6 8
7 5
J
1 3
4 2 6
7 5 8
St
1 3
4 2 6
7 5 8
D
1 2 3
4 5 6
7 8
1 2 3
4 5 6
7 8
StD
S = sus
J = jos
D = dreapta
St = stanga
Inteligenta ArtificialaCatalin
Stoean
47/107
![Page 48: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/48.jpg)
Exercitiu
Inteligenta Artificiala
Consideram problema gasirii unui rute in figura de mai jos de la
start la stop.
Agentul se muta un patrat la fiecare pas vertical sau orizontal.
Nu se poate deplasa in patratele hasurate.
Etichetati cu litere in ordine
alfabetica patratele daca se
utilizeaza o cautare in
adancime, iar ordinea
operatiilor este: sus,
stanga, dreapta si jos.
stop
start
Catalin
Stoean
48/107
![Page 49: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/49.jpg)
Catalin
StoeanInteligenta Artificiala
49/102
Exercitiu - Problema celor 4 dame
Stari: orice aranjament de 0 pana la 4 dame care nu se ataca.
Actiuni: adauga o dama pe coloana cea mai din stanga a.i. sa nu
fie atacata de alta dama.
Testarea tintei: 4 dame care nu se ataca pe tabla.
Costul drumului: 0.
Pornind de la o tabla de 4x4 goala si folosind datele problemei de
mai sus, sa se construiasca printr-o cautare in latime arborele
complet care duce la rezolvarea problemei. Numerotati nodurile in
ordinea in care au fost vizitate.
Inteligenta ArtificialaCatalin
Stoean
49/107
![Page 50: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/50.jpg)
Catalin
StoeanInteligenta Artificiala
50/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
Inteligenta ArtificialaCatalin
Stoean
50/107
![Page 51: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/51.jpg)
Catalin
StoeanInteligenta Artificiala
51/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
Inteligenta ArtificialaCatalin
Stoean
51/107
![Page 52: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/52.jpg)
Catalin
StoeanInteligenta Artificiala
52/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
Inteligenta ArtificialaCatalin
Stoean
52/107
![Page 53: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/53.jpg)
Catalin
StoeanInteligenta Artificiala
53/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
53/107
![Page 54: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/54.jpg)
Catalin
StoeanInteligenta Artificiala
54/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
54/107
![Page 55: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/55.jpg)
Catalin
StoeanInteligenta Artificiala
55/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
55/107
![Page 56: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/56.jpg)
Catalin
StoeanInteligenta Artificiala
56/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
56/107
![Page 57: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/57.jpg)
Catalin
StoeanInteligenta Artificiala
57/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
57/107
![Page 58: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/58.jpg)
Catalin
StoeanInteligenta Artificiala
58/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
58/107
![Page 59: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/59.jpg)
Catalin
StoeanInteligenta Artificiala
59/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
59/107
![Page 60: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/60.jpg)
Catalin
StoeanInteligenta Artificiala
60/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
60/107
![Page 61: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/61.jpg)
Catalin
StoeanInteligenta Artificiala
61/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
61/107
![Page 62: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/62.jpg)
Catalin
StoeanInteligenta Artificiala
62/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
62/107
![Page 63: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/63.jpg)
Catalin
StoeanInteligenta Artificiala
63/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Inteligenta ArtificialaCatalin
Stoean
63/107
![Page 64: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/64.jpg)
Catalin
StoeanInteligenta Artificiala
64/107
Cautarea in adancime
Se expandeaza nodul radacina, apoi se merge pe un drum pana
se ajunge la cel mai adanc nivel al arborelui.
Numai cand se ajunge la final (la nodurile frunza), cautarea se
intoarce si expandeaza noduri de la nivele mai putin adanci.
B C
D E F G
N OL MJ KH I
A
D
H I
Parcurgerea in adancime: A, B, D, H, I, E, J, K, C, F, L, M, G, N, O.
Inteligenta ArtificialaCatalin
Stoean
64/107
![Page 65: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/65.jpg)
Catalin
StoeanInteligenta Artificiala
65/107
Algoritm cautarea in adancime
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Inteligenta ArtificialaCatalin
Stoean
65/107
![Page 66: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/66.jpg)
Inteligenta Artificiala
Algoritm cautare in adancime
Arad
noduriFaţa Sfarsit
Parcurgerea: Arad,
Arad
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Catalin Stoean
66/107
![Page 67: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/67.jpg)
Inteligenta Artificiala
Algoritm cautare in adancime
Arad
noduriFaţa Sfarsit
Parcurgerea: Arad,
Arad
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Zerind Sibiu Timisoara
Catalin Stoean
67/107
![Page 68: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/68.jpg)
Inteligenta Artificiala
Algoritm cautare in adancime
noduriFaţa Sfarsit
Parcurgerea: Arad, Zerind,
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Zerind Sibiu TimisoaraOradea
Arad
Zerind Sibiu Timisoara
Catalin Stoean
68/107
![Page 69: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/69.jpg)
Inteligenta Artificiala
Algoritm cautare in adancime
Arad
noduriFaţa Sfarsit
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Zerind Sibiu Timisoara
Sibiu TimisoaraOradea
Adaugarea se
face prin faţă!
Parcurgerea: Arad, Zerind,
Oradea
Catalin Stoean
69/107
![Page 70: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/70.jpg)
Inteligenta Artificiala
Oradea
Algoritm cautare in adancime
noduriFaţa Sfarsit
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Sibiu TimisoaraOradea
SibiuParcurgerea: Arad, Zerind,
Oradea
Arad
Zerind Sibiu Timisoara
Catalin Stoean
70/107
![Page 71: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/71.jpg)
Inteligenta Artificiala
Algoritm cautare in adancime
noduriFaţa Sfarsit
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Sibiu Timisoara
Parcurgerea: Arad, Zerind,
Oradea, Sibiu
Oradea
Arad
Zerind Sibiu Timisoara
Catalin Stoean
71/107
![Page 72: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/72.jpg)
Inteligenta Artificiala
Algoritm cautare in adancime
Arad
noduriFaţa Sfarsit
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Zerind Sibiu Timisoara
Timisoara
Parcurgerea: Arad, Zerind,
Oradea, Sibiu
Fagaras VilceaFagaras Vilcea
Oradea
Catalin Stoean
72/107
![Page 73: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/73.jpg)
Inteligenta Artificiala
Oradea
Algoritm cautare in adancime
Arad
noduriFaţa Sfarsit
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Zerind Sibiu Timisoara
Timisoara
Parcurgerea: Arad, Zerind,
Oradea, Sibiu, Fagaras
Fagaras Vilcea
Bucuresti
Fagaras Vilcea
Catalin Stoean
73/107
![Page 74: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/74.jpg)
Inteligenta Artificiala
Algoritm cautare in adancime
noduriFaţa Sfarsit
functia cautare_adancime(problema) intoarce solutie sau esec
noduri = genereaza_coada(genereaza_nod(stare_initiala[problema]))
Cat timp este posibil executa
Daca noduri = vida atunci
intoarce esec
nod = scoate_din_fata(noduri)
Daca testare_tinta[problema] se aplica la stare(nod) atunci
intoarce nod
Altfel
noduri = adauga(noduri, expandare(nod, adauga_la_inceput))
Sfarsit cat timp
Timisoara
Parcurgerea: Arad, Zerind,
Oradea, Sibiu, Fagaras,
Bucuresti
VilceaBucuresti
Nod tinta!
Oradea
Arad
Zerind Sibiu Timisoara
Bucuresti
Fagaras Vilcea
Catalin Stoean
74/107
![Page 75: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/75.jpg)
Catalin
StoeanInteligenta Artificiala
75/107
Exercitiu
noduriFaţa Sfarsit
Parcurgerea: Timisoara, …,
Vaslui
Gasiti o ruta de la Timisoara la Vaslui
folosind parcurgerea in adancime.
Desenati arborele, scrieti parcurgerea
si continutul pentru noduri la fiecare
pas.
Inteligenta ArtificialaCatalin
Stoean
75/107
![Page 76: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/76.jpg)
Catalin
StoeanInteligenta Artificiala
76/102
Exercitiu - Problema celor 4 dame
Stari: orice aranjament de 0 pana la 4 dame care nu se ataca.
Actiuni: adauga o dama pe coloana cea mai din stanga a.i. sa nu
fie atacata de alta dama.
Testarea tintei: 4 dame care nu se ataca pe tabla.
Costul drumului: 0.
Pornind de la o tabla de 4x4 goala si folosind datele problemei de
mai sus, sa se construiasca printr-o cautare in adancime arborele
complet care duce la rezolvarea problemei. Numerotati nodurile in
ordinea in care au fost vizitate.
Inteligenta ArtificialaCatalin
Stoean
76/107
![Page 77: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/77.jpg)
Catalin
StoeanInteligenta Artificiala
77/107
Cautarea limitata in adancime
Impune o margine superioara pentru lungimea unui
drum.
Se poate utiliza la probleme unde stim la ce adancime
maxima trebuie sa gasim solutia
Ex: avem 20 de orase, ne aflam in orasul A, solutia trebuie
sa se gaseasca la maxim 19 pasi.
Daca l este limita de adancime stabilita, atunci
complexitatile:
Pentru timp: O(bl)
Pentru spatiu: O(bl).
Inteligenta ArtificialaCatalin
Stoean
77/107
![Page 78: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/78.jpg)
Catalin
StoeanInteligenta Artificiala
78/107
Cautarea limitata in adancime
Stabilim limita de adancime egala cu 3.
Sa se gaseasca o ruta de la Arad la Bucuresti folosind cautarea
limitata in adancime.
Inteligenta ArtificialaCatalin
Stoean
78/107
![Page 79: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/79.jpg)
Catalin
StoeanInteligenta Artificiala
79/107
Cautarea limitata in adancime
Arad
noduriFaţa Sfarsit
Parcurgerea: Arad,
Arad
Adancime: 0
Inteligenta ArtificialaCatalin
Stoean
79/107
![Page 80: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/80.jpg)
Inteligenta Artificiala
Arad
noduriFaţa Sfarsit
Parcurgerea: Arad,
Arad
Zerind Sibiu Timisoara
Cautarea limitata in adancime
Adancime: 0Adancime: 1
Catalin Stoean
80/107
![Page 81: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/81.jpg)
Inteligenta Artificiala
noduriFaţa Sfarsit
Parcurgerea: Arad, Zerind,
Zerind Sibiu TimisoaraOradea
Cautarea limitata in adancime
Adancime: 1Adancime: 1
Arad
Zerind Sibiu Timisoara
Catalin Stoean
81/107
![Page 82: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/82.jpg)
Inteligenta Artificiala
Arad
noduriFaţa SfarsitZerind Sibiu Timisoara
Sibiu TimisoaraOradea
Parcurgerea: Arad, Zerind,
Oradea
Cautarea limitata in adancime
Adancime: 2
Oradea
Catalin Stoean
82/107
![Page 83: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/83.jpg)
Inteligenta Artificiala
noduriFaţa Sfarsit
Sibiu Timisoara
Parcurgerea: Arad, Zerind,
Oradea, Sibiu
Cautarea limitata in adancime
Adancime: 2Adancime: 1
Arad
Zerind Sibiu Timisoara
Oradea
Catalin Stoean
83/107
![Page 84: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/84.jpg)
Inteligenta Artificiala
noduriFaţa Sfarsit
Parcurgerea: Arad, Zerind,
Oradea, Sibiu
Cautarea limitata in adancime
Adancime: 1
Vilcea Fagaras
Arad
Zerind Sibiu Timisoara
OradeaSibiu Timisoara
Catalin Stoean
84/107
![Page 85: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/85.jpg)
Inteligenta Artificiala
Arad
noduriFaţa SfarsitZerind Sibiu Timisoara
Fagaras TimisoaraVilcea
Parcurgerea: Arad, Zerind,
Oradea, Sibiu, Vilcea
Cautarea limitata in adancime
Adancime: 2
Vilcea FagarasOradea
Catalin Stoean
85/107
![Page 86: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/86.jpg)
Inteligenta Artificiala
noduriFaţa Sfarsit
Vilcea
CraiovaParcurgerea: Arad, Zerind,
Oradea, Sibiu, Vilcea
Cautarea limitata in adancime
Adancime: 2Adancime: 3
Vilcea FagarasFagaras Timisoara
Pitesti
Oradea
Arad
Zerind Sibiu Timisoara
Catalin Stoean
86/107
![Page 87: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/87.jpg)
Inteligenta Artificiala
noduriFaţa Sfarsit
Parcurgerea: Arad, Zerind,
Oradea, Sibiu, Vilcea, Craiova
Cautarea limitata in adancime
Adancime: 2Adancime: 3
Vilcea FagarasFagaras TimisoaraCraiova
Nu este nodul
tinta!!
Craiova Pitesti
PitestiOradea
Arad
Zerind Sibiu Timisoara
Catalin Stoean
87/107
![Page 88: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/88.jpg)
Inteligenta Artificiala
Arad
noduriFaţa SfarsitZerind Sibiu Timisoara
Parcurgerea: Arad, Zerind,
Oradea, Sibiu, Vilcea, Craiova,
Pitesti
Cautarea limitata in adancime
Adancime: 2Adancime: 3
Vilcea FagarasFagaras Timisoara
Craiova Pitesti
PitestiOradea
Nu este nodul
tinta!!
Catalin Stoean
88/107
![Page 89: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/89.jpg)
Inteligenta Artificiala
Arad
noduriFaţa SfarsitZerind Sibiu Timisoara
Parcurgerea: Arad, Zerind,
Oradea, Sibiu, Vilcea, Craiova,
Pitesti, Fagaras
Cautarea limitata in adancime
Adancime: 2
Vilcea FagarasFagaras Timisoara
BucurestiCraiova Pitesti
Oradea
Catalin Stoean
89/107
![Page 90: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/90.jpg)
Inteligenta Artificiala
Bucuresti
Arad
noduriFaţa SfarsitZerind Sibiu Timisoara
Parcurgerea: Arad, Zerind,
Oradea, Sibiu, Vilcea, Craiova,
Pitesti, Fagaras, Bucuresti.
Cautarea limitata in adancime
Adancime: 2Adancime: 3
Vilcea FagarasTimisoara
Nod tinta!
Oradea
BucurestiCraiova Pitesti
Catalin Stoean
90/107
![Page 91: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/91.jpg)
Catalin
StoeanInteligenta Artificiala
91/107
Exercitiu
noduriFaţa Sfarsit
Parcurgerea: Bucuresti, …,
Rm. Vilcea
Gasiti o ruta de la Bucuresti la Rimnicu
Vilcea folosind parcurgerea limitata
in adancime cu limita 3.
Desenati arborele, scrieti parcurgerea
si continutul pentru noduri la fiecare
pas.
Inteligenta ArtificialaCatalin
Stoean
91/107
![Page 92: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/92.jpg)
Catalin
StoeanInteligenta Artificiala
92/107
Cautarea Greedy
Se bazeaza pe faptul ca trebuie minimizat costul de
ajungere la nodul tinta.
Concluzie: nodul care reprezinta starea care este cea
mai aproape de starea tinta este intotdeauna expandat
primul.
La cele mai multe probleme, costul de a ajunge de la o
stare la starea finala nu poate determinat exact, doar
estimat.
O functie care estimeaza astfel de costuri se numeste
functie euristica si este notata de obicei cu h.
Inteligenta ArtificialaCatalin
Stoean
92/107
![Page 93: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/93.jpg)
Catalin
StoeanInteligenta Artificiala
93/107
h(n) = costul estimat pentru cel mai scurt drum de la
nodul n pana la starea tinta.
Daca n este chiar nodul tinta, atunci h(n) = 0.
O cautare intai cel mai bun care utilizeaza asemenea
functie euristica se numeste cautare greedy.
Cautarea Greedy
Inteligenta ArtificialaCatalin
Stoean
93/107
![Page 94: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/94.jpg)
Catalin
StoeanInteligenta Artificiala
94/107
Avem distantele pana la Bucuresti
h(n) = distanta in linie dreapta de la orasul n pana la
Bucuresti.
Inteligenta ArtificialaCatalin
Stoean
94/107
![Page 95: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/95.jpg)
Catalin
StoeanInteligenta Artificiala
95/107
Greedy
Arad
noduriFaţa Sfarsit
Parcurgerea: Arad,
Arad
366
Inteligenta ArtificialaCatalin
Stoean
95/107
![Page 96: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/96.jpg)
Catalin
StoeanInteligenta Artificiala
96/107
Greedy
Arad
noduriFaţa Sfarsit
Parcurgerea: Arad,
Arad
366
Zerind Sibiu Timisoara374 253 329
Se adauga in noduri, din faţă,
incepand cu nodul cu evaluarea cea
mai buna (orasul aflat la cei mai
putini km, in acest caz).
Inteligenta ArtificialaCatalin
Stoean
96/107
![Page 97: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/97.jpg)
Catalin
StoeanInteligenta Artificiala
97/107
Greedy
noduriFaţa Sfarsit
Parcurgerea: Arad,
Sibiu Timisoara Zerind
Arad366
Zerind Sibiu Timisoara374 253 329
Inteligenta ArtificialaCatalin
Stoean
97/107
![Page 98: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/98.jpg)
Catalin
StoeanInteligenta Artificiala
98/107
Greedy
noduriFaţa Sfarsit
Parcurgerea: Arad, Sibiu
Sibiu Timisoara Zerind
Arad366
Zerind Sibiu Timisoara374 253 329
Fagaras Vilcea176 193
Inteligenta ArtificialaCatalin
Stoean
98/107
![Page 99: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/99.jpg)
Catalin
StoeanInteligenta Artificiala
99/107
Greedy
noduriFaţa Sfarsit
Parcurgerea: Arad, Sibiu
Timisoara Zerind
Arad366
Zerind Sibiu Timisoara374 253 329
Fagaras Vilcea176 193
Fagaras Vilcea
Inteligenta ArtificialaCatalin
Stoean
99/107
![Page 100: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/100.jpg)
Catalin
StoeanInteligenta Artificiala
100/107
Greedy
noduriFaţa Sfarsit
Parcurgerea: Arad, Sibiu,
Fagaras
Timisoara Zerind
Arad366
Zerind Sibiu Timisoara374 253 329
Fagaras Vilcea176 193
Fagaras Vilcea
Bucuresti0
Inteligenta ArtificialaCatalin
Stoean
100/107
![Page 101: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/101.jpg)
Catalin
StoeanInteligenta Artificiala
101/107
Greedy
noduriFaţa Sfarsit
Parcurgerea: Arad, Sibiu,
Fagaras, Bucuresti.
Timisoara Zerind
Arad366
Zerind Sibiu Timisoara374 253 329
Fagaras Vilcea176 193
Vilcea
Bucuresti0
Bucuresti
Nod tinta!
Inteligenta ArtificialaCatalin
Stoean
101/107
![Page 102: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/102.jpg)
Tema
Folosind cautarea
Greedy, rezolvati
puzzle-ul cu 8 valori
folosind pe rand
euristicile h1 si h2 .
Catalin
Stoean
Inteligenta Artificiala
102/107
2 3
1 4 6
8 7 5
h1 = 5
2 3
1 4 6
8 7 5
h2 = 0 + 0 + 1
+ 1 + 0 + 1
+ 1 + 2 = 6
h1 = numarul de cifre care sunt
gresit pozitionate.
h2 = suma mutarilor necesare pentru ca toate cifrele sa ajunga la
starea tinta ca si cum toate celelalte casute ar fi goale.
Deplasarile se pot face numai pe orizontala si verticala.
Doua
puncte la
examenul
final!
Inteligenta ArtificialaCatalin
Stoean
102/107
![Page 103: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/103.jpg)
Exercitiu - Cautarea informata
Consideram asezarea a sapte orase ca in figura de mai jos. Scopul
este ca, pornind din starea initiala D, sa ajungem in starea finala A.
Distantele din figura sunt cele rutiere care se gasesc intre orase
(deci nu in linie dreapta). Distantele in linie dreapta de la fiecare
oras catre orasul A sunt urmatoarele:
D: 30
C: 24
E: 21
Se cere
Sa se calculeze distanta de la D la A folosind cautarea Greedy.
Justificati.
Acelasi lucru folosind cautarea A*.
18 14
1215
16
16
11
22
14G
F E
D
C
A
BG: 14
B: 11
F: 9
Inteligenta ArtificialaCatalin
Stoean
103/107
![Page 104: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/104.jpg)
Exercitiu
Consideram distantele directe dintre 9 puncte date ca in tabelul de mai jos.
Cazul in care intr-o casuta din tabel nu este trecuta nicio valoare semnifica
faptul ca nu exista un drum direct intre cele doua puncte (de exemplu, intre
A si C). Sa se aplice cautarea bidirectionala pentru gasirea drumului de la J
la A, astfel incat din J sa se porneasca cu cautarea cu cost uniform, iar din
A cu cautarea in latime: reprezentati arborii si scrieti ruta obtinuta in final.
Inteligenta Artificiala
A B C D E F G H J
A 0 10 - - 7 - - - -
B 10 0 2 - - 5 - - -
C - 2 0 10 - 4 11 - -
D - - 10 0 12 7 - - -
E 7 - - 12 0 4 - - -
F - 5 4 7 4 0 - 8 -
G - - 11 - - - 0 - 10
H - - - - - 8 - 0 15
J - - - - - - 10 15 0
Catalin
Stoean
104/107
![Page 105: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/105.jpg)
Exercitiu
stop
start
Inteligenta Artificiala
Consideram problema gasirii unui rute in figura de mai jos de la
start la stop.
Agentul se muta un patrat la fiecare pas vertical sau orizontal.
Nu se poate deplasa in patratele hasurate.
1. Etichetati cu litere in
ordine alfabetica patratele
daca se utilizeaza o
cautare Greedy.
Pentru aproximare, folositi
distanta Manhattan –
numarul de patrate vizitate
in directia x + patratele in
directia y pana la tinta.
Nu se tine cont de patratelehasuratepentrudistantaManhattan.
Catalin
Stoean
105/107
![Page 106: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/106.jpg)
Exercitiu
stop
start
Inteligenta Artificiala
Consideram problema gasirii unui rute in figura de mai jos de la
start la stop.
Agentul se muta un patrat la fiecare pas vertical sau orizontal.
Nu se poate deplasa in patratele hasurate.
2. Etichetati cu litere in
ordine alfabetica patratele
daca se utilizeaza o
cautare A*.
Pentru aproximare, folositi
distanta Manhattan.
Catalin
Stoean
106/107
![Page 107: Aplicatii la cautarea neinformata si informata - Facultatea de ...id.inf.ucv.ro/~cstoean/courses/ia/c4.pdfAlgoritm general de cautare functia cautare_generala(problema, strategie)](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a9b82c713a48036168da38/html5/thumbnails/107.jpg)
Exercitiu
stop
start
Inteligenta Artificiala
Consideram problema gasirii unui rute in figura de mai jos de la
start la stop.
Agentul se muta un patrat la fiecare pas vertical sau orizontal.
Nu se poate deplasa in patratele hasurate.
3. Presupunem ca graful se
extinde la infinit in toate
directiile. start si stop
raman la aceleasi locatii, la
fel si patratele negre. Ce
metoda nu mai gaseste
nicio solutie?
Catalin
Stoean
107/107