You are on page 1of 22

PREDSTAVLJANJE ZNANJA I RJEAVANJE ZADATAKA U SUSTAVIMA

UMJETNE INTELIGENCIJE
Proces rjeavanja svakog zadatka ukljuuje dvije komponente:
Predstavljanje zadatka,
Strategija rjeavanja.
Mogui su razliiti oblici predstavljanja znanja. Od izbora oblika predstavljanja zavisi
sloenost opisa zadatka, ali i efektivnost njegovog rjeenja. To znai da postoji meuovisnost
izmeu navedenih komponenti. Utvreno je da postoji obrnuta ovisnost openitosti
predstavljanja i mogunosti metoda rjeavanja u slijedeem smislu.
Specijaliziranija predstavljanja (problemski orijentirana) daju efektivniju strategiju
rjeavanja.
Ilustrirat emo to na klasinom problemu o sedam Keninsberkih mostova.
Problem sedam mostova
Jezika postavka zadatka:
U Kalinjingradu (ranije se zvao Keningsberg) rijeka Pregel nastaje od starog i novog
Pregela tako to pri uu obrazuje otok. Obale su povezane s ukupno sedam mostova, tako da
je otok povezan s dva mosta na starom, dva na novom Pregelu i jednim mostom sa dijelom
izmeu pritoka. Na svakoj od pritoka, prije otoka postoji po jedan most.
Pitanje glasi:
Moe li se prei preko svih sedam mostova tako da se preko svakog mosta pree samo
jednom?
Moe se primijetiti da ovakav jezini oblik predstavljanja nije najpodesniji za razumijevanje
problema, a jo manje pogodan za traenje rjeenja. Mogli bi ga zamijeniti prirodnim,
fizikim oblikom predstavljanja. To bi znailo da se ode na lice mjesta, upoznamo problem i
pokuamo etnjom po mostovima nai rjeenje. Naravno, takav prilaz nije svojstven
ovjekovom intelektu. I pored neospornog uivanja u etnji, ubrzo bi se umorili ne znajui da
li smo iscrpili sve varijante prolaska mostovima. Umjesto takvog prilaza rjeenju prirodno je
potraiti neki pogodniji oblik predstavljanja. Iskustvo nam sugerira da pribjegnemo izvjesnoj
mjeri apstrakcije i problem oistimo od nebitnih detalja.
Jezini i fiziki oblik predstavljanja transformiramo u grafiki oblik predstavljanja kao
to je pokazano na slici.

Slika Grafiki prikaz problema

Grafiki oblik predstavljanja znatno pojanjava sam problem i omoguava izgraivanje


primitivne strategije rjeavanja: crtanje linija prolaska po mostovima. Moemo nasumice
krenuti iz neke toke i pokuati da linijom (crtom) proemo preko svih mostova. Takvi
pokuaji slijepog traganja i neuspjeh u nalaenju potvrdnog rjeenja inspiriraju hipotezu da
potvrdno rjeenje moda i ne postoji. Dokaz da je to zaista tako imali bi tek nakon to
pregledamo sve mogue varijante prolaza (njihov broj je velik, ali konaan). Za takav dokaz
poeljeli bismo pomo, naprimjer suvremenih raunala.
Prenoenje problema na raunalo podrazumijeva transformiranje predstavljanja
problema u oblik pogodan za rjeavanje na raunalu. Pod tim uvjetom raunalo bi umjesto
nas izvrilo pregled svih moguih varijanti i nakon toga, ako raspolae dovoljnim kapacitetom
memorijskog prostora, dalo rjeenje u obliku:
Nije mogue prei preko svih sedam mostova tako da se preko svakog pree samo
jednom
Moda je sretna okolnost to 1738 godine, kada je ovaj problem rijeio Euler nije bilo
raunala. Realizacija pretraivanja na raunalu bez dublje analize problema vjerojatno bi nas
uskratila za jedno znaajno saznanje - teorem o unikurzalnosti grafova.
Naime, odustavi od slijepog pretraivanja na slici, Euler je pristupio globalnom
ispitivanju svojstva prostora u kojem se trai rjeenje postavljenog problema. Uvoenjem
novog oblika u vidu grafa predstavljanja dolazi se do znanja koje ima opi karakter i rjeava
postavljeni problem kao specijalan sluaj. Ovakvo predstavljanje naeg problema mostova
prikazano je na narednoj slici:
c

Dijelovi grafa prikazani


su tokama, vorovima
grafa, a mostovi koji ih
povezuju su grane grafa

d
Slika Predstavljanje problema u vidu grafa
Problem sedam mostova, u naprijed predstavljenom obliku poprima novu formulaciju:
Moe li se graf na slici nacrtati jednim potezom tako da se ni jedna grana ne crta dva
puta
Krae, pitanje je da li je dati graf unikurzalan. Time se otvara opiji teorijski
problem unikurzalnosti ravnih grafova. Rjeenje tog problema sadrano je u teoremi koja
glasi:
Graf je unikurzalan ako nema neparnih vorova, ili, ako ih ima onda ih ima samo dva.
vor je neparan ako iz njega polazi neparan broj grana, u suprotnom, vor je paran.

Ovo znanje o globalnom svojstvu prostora traenja rjeenja ini rjeenje naeg problema
sedam mostova trivijalnijim:
Svi vorovi grafa na slici su neparni, pa graf nije unikurzalan!
Umjesto pregleda brojnih varijanti, sada se na temelju teoreme o unikurzalnosti
neposredno i pouzdano nalazi rjeenje naeg problema. Osim toga, znanje sadrano u teoremi
o unikurzalnosti doprinosi efikasnosti rjeavanju i mnogih drugih problema koji se mogu
svesti na unikurzalnost u predstavljanju u vidu grafa.
Navedeni primjer ilustrira znaaj iznalaenja adekvatnog oblika predstavljanja
problema. Ustvari, potrebne su adekvatne transformacije koje provode ope oblike
predstavljanja u specijalizirane oblike koji osiguravaju heuristiki efikasnu strategiju.
Naalost, za problem transformacije predstavljanja jo ne postoji ope teorijsko
rjeenje. Izbor oblika predstavljanja i njegovo transformiranje preputeni su kreatoru. U
osnovi radi se o izboru takvog oblika predstavljanja koji je usklaen sa sredstvima koja
pomau pri rjeavanju i koji omoguuje globalno ispitivanje prostora traenja rjeenja radi
njegovog saimanja.

