You are on page 1of 53

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 F je funkcija definirana na Sf S sa vrijednostima
u S, tj, f: Sf S. Rjeenje 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

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:

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 predstavljana 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 pravila. 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 10120 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 crpka (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.

(X,Y X 4) (4,Y)

Napuniti bokal od 4 l

2.

(X,Y Y 3) (X,3)

Napuniti bokal od 3 l

3.

(X,Y X 0) (X-D,Y)

Prosuti neto vode (D) iz


bokala od 4 l

4.

(X,Y Y 0) (X,Y-D)

Prosuti neto vode (D) iz


bokala od 3 l

5.

(X,Y X 0) (0,Y)

Isprazniti bokal od 4 l

6.

(X,Y Y 0) (X,0)

Isprazniti bokal od 3 l

7.

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

Napuniti bokal od 4 l vodom iz


bokala od 3 l

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

Napuniti bokal od 3 l vodom iz


bokala od 4 l

9.

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

Presuti svu vodu iz bokala od 3


l u bokal od 4 l

10.

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

Presuti svu vodu iz bokala od 3


l u bokal od 4 l

8.

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).

Voda u bokalu od
4l
0

Voda u bokalu od
3l
0

Primijenjeno
pravilo
2

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 neki problem predstaviti 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 ispunjavati. 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:
1

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 komponiraju 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) .
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

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.

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.

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.

Slika Stablo pretraivanja za problem trgovakog putnika

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 .

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

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 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 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 se


ponovo primijeniti.
Nema potrebe za osiguranjem mehanizma primjene razliitih nizova
pravila. Primjena nekog pravila moe produiti proces rjeavanja, ali
ga ne moe onemoguiti, po zavretku rada takva pravila se mogu
ukloniti iz niza.

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 (suvine) 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 (zdruivanje) 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
DATA := polazna baza podataka
2
Di := dekompozicija DATA;
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 za koordiniranje procesa cijelog rjeenja
problema.

You might also like