24
REŠAVANJE PROBLEMA I ZADATAKA

REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

REŠAVANJE

PROBLEMA I

ZADATAKA

Page 2: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

REŠAVANJE PROBLEMA I ZADATAKA

Rešavanje problema i zadataka predstavlja jednu od bazičnih oblasti u veštačkoj inteligenciji, a podrazumeva konstruisanje i pronalaženje rešenja zadatatog problema, odnosno zadatka.

Prilikom rešavanja zadataka uvode se sledeći pojmovi: skup stanja S,

početno stanje - izdvojeno stanje S0 S koje je polazno,

skup operatora O, koji definišu prelazak iz jednog stanja u drugo,

skup završnih stanja (ili jedno završno, terminalno stanje St S), odnosno ciljeva, bilo eksplicitnim navo|enjem ili definisanjem uslova koji treba da budu zadovoljeni da bi neko stanje bilo završno.

Rešenje problema predstavlja naizmenični niz stanja i operatora primenljivih na prethodno stanje; koji počinje sa početnim stanjem, a završava se ciljnim stanjem.

Prostor stanja čine sva ona stanja koja se mogu dostići iz početnog stanja primenom odgovarajućih operatora.

Page 3: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

S ciljem pronalaženja rešenja u prostoru stanja može se

konstruisati graf (drvo), gde:

čvorovi grafa predstavljaju stanja,

koren grafa predstavlja početno stanje,

grane grafa odgovaraju operatorima: O1, O2, ... , On,

čvorovi S1, S2, ... , Sn su direktni sledbenici čvora S,

rešenje problema u grafu je put koji vodi od početnog do završnog stanja¸.

. . .O 2

S

S 1 S 2 S n. . .

O 1 O n

Page 4: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

STRATEGIJE PRETRAŽIVANJA

Rešavanje problema u veštačkoj inteligenciji se često svodi na izbor puta u prostoru stanja, kojim se doseže postavljeni cilj.

Uvođenjem strategija sužava se prostor posledica i usmerava pretraživanje ka mogućem rešenju. Kada više operatora može da se primeni na jedno stanje, redosled primene operatora i izbor sledećeg stanja za nastavak pretrage utvrđuje se strategijom.

U zavisnosti od poznavanja domena razlikuju se dve osnovne vrste pretrage: sintaksne i semantičke ili heurističke pretrage.

Page 5: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Sintaksne metode pretraživanja

Sintaksne metode pretraživanja se zasnivaju na sintaksi, opšte su namene i pretražuju kompletan prostor na zadati način. Pri tome ne raspolažu nikakvim znanjem o problemu čije se rešenje traži.

U sintaksne strategije spadaju: Pretraga najpre u širinu,

Pretraga najpre u dubinu,

Iterativno produbljivanje najpre u dubinu,

Dvosmerno usmerena pretraga.

Page 6: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Heurističke metode pretraživanja Heurističke metode pretraživanja se koriste pri rešavanju

kompleksnijih problema kada sintaksne pretrage nisuzadovoljavajuće zbog kombinatorne eksplozije mogućih izbora.

Heuristički ili semantički metodi su dizajnirani tako da ograničeprostor pretrage upotrebljavajući informaciju o prirodi i strukturiproblemskog domena. Najčešće se pribegava heurističkimtehnikama koje obezbe|uju rešenja za širu podklasu problema, ali negarantuju rešenja za sve slučajeve. Vrlo često se koriste funkcijeocene f(n) čija vrednost usmerava dalju pretraga iz čvora n.

U heurističke metode spadaju:

Penjanje na brdo,

Pretraga najpre najbolji,

Algoritam A*,

Uravnotežena pretraga,

Iterativno produbljivanje,

Dvosmerna heuristička pretraga.

Page 7: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

I/ILI GRAFOVI

Za predstavljanje prostora pretrage može se koristiti I/ILI graf. To je formalizam kod kojeg se može primeniti dekompozicija, tj. redukovanje problema.

