Sunteți pe pagina 1din 47

Cautarea in spatiul starilor posibile pentru gasire obiectiv -

Tehnica de Inteligenta Artificiala


• Agenti care planifica inainte

• Probleme de cautare:
urmarire obiectiv
Formalizarea matematica a cautarii

• Metode de Cautare fara informatii


(Uninformed)
– Cautarea in Adancime
Depth-First Search
- Cautarea in largime (pe nivel)
Breadth-First Search
– Cautarea de cost uniform
Uniform-Cost Search
Agenti
Reflex
• Agenti Reflex :
– Aleg actiunea pe baza on perceptiilor actuale (si
probabil a memoriei)
– Pot avea memorie sau un model al starii curente a
mediului
– Nu iau in considerare viitoarele consecinte ale
actiunilor lor
– Comportamentul general al lumii

Ex dialog Subaltern – Sef:


Subaltern: Dle Sef, Lumea asta e nebuna!
Seful: Dar eu cum sunt?
Subalternul: Dvs. Sunteti calumea!

• Poate fi rational un agent reflex?


Video Demo Reflex Optimal
Video Demo Reflex Neoptimal
Agenti cu Planificare
• Agentii cu Planificare :
– Intreaba “ce se intampla daca?”
– Decizii bazate pe (ipoteza) consecintelor
actiunilor
– Trebuie sa aiba un model despre evolutia lumii
ca raspuns la actiuni
– Trebuie sa aiba un obiectiv formulat (test)

• Optim vs. planificare completa

• Planificare vs. replanificre


Video Demo Replanificare
Video Demo Mastermind
Problemele de Cautare
• O problema de cautare consta din:
– Un spatiu al
Starilor posibile

– O functie succesor “N”, 1.0


(cu actiuni si costuri)

“E”, 1.0
– O stare start si un test de atingere obiectiv (uneori mai mult de o singura stare
satisface atingerea obiectivului)

• O solutie este o secventa de actiuni (un plan) care transforma starea de


start in starea obectiv
Problemele de cautare sunt Modele
Exemplu: Calatoria in Romania
• Spatiul Starilor :
– Orasele
• Functia Succesor :
– Drumurile: Transportul catre
orasul adiacent cu un cost =
distanta
• Stare de Start :
– Arad
• Testul de atingere obiectiv:
– Stare == Bucuresti?

• Solutia?
Ce contine Spatiul Starilor unei probleme?
Spatiul starilor include toate detaliile mediului

O stare de cautare pastreaza numai detaliile necesare pentru planificare ( in urma abstractizarii)
• Problema: Gasire traseu • Problema: Include-toate
– Starile: localizarea (x,y) punctele
– Actiuni posibile: deplasare NSEV – Starile: {(x,y), punctele mari de
– Succesori: localizarea actualizata inclus }
– Test de atingere obiectiv: – Actiuni posibile: deplasare NSEV
daca (x,y)=END – Succesori: localizarea actualizata
si posibil a un nou punct boolean
– Test de atingere obiectiv : toate
punctele vizibile incuse
Dimensiunea Spatiului Starilor posibile
• Stari componente:
– Pozitii Agent : 120
– Nr locatii de bile: 30
– Pozitii fantome: 12
– Orientare Agent: NSEV

• Care este
– Dimensiunea spatiului tuturor Starilor
120x(230)x(122)x4
– Starile posibile pentru traseu:
120
– Starile pentru capturare toate bilele
120x(230)
Problema: Trecere in Siguranta

• Problema : Capturarea tuturor punctelor dar si tinerea la distanta a fantomelor


• Ce mai trebuie specificat in spatiul starilor?
– (pozitia agent, stare punct, pozitia puncte de capturat, timpul ramas pana la incepere
deplasare fantome)
Reprezentarea Spatiului Starilor unei probleme prin
Grafuri si Arbori de Cautare
Grafuri de reprezentare a Spatiului Starilor unei
probleme
• Graful Spatiului Starilor: O reprezentare
matematica a unei probleme de cautare
– Nodurile sunt (prin abstratizare) configuratii ale mediului
– Arcele reprezinta succesorii ( rezultatele actiunilor)
– Testul de atingere obiectiv este atingerea unuia sau mai
multe posibile noduri tinta

