Professional Documents
Culture Documents
Prostor Stanja, Sustavi Produkcije I Redukcije
Prostor Stanja, Sustavi Produkcije I Redukcije
Prostor Stanja, Sustavi Produkcije I 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:
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).
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)
4.
(X,Y Y 0) (X,Y-D)
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))
9.
(X,Y X +Y =4LY 0)
(X+Y,0)
10.
(X,Y X +Y =3LX 0)
(0,X+Y)
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
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
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:
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.
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.
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 .
(D, L)
(B, M)
(M, M)
(B, B, M)
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