PROSTOR STANJA, SUSTAVI PRODUKCIJE I REDUKCIJE


Jedan od najznaajnijih koraka u rjeavanju nekog problema je izbor naina njegovog
predstavljanja . Osim to prua mogunost lakeg razumijevanja, ovaj korak u znatnoj mjeri
utie i na nain njegovog rjeavanja . Predstavljanje zadataka u prostoru stanja zasniva se na
skupu stanja i skupu operatora koji transformiraju jedno stanje u drugo. Rjeenje zadatka
svodi se na nalaenje niza operatora kojima se neko od poetnih stanja transformira u neko od
konanih stanja.
Formalno, zadatak heuristikog pretraivanja u prostoru stanju definira se kao
ureena etvorka:
(So, S, F, T)
gdje je S skup stanja, So skup poetnih stanja, T skup izvrnih stanja, F skup operatora. Svaki
operator f Fje funkcija definirana na Sf S sa vrijednostima u S, tj, f: S f S. Rijeenje
zadatka je niz operatora f1, f2, f3,,fn takav da za s So kompozicija f1, f2, f3,,fn(s) T.
Dvije osnovne metode heuristikog pretraivanja zasnivaju se na sustavima
produkcije odnosno redukcije:

Prostor stanja
Iz softverskog inenjerstva (engleski termin. Software engineering) poznati su razliiti ivotni
ciklusi (paradigme) za izradu softverskih proizvoda. Najopiji prikaz razvoja softverskih
proizvoda dat je na narednoj slici:

definiranje

razvoj
sustavna analiza
planiranje
analiza zahtjeva

odravanje
projektiranje softvera
kodiranje
testiranje softvera
korekcije
adaptiranje
izmjene

Slika Klasian ivotni ciklus razvoja softverskog proizvoda


Ne uputajui se u detaljnije objanjenje faza definiranja, razvoja i odravanja, mogu se
izdvojiti tri koraka, koja su u okviru sustava umjetne inteligencije imaju slijedee znaenje:
Precizno definiranje problema. U okviru ovog koraka moraju se precizno definirati
poetna, kao i krajnja stanja koja odreuju prihvatljivo rjeenje.

Analiza problema. U okviru ovog koraka potrebno je odrediti sve karakteristike


problema i sagledati koji je njihov utjecaj na izbor mogue tehnike u rjeavanju danog
problema.
Izbor i primjena odgovarajue tehnike za rjeavanje danog problema (ukljuujui i
nain njegovog predstavljanja).

Praktina primjena navedenih koraka, kao i njihovo znaenje, bie ilustrirani na


primjeru igre za ije se uspjeno igranje smatra da je potrebno posjedovanje kako znanja tako
i inteligencije. Ta igra je ah.
Za izradu programa koji moe da igra ah, neophodno je prvo definirati ta je
poetna pozicija na ahovskoj ploi, koja su pravila koja omoguavaju legalne (dozvoljene)
pokrete, kao i pozicije koje odreuju pobjedu jedne strane u odnosu na drugu. Takoer,
potrebno je eksplicitno definirati prethodno implicitno postavljeni cilj, a to je ne samo legalno
igranje aha nego i ostvarivanje pobjede ako je to mogue.
Za problem igre aha moe se lako osigurati njegovo formalno i kompletno
opisivanje. Svaka pozicija predstavljane kao stanje figura na ahovskoj ploi koje se moe
opisati koritenjem matrice 8x8, gdje svaki element matrice sadri simbol odgovarajue figure
na tom mjestu. Prostor stanja ine sva mogua stanja figura na ahovskoj ploi. Legalni
pokreti omoguavaju pomjeranje figura, kojima se od poetnog stie do ciljnog stanja. Sami
pokreti se mogu opisati pomou pravila koji se sastoje od dva dijela:
Lijeve strane, koja slui kao uzorak za usporeenje sa stvarnom situacijom na
ahovskoj ploi,
Desne strane, koja opisuje nastalu promjenu primjenom pravila.
Postoji nekoliko naina da se opiu ova pravola. Jedan od njih prikazan je na
narednoj slici.

Slika Jedan od naina za opisivanje pravila u igri aha


Kod ovog naina svako mogue stanje opisuje se pomou nekog pravila. U sluaju da se
pravila piu na ovaj nain, potrebno je napisati veliki broj, budui da postoji priblino 10 120
moguih stanja. Uopeno govorei, koritenje velikog broja pravila uzrokuje dvije ozbiljne
praktine tekoe:
Teko je definirati sva mogua pravila. Osim toga, oduzima previe vremena i
poveava se vjerovatnoa da se neto uradi pogreno.
Uveava se i sloenost programa koji rukuju sa velikim brojem pravila.

Zbog toga se u cilju to boljeg dimenzioniranja problema, trae pravila koja e na


to opiji nain opisati legalne korake. U sluaju ovog primjera, pravilo sa slike moe se
napisati na slijedei opiji nain:
Ako je
Bijeli pjeak na polju(2,X) i polje (3,X) prazno i polje (4,X) prazno
Onda
Pomjeri bijelog pjeaka sa polja (2,X) na polje (4,X).
Na ovakav nain problem igranja aha je predstavljen kao kretanje u prostoru
stanja, gdje svako stanje odgovara legalnoj poziciji na ahovskoj ploi. To znai, da se igranje
aha moe predstaviti kao kretanje od poetnog stanja, koritenjem skupa pravila za prelazak
u drugo stanje, sve dok se ne dostigne jedno od ciljnih stanja.
Predstavljanje igre aha u prostoru ini se veoma prirodnim, ali treba imati na umu
da se kod nekih problema moraju koristiti sloenije strukture nego to su matrice za
opisivanje nekog pojedinanog stanja. Dvije osnovne karakteristike koje omoguavaju
koritenje prostora stanja u rjeavanju razliitih problema su slijedee:
Dozvoljava da se koritenjem formalnih definicija, problem predstavi kao potreba za
prevoenje neke dane situacije u eljenu situaciju, koritenjem legalnih operacija.
Dozvoljava da se definira proces nalaenja rjeenja za dani proces kao koritenje
poznatih tehnika (predstavljenih u vidu pravila za svaki korak u prostoru stanja)
traenja, kao ope tehnike za pronalaenje puta od trenutnog stanja do ciljnog.
Drugi primjer koritenja prostora stanja ilustrirat e se na rjeavanju slijedeeg
problema:
Dana su dva bokala, jedan od 4l, i drugi od 3l. Nijedan od njih nema oznake za
mjeru na sebi. Postoji pumpa za vodu pomou koje se moe puniti voda u bokale u
neogranienim koliinama. Kako se moe dobiti tono 2 l u bokalu od 4l.
Prostor stanja ovog problema moe se predstaviti kao skup ureenih parova cijelih
brojeva (X,Y) gdje je X = 0,1,2,3,4 i Y = 0,1,2,3. X predstavlja broj litara vode u bokalu od
4l, a Y broj litara vode u bokalu od 3l. Pravila za rjeavanje ovog problema su prikazani na
narednoj slici.
1.
2.
3.
4.
5.
6.
7.