I/ILI graf sadrži dva tipa čvorova: standardni, problemski - ILI čvorovi,

čvorovi koji označavaju podciljeve - I čvorovi.

Sve grane ka sledbenicima I čvorova grafički se povezuju lukom, dok se grane ka sledbenicima ILI čvorova prikazuju na uobičajen način.

Page 8: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Grafički prikaz I čvora:

Čvor je rešiv ako je iz njega dostižno neko završno stanje primenom odgovarajućih operatora. Za čvor u I/ILI grafu kaže se da je rešiv ako su ispunjeni sledeći uslovi:

ako je čvor tipa ILI i bar jedan od njegovih sledbenika je rešiv čvor.

ako je čvor tipa I i svi njegovi sledbenici su rešivi čvorovi.

ILI čvor je nerešiv (tj. ne postoji rešenje iz tog čvora) ako su nerešivi svi njegovi sledbenici, a I čvor je nerešiv ako je bar jedan od njegovih sledbenika nerešiv.

Page 9: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Rešenje I/ILI grafa

Rešenje I/ILI grafa je njegov podgraf koji ima sledeće osobine:

sadrži početni čvor,

svi njegovi čvorovi na lišću su završna stanja,

ako sadrži jednu granu iz nekog I čvora onda mora sadržati i sve ostale I grane povezane istim lukom.

Takav podgraf naziva se grafom rešenja.

Page 10: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

SIMBOLIČKA INTEGRACIJA

Početno stanje je neodređeni integral koji treba rešiti. Završna

stanja su tablični integrali ili funkcije bez znaka integrala. Operatori

su razne aritmetičke i algebarske transformacije, parcijalna

integracija, smena promenljivih, itd.

OP1: 1f(x) f(x)

OP2: 0f(x) 0

OP3: u dv u v - v du

OP4: k f(x) dx k f(x) dx

OP5: (f(x) + g(x)) dx f(x) dx + g(x) dx

Pravila 3 i 5 omogućavaju dekompoziciju, odnosno redukovanje

problema, pa se za te integrale kreira I čvor.

Slagle je 1963. napravio programski paket SAINT [1], za simboličku

integraciju koristeći pri tom prezentaciju pomoću I/ILI grafa.

Page 11: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Zadatak: Rešiti neodre|eni integral x ln(x+1) dx simboličkom

integracijom preko I/ILI grafa

x 2 l n ( x + 1 )1

2

s m e n a x + 1 = t

- d x

d e k o m p o z i c i j a

- x d x

d e k o m p o z i c i j a

d e l e n j e p o l i n o m a

u = l n z , d v = ( z - 1 ) d zp a r c . i n t e g r .

- x 2 d x

u = l n ( x + 1 ) , d v = x d xp a r c . i n t e g r .

x l n ( x + 1 ) d x

s m e n a z = x + 1

( z - 1 ) l n z d z

( z 2 - z ) l n z - ( z 2 - z ) d z

- ( - 1 ) d z

- z d z d z

- ( x - 1 + ) d x

d e l e n j e p o l i n o m a

d x

- d t

1

2

1

2

1

2

1

2

1

2

1

2

1

2

1

2

1

z

1

2

z

21

x + 1

1

t

1

x + 1

1

x + 1

Page 12: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Završna stanja na grafu su tablični integrali ili njihova rešenja.

Sabiranjem svih završnih čvorova u I grani ili jednog čvora u ILI grani dobija se

rešenje polaznog neodređenog integrala.

Page 13: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Sintaksne metode pretraživanja

PRETRAGA NAJPRE U ŠIRINU

