46
I122 Osnove umjetne inteligencije Tema: Inteligentni agenti. Pretraˇ zivanje prostora stanja. Slijepo pretraˇ zivanje. 17. 10. 2017. predavaˇ c: Darija Markovi´ c asistent: Darija Markovi´ c

I122 Osnove umjetne inteligencije - fizika.unios.hr · I122 Osnove umjetne inteligencije Tema: Inteligentni agenti. Pretrazivˇ anje prostora stanja. Slijepo pretrazivˇ anje. 17

  • 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