(X,Y X 4) (4,Y)
(X,Y Y 3) (X,3)
(X,Y X 0) (X-D,Y)
(X,Y Y 0) (X,Y-D)
(X,Y X 0) (0,Y)
(X,Y Y 0) (X,0)
(X,Y X +Y =4LY 0) (4,Y-(4-X))

8.

(X,Y X +Y =3LX 0) (X-(3-Y),3)

9.

(X,Y X +Y =4LY 0) (X+Y,0)

10.

(X,Y X +Y =3LX 0) (0,X+Y)

Napuniti bokal od 4 l
Napuniti bokal od 3 l
Prosuti neto vode (D) iz bokala od 4 l
Prosuti neto vode (D) iz bokala od 3 l
Isprazniti bokal od 4 l
Isprazniti bokal od 3 l
Napuniti bokal od 4 l vodom iz bokala od
3l
Napuniti bokal od 3 l vodom iz bokala od
4l
Presuti svu vodu iz bokala od 3 l u bokal
od 4 l
Presuti svu vodu iz bokala od 4 l u bokal
od 3 l

Kao to se moe vidjeti pravila su zapisana na isti nain kao pravila igre aha. Lijeva strana
predstavlja trenutno stanje, a desna novo stanje nakon primjene pravila. (Pravila 3 i 4 mogu se
primijeniti samo u sluaju da je na bokalima postoji oznaena razina napunjenosti. Napisana
su u cilju mogunosti koritenja danih pravila kada je zadatkom predvieno da na bokalima
postoje oznake). Za rjeavanje ovog zadatka, osim definicije navedenih pravila, potrebno je
odrediti i upravljaku strukturu, kojom e se birati pravila sve dok se ne postigne eljeno
stanje. Jasno je da brzina rjeavanja problema zavisi od toga kako e se primijeniti (vriti
izbor) pravila. Jedna od sekvenci za rjeavanje problema punjenja bokala sa vodom dana je u
tablici, pri emu je za poetno stanje uzeto (0,0), a za ciljno (2,Y).
Tablica. Jedno od rjeenja u problemu punjenja bokala
Voda u bokalu od 4l
Voda u bokalu od 3l
0
0
0
3
3
0
3
3
4
2
0
2
2
0

Primijenjeno pravilo
2
9
2
7
5
9

Na osnovu ova dva primjera, jasno se uoava da je prvi korak u rjeavanju


problema, predstavlja traenje mogunosti njegovog opisivanja nekim formalnim sustavom.
Navedeni problemi su dobro strukturirani, pa se i lako rjeavaju. Oni nam mogu ujedno
posluiti kao putokaz za rjeavanje problema koji su slabo strukturirani, poput obrade i
razumijevanja prirodnog jezika, jer se upoznaju razliite metode kojima se dolazi do rjeenja.
Ukoliko se eli da se neki problem predstavi u prostoru stanja, onda se to moe uraditi
koritenjem slijedee ureene etvorke:
(S, Sp, Sc, P)
gdje je:
S skup svih moguih stanja,
Sp skup svih poetnih stanja,
Sc skup svih ciljnih stanja i
P skup svih pravila koja opisuju akcije (operacije) koje se mogu primijeniti.
Rjeavanje problema u prostoru stanja sastoji se od koritenja pravila, pomou
izabrane upravljake strategije, kojom se pronalazi put od poetnog do ciljnog stanja. Proces
traenja predstavlja osnovu za rjeavanje problema, ali se mogu odabrati i drugi prilazi. Na
primjer, kao to je primjena jednadbi u pravilu 7 iz primjera sa punjenjem bokala vodom.
Pretraivanje predstavlja jedan generalni prilaz koji se primjenjuje kada nisu poznate neke
direktne metode.
Budui da proces pretraivanja predstavlja sr veine programa u umjetnoj
inteligenciji, vano je posjedovati i strukturu koja se opisuje. Produkcioni sustavi su jedan od
primjera koji osiguravaju takvu strukturu i u tekstu koji slijedi dan je opis.

Produkcioni sustavi
Kod veine sustava u umjetnoj inteligenciji uoava se podjela na tri standardne
raunalne komponente:
Podatke,

Operacije i
Upravljanje

Centralni entitet predstavlja globalna baza podataka kojom se upravlja preko


