21

potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma
Page 2: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Kod kombinatornih struktura prilikom određivanja strukturepotrebno je ispitati konzistentnost skupa aksioma koje se izražavaju formulama predikatskog računa.

Programski sistem DEDUC, za generisanje rasporedanastavnih časova na aksiomatsko-deduktivnoj osnovi, koristi rezolucijski dokazivač teorema za proverukonzistentnosti podataka i uslova.

Dokazivač se može koristiti u različitim delovima procesakreiranja rasporeda: za konstituisanje skupa uslova, zautvrđivanje egzistencije traženog rasporeda i za njegovoneposredno kreiranje.

Page 3: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Sledeći primeri ilustruju način formalizacijezahteva i uslova u sistemu za generisanjerasporeda časova DEDUC. Posle izvršene formalizacije, odnosno unošenja svih zahteva i podataka, sistem DEDUC pomoću automatskog dokazivača teorema baziranog na OL-rezoluciji sa markiranim literalima, pokušava zadovoljiti postavljene ciljeve i generisati raspored časova.

Page 4: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Primer 1. Sistemu DEDUC treba saopštiti sledeći zahtev:

Ako odeljenje ima tehničko obrazovanje petog časa ondane sme da ima šesti čas.

Odrediti pod koji tip treba podvesti ovaj zahtev ako se zna:a) Tehničko obrazovanje se drži sredom petog časa samo u

odeljenjima petog razreda i to: V1 i V2 (uzeti u obzir navedenizahtev).

b) Od tri nastavnika tehničkog obrazovanja istovremeno mogu darade samo dva (zbog radionice).

Zapisati ove zahteve u formalizovanom obliku koristećioznaku TO kao naziv za tehničko obrazovanje.

Page 5: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Koristi se predikat D(N,P,Q,d,t) sa značenjem: nastavnik N drži časpredmeta P u odeljenju Q dana d u terminu t (t je redni brojčasa).

(∀X1)(∀X2)(∀Y1)(∀Z1)(∀U1)(D(X1,TO,Z1,U1,5)⇒D(X2,Y1,Z1,U1,6))↔D(X1,TO,Z1,U1,5) ⇒ D(X2,Y1,Z1,U1,6) ↔D(X1,TO,Z1,U1,5) ∨ D(X2,Y1,Z1,U1,6)

a) Formalizovanjem navedenih zahteva dobija se:D(X1,Y1,Q51,3,6) D(X1,Y1,Q52,3,6)

Oznake odeljenja: V1 i V2 su redom: Q51 i Q52. Sreda predstavlja trećiradni dan u nedelji pa je i označena konstantom 3. Podrazumeva se dasu promenljive: X1, Y1 univerzalno kvantifikovane.

Ovaj zahtev bi se u sistemu DEDUC trebao podvesti pod tip: NE RADI .

Page 6: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Formalizacijom navedenog uslova dobija se: D(N01,TO,Z1,U1,T1) ∨ D(N02,TO,Z2,U1,T1) ∨D(N03,TO,Z3,U1,T1)

Konstante N01, N02 i N03 predstavljaju konkretnenastavnike tehničkog obrazovanja. Promenljive: Z1, Z2, Z3, U1, T1 su univerzalno kvantifikovane.

Zahtev bi se u sistemu DEDUC trebao podvesti pod tip: NE RADI VIŠE OD.

Page 7: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Primer 2. Sistemu DEDUC ([22]), treba saopštitisledeći zahtev:

Ako odeljenje ima izborni predmet petog časaonda ne sme da ima šesti čas.

Odrediti pod koji tip treba podvesti ovaj zahtevako se zna:

a) izborni predmet se drži utorkom petog časasamo u VI3,

b) izborni predmet imaju sva odeljenja i može se držati bilo kog dana na bilo kom času.

Zapisati ove zahteve u formalizovanom oblikukoristeći oznaku IP kao naziv izbornogpredmeta.

Page 8: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

a) Uzimajući u obzir navedeni zahtev formalizovanjemse dobija:

D(X1,Y1,Q63,2,6)

Oznaka odeljenja VI3 je Q63, utorak je označen sakonstantom 2. Promenljive: X1 i Y1 su univerzalnokvantifikovane. Ovaj zahtev bi se u sistemu DEDUC trebao podvesti pod tip: NE RADI .

