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.

1.3. Primeri na Prolog-u i LISP-u 77<br />

dohvati,<br />

stanje(sredina,na_sanduku,sredina,ima)).<br />

promeni_stanje(stanje(P,na_podu,P,B),<br />

popni_se,<br />

stanje(P,na_sanduku,P,B)).<br />

promeni_stanje(stanje(P1,na_podu,P1,B),<br />

gurni(P1,P2),<br />

stanje(P2,na_podu,P2,B)) :- pozicija(P2), P1P2.<br />

promeni_stanje(stanje(P1,na_podu,P3,B),<br />

setaj(P1,P2),<br />

stanje(P2,na_podu,P3,B)) :- pozicija(P2), P1P2.<br />

pripada_listi(H,[H|_]).<br />

pripada_listi(E,[_|T]):-pripada_listi(E,T).<br />

goal<br />

resenje(stanje(uz_vrata,na_podu,uz_prozor,nema),X),<br />

write(„X=„,X,“\n“),fail.<br />

Diskusija<br />

Pretraga se inicira upitom navedenim <strong>iz</strong>a klauzule goal. Predikat resenje je zadovoljen<br />

kada se nađe jedno rešenje. Tada se ugrađenim predikatom write ispisuje lista operatora X<br />

koja predstavlja rešenje. Ugrađeni predikat fail <strong>iz</strong>aziva vraćanje (backtracking) tako da<br />

program nalazi sva moguća različita rešenja pre nego što obustavi rad:<br />

X=[setaj(„uz_vrata“,“sredina“),setaj(„sredina“,“uz_prozor“),<br />

gurni(„uz_prozor“,“sredina“),popni_se,dohvati]<br />

X=[setaj(„uz_vrata“,“sredina“),setaj(„sredina“,“uz_prozor“),<br />

gurni(„uz_prozor“,“uz_vrata“),gurni(„uz_vrata“,“sredina“),<br />

popni_se,dohvati]<br />

X=[setaj(„uz_vrata“,“uz_prozor“),gurni(„uz_prozor“,“sredina“),<br />

popni_se,dohvati]<br />

X=[setaj(„uz_vrata“,“uz_prozor“),gurni(„uz_prozor“,“uz_vrata“),<br />

gurni(„uz_vrata“,“sredina“),popni_se,dohvati]<br />

Čitaocu se preporučuje da odredi stablo pretrage za prvo rešenje i odredi koliko puta pri<br />

pretrazi se vršilo vraćanje. Čime je određen redosled <strong>iz</strong>bora naslednika pri ekspanziji čvora?

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

Saved successfully!

Ooh no, something went wrong!