• Intr-un graf al spatiului starilor fiecare stare apare


doar o data!

• Ar fi foarte dificil de construit in memorie acest


graf complet datorita dimensiunii mari dar ar fi o
idee utila.
Grafuri de reprezentare a Spatiului Starilor

a G
b c

e
d f
S h
p r
q

Un mic graf pentru o problema


Arbore binar simpla de cautare
Arbori de Cautare
Inceput / start
“N”, 1.0 “E”, 1.0

Posibile viitoare tranzitii

• Un arbore de cautare:
– Un arbore de tip “what if” de planuri si consecintele lor
– Starea de Start este Nodul Radacina
– Copii corespund succesorilor
– Nodurile arata starile, dar corespund PLANurilor pe care le obtin aceste stari
– Pentru majoritatea problemelor, nu se poate construi intregul arbore
Grafuri ale Spatiului Starilor vs. Arbori de cautare

Fiecare NOD in
Graful Spatiilor arborele de Arbore de cautare
Starilor cautare este o
S
intreaga CALE in
G graful Spatiului e p
a d
c Starilor
b
b c e h r q
e
d f a a h r p q f
S h Construirea
acestora se va face p q f q c G
p q r
numai la cerere si q c a
G
cat mai putin.
a
Grafuri ale Spatiului Starilor vs. Arbori de cautare
Considerand acest graf cu 4 stari : Cat de mare este arborele de cautare
(incepand din S)?

S G

Important: Foarte multe structuri repetate in arbore!


Arbori de Cautare
Exemplu de Cautare: Romania
Cautarea cu arbore de Cautare

• Cautarea:
– Expandarea planurilor potentiale (trei noduri)
– Mentine o parte a planurilor partiale luate in considerare
– Incearca sa extinda cat mai putine noduri ale arborelui
posibil
Cautarea Generala in Arbori
Functie Cautare – in Arbori (problema , strategia) returneaza o solutie, sau nu
initializeaza arborele de cautare folosind starea initiala a problemei
bucleaza
daca nu exista candidati pentru expansiune atunci returneaza nu
alege un nod frunza pentru expansiune conform strategiei
daca nodul contine o stare obiectiv atunci returneaza solutia corespunzatoare
altfel expandeaza nodul si adauga nodul rezultat la arborele de cautare
sfarsit bucla

• Idei importante :
– Franjurarea
– Expansiunea
– Strategia de Explorare
• Intrebarea de baza: Ce noduri sa se exploreze?
Exemplu: Cautarea in Arbori
a G
b c
e
d f
S h
p q r
Cautarea in Adancime (Depth-First Search =DFS)
Cautarea in Adancime ( Depth-First Search)
Strategia: expandare cel mai adanc nod a G
primul b c
e
Implementare: Parcurgerea este o stiva d f
LIFO S h
p q r

d e p

b c e h r q

a a h r p q f

p q f q c G

q c G a

a
Proprietati ale Algoritmului de Cautare DFS
Proprietati ale Algoritmului de Cautare DFS
• Completitudine: Garantarea gasirii unei solutii daca aceasta exista
• Optimal: Garantat sa gaseasca cea mai ieftina cale
• Complexitatea in Timp?
• Complexitatea in Spatiu? 1 nod
b
… b noduri
• Diagrama arborelui de cautare: b2 noduri
– b este factorul de ramificare m niveluri
– m este adancimea maxima
– Solutii pentru diverse adancimi

• Numarul de noduri in tot arborele? bm noduri


– 1 + b + b2 + …. bm = O(bm)
Proprietati ale Algoritmului de Cautare DFS
• Ce noduri extinde DFS ?
– Anumite prefixe stangi lasate in arbore. 1 nod
b
– Poate procesa tot arborele!
… b noduri
– Daca m este finit, dureaza O(bm)
b2 noduri
• Cat spatiu ocupa parcurgerea? m niveluri
– Numai traseul catre radacina, deci O(bm)

• Este complet?
– m poate fi infinit deci doar daca prevenim bm noduri
ciclurile
• Este optimal?
– Nu, gaseste solutia “leftmost” – cea mai din
stanga, indiferent de adancime sau cost
Cautarea in Largime (Breadth-First Search)
Cautarea in Largime (Breadth-First Search)
Strategie: expaneaza a G
un nod apropiat mai b c
intai e
d f
Implementare: S h
Parcurgerea este o p r
coada FIFO q