b) Formalizacijom navedenog uslova dobija se: D(X1,IP,Z1,U1,5) ⇒ D(X2,Y1,Z1,U1,6)

Promenljive: X1, X2, Y1, Z1, U1 su univerzalnokvantifikovane. Zahtev bi se u sistemu DEDUC trebaopodvesti pod tip: X ZABRANJUJE Y.

Page 9: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Opisni jezik logičkog programiranja izgrađenna bazi ADT- sistema podržava PROLOG -programe i proširuje mogućnosti PROLOG-a. Zato se može zvati "prologoliki" jezik.

Page 10: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Najvažnija svojstva prologolikog jezika baziranog na ADT sistemu:

Relacioni jezik - logički programski jezik. Koristi se za rešavanjeproblema koji se zasnivaju na objektima i relacijama između objekata.Neprocedurni jezik. Nije bitan redosled naredbi, već semantika programa. Nema aritmetičku naredbu dodeljivanja vrednosti, ni goto naredbu. Deklarativni (opisni, deskriptivni) jezik. Opisuje se ŠTA program treba dauradi (kao PROLOG), a ne KAKO da reši problem kao u konvencionalnimprocedurnim jezicima (kao npr. Pascal, FORTRAN, COBOL).Predikatski račun prvog reda čini teorijsku osnovu jezika. Nemaograničenja u odnosu na Hornove sastavke. Rečenice su oblika:

Ako p1, p2, ... , pn onda z1, z2, ... , zm.gde su pi za i=1,2,...,n i zj za j=1,2,...,m literali, što se zapisuje: z1, z2, ... , zm:-p1, p2, ... , pn.

Logička upotreba negacije. Omogućava logičku upotrebu negacije, koja je u skladu sa negacijom u matematičkoj logici.Automatizovano traženje rešenja. Postupak traženja rešenja zasniva se na pravilu rezolucije koje se primenjuje na sastavke (disjunkte, klauzule). Koristi se specijalna vrsta rezolucije: uređena linearna rezolucija samarkiranim literalima. Intenzivna primena rekurzije. Podržana je upotreba rekurzivnih pravila (ilevih i desnih rekurzivnih definicija).

Page 11: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Primer 1. U bazi znanja su pohranjeni podaci o životinjama i uslov da je životinja tamna ako je crnaili smeđa. Iz baze izdvojiti životinje koje su velike itamne.

Program koji opisuje datu situaciju na prologolikom jeziku:

VELIK(MEDVED).VELIK(SLON).VELIK(TIGAR).MALI(MACAK).SMEDJI(MEDVED).CRNI(TIGAR).CRNI(MACAK).SIVI(SLON).TAMNI(Z1):-CRNI(Z1).TAMNI(Z1):-SMEDJI(Z1).

Page 12: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Na osnovu postavljenog pitanja:

?-VELIK(X1), TAMNI(X1).

odgovori sistema su:

zamena: Z1/X1*zamena: TIGAR/Z1*

zamena: Z1/X1*zamena: MEDVED/Z1*

Uspeh=1Dokaz nadjen

Sledi da se u datoj bazi nalaze dve životinje kojezadovoljavaju kriterijume da su velike i tamne i da su to tigar i medved.

Page 13: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Primer 2. Neka su poznate činjenice o jednojporodici:

Petar je roditelj Marku.Marko je roditelj Milici.Ivan je Petrov roditelj.Mira je roditelj Ivanu.

Odgovoriti na pitanje: "Da li je Petar nekomepredak?".

Program će biti napisan na opisnom jezikulogičkog programiranja koji se bazira na ADT sistemu

Page 14: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Relacija predak definiše se rekurzivno pomoćudva pravila:

1. osoba X1 je predak osobe Y1 ako je roditelj X1 od Y1,

2. osoba X1 je predak osobe Y1 ako je roditelj nekog pretka.

Moguća su četiri različita načina zapredstavljanje relacije predak. Pri tome je relacija predak obeležena sa: pred, a relacijaroditelj sa rod.

Page 15: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

I varijanta:pred(X1,Y1):-rod(X1,Y1). pred(X1,Y1):-rod(X1,Z1), pred(Z1,Y1).

II varijanta:pred(X1,Y1):-rod(X1,Y1). pred(X1,Y1):-pred(Z1,Y1), rod(X1,Z1).

III varijanta:pred(X1,Y1):-rod(X1,Z1), pred(Z1,Y1).pred(X1,Y1):-rod(X1,Y1).

