Sunteți pe pagina 1din 26

Generalitati

Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

INTELIGENTA ARTIFICIALA
Curs
- Rezolvarea de probleme -

Luciana Morogan
Academia Tehnica Militara

October 26, 2016

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Cuprins

Generalitati

Algoritmi de cautare

Tehnici de cautare neinformata (blind search))


BF
DF
Iterative deepening

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Informatii generale
Programele s.n. agenti program (functii ce implementeaza un agent)
IA proiecteaza programe agenti ce realizeaza transformarea: perceptia mediului
inconjurator (senzori) = actiune (efectori/actuatori)
Programul agent foloseste structuri de date interne actualizate pe masura ce
intervin noi perceptii. Asupra structurilor de date se opereaza prin proceduri de
luare de decizii ale agentului = alegerea unei actiuni, alegere transmisa
hardware-ului pt executie
Agentul actioneaza prin stabilirea unor teluri/scopuri si ia decizii

Scopul + {mijloace de atingere a scopului} = problema


Procesul de explorare a ceea ce pot face aceste mijloace s.n. cautare

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Actiunile agentului (1)


Pas I: formuleaza

Rezolvarea problemei formularea scopului bazat pe situatia


curenta
Scopul = {st ari ale universului |
acele st ari in care scopul este satisf acut} = {s1 , s2 ...sn }
Actiunile generare de tranzitii intre stari ale universului
Agentul cauta acele actiuni care il conduc la o stare in care
scopul este satisfacut = decide tipuri de actiuni si stari ce
trebuie luate in consideratie
Formularea problemei = procesul deciziei asupra starilor si
actiunilor care trebuie luate in considerare
Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Actiunile agentului (2)

Pas II: cauta

Cautare: Procesul de examinare de catre un agent a unei


succesiuni de actiuni posibile dintre mai multe optiuni imediate
in vederea luarii deciziei pentru alegerea celei mai bune
Un algoritm de cautare
primeste ca intrare o problema
intoarce ca solutie o succesiune de actiuni
Pas III: executa

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Formularea problemei
1

Problema cu o stare unica


1

2
3

Problema cu stari multiple


1

Agentul cunoaste toate efectele actiunilor lui, dar are acces


limitat la starea universului
Agentul trebuie sa faca rationamente referitoare la multimea
de stari la care ar putea ajunge

Problema de contingenta - lumea reala


1
2

senzorii agentului furnizeaza informatia pentru determinarea


exacta a starii de fapt (lumea ii este accesibila)
agentul cunoaste exact efectul fiecareia dintre actiunile sale
agentul poate calcula exact in ce stare se va afla dupa orice
secventa de actiuni

Agentul trebuie sa calculeze un arbore intreg de actiuni


Fiecare ramura a arborelui se ocupa de o posibila contingenta
ce ar putea aparea

Problema de explorare - agentul nu detine informatii despre efectul actiunilor


sale
Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Problema cu stare unica


1

Starea initiala: s

Multimea operatorilor (actiuni) care au ca:


intrare: starea initiala - action(s)
iesire: actiuni posibile ({a1 , a2 ...an }) pe care agentul le poate executa
plecand de la starea initiala considerata - action(s) {a1 , a2 ...an }
Observatii:
1

in functie de problema agentii pot avea:

aceleasi actiuni in toate starile disponibile


actiuni dependente de stare
2
3

{s} {a1 , a2 ...an } definesc spatiul de stari al problemei


Drum de stari: secventa de actiuni de la o stare la alta

frezultat (s, a) s 0

Testul scop: ftest scop (s) {T , F }, cu T /F valoare booleana ce specifica


atingerea sau nu a scopului

1
2
n
Functia de cost a unui drum: fcost (s
s1
...
sn ) nr - functie
aditiva a costurilor intermediare fcost intermediar (si , ai , si+1 ) nrintermediar

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Problema cu stari multiple


1

Multime de stari initiale. Spatiul de stari este inlocuit de spatiul multimii de stari

Multime de operatori specificand in cazul fiecarei actiuni multimea de stari in


care se ajunge plecand din orice stare data
Un operator se aplica unei multimi de stari prin reunirea rezultatelor
aplicarii operatorului fiecarei stari din multime

Functia rezultat

Test scop

Functia de cost a unui drum


Un drum leaga multimi de stari, iar o solutie este un drum care conduce la
o multime de stari tip scop

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Masurarea performantei in rezolvarea problemelor (1)


Eficacitatea unei cautari poate fi masurata prin pretul cautarii asociat timpului
calculator si al memoriei necesare pentru gasirea de solutii
daca se gaseste o solutie
daca s-a gasit o solutie buna (cu un cost scazut al drumului)
Stare = configuratie a lumii inconjuratoare
Costul total al cautarii = cost drumului + cost cautare
Extinderea starii = aplicarea unui operator asupra unei stari curente, generand o
multime de stari
Strategia de cautare = alegerea referitoare la starea la care trebuie extinsa prima
Nod = structura de date:
1 starea din spatiul de stari careia ii corespunde nodul
2 nodul din arborele de cautare care a generat nodul in cauza (parintele)
3 operatorul aplicat pentru generarea nodului
4 numarul de noduri aflate pe drumul de la radacina la acest nod (adancimea
nodului)
5 costul drumului de la radacina la acest nod
Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Masurarea performantei in rezolvarea problemelor (2)


