24.12.2012 Views

Zbirka zadataka iz Ekspertskih sistema

Zbirka zadataka iz Ekspertskih sistema

Zbirka zadataka iz Ekspertskih sistema

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

272 Dodatak 1<br />

3. Ako se dostigne ciljno stanje, obavestiti o uspehu; u suprotnom, obavestiti o neuspehu.<br />

Algoritam 8: AO*<br />

1. Graf pretrage G sastoji se inicijalno samo od startnog čvora n0 . Funkcija procene f za<br />

startni čvor jednaka je njegovoj heurističkoj funkciji f(n0 ) = h(n0 ).<br />

2. Sve dok startni čvor ne bude obeležen kao REŠEN, raditi sledeće:<br />

2.1. Odrediti graf parcijalnog rešenja G’ sledeći markirane konektore u grafu pretrage G<br />

od startnog čvora. Inicijano G’ se sastoji samo od startnog čvora. Izabrati (na<br />

pro<strong>iz</strong>voljan način) neki od nerazvijenih čvorova <strong>iz</strong> G’.<br />

2.2. Razviti <strong>iz</strong>abrani čvor n. Ako se neki od čvorova naslednika čvora n ne nalazi u<br />

grafu, uneti ga u graf i vrednost njegove funkcije procene f postaviti na vrednost<br />

heurističke funkcije toga čvora. Ako uneti čvor predstavlja jednog od ciljnih<br />

čvorova, obeležiti ga kao REŠENOG.<br />

2.3. Ažurirati funkciju procene <strong>iz</strong>abranog čvora n na sledeći način:<br />

2.3.1. Funkcija procene f(n) čvora n jednaka je minimumu svih funkcija procene<br />

fKi po svakom od <strong>iz</strong>laznih konektora K1 , K2 do Kp :<br />

f(n) = min(fK1 ,fK2 ,...,fKp )<br />

pri čemu se funkcija procene fKi <strong>iz</strong>laznog konektora Ki računa kao zbir cene<br />

cKi konektora Ki i (ranije <strong>iz</strong>računatih) vrednosti funkcija procene fnj svih<br />

čvorova n1 , n2 ,...,nm koji su konektorom Ki spojeni sa <strong>iz</strong>abranim čvorom n:<br />

fKi = cKi + f(n1 ) + f(n2 ) + ... + f(nm ).<br />

2.3.2. Obeležiti onaj konektor Ki među <strong>iz</strong>laznim konektorima <strong>iz</strong>abranog čvora n<br />

koji ima minimalnu vrednost funkcije procene (prethodno ukloniti oznaku sa<br />

ranije obeleženog konektora, ako takav postoji).<br />

2.3.3. Ako su svi čvorovi naslednici čvora n po <strong>iz</strong>abranom konektoru Ki obeleženi<br />

kao REŠENI, obeležiti i čvor n kao REŠEN.<br />

2.3.4. Ako je funkcija procene čvora n <strong>iz</strong>računata u koraku 2.3.1 različita (veća<br />

od) stare ili je čvor n u koraku 2.3.3. obeležen kao rešen, ponoviti korak 2.3.<br />

(ažurirati njihove funkcije procene i status rešenosti) za svaki od prethodnika<br />

čvora n po obeleženom konektoru u grafu G’.<br />

Algoritam 9: Zaključivanje povratnim ulančavanjem<br />

1. Tokom zaključivanja razmatraju se ciljevi koji su predstavljeni konjunkcijom predikata.<br />

Za svaki od ciljeva pamti se tekući predikat (predikat do koga se stiglo u razmatranju<br />

cilja), i za svaki od zadovoljenih predikata redni broj činjenice ili pravila u bazi znanja<br />

koje zadovoljava taj predikat i vezivanja promenljivih nastala tom prilikom.<br />

2. Pozvati proceduru TEST za početni upit. Rezultat koji vrati procedura predstavlja<br />

zaključak o zadovoljenosti upita.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!