Kod širinske strategije vrši se potpuni pregled prostoraposledica. Pri traženju rešenja generišu se svi potomcidatog čvora (s leva na desno). Na sledećem nivougenerišu se svi naslednici čvorova sa prethodnog nivoa itako sve dok se ne do|e do rešenja, ili do situacije kadaviše nije moguće generisati nove naslednike. Ova metoda spada u slepe preglede (blind search) i akopostoji rešenje postavljenog zadatka, ovom metodomće se odrediti najkraći put do tog rešenja. Loše straneove metode su veliki utrošak vremena i zauzeće velikogmemorijskog prostora, jer je potrebno pamtiti svečvorove tekućeg nivoa.

Page 14: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Sintaksne metode pretraživanja

PRETRAGA NAJPRE U DUBINU

Ova metoda spada u metode slepog pregleda. Pri traženju rešenja metodom pregleda najpre u dubinu, generiše se jedan sledbenik početnog čvora, pa jedan sledbenik tog sledbenika i tako dalje u dubinu sve dok se ne do|e do završnog čvora, tj. čvora koji predstavlja rešenje, ili do čvora koji nema sledbenika.

Ako se došlo do neplodnog čvora, tj. do čvora koji nema sledbenika vraća se unazad za jedan nivo i generiše drugi sledbenik datog čvora i onda se iz njega pretraga nastavlja u dubinu. Prostorni zahtevi za ovu pretragu znatno su manji i linearno su proporcionalni dubini drveta pretrage, jer se pamti samo tekući put. Pretragom u dubinu ne garantuje se optimalnost rešenja.

Page 15: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Sintaksne metode pretraživanja

DVOSMERNO USMERENA PRETRAGA

Dvosmerno usmerena pretraga je sintaksna metoda pretrage i predstavlja kombinaciju pretrage od početnog stanja ka cilju i pretrage od završnog stanja ka početnom korišćenjem inverznih operatora.

Nedostatak ove pretrage je taj što ju je moguće primeniti samo u slučajevima rešavanja problema sa eksplicitno zadatim završnim stanjima i takvim operatorima koji imaju inverzne operatore.

Prednost ove pretrage je u uštedi memorijskog prostora i vremena pretrage.

Rešenje se dobija u onom trenutku kada se razviju dva stanja koja se mogu ujednačiti.

Page 16: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

SISTEMI PRODUKCIJE I REDUKCIJE

Predstavljanje zadataka u prostoru stanja zasniva se naskupu stanja i skupu operatora koji transformišu jednostanje u drugo. Rešenje zadatka svodi se na nalaženjeniza operatora kojima se neko od početnih stanjatransformiše u neko od konačnih stanja.

Formalno, zadatak heurističkog pretraživanja u prostorustanja definiše se kao uređena četvorka

(S0, S, F, T)

gde je S skup stanja, S0 S skup početnih stanja, T S skup terminalnih (završnih) stanja, F skup operatora.Svaki operator f F je funkcija definisana na Sf S savrednostima u S, tj. f: Sf S.

Rešenje zadatka je niz operatora f1,f2,...fn, takav da zas S0 kompozicija f1 f2 ... fn (s) T.

Osnovne metode heurističkog pretraživanja zasnivajuse na sistemima produkcije i redukcije.

Page 17: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Sistem produkcija u prostoru N-stanja Stanja se opisuju skupom obeležja i zovu se N-stanja.

Neka je:

S - skup svih N-stanja,

P - konačan skup operatora - pravila produkcije,

S0- skup početnih stanja, S0 S,

T - skup terminalnih stanja, T S.

Stanja sx i sy su susedna, akko postoji operator P koji sx transformiše u sy, tj. (sx) je sy.

Put od sa do sb je konačan niz s1,s2,...,sn takav da za svako i, si S, s1 je sa, sn je sb i si je susedno sa si+1.

Stanje sb je dostupno iz sa, akko postoji put iz sa u sb, ili je sa=sb. Pišemo sasb.

Def. Skup N-stanja delimično uređen relacijom susedstva koja je određena skupom pravila P, zove se prostor stanja.

Rešenje zadatka u prostoru stanja je put sp st, pri čemu je sp S0. a st T.

