Upload
others
View
12
Download
1
Embed Size (px)
Citation preview
I122 Osnove umjetne inteligencije
Tema: Inteligentni agenti. Pretrazivanje prostora stanja. Slijepopretrazivanje.
17. 10. 2017.
predavac: Darija Markovic asistent: Darija Markovic
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
1 Inteligentni agent
2 Pretrazivanje prostora stanjaSlijepo pretrazivanje
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 2/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Radna okolina
• radna okolina obuhvaca cetiri kriterija racionalnosti:• mjera uspjesnosti (Performance measure)• okolina (Environment)• efektori (Actuators)• senzori (Sensors)
• prilikom dizajniranja agenta prvi korak obuhvaca opisivanje radneokoline (PEAS)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 3/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Radna okolina
• radna okolina obuhvaca cetiri kriterija racionalnosti:• mjera uspjesnosti (Performance measure)• okolina (Environment)• efektori (Actuators)• senzori (Sensors)
• prilikom dizajniranja agenta prvi korak obuhvaca opisivanje radneokoline (PEAS)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 3/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Svojstva radne okoline
(a) mjerljivost: potpuno / djelomicno vidljiva (uocljiva)
(b) jednoagentno / viseagentno okruzenje
(c) odredenost: deterministicko / stohasticko
(d) povezanost stanja: sekvencionalnost / epizodicnost
(e) dinamika okruzenja: dinamicka / staticka
(f) kontinuirano / diskretno
(g) poznato / nepoznato
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 4/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Struktura agenata
• zadatak UI je dizajnirati agent program koji ce povezati opazanja sakcijom AGENT = ARHITEKTURA + PROGRAM
• program: ulazne velicine su trenutna stanja iz okoline, treba vratitiakciju
• problemi• velicina tablice• ucenje• vrijeme
• kako realizirati racionalno ponasanje programskim kodom nekoristeci ogromne tablice?
• cetiri vrste agent programa• refleksni agent• model-refleksni agent• agent voden ciljem• usluzni agent (agent voden kvalitetom)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 5/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Struktura agenata
• zadatak UI je dizajnirati agent program koji ce povezati opazanja sakcijom AGENT = ARHITEKTURA + PROGRAM
• program: ulazne velicine su trenutna stanja iz okoline, treba vratitiakciju
• problemi• velicina tablice• ucenje• vrijeme
• kako realizirati racionalno ponasanje programskim kodom nekoristeci ogromne tablice?
• cetiri vrste agent programa• refleksni agent• model-refleksni agent• agent voden ciljem• usluzni agent (agent voden kvalitetom)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 5/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Struktura agenata
• zadatak UI je dizajnirati agent program koji ce povezati opazanja sakcijom AGENT = ARHITEKTURA + PROGRAM
• program: ulazne velicine su trenutna stanja iz okoline, treba vratitiakciju
• problemi• velicina tablice• ucenje• vrijeme
• kako realizirati racionalno ponasanje programskim kodom nekoristeci ogromne tablice?
• cetiri vrste agent programa• refleksni agent• model-refleksni agent• agent voden ciljem• usluzni agent (agent voden kvalitetom)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 5/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Struktura agenata
• zadatak UI je dizajnirati agent program koji ce povezati opazanja sakcijom AGENT = ARHITEKTURA + PROGRAM
• program: ulazne velicine su trenutna stanja iz okoline, treba vratitiakciju
• problemi• velicina tablice• ucenje• vrijeme
• kako realizirati racionalno ponasanje programskim kodom nekoristeci ogromne tablice?
• cetiri vrste agent programa• refleksni agent• model-refleksni agent• agent voden ciljem• usluzni agent (agent voden kvalitetom)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 5/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Struktura agenata
• zadatak UI je dizajnirati agent program koji ce povezati opazanja sakcijom AGENT = ARHITEKTURA + PROGRAM
• program: ulazne velicine su trenutna stanja iz okoline, treba vratitiakciju
• problemi• velicina tablice• ucenje• vrijeme
• kako realizirati racionalno ponasanje programskim kodom nekoristeci ogromne tablice?
• cetiri vrste agent programa• refleksni agent• model-refleksni agent• agent voden ciljem• usluzni agent (agent voden kvalitetom)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 5/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Struktura agenata
• zadatak UI je dizajnirati agent program koji ce povezati opazanja sakcijom AGENT = ARHITEKTURA + PROGRAM
• program: ulazne velicine su trenutna stanja iz okoline, treba vratitiakciju
• problemi• velicina tablice• ucenje• vrijeme
• kako realizirati racionalno ponasanje programskim kodom nekoristeci ogromne tablice?
• cetiri vrste agent programa• refleksni agent• model-refleksni agent• agent voden ciljem• usluzni agent (agent voden kvalitetom)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 5/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Refleksni agent
• najjednostaniji
• izbor akcije temeljem trenutnog zapazanja
• ogranicene inteligencije
• okolina mora biti potpuno vidljiva
• ponekad upadaju u beskonacne petlje
• rade slucajan izbor
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 6/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Refleksni agent
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 7/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Model-refleksni agent
• u slucaju djelomicno vidljive okoline agent treba pamtiti odredenastanja
• interna stanja• informacije o promjeni okoline neovisno o agentu• informacije o utjecaju akcije na okolinu
• bitan je model svijeta u kojem agent djeluje
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 8/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Model-refleksni agent
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 9/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Agent voden ciljem
• informacija o trenutnom stanju cesto nije dovoljna za donosenjeispravne odluke
• potreban je cilj (opisuje pozeljne situacije)
• ukoliko postizanje cilja nije vidljivo nakon neposredne akcije,potrebno je pretrazivanje i planiranje
• u pravilu je manje efikasan, ali je fleksibilan
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 10/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Agent voden ciljem
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 11/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Usluzni agent
• u vecini situacija cilj nije dostatan za realizaciju kvalitetnog ponasanja
• odredena stanja preferiramo vise od ostalih (stupanj zadovoljstva)
• funkcija zadovoljstva (utility function) pridruzuje stanju brojcanuvrijednost koja opisuje stupanj zadovoljstva
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 12/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Usluzni agent
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 13/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Ucenje agenta
• izgraditi agenta koji ima sposobnost ucenja
• ucenje omogucava funkcioniranje u pocetno nepoznatoj okolini
• cetiri osnovne komponente ucenja• element za ucenje• element akcije• kritika - poveznica s elementom za ucenje (kako agent djeluje i utjece
na element akcije)• generator problema - sluzi za istrazivanje, otkrivanje,
eksperimentiranje
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 14/40
www.fizika.unios.hr/oui/
P 1Inteligentni agent Pretrazivanje prostora stanja
Ucenje agenta
• element za ucenje utjece na element akcije ovisno o uspjesnostiodredene akcije koju ocjenjuje kritika s obzirom na utvrdenustandardnu mjeru
• izvedbeni standard - nalazi se izvan agenta, kako ga agent sam ne bimijenjao
• element za ucenje moze mijenjati bilo koju komponentu znanja
• ucenje: proces mijenjanja komponenti agenta s ciljem poboljsanjaukupnog djelovanja agenta
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 15/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
1 Inteligentni agent
2 Pretrazivanje prostora stanjaSlijepo pretrazivanje
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 16/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
• mnogo se analitickih problema moze rijesiti pretrazivanjem prostorastanja
• krenuvsi od pocetnog stanja problema, pokusavamo pronaci ciljnostanje
• slijed akcija koje nas vode do ciljnog stanja predstavljaju rjesenjeproblema
• problem predstavlja velik broj stanja te velik broj mogucih izbora
• pretrazivanje zato mora biti sustavno
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 17/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 18/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
• neka je S skup stanja (prostor stanja)
• problem se sastoji od pocetnog stanja, prijelaza izmedu stanja iciljnog (ciljnih) stanja
Problem pretrazivanja
problem = (s0, succ, goal)
1 s0 ∈ S je pocetno stanje
2 succ : S → ℘(S) je funkcija sljedbenika koja definira prijelazeizmedu stanja
3 goal : S → {>,⊥} je ispitni predikat istinit samo za ciljna stanja
• funkcija sljedbenika moze se definirati implicitno pomocu skupaoperatora (razlicitim operatorima prelazi se u razlicita stanja)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 19/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 20/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
• prostor pretrazivanje prostora stanjasvodi se na pretrazivanjeusmjerenog grafa (digrafa)
• vrhovi grafa = stanja; lukovi =prijelazi izmedu stanja
• graf moze biti zadan eksplicitno iliimplicitno
• graf moze imati cikluse
• ako definiramo cijene prijelaza,onda je to usmjeren tezinski graf(tezinski digraf)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 21/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
• pretrazivanjem usmjerenog grafa postepeno gradimo stablopretrazivanja
• stablo gradimo tako da pojedine cvorove prosirujemo: pomocufunkcije sljedbenika (odnosno operatora) generiramo sve sljedbenikenekog cvora
• otvoreni cvorovi ili fronta: cvorovi koji su generirani, ali jos nisuprosireni
• zatvoreni cvorovi: cvorovi koji su vec prosireni
• redoslijed kojim prosirujemo cvorove odreduje strategiju pretrazivanja
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 22/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
• stablo pretrazivanja nastaje pretrazivanjem prostora stanja
• stablo pretrazivanja moze biti beskonacno cak i onda kada je prostorstanja konacan (prostor stanja ima cikluse⇒ stablo pretrazivanja jebeskonacno)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 23/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
• cvor n je podatkovna struktura koja sacinjava stablo pretrazivanja
• cvor pohranjuje stanje, ali i jos neke dodatne podatke:
Podatkovna struktura cvora
n = (s, d)
s− stanje d− dubina cvora u stablu
state(n) = s, depth(n) = d
initial(s) = (s, 0)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 24/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Opci algoritam pretrazivanja
function search(s0, succ, goal)open← [ initial(s0) ]while open 6= [ ] don← removeHead(open)if goal(state(n)) then return nfor m ∈ expand(n, succ) do
insert(m, open)return fail
• removeHead(l): skida prvi element neprazne liste l
• expand(n, succ): prosiruje cvor n uporabom funkcije sljedbenikasucc
• insert(n, l): umece cvor n u listu l
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 25/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
• prosirivanje cvora treba azurirati sve komponente cvora:
Prosirivanje cvora
function expand(n, succ)return { (s, depth(n) + 1) | s ∈ succ(state(n)) }
• funkcija ce biti slozenija kada u cvor budemo pohranjivali dodatnepodatke (npr. pokazivac na roditeljski cvor)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 26/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Karakteristike problema:
• |S| – broj stanja
• b – faktor grananja stabla pretrazivanja
• d – dubina optimalnog rjesenja u stablu pretrazivanja
• m – maksimalna dubina stabla pretrazivanja (moguce∞)
Svojstva algoritama:
1 Potpunost (engl. completeness) – algoritam je potpun akko pronalazirjesenje uvijek kada ono postoji
2 Optimalnost (engl. optimality, admissibility) – algoritam je optimalanakko pronalazi optimalno rjesenje (ono s najmanjom cijenom)
3 Vremenska slozenost (broj generiranih cvorova)
4 Prostorna slozenost (broj pohranjenih cvorova)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 27/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Dvije osnovne vrste strategija pretrazivanja:
• Slijepo pretrazivanje (engl. blind, uninformed search)
• Usmjereno pretrazivanje (engl. directed, informed, heuristic search)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 28/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Slijepo pretrazivanje
1 Pretrazivanje u sirinu (engl. breadth-first search, BFS)
2 Pretrazivanje s jednolikom cijenom (engl. uniform-cost search)
3 Pretrazivanje u dubinu (engl. depth-first search, DFS)
4 Ograniceno pretrazivanje u dubinu
5 Iterativno pretrazivanje u dubinu
6 Dvosmjerno pretrazivanje
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 29/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Pretrazivanje u sirinu
• jednostavna slijepa strategija pretrazivanja• nakon prosirenja korijenskog cvora, prosiruju se sva njegova djeca,
zatim sva njihova djeca, itd.• opcenito, cvorovi na dubini d prosiruju se tek nakon sto se prosire svi
cvorovi na razini d− 1, tj. pretrazujemo razinu po razinu
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 30/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Ovakvu strategiju ostvarit cemo ako prosirene cvorove uvijek dodajemo nakraj liste otvorenih cvorova
Pretrazivanje u sirinu
function breadthFirstSearch(s0, succ, goal)open← [initial(s0) ]while open 6= [ ] don← removeHead(open)if goal(state(n)) then return nfor m ∈ expand(n, succ) doinsertBack(m, open)
return fail
• lista otvorenih cvorova zapravo je red (engl. queue)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 31/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Pretrazivanje u sirinu – svojstva
• pretrazivanje u sirinu je potpuno i optimalno
• u svakom koraku prosiruje se najplici cvor, pa je strategija optimalna(uz pretpostavku da je cijena prijelaza konstantna)
• vremenska slozenost:
1 + b+ b2 + b3 + · · ·+ bd + (bd+1 − b) = O(bd+1)
(na zadnjoj razini generiraju se sljedbenici svih cvorova osim ciljnog)
• prostorna slozenost: O(bd+1)
• eksponencijalna slozenost (pogotovo prostorna) glavni je nedostatakpretrazivanja u sirinu
• primjenjivo samo na male probleme
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 32/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Cijene prijelaza
• ako operacije (prijelazi izmedu stanja) nisu jednake cijene, funkcijusljedeceg stanja modificiramo tako da ona za svakog sljedbenikavraca i cijenu prijelaza:
succ : S → ℘(S × R+)
• u cvoru vise ne pohranjujem dubinu nego ukupnu cijenu puta do togcvora:
n = (s; c); g(n) = c
• funkciju prosirenja cvora moramo takoder modificirati tako da azuriracijenu puta do cvora:
function expand(n, succ)return { (s, g(n) + c) | (s, c) ∈ succ(state(n)) }
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 33/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Pretrazivanje s jednolikom cijenom
• kao i pretrazivanje u sirinu, no u obzir uzimamo cijenu prijelaza
Pretrazivanje s jednolikom cijenom
function uniformCostSearch(s0, succ, goal)open← [initial(s0) ]while open 6= [ ] don← removeHead(open)if goal(state(n)) then return nfor m ∈ expand(n, succ) doinsertSortedBy(g, m, open)
return fail
• insertSortedBy(f , n, l) − umece cvor n u listu l sortiranuuzlazno prema vrijednosti f(n)
• lista open funkcionira kao prioritetni red
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 34/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Pretrazivanje s jednolikom cijenom − svojstva
• algoritam je potpun i optimalan
• ako je C∗ optimalna cijena do cilja, a ε minimalna cijena prijelaza,dubina stabla do ciljnog cvora je d = bC∗/εc
• prostorna i vremenska slozenost: O(b1+bC∗/εc)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 35/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Pretrazivanje u dubinu
• pretrazivanje u dubinu uvijek prvo prosiruje najdublji cvor u stablupretrazivanja
• postupak se vraca na plice razine tek kada dosegne listove (stanjakoja nemaju sljedbenika)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 36/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Pretrazivanje u dubinu − izvedba
• strategiju pretrazivanja u dubinu ostvarit cemo ako prosirene cvorovedodajemo na pocetak liste open
Pretrazivanje u dubinu
function depthFirstSearch(s0, succ, goal)open← [initial(s0) ]while open 6= [ ] don← removeHead(open)if goal(state(n)) then return nfor m ∈ expand(n, succ) doinsertFront( m, open)
return fail
• lista otvorenih cvorova zapravo je stog
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 37/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Pretrazivanje u dubinu − svojstva
• pretrazivanje u dubinu manje je memorijski zahtjevno
• prostorna slozenost: O(bm), gdje je m maksimalna dubina stabla
• vremenska slozenost: O(bm)(nepovoljno, ako m� d)
• potpunost: ne, jer moze zaglaviti u beskonacnoj petlji
• optimalnost: ne, jer ne pretrazuje razinu po razinu
• pretrazivanje u dubinu treba izbjegavati kod stabla pretrazivanja cijaje maksimalna dubina velika ili beskonacna
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 38/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Pretrazivanje u dubinu − rekurzivna izvedba
• listu open mozemo izbjeci:
Pretrazivanje u dubinu (rekurzivna izvedba)
function depthFirstSearch(s, succ, goal)if goal(s) then return sfor m ∈ succ(s) dor← depthFirstSearch(m, succ, goal)if r 6= fail then return r
return fail
• umjesto eksplicitne liste open koristi se sistemski stog
• prostorna slozenost jeO(m)
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 39/40
www.fizika.unios.hr/oui/
P 2Inteligentni agent Pretrazivanje prostora stanja
Primjer 1.
Za strategije pretrazivanja u sirinu, pretrazivanja s jednolikom cijenom ipretrazivanja u dubinu razmotrit cemo redosljed posjecivanja cvrova,prateci frontu (listu otvorenih cvorova). U pozicijama gdje imamo nekolikoizbora za prosirivanje, dat cemo prednost izboru s manjom abecednomvrijednoscu, npr. S → X → A prosirujemo prije S → X → B i slicnoS → A→ Z prosirujemo prije S → B → A.
I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo
pretrazivanje. 40/40