dobro definiranih operacija globalne upravljake strategije. Dakle, glavni elementi
produkcionih sustava umjetne inteligencije su:
Globalna baza podataka,
Skup produkcionih pravila i
Upravljaki sustav.
Globalna baza podataka je centralna struktura koja se koristi u produkcionom
sustavu umjetne inteligencije. U ovisnosti od primjene, baza podataka moe biti jednostavna,
kao na primjer obina matrica brojeva, ili sloena kao velika relaciona indeksna struktura
datoteka (ovdje se podvlai razlika izmeu pojma globalna baza podataka, kako se ovdje
koristi i pojma baza podataka, kakav se standardno upotrebljava).
Produkciona pravila funkcioniraju nad globalnom bazom podataka. Svako pravilo
ima svoje poetne uvjete koje globalna baza podataka moe ili ne moe da ispunjava. Ako su
poetni uvjeti ispunjeni, pravilo se moe primijeniti. Primjenom pravila mijenja se baza
podataka. Upravljaki sustav odluuje koje pravilo treba izabrati (primijeniti) u svakom
koraku i prekida rad kada globalna baza podataka zadovolji zavrni uvjet.
Postoji nekoliko razlika izmeu ovih struktura produkcionih sustava i
tradicionalnih raunalnih sustava koji koriste hijerarhijski organizirane programe:
Globalna baza podataka je dostupna svim pravilima, a nijedan dio nije orijentiran ne
neki od njih,
Pravila ne pozivaju druga pravila; komunikacija izmeu pravila se ostvaruje samo
preko globalne baze podataka.
Tekoe primjene tradicionalnih hijerarhijskih programa u sustavu umjetne
inteligencije javljaju se uslijed toga to proirenja ili izmjene u globalnoj bazi podataka
uvjetuju velike izmjene u programima, strukturama podataka i organizaciji potprograma.
Produkcioni sustavi su modularni pa se zato izmjene u bazi podataka, upravljakom sustavu
ili pravilima mogu vriti relativno nezavisno.
Postoji nekoliko vrsta produkcionih sustava. Razlike proistiu uslijed koritenja
razliitih upravljakih sustava, osobnosti pravila i baza podataka i naina na koji se
primjenjuju pri rjeavanju problema. U nastavku dano je nekoliko primjera produkcionih
sustava.
to se podrazumijeva pod produkcionim sustavom (ili sustavom produkcije)
umjetne inteligencije, i kako se primjenjuje, bie ilustrirano na slijedeem primjeru igre
brojeva.
Primjer 1.
Potrebno je sloiti 8 brojeva distribuiranih u 3 x 3 polja. Na ovaj nain je jedno polje uvijek
prazno, tako da se u ovo prazno polje moe u jednom koraku pomjeriti susjedni broj. Problem
se svodi na provoenje neke poetne konfiguracije u konanu ciljnu konfiguraciju kao to je
prikazano na narednoj slici:
2
1
7

8
6

3
4
5

1
8
7

2
6

3
4
5

a
Slika Poetna (a) i ciljna (b) konfiguracija u igri slaganja

Da bi se ovaj problem rijeio pomou produkcionog sustava, moraju se definirati


globalna baza podataka, pravila i strategija upravljanja. Transformiranje problema u ove tri
komponente nekog produkcionog sustava naziva se predstavljanje problema u umjetnoj
inteligenciji. Kako postoji vie naina predstavljanja istog problema, izbor dobrog
predstavljanja je najznaajnija vjetina u primjeni metoda tehnike umjetne inteligencije u
praktinim zadacima.
Za ovaj i druge zadatke moraju se identificirati elementi problema: stanja, pravila
(promjene) i ciljevi. U sluaju igre slaganja brojeva svaka kombinacija je jedno stanje. Skup
svih moguih konfiguracija je prostor stanja problema. U ovom primjeru skup svih moguih
konfiguracija (9! = 362880) sainjava prostor stanja problema. Kada su definirana stanja
problema, potrebno je odabrati formu predstavljanja koja e se koristiti kao globalna baza
podataka sustava produkcije (u ovom sluaju to predstavlja matricu 3 x 3). Izvorna baza
podataka daje opis poetnog stanja problema. U opem sluaju za opis stanja se moe koristiti
bilo koja struktura podataka (nizovi znakova, vektori, skupovi, stabla, liste, i td.).
Svaka promjena transformira jedno stanje zadatka u drugo. U danom primjeru je
pogodno definirati etiri pravila: pomjeranje praznog polja lijevo, desno, gore i dole. Ova
pravila (promjene) se opisuju pravilima produkcije koja se na odgovarajui nain primjenjuju
na dano stanje problema (zadatka),
Svako pravilo ima svoje poetne uvjete koji moraju biti zadovoljeni opisom stanja.
Na primjer, poetni uvjet za primjenu pravila pomjeranje praznog polja na gore jeste da se
ono ne nalazi u gornjem redu.
Problem se svodi na ispitivanje liste stanja zadatka. Dalja generalizacija se svodi na
specificiranje tono/netono (engleski termini: true/false) uvjeta na stanjima koji slue kao
ciljni uvjet. Cilj ostvaruje neko stanje koje zadovoljava ovaj uvjet. Na ovaj nain terminalni
uvjet eksplicitno definira skup ciljnih stanja.
Na osnovu uvedenih termina stanja, pravila i ciljeva, rjeenje problema je izbor
sekvence pravila koja provode poetno u ciljno stanje. Upravljake strategije naizmjenino
primjenjuju pravila na opise stanja sve dok se ne dobije opis ciljnog stanja. Takoer se
evidentiraju pravila koja pri tom bivaju koritena, tako da se ta pravila komponuju u sekvencu
koja predstavljaju rjeenje problema.
U izvjesnim zadacima zahtijeva se da rjeenje zadovoljava i dodatna ogranienja.
Osnovni algoritam sustava produkcije moe se napisati u obliku slijedee procedure:
procedure Produkcija
begin
1
DATA := polazna baza podataka
2
while DATA zadovolji terminalni uvjet do
3
begin
4
izabrati neko pravilo, R iz skupa pravila koja se mogu primijeniti na DATA
5
DATA := rezultat primjene R na DATA
6
end
end
U proceduri Produkcija nije dano na koji nain treba birati primjenljivo pravilo, pa
je stoga ova procedura nedeterministika.