Frontiera = colectia de noduri care asteapta sa fie extinse
Strategia de cautare = alege urmatorul nod din frontiera care trebuie extins.
Evaluarea stratedigei se realizeaza dupa:
completitudine: daca atunci cand exista o solutie, strategia data garanteaza
gasirea acesteia
complexitatea timpului: cat timp dureaza gasirea unei solutii
complexitatea spatiului: cata memorie este necesara pentru efectuarea cautarii
optimalitate: atunci cand exista mai multe solutii, strategia data o gaseste pe
cea mai calitativa dintre ele
Tehnicile pentru rezolvarea de probleme functioneaza cand domeniul este in
totalitate...
observabil: starea initiala trebuie sa fie vizibila
cunoscut: multimea actiunilor disponibile este cunoscuta
discret: numar finit de actiuni de ales
determinist: rezultatul unei actiuni este cunoscut
static: nu trebuie sa existe nimic in lume ce ar putea schimba domeniul (mai
putin propriile actiuni)
Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Algoritmi de cautare

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Algoritmi de cautare

I. Cautarea neinformata (cautarea oarba - blind search)


Strategiile nu detin nicio informatie despre numarul de pasi sau costul drumului
de la starea curenta la starea scop.
Tot ceea ce agentul poate face este sa distinga o stare scop de o stare care nu
este scop.
Breadth-first (cautarea in latime)
Depth-first (cautarea in adancime)
Iterative deepening (cautarea iterativa)
Cautarea bidirectionala

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Algoritmi de cautare

II. Cautarea informata (euristica - descoperiri de fapte noi pe care le valorificam


din mers)
Se utilizeaza informatia despre spatiul de stari.
Se folosesc cunostinte specifice problemei.
Se rezolva problemele de optimizare.
Best-first
Algoritmul A
Algoritmul IDA (iterative deepening A )

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Algoritmi de cautare

III. Jocurile ca problema de cautare - de 2 persoane sau om - calculator


Oponentul introduce incertitudinea (trateaza asa numita problema de
contingenta).
Tehnicile se concentreaza pe alegerea unei mutari bune atunci cand timpul este
limitat.
Algoritmul Minmax
Algoritmul Alpha-Beta

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Cautare
Solutie = solutie si posibile cai gresite = reprezentarea
problemei = cai posibile

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Spatiul de cautare al jocului sub forma unui arbore

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Gasirea iesirii din labirint

N-ar trebui totusi sa tinem minte drumul? De ce?

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Dar daca graful este ciclic??

Solutia: mentinem o multime de locuri deja vizitate!

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

BF
DF
Iterative deepening

Tehnici de cautare neinformata (blind search)

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

BF
DF
Iterative deepening

Se considera arborele binar cu: starea initiala - 1 si starile


finale - 7 si 11

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

BF
DF
Iterative deepening

Breadh first (BF)


Parcurgerea pe niveluri: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.
Prima stare finala gasita este 7
Drumul de la starea initiala la starea finala: tinem minte drumul de la fiecare nod, la
nodul initial: [ [ 1 ] ]
[ [2, 1], [3, 1] ] se va expanda [2, 1] =
[ [3, 1], [4, 2, 1], [5, 2, 1] ] se va expanda [3, 1] =
[ [4, 2, 1], [5, 2, 1], [6, 3, 1], [7, 3, 1] ]
[ [5, 2, 1], [6, 3, 1], [7, 3, 1], [8, 4, 2, 1], [9, 4, 2, 1] ]
[ [6, 3, 1], [7, 3, 1], [8, 4, 2, 1], [9, 4, 2, 1], [10, 5, 2, 1], [11, 5, 2, 1] ]
[ [7, 3, 1], [8, 4, 2, 1], [9, 4, 2, 1], [10, 5, 2, 1], [11, 5, 2, 1] ].
(Nu se poate expanda [6, 3, 1])
Cum scop(7) = 7 este scop, STOP si drum = [7, 3, 1].
Cautarea se termina cand:
Primul element din prima lista este un varf scop
Ajung la lista vida

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

BF
DF
Iterative deepening

Dezavantaj: memoria
Program Prlog:

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

Luciana Morogan

BF
DF
Iterative deepening

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

BF
DF
Iterative deepening

Deapth first (DF)


Parcurgerea in adancime: 1, 2, 4, 8, 9, 5, 10, 11.
Prima stare finala care va fi gasita este 11.
Avantaj: memoria (se retine un singur drum)
Dezavantaj: Parcurge toate ramurile in adancime, pana la frunze.
Program Prlog:

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

BF
DF
Iterative deepening

Iterative deepening (ID)


Ideea:
Se genereaza drumurile de lungime1, 2,... pana la gasirea unui nod scop
(asemanator BF)
Diferenta fata de BF: nu se retin toate drumurile
Dezavantaj: recalcularea tuturor drumurilor
Se va folosi cale(X, Y, D) pentru obtinerea drumului de la X la Y in D, dar rasturnat
Interogarea se realizeaza sub forma: cale(1, X, D), generand:
pentru X = 1, D = [1]
pentru X = 2, D = [2, 1]
pentru X = 3, D = [3, 1] ... =
se vor scrie toate solutiile de la 1 la toate nodurile (ordinea lungimii drumurilor)

Luciana Morogan

INTELIGENTA ARTIFICIALA

Generalitati
Algoritmi de cautare
Tehnici de cautare neinformata (blind search))

BF
DF
Iterative deepening

Program Prlog

Luciana Morogan

INTELIGENTA ARTIFICIALA

S-ar putea să vă placă și