d e p
Niveluri
b c e h r q
de
Cautare a a h r p q f

p q f q c G

q c G a

a
Proprietati ale Algoritmului Breadth-First Search
• Ce noduri expandeaza BFS ?
– Procesează toate nodurile de deasupra 1 nod
soluției cea mai putin adanca b
– Daca adancimea soluției cea mai putin … b noduri
s niveluri
adanca este s b2 noduri
– Cautarea dureaza O(bs)
bs noduri
• Cat spatiu ocupa cautarea?
– O(bs)

• Este completa? bm noduri


– s trebuie sa fie finita daca exista o solutie deci
este!
• Este optimala?
– Numai daca toate costurile sunt 1
DFS sau BFS
Video Demo LABIRINT DFS/BFS (p 1)
Video Demo LABIRINT DFS/BFS (p 2)
Cautarea cu adancime iterativa (Iterative
Deepening)
• Ideea: folosirea avantajului spatiului de la DFS si
a timpului de la BFS / avantaje ale solutiei de b
cautare cu adancime limitata …

– Ruleaza DFS cu adancime limita 1. Daca nu e solutie…


– Ruleaza DFS cu adancime limita 2. Daca nu e solutie…
– Ruleaza DFS cu adancime limita 3. …..

• Pare redundant dar


– In General majoritatea repetitiilor se fac doar la cel
mai de jos nivel cautat si deci merita!
Cautarea pe baza de cost (Cost-Sensitive Search)
Obiectiv
2 a
2
b c
3
2
1 8
2 e
3 d
f
9 8 2
START h
1 4 2

p 4 r
15
q

BFS gaseste cea mai scurta cale in termeni de numar de actiuni.


Dar nu gaseste calea cu costul cel mai mic.
Un algoritm similar gaseste calea cu costul cel mai mic.
Cautarea de Cost Uniform (Uniform Cost Search)
Cautarea de Cost Uniform (Uniform Cost Search)
2 a G
Strategie: expandeaza cel b c
mai ieftin nod mai intai: 1 8 2
2 e
3 d f
Parcurgerea este o coada 9 2
S h 8
cu prioritati (prioritatea: 1
costul cumulativ) 1 p q r
15

S 0

d 3 e 9 p 1

b 4 c e 5 h 17 r 11 q 16
11
Contururile a 6 a h 13 r 7 p q f
Costului
p q f 8 q c G

q 11 c G 10 a

a
Proprietati ale Cautarii de Cost Uniform-
Uniform Cost Search (UCS)
• Ce noduri expandeaza UCS ?
– Proceseaza fiecare nod avand costul cel mai mic de acces in
momentul respective dintre cele la care s-a ajuns! b c1
– Daca Solutia respective costa C* si arcele costa cel putin  , …
atunci adancimea efectiva este aproximativ C*/ c2
C*/
– Dureaza de ordinul O(bC*/) (exponentiala in adancimea efectiva) “straturi” c3

• Cat spatiu ocupa pargurgerea?


– Aproximativ O(bC*/)

• Este complet?
– Da presupunand ca cea mai buna solutie are un cost finit si
minimul costului de arc este pozitiv.
• Este optimal?
– Da!
Cautarea de Cost Uniform avantaje si dezavantaje
• Cautarea UCS exploreaza contururi avand
cost crescut … c1
c2
c3
• Cautarea UCS este completa si optimala!

• Dezavantaje:
– Exploreaza optiuni in orice “directie”
– Fiind o cautare din categoria Neinformata Nu
exista informatii despre localizarea obiectivului

• Va fi prezentata si cautarea Informata! Start Goal


Video Demo UCS
fara bariere
Video Demo Labirint cu Deep/Shallow --- BFS? (p 1)
Video Demo Labirint cu Deep/Shallow --- UCS (p 2)
Video Demo Labirint cu Deep/Shallow --- DFS (p 3)
Cautarea si Modelele
• Cautarea opereaza pe modele ale mediului
• Agentul nu incearca toate planurile posibile in mediul real!
• Planificarea este totul in etapa de simulare
• Rezultatele Cautarii sunt la fel de bune ca si modelele utilizate

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