IV varijanta:pred(X1,Y1):-pred(Z1,Y1), rod(X1,Z1).pred(X1,Y1):-rod(X1,Y1).

Page 16: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Osim neke od navedenih varijanti pravilakojima se definiše relacija predak, program sačinjavaju i činjenice:

rod(petar,marko).rod(marko,milica).rod(ivan,petar).rod(mira,ivan).

Page 17: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

I varijanta:?-pred(Petar,V1). pred(X1,Y1):-rod(X1,Y1). pred(X1,Y1):-rod(X1,Z1), pred(Z1,Y1). rod(Petar,Marko).rod(Marko,Milica).rod(Ivan,Petar).rod(Mira,Ivan).

Odgovori:zamena: Petar/X1;Y1/V1*zamena: Marko/Y1*

zamena: Petar/X1;Y1/V1*zamena: X1/Z1;Y0/Y1*zamena: Marko/X1;Milica/Y0*

Uspeh=1Dokaz nadjen

Page 18: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

II varijanta:?-pred(Petar,V1). pred(X1,Y1):-rod(X1,Y1). pred(X1,Y1):-pred(Z1,Y1), rod(X1,Z1). rod(Petar,Marko).rod(Marko,Milica).rod(Ivan,Petar).rod(Mira,Ivan).

Odgovori:zamena: Petar/X1;Y1/V1*zamena: Marko/Y1*

zamena: Petar/X1;Y1/V1*zamena: Marko/Z1*zamena: Marko/X1;Y0/Y1*zamena: Milica/Y0*

Uspeh=1Dokaz nadjen

Page 19: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

III varijanta:?-pred(Petar,V1). pred(X1,Y1):-rod(X1,Z1), pred(Z1,Y1). pred(X1,Y1):-rod(X1,Y1). rod(Petar,Marko).rod(Marko,Milica).rod(Ivan,Petar).rod(Mira,Ivan).

Odgovori:zamena: Petar/X1;Y1/V1*zamena: X1/Z1;Y0/Y1*zamena: Marko/X1;Milica/Y0*

zamena: Petar/X1;Y1/V1*zamena: Marko/Y1*

Uspeh=1Dokaz nadjen

Page 20: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

IV varijanta:?-pred(Petar,V1). pred(X1,Y1):-pred(Z1,Y1), rod(X1,Z1). pred(X1,Y1):-rod(X1,Y1). rod(Petar,Marko).rod(Marko,Milica).rod(Ivan,Petar).rod(Mira,Ivan).

Odgovori:zamena: Petar/X1;Y1/V1*zamena: Marko/Z1*zamena: Marko/X1;Y0/Y1*zamena: Milica/Y0*

zamena: Petar/X1;Y1/V1*zamena: Marko/Y1*Uspeh=1Dokaz nadjen

Page 21: potrebno je ispitati konzistentnost skupa aksioma koje se ... ADT.pdf`Kod kombinatornih struktura prilikom određivanja strukture potrebno je ispitati konzistentnost skupa aksioma

Sistem ADT je u sve četiri varijante uspeo da odredi odgovore; pobijanje je uspelo (uspeh=1, dokaz nađen). Pri tome je kao iPROLOG-sistem dobio po dva odgovora: da je Petar predakMarku i da je Petar predak Milici. Iz odštampanih zamena se vidida je Petar direktni predak Marku, tj. njegov roditelj (otac); dokje Milici indirektni predak (preko Marka), tj. roditelj roditelja, odnosno: deda.

PROLOG-sistem daje odgovore da je Petar predak Marku i da je Petar predak Milici u I i III varijanti, tj. kada je upotrebljena desnarekurzija, bez obzira na redosled pravila. U II i IV varijanti je korišćena leva rekurzija. U II varijanti PROLOG-sistem je uspeoda odredi odgovore, ali je dokazivač posle toga upao u beskonačnu petlju pa je došlo do prekoračenja steka. Sistem je uspeo da odredi odgovore koji se nalaze levo od beskonačnegrane. U IV varijanti PROLOG-sistem nije uspeo da odredi nijedan odgovor jer je upao u beskonačnu petlju (granu) pa je došlo do prekoračenja steka. Kako se traženi odgovori u IV varijanti nalaze desno od beskonačne grane PROLOG-sistem njihnije uspeo izračunati.