Strategija upravljanja
Pod strategijom upravljanja (engleski termin: control strategy) podrazumijeva se
izbor pravila i pamenje ve oprobanih nizova pravila i stanja baza podataka dobivenih
njihovom primjenom. Kod veine sustava umjetne inteligencije informacija koja je dostupna
strategiji upravljanja nije dovoljna da omogui izbor najboljeg pravila pri svakom obraanju
koraku 4 u proceduri Produkcija. Tako se rad sustava produkcije moe oznaiti i kao proces
pretraivanja (engleski termin: search procss) u kome se ispituju pravila sve dok se ne otkrije
da neki njihov niz ne proizvede bazu podataka koja zadovoljava terminalni uvjet.
Efikasna upravljaka strategija zahtjeva dovoljno znanja o prirodi problema koji se
rjeava, tako da izabrano pravilo u koraku 4 ima najveu ansu da bude najbolje. Strategije
upravljanja se mogu podijeliti u dvije glavne skupine:
bespovratne (engleski termin: irrevocable) i
probne (engleski termin: tentative).
Kod bespovratne strategije upravljanja bira se primjenljivo pravilo bez mogunosti
da se ono u narednim koracima preispita i zamjeni. U probnom reimu upravljanja ostavlja se
mogunost povratka na korak u kojem je pravilo izabrano, uz mogunost da se ono zamijeni
nekim drugim pravilom. Razlikuju se dva osnovna tipa:
Upravljanje s vraanjem unazad (engleski termin: backtracking) i
Upravljanje s pretraivanjem na grafu (engleski termin: graph search control).
Kod upravljanja s povratkom unazad odreuje se tzv. toka povratka kada je
pravilo izabrano. Ukoliko slijedea uzastopna izraunavanja dovedu do tekoa u formiranju
rjeenja, proces izraunavanja se prenosi na prethodnu toku povratka, u kojoj se sada
primjenjuje neko drugo pravilo i proces se nastavlja.
Upravljanje s pretraivanjem na grafu pamti primjenu nekoliko sekvenci pravila.
Koriste se razliite strukture grafova, kao i razliite procedure pretraivanja.

Upravljaki reimi
Bespovratna strategija upravljanja
Na prvi pogled moe izgledati da bespovratne strategije ne mogu biti primjenljive
na one zadatke kod kojih se zahtijeva proces pretraivanja, ve da je pogodnija metoda
pokuaja i greke. Meutim, nije uvijek tako.
Kao primjer za ovo moe posluiti strategija najbreg sputanja ili dizanja pri
odreivanju ekstrema funkcije. U bilo kojoj toki odreujemo najstrmiji gradijent (lokalno
znanje) za nalaenje eventualnog maksimuma funkcije (globalno znanje). Za izvjesne vrste
funkcija znanje o najstrmijem gradijentu je dovoljno za nalaenje rjeenja penjanje po brdu
(engleski termin: Hill-climbing) procesima. (Penjanje po brdu predstavlja bilo koju
numeriku proceduru za pronalaenje maksimuma funkcije.
Direktno koritenje funkcije penjanje po brdu, u bespovratnom sustavu
produkcije mogue je kada je potrebna funkcija realne procjene nad globalnom bazom
podataka. Strategija upravljanja koristi ovu funkciju da bi se izabralo neko pravilo. Bira se
(bespovratno) primjenljivo pravilo koje proizvodi bazu podataka, dajui najvee uveanje
vrijednosti funkcije. Funkcija mora biti takva da postie svoju najveu vrijednost za bazu
podataka koja zadovoljava terminalni uvjet.

Primjenjujui strategiju najkraeg rastojanja pri penjanju ili sputanju u igri


slaganja, funkcija koja opisuje stanje moe biti negativan iznos broja polja iji se cifre ne
poklapaju s ciljnim stanjem. Naredna slika pokazuje sekvencu stanja pri igranju ove igre.
Vrijednosti funkcije za sva stanja su evidentna. Slika pokazuje da jedno od primijenjenih
pravila du puta ne poveava vrijednost dane funkcije. Ako nijedno od primijenjenih pravila
2
1
7

8
6

3
4
5

a) 4

b) 3
2
1
7

8
6

c) -3
3
4
5

d) 2
f) o

e) 1

1
8
7
2
1
7

2
6
8
6

3
4
5
3
4
5

Slika Vrijednost funkcije penjanje po brdu u igri slaganja


ne dopusti uveanje vrijednosti dane funkcije, bira se (proizvoljno) pravilo koje ne smanjuje
vrijednost. Ako ne postoje takva pravila, proces se obustavlja. U opem sluaju strategija koja
koristi funkciju penjanje po brdu moe imati vie lokalnih maksimuma, koji ograniava
metoda. Na primjer, neka su ciljno i poetno stanje kao na narednoj slici.
1
8

2
7
6

3
4
5

a)

1
8

2
7
6

5
4
3

b)

slika Ciljno (a) i poetno (b) stanje


Bilo koje primjenljivo pravilo primijenjeno na poetno stanje smanjuje vrijednost
dane funkcije, pa se sustav nalazi u lokalnom, ali ne i globalnom maksimumu funkcije.
U mnogim konkretnim zadacima primjena neodgovarajueg pravila moe da
uspori, ili ak da u potpunosti sprijei nalaenje rjeenja. Tada je poeljno primijeniti probni
reim upravljanja, po kome se primjena nekog pravila ispituje, i ukoliko se njegova primjena
pokae nekorisnom, vri se povratak unazad i isprobava neko drugo pravilo.

Strategija s vraanjem unazad


Vraanje unazad je proces kod koga se strategija upravljanja realizira probanjem.
Po izboru pravila, ukoliko ono ne vodi do rjeenja, ono se zaboravlja i proces nastavlja sa
drugim odabranim pravilom. Ova strategija upravljanja moe se primijeniti bez obzira na
iznos koji postoji o izabranom pravilu.
1)
2
1
7

8
6

3
4
5

8
2
1

6
7

5)

3
4
5

6)

8
2
1

6
7

3
4
5

5)
2)
6)
2
1

6)
8
6
7

3
4
5

8
2
1

3
6
7

3)
2
1

3
4
5

8
6
7

3
4
5

6
7

3
4
5

8
6

3
4

4)
2
1
5)
8
2
1
6)
2

4
5

7)
8
6
7

8
2
1

6
7

7)

3
4
5

7)

8
2
1

6
7

3
4
5

Slika Upravljaka strategija s vraanjem unazad


