24.12.2012 Views

Zbirka zadataka iz Ekspertskih sistema

Zbirka zadataka iz Ekspertskih sistema

Zbirka zadataka iz Ekspertskih sistema

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

180 3. Strategije rešavanja problema<br />

UZMI_SA_STOLA(A) i tako dalje. Ova situacija predstavlja, prema tome, ‘ćorsokak’ za<br />

algoritam <strong>iz</strong>bora operatora.<br />

Algoritam <strong>iz</strong>bora operatora treba dakle da obezbedi vraćanje unatrag (backtracking), tako što<br />

će obnoviti stanje steka pre <strong>iz</strong>bora operatora UZMI_SA_STOLA(A) i <strong>iz</strong>abrati alternativni<br />

operator, u ovom slučaju operator SKINI_SA_BLOKA(A,z).<br />

CILJNI STEK (raste naniže):<br />

NaStolu(B) ∧ Na(A,B) ∧ NaVrhu(A) ∧ RukaPrazna<br />

NaStolu(B)<br />

Na(A,B)<br />

NaVrhu(A)<br />

SPUSTI_NA_STO(A)<br />

URuci(A)<br />

SKINI_SA_BLOKA(A,z)<br />

RukaPrazna ∧ Na(A,z) ∧ NaVrhu(A)<br />

RukaPrazna<br />

Na(A,z)<br />

NaVrhu(A)<br />

Treba primetiti da pri prethodnom <strong>iz</strong>boru operatora promenljiva z nije vezana ni za jednu od<br />

konstanti A, B, C jer za tim nije postojala potreba. Na vrhu steka opet se pojavio<br />

nezadovoljeni stav NaVrhu(A) koji signal<strong>iz</strong>uje pogrešan <strong>iz</strong>bor operatora i nalaže vraćanje na<br />

situaciju pre <strong>iz</strong>bora poslednjeg operatora:<br />

CILJNI STEK (raste naniže):<br />

NaStolu(B) ∧ Na(A,B) ∧ NaVrhu(A) ∧ RukaPrazna<br />

NaStolu(B)<br />

Na(A,B)<br />

NaVrhu(A)<br />

SPUSTI_NA_STO(A)<br />

URuci(A)<br />

S obzirom da su već razmotrene sve mogućnosti za zadovoljavanje stava URuci(A),<br />

zaključujemo da je operator SPUSTI_NA_STO(A) pogrešno <strong>iz</strong>abran pa se vraćamo na<br />

razmatranje situacije pre <strong>iz</strong>bora ovoga operatora:<br />

CILJNI STEK (raste naniže):<br />

NaStolu(B) ∧ Na(A,B) ∧ NaVrhu(A) ∧ RukaPrazna<br />

NaStolu(B)<br />

Na(A,B)<br />

NaVrhu(A)<br />

U ovoj situaciji biramo sledeći operator po redosledu primene, a to je<br />

SKINI_SA_BLOKA(u,A). Stavljamo ga na stek zajedno sa preduslovima primene:

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

Saved successfully!

Ooh no, something went wrong!