Rešenje zadatka heurističkog pretraživanja je nalaženje i izdvajanje rešavajućeg puta koji povezuje početni čvor (iz skupa početnih stanja) sa završnim čvorom (iz skupa završnih stanja).

Page 18: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Sistem redukcija u prostoru R-stanja

Ovde su stanja određena izrazima Si=(sasb), gde su sa i sb N-stanja. Stanja Si zovu se R-stanja.

Ako je na R-stanje Si=(sasb) primenljiv operator iz skupa produkcija P koji sa transformiše u sc, onda njegova primena odgovara operatoru redukcije koji stanje Si=(sasb) redukuje na stanje Sj=(scsb). Da bi smo utvrdili da je sb dostupno iz sa, nakon primene operatora redukcije znamo da je sc dostupno iz sa, pa je potrebno još utvrditi da je sb dostupno iz sc.Time se sistem redukcija u suštini oslanja na svođenje datog zadatka na podzadatke. Terminalni korak u sistemu redukcija sastoji se u prepoznavanju stanja St=(stst).

Rešenje zadatka u sistemu redukcija je niz R-stanja dostupnih primenom neterminalnih koraka, počevši od početnog stanja i završno sa stanjem na koje je primenljiv terminalni korak. Pri tome neterminalni korak odgovara primeni produkcije iz skupa P na levo N-stanje (sa) u okviru R-stanja.

Rešenje se dobija razbijanjem tekućeg zadatka na par podzadataka, od kojih je rešenje jednog poznato, a rešenje drugog se traži u narednim redukcijama. U rešenju koje je dato nizom R-stanja u sistemu redukcija, leva N-stanja predstavljaju rešavajući put u sistemu produkcija.

Page 19: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Heurističke metode pretraživanja

PRETRAGA NAJPRE NAJBOLJI

Kod ove heurističke metode pretrage pamte se posećena stanja (u kojima je izvršena pretraga).

Formira se lista generisanih stanja koja do tada nisu bila obrađivana.

Izbor čvora iz kojeg će se nastaviti pretraga (najbolji čvor) vrši se pomoću domenske orijentisane heurističke funkcije, kojom se procenjuje iz kojeg raspoloživog stanja se najbrže stiže do rešenja.

Zatim se generišu svi sledbenici najboljeg čvora i dodaju listi neobrađenih čvorova, a tekuće stanje se ubacuje u listu obrađenih čvorova i eliminiše iz dalje pretrage.

Ova pretraga isključuje beskonačne petlje, a nedostatak joj je taj što se izbor sledećeg stanja bazira isključivo na proceni njegovog rastojanja do završnog stanja čime se ne obezbeđuje najkraći put. Heuristička funkcija ocene (tzv. Manhattan rastojanje) za zadatakslagalice predstavlja zbir udaljenosti brojeva pojedinih kvadratića do pozicije koje treba da zauzmu u završnom stanju.

Page 20: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

PRETRAGA NAJPRE NAJBOLJI

0

8 1 3

2 4

7 6 5

8 1 3

2 4

7 6 5

8 1 3

2 4

7 6 5

8 3

2 1 4

7 6 5

8 1 3

2 6 4

7 5

OP1 OP2 OP3 OP4

OP1 OP2 OP4

8 1 3

2 4

7 6 5

1 3

8 2 4

7 6 5

8 1 3

7 2 4

6 5

OP2 OP4

1 3

8 2 4

7 6 5

8 1 3

2 4

7 6 5

1 3

8 2 4

7 6 5

1 3

8 2 4

7 6 5

1 2 3

8 4

7 6 5

OP2 OP3 OP4

5 5 3 5

2 4 4

3 1

2 2

Page 21: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Heurističke metode pretraživanja ALGORITAM A*

Maksimizira efektivnost, a minimizira dužinu puta.

Kod ove heurističke metode pretrage pamte se posećena stanja i ona se prilikom pretrage više ne posećuju. S ciljem izbora sledećeg stanja pravi se lista sledbenika na koje se primenjuje domenska orijentisana heuristička funkcija ocene, koja uzima u obzir pre|eni put do tekućeg čvora i vrednost procene puta od tog do završnog čvora. Sledeći čvor se bira sa liste raspoloživih čvorova tako da u njemu funkcija:

f(n) = g(n) + h(n)

postiže minimalnu vrednost; g(n) predstavlja vrednost efektivnog rastojanja, tj. pre|enog puta od početnog čvora do čvora n, a h(n) je oznaka heurističke ocene puta od čvora n do nekog završnog čvora.

Ako je heuristička procena rastojanja h(n) dobro izabrana, tada je vrednost f(n) invarijantna duž optimalnog puta. U tom slučaju kretanja duž optimalnog puta ka cilju, na svakom koraku za onoliko koliko se poveća vrednost funkcije g(n) za toliko se smanji vrednost funkcije h(n). Nedostatak ove pretrage je velika zauzetost memorijskog prostora, gde se čuva lista potencijalnih čvorova koji se dalje mogu razvijati. U zadatku slagalice Manhattan rastojanje predstavlja heurističku ocenu h(n) čvora n.

Page 22: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

ALGORITAM A*

4

8 1 3

2 4

7 6 5

8 1 3

2 4

7 6 5

8 1 3

2 4

7 6 5

8 3

2 1 4

7 6 5

8 1 3

2 6 4

7 5

OP1 OP2 OP3 OP4

OP1 OP2 OP4

8 1 3

2 4

7 6 5

1 3

8 2 4

7 6 5

8 1 3

7 2 4

6 5

OP2 OP4

1 3

8 2 4

7 6 5

8 1 3

2 4

7 6 5

1 3

8 2 4

7 6 5

1 3

8 2 4

7 6 5

1 2 3

8 4

7 6 5

OP2 OP3 OP4

6 6 4 6

4 6 6

6 4

6 6

4 = f ( 0 )

g ( n ) = 1

f ( n ) = 4

g ( n ) = 2

f ( n ) = 4

g ( n ) = 3

f ( n ) = 4

g ( n ) = 4

f ( n ) = 4

Page 23: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Heurističke metode pretraživanja

DVOSMERNA HEURISTIČKA PRETRAGA

Umesto da se generiše drvo veće dubine, povoljnije je generisati paralelno dva drveta sa manjom dubinom, od početnog čvora i od završnog čvora, pa tražiti njihov presek.

U ovom slučaju funkcija ocene f(n,m) definiše se za sve parove čvorova n i m, gde n pripada listi čvorova za grananje unapred, a m pripada listi čvorova sa grananjem unazad. Bira se za otvaranje onaj par (n,m) koji daje najmanju vrednost funkcije

f(n,m)=g(n)+h(n,m)+g(m)

gde je g(n) rastojanje od početnog čvora do čvora n, g(m) je rastojanje od m do završnog čvora, a h(n,m) je heuristička procena rastojanja od n do m.

Page 24: REŠAVANJE PROBLEMA I ZADATAKA - TFZR - Index

Heurističke metode pretraživanja

HEURISTIČKA PRETRAGA ZA IGRE SA DVA IGRAČA

U ovom slučaju funkcija ocene procenjuje jačinu pozicije jednog igrača u odnosu na drugog. Velike pozitivne vrednosti ukazuju na jaku poziciju igrača, a negativne vrednosti na jaku poziciju protovnika.

Jedan igrač, nazvan MAX, uvek pomera ka pozicijama koje imaju maksimalnu vrednost funkcije ocene, dok drugi igrač, nazvan MIN, pomera ka pozicijama koje minimiziraju vrednost pozicije. Još kvalitetnija igra se postiže vršenjem kompletne pretrage do izvesne dubine k, pa se za sva generisana stanja izračunava vrednost funkcije ocene i odabere ono sa najvećom vrednošću ako bira MAX, odnosno najmanjom, ako bira MIN.