You are on page 1of 2

Priprema za vebe iz predmeta Raunarska inteligencija

Redni broj vebe: Oblast:

1.

PREDIKATSKA LOGIKA - PROLOG


Veba 1. Upoznavanje sa SWI PROLOG interpreterom

1. SWI PROLOG interpreter se pokree kao standardna Windows aplikacija. 2. Nakon pokretanja (plwin.exe) programa pred vama se pojavljuje glavni prozor PROLOG interpretera .

Slika 1 Osnovni prozor SWI Prolog interpretera Neposredno iza znaka '?-' postavljaju se upiti. 3. Da bi se PROLOG program preveo u internu formu i smestio u radnu bazu znanja, potrebno je konsultovati sadraj datoteke u kojoj se program nalazi. Ova operacija se obavlja pozivanjem akcije File->Consult.... Nakon ega je neophodno pronai datoteku na nain standardan Windows okruenju. 4. Novi program piemo tako to prvo izabiramo opciju 'File->New...', i nakon toga u internom editoru unosimo injenice i pravila. Pored ovog naina mogue je program naisati i snimiti bilo kojim standardnim editorom tekstualnih datoteka, u tom sluaju datoteka se otvara pozivanjem akcije File->Edit.... Interni editor pored standardnih operacija sa tekstualnim datotekama omoguava: - automatsku proveru sintaksne ispravnosti - prikaz kljunih izraza u razliitim bojama - osveavanje interne memorije PROLOG interpretera (Ctrl+c Ctrl+b)

Priprema za vebe iz predmeta Raunarska inteligencija

5. U sluaju da se program uitan u internoj memoriji menja bilo internim editorom bilo klasinim editorima neophodno je ponovno ga uitati u radnu memoriju interpretera 'File Reload modified files' 6. Prvi program koji se unosi je model porodinog stabla.prikazan na slici 2.4.
Marija Marko

Petar

Teodora

Vanja

Milan

Milica

Nikola

Sonja

Filip

Slika 4. Model porodinog stabla Po unoenju injenica, snimite datoteku u svoj direktorijum, ekstenzija datoteke bi trebala da bude .pl i osveite internu memoriju PROLOG interpretera (File>Consult.. ili ako ste koristili interni editor Ctrl+c Ctrl+b). 7. Ako je sve u redu (program sintaksno ispravan i nalazi se u internoj memoriji) u glavnom prozoru moete da ponete sa unoenjem upita. Za probu, upitajte 'Ko je kome otac?' i 'Ko je kome majka?' 8. Vratite se u editorski prozor otkucajte predikate za roditelje i sestru. Snimite program i osveite radnu memoriju interpretera. Isprobajte kako rade predikati roditelj i sestra. Po ugledu na predikat sestra napiite predikat koji proverava da li je osoba X brat osobi Y. 9. Napiite predikat predak1:
predak1(X, Y):- roditelj(X, Y). predak1(X, Y):- roditelj(X, Z), predak1(Z, Y).

Na osnovu ovog predikata napiite predikate predak2 (u kojem je zamenjen redosled prve i druge klauzule), predak3 (u kojem je izmenjen redosled ciljeva u drugoj klauzuli) i predak4 (u kojem je izmenjen redosled i ciljeva i klauzula). Isprobajte ove predikate. Kako se ponaaju? 10. Proirite porodino stablo tako da dobijete veze ujak, tetka, brat od ujaka i sestra od strica. Dopunite pravila pravilima koji e proveravati pomenute veze. 11. Snimite program!