Ukoliko ne postoji informacija o valjanosti izbora pravila, moe se nasumice birati
bilo koje pravilo i zamijeniti nekim drugim, ukoliko se pokae pogrenim. itav proces
pronalaenja rjeenja e biti efikasniji ukoliko postoji informacija o ispravnosti izbora.
Povratak unazad e nastati svaki put:
a) kada se generira stanje koje je ve postojalo u nizu stanja od polaznog stanja,
b) kada se primjeni proizvoljan skup pravila a ne dostigne se ciljno stanje ili
c) ukoliko nema vie primjenljivih pravila.
Izabran broj pravila u koraku b) predstavlja dubinu procesa pretraivanjima sa
vraanjem unazad (engleski termin: depth bound).
Slika sa prethodne strane ilustrira sekvencu primjene probnih pravila i trasu strategije sa
povratkom unazad. Svako stanje je obiljeeno brojem da bi se oznaio red stanja koji
proizvodi sustav produkcije, pri emu cio proces traenja nije prikazan.
Proces vraanja unazad je efikasniji ako izbor pravila nije sluajan ve je uvjetovan
informacijom to treba da bude najbolji potez. Ako je ova informacija dostupna, tada e
odgovarajue pravilo biti izabrano i nee biti potrebe za vraanjem unazad. U navedenom
primjeru koritena je funkcija penjanje po brdu kao sredstvo za izbor pravila. Dok funkcija
penjanje po brdu sa bespovratnim upravljakim reimom moe dovesti u orsokak u
lokalnom maksimumu, strategija sa vraanjem unazad doputa nastavljanje alternativnim
putanjama. U primjeru sa navedene slike nastaju slijedee situacije:
1. kolona: Ponavlja se stanje jednako nekom od ve formiranih stanja na putanji, tako da
se odbacuje posljednji potez i primjenjuje pomjeranje praznog polja udesno na
stanje 5. Nastavlja se na narednoj koloni.
2. kolona: Odbacuje se zadnji potez iz istih razloga i primjenjuje potez pomjeranje
praznog polja dole na stanje 6. Nastavak na slijedeoj koloni.
3. kolona: Primijenjeno je 6 pravila a nije postignut cilj, stoga se odbacuje zadnji potez.
Ne postoji vie neprobanih pravila da se primjene na stanje 6, tako da se ponovo
prelazi na stanje 5 i primjenjuje pomjeranje praznog polja dole. Nastavak na
slijedeoj koloni.
4. kolona: Primijenjeno je pet pravila bez dostizanja cilj, i td.
Pretraivanje na grafu
Na strukturi prikazanoj u obliku grafa (i stablo je graf!) mogu se prikazati
primijenjena pravila i odgovarajua stanja baze podataka. Ovakva struktura naziva se stablom
pretraivanja, i jedan primjer dan je na narednoj slici:
Razliita pravila koja se mogu primijeniti odgovaraju usmjerenim lukovima koji
uviru u vorove rezultirajue konfiguracije. Na vrhu stabla pretraivanja je poetna
konfiguracija. Strategija pretraivanja na grafu uveava stablo sve dok se ne dostigne
terminalni uvjet baze podataka.
Bespovratnom reimu upravljanja na stablu pretraivanja odgovora samo jedan put
nanie. Strategija sa vraanjem unazad ne pamti cijelu strukturu stabla pretraivanja, ve
samo tekui put da ga treba izmijeniti.

Slika Stablo pretraivanja u igri slaganja brojeva


Zadatak predstavljanja
Pored izbora dobre upravljake strategije efikasno rjeenje zadatka nalae dobar
izbor stanja problema i terminalnih uvjeta. Oigledno je u prednosti ona predstava koja ima
manji prostor stanja. Postoje brojni primjeri tekih zadataka koji se uspjeno rjeavaju
zahvaljujui efikasnoj predstavi. Ponekad se prostor stanja zadatka moe smanjiti uoavajui
da se neka pravila mogu odbaciti, ili kombinirati u snienju pravila. ak kada se
jednostavna transformacija i ne moe izvriti, mogue je da potpuna preformulacija problema
smanji prostor stanja.
Naini prikaza zadatka i procesi poboljanja njegovog prikaza su jo nedovoljno
ispitani, tako da je predstavljanje zadatka zavisno od intuicije i iskustva onoga koji rjeava
zadatak. Ovo iskustvo doputa da se prepozna uproenje notacije, poput simetrije, ili
sekvence pravila koja treba kombinirati u makro pravilu. U naredna dva primjera bie
ilustriran nain rjeavanja zadataka pomou produkcionih sustava.
Primjer1. Problem trgovakog putnika. Trgovaki putnik mora posjetiti svaki od 5 gradova
prikazanih na slici. Postoji definiran put i rastojanje izmeu svih parova gradova. Polazei iz
grada A, trai se najkrai put kojim se posjeuje svaki grad samo jednom do konanog
povratka u A.

Slika Jedna trasa problema trgovakog putnika


Globalna baza podataka predstavlja listu posjeenih gradova. Inicijalna baza
podataka je takoer opisana listom. Ne doputa se da se ime nekog grada pojavi vie od jedan
put (osim nakon posjete svim gradovima).
Pravila odgovaraju odlukama usmjerenja na grad A, grad B,, i grad E. Pravilo se
ne moe primijeniti ukoliko upuuje na neki grad koji je ve posjeen. Ponovno upuivanje
na grad A nije primjenljivo, ukoliko ve nisu posjeeni svi gradovi.
Globalna baza podataka zapoinje i zavrava sa gradom A sadravajui sve druge
gradove koji zadovoljavaju terminalni uvjet.
Na slijedeoj slici predstavljeno je stablo pretraivanja dobiveno pomou strategije
pretraivanja na grafu. Numerike vrijednosti obiljeenih lukova predstavljaju brojane
vrijednosti rastojanja izmeu odgovarajuih gradova. Na slici (grafu) razvijena je samo
putanja koja predstavlja rjeenje zadatka.
Primjer 2. Problem sintaksne analize. Drugi problem koji se eli rijeiti tehnikom
produkcionih sustava, predstavlja istraivanje dali je sekvenca simbola, reenica nekog jezika
odreena zadatom gramatikom. Ovaj problem se naziva problem parsiranja, t.j. rastavljanja
reenica (engleski termin: parsing problem), a sustav produkcije se moe upotrijebiti za
njegovo rjeavanje. U opem sluaju gramatika jezika se definira etvorkom (S 0, Vn, Vt, P),
odnosno startnim simbolom, skupom neterminiranih simbola, skupom terminalnih simbola i
skupom produkcija, respektivno.

Slika Stablo pretraivanja za problem trgovakog putnika


Neka je dana slijedea gramatika koja definira jezik:
Vn = S, NP, VP, PP, P, V, DNP, DET, A, N
Vt = of, approves, new, president, company, sale, the
P = DNP VP S
V DNP VP
P DNP PP
of P
approves V
DET NP DNP
DNP PP DNP
ANP NP
N NP
new A
president N
compani N
sale N
the DET
Potrebno je provjeriti da li slijedei niz simbola predstavlja jednu reenicu ovog
jezika.
The president of the new compani approve the sale

Za rjeenje ovog problema specificirano je slijedee:


U ovom primjeru globalna baza podataka se sastoji od niza simbola Vn i Vt. Inicijalna
baza podataka predstavlja niz simbola koji se testira.
Produkciona pravila su izvedena iz pravila gramatike. Desnom stranom pravila
gramatike se moe zamijeniti sadraj bilo koje lijeve strane . Naprimjer, pravilom
DNP VP S se DNP VP moe zamijeniti sa S. Neko pravilo je neprimjenljivo ako
reenica (baza podataka) ne sadri lijevu stranu pravila. Takoer, pravilo se moe
primijeniti nad bazom na razne naine, ovisno od sadraja lijeve starne u bazi. Baza
koja se sastoji samo od simbola S zadovoljava zavrni uvjet.
Dio stabla pretraivanja za rjeenje ovog problema dan je na slici
(Poetno stanje)
The president of the new compani approve the sale

DET N P DET A N V DET N

DNP P DNP VP
DNP P S

DNP PP VP

DNP VP

(ciljno stanje) S

Slika Stablo pretraivanja iz primjera sintaksne analize.


Inverzni i dvosmjerni sustavi produkcije
Produkcioni sustav koji je do sada koriten u rjeavanju igre slaganja, radio je unaprijed, od
poetnog tanja do krajnjeg. Problem se moe rijeiti i u povratnom pravcu polazei od ciljnog
stanja, inverzno primjenjujui pravila i zavravajui proceduru dostizanjem poetnog stanja.
Iako nema formalnih razlika izmeu sustava produkcije, koji rade u direktnom i povratnom
reimu, pogodno je napraviti razliku izmeu ovih sustava.
Ukoliko se u zadatku mogu jasno razaznati stanja i ciljevi i ako opis stanja slui
kao globalna baza podataka, tada se ovakav sustav produkcije naziva direktni sustav
produkcije (engleski termin: forward production system), Pravila, koja primijenjena na opise
stanja daju nova stanja, nazivaju se F pravila. Ukoliko se koriste opisi cilja kao baza podataka,
tada je to inverzni sustav produkcije (engleski termin: backward production system).
Pravila, koja primijenjena na opise cilja daju opise stanja podciljeva, nazivaju se B pravila.
U sluaju problema sa jedinstvenim inicijalnim i ciljnim stanjem (naprimjer igra
slaganja) ne postoji razlika da li se problem rjeava direktnim ili inverznim postupkom.
Meutim, u nekim prilikama bolje je rjeavati problem jednim od dva postupka. Na primjer,
ako postoji velik broj eksplicitnih ciljnih stanja i jedno poetno stanje, tada je vrlo teko
rjeavati problem inverznim postupkom. U opem sluaju, izbor postupka rjeavanja ovisi od
strukture prostora stanja.

U sluaju primjene dvosmjernog sustava produkcije, strategija upravljanja


odluuje na svakom koraku da li e se na globalnu bazu podataka primijeniti F ili B pravila.
Kod ovog tipa pretraivanja terminalni uvjet (kada je problem rijeen)mora biti izraen i
preko dijela opisa stanja i preko dijela opisa stanja i preko dijela opisa cilja globalne baze
podataka. Odnosno, u bazi podataka takvog produkcionog sustava moraju se nai i opisi
stanja i opisi ciljeva. Na dio koji se odnosi na opis stanja primjenjuju se F pravila, a na dio
koji se odnosi na opis ciljeva B pravila.

Specijalizirani produkcijski sustavi


Komutacijski sustav produkcije
Pod odreenim uvjetima redoslijed pod kojim se primjenjuje skup pravila nije od znaaja.
Kada su uvjeti ispunjeni, efikasnost rada sustava produkcije moe se poveati odbacivanjem
suvinih pitanja pronalaenja rjeenja, koje su meusobno ekvivalentne, osim u redoslijedu.
Kae se da je neki sustav produkcije komutativan, ako zadovoljava slijedee uvjete, bez
obzira na globalnu bazu podataka D:
Svako pravilo primijenjeno na D takoer je primjenljivo i na proizvoljnu bazu
podataka dobivenu primjenom pravila na D.
Ako se ciljni uvjet postie bazom D, tada se on postie i proizvoljnom bazom
dobivenom primjenom pravila na D.
Baza podataka koja se dobiva iz D primjenom neke sekvence primjenljivih pravila,
invarijantna je na permutaciju ove sekvence.
Na narednoj slici prikazana su tri pravila R1, R2, i R3 koja se mogu primijeniti na
bazu S1. poslije primjene nekog od ova tri pravila, sva tri pravila se mogu primijeniti na
rezultate baze.
Svojstvo komutativnosti sustava podrazumijeva da, pri produkciji baze podataka
oznaene su sa SG na danoj slici, ne koriste se svi nizovi pravila za postizanje ovog cilja.
Samo ona pravila koja su primjenljiva na poetnu bazu mogu se organizirati u proizvoljnu
sekvencu i primijeniti na bazu podataka za dostizanje rezultata nezavisno od reda.
Komutacijski sustavi produkcije posjeduju slijedea vana svojstva:
Bespovratni reim upravljanja moe se uvijek koristiti, poto primjena nekog pravila
ne nalae eventualnu njegovu zamjenu.
Pravilo koje je ranije primijenjeno na bazu podataka moe ponovo primijeniti.
Nema potrebe za osiguranjem mehanizma primjene razliitih nizova pravila.
Primjena nekog pravila moe da produi proces rjeavanja, ali ga ne moe
onemoguiti, po zavretku rada takva pravila se mogu ukloniti iz noiza.

Slika Ekvivalentne putanje u grafu


Dekompozicija produkcijskih sustava
Komutativnost nije jedini uvjet ije izvrenje doputa izvjesnu slobodu suglasno poretku
primijenjenih pravila. Neka je dana inicijalna baza podataka (C, B, Z) sa slijedeim
produkcijskim pravilima
R1 . C
R2 : C
R3 : B
R4 : Z

(D, L)
(B, M)
(M, M)
B, B, M)

i neka terminalni uvjet podrazumijeva sve M-ove u bazi podataka.


Upravljaki reim pretraivanja po grafu mora ispitati i mnoge ekvivalentne
putanje dajui bazu koja sadri sve M-ove kao to je prikazano na narednoj slici. Redudentne
putanje mogu dovesti do neefikasnosti zbog toga to upravljaka strategija pokuava ispitati
sve putanje, a neke od njih se ne zavravaju uspjeno.
Nain da se izbjegne ispitivanje redudentnih putanja je da se inicijalna baza
podataka dekomponira ili podijeli u posebne komponente koje se mogu obraivati neovisno.
U danom primjeru, inicijalna baza podataka se moe dijeliti u komponente C, B, i Z. Pravila
produkcije se mogu primijeniti na svaku od ovih komponenti neovisno (mogue i paralelno); i
rezultati ovih primjena se mogu dijeliti i td, sve dok svaka komponenta baze podataka ne
sadri sve M-ove.

Slika sekvence rjeenja dekompozicije produkcijskih sustava


U cilju dekompozicije baze podataka neophodno je izraziti globalni terminalni
uvjet koristei terminalne uvjete svake od komponenti. Najvaniji sluaj nastaje kada se
globalni terminalni uvjet moe izraziti kao konjukcija terminalnih uvjeta komponenti.
Produkcioni sustav kod koga se baza podataka i terminalni uvjeti mogu dekomponirati naziva
se razlonim (engleski termin: decomposible). Osnovna procedura za dekompoziciju
produkcionih sustava moe se predstaviti na slijedei nain:
procedure Razlaganje
begin
1
DANA := polazna baza podataka
2
Di := dekompozicija DANA;
individualni Di se sada razmatraju kao posebne baze podataka
3
while postoji Di koji ne zadovoljava terminalni uvjet do
4
begin
5
select D* iz Di koji ne zadovoljavaju terminalni uvjet
6
ukloniti D* iz Di
7
select pravilo R koje se mora primijeniti na D*
8
D := rezultat primjene R na D*
9
di := dekompozicija od D
10
dodati di na Di
end
end
Upravljaka strategija u proceduri Razlaganje mora izabrati neku komponentu baze
D* u koraku 5, i mora izabrati pravilo koje se primjenjuje u koraku 7. Nezavisno od oblika
ove strategije da bi se zadovoljio korak 3 moraju se izabrati svi elementi u Di. Za neko
izabrano D* potrebno je izabrat jedno primjenljivo pravilo.

Iako je mogue obraivati komponente baze podataka paralelno, ovdje su


interesantne upravljake strategije koje obrauju ove komponente na serijski nain.
Postoje dva glavna naina ureenja komponenti:
komponente se ureuju u redoslijedu nastanka,
komponente se dinamiki ureuju tokom obrade.
Fleksibilnije upravljake strategije za razloite produkcione sustave dozvoljavaju
da se komponente baza podataka tijekom obrade reorganiziraju dinamiki. Strukture koje se
nazivaju AND/OR (i/ili) grafovi slue za opisivanje produkcionih sustava u reimu
upravljanja, i jedan primjer dan je na slijedeoj slici. AND/OR graf se sastoji od vorova
obiljeenih globalnim bazama. vorovi obiljeeni kao sloene baze podataka imaju skupove
sljedbenikih vorova od kojih je svaki obiljeen kao jedna komponenta. Ovi sljedbeniki
vorovi se nazivaju AND vorovi zato to izvrenje obrade sloene baze podataka nalae
izvrenje svih komponenti baze podataka. Skup AND vorova je prikazan na primjeru
polukrugom koji povezuje sve odgovarajue lukove.
Pravila se mogu primijeniti na komponente baze podataka. vorovi oznaeni ovim
komponentama baza podataka imaju sljedbenike vorove koji su oznaeni kao rezultati
primjena pravila. Ovi sljedbeniki vorovi se zovu OR vorovi zato to zavretak obrade
jedne komponente baze podataka ini suvinim ostale obrade koje su mogue na toj
komponenti.
vor koji odgovara nekoj komponenti baze podataka i zadovoljavaju terminalni
uvjet prikazan je na slici dvostrukim kvadratom. Takvi vorovi se nazivaju zavrni vorovi.
Rjeenje zadatka predstavljeno je podgrafom AND/OR grafa. Rjeenje podgrafa je
prikazano zatamnjenim lukovima grafa, a krajnji vorovi podgrafa zadovoljavaju terminalni
uvjet.

Slika Primjer jednog AND/OR stabla

Vrste znanja o problemima


Moe se rei da sustavi umjetne inteligencije zahtijevaju znanje iz domena problema. Ovo
znanje, kao to je ve reeno, dijeli se u tri iroke kategorije koje pripadaju: globalnoj bazi
podataka, pravilima i upravljakom sustavu. Znanje o problemu koje je prikazano u globalnoj
bazi naziva se i deklarativno znanje (engleski termin: declarative knowledge ). Na primjer, u
inteligentnom sustavu za pretraivanje deklarativno znanje ukljuuje glavnu bazu podataka
specifinih injenica. Znanje o problemu koje je predstavljeno pravilima naziva se
proceduralno znanje /engleski termin: procedural knowledge). U inteligentnom sustavu za
pretraivanje proceduralno znanje ukljuuje informacije pomou kojih se manipulira
deklarativnim znanjem. Znanje o problemu koje je predstavljeno pomou upravljake
strategije naziva se upravljako znanje (engleski termin: control knowledge) Upravljako
znanje ukljuuje znanje o razliitim procesima, strategijama, strukturama koje se koriste da se
koordinira proces cijelog rjeenja problema.

You might also like