Top Banner
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
46

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

Sep 06, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: I122 Osnove umjetne inteligencije - fizika.unios.hr · I122 Osnove umjetne inteligencije Tema: Inteligentni agenti. Pretrazivˇ anje prostora stanja. Slijepo pretrazivˇ anje. 17.

I122 Osnove umjetne inteligencije

Tema: Inteligentni agenti. Pretrazivanje prostora stanja. Slijepopretrazivanje.

17. 10. 2017.

predavac: Darija Markovic asistent: Darija Markovic

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

www.fizika.unios.hr/oui/

P 2Inteligentni agent Pretrazivanje prostora stanja

I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo

pretrazivanje. 18/40

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

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

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

www.fizika.unios.hr/oui/

P 2Inteligentni agent Pretrazivanje prostora stanja

I122 Osnove umjetne inteligencijeInteligentni agenti. Pretrazivanje prostora stanja. Slijepo

pretrazivanje. 20/40

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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