PROLOG''' Elibrary.Matf.Bg.Ac.Rs Relacijski Jezik

PROLOG''' Elibrary.Matf.Bg.Ac.Rs Relacijski Jezik

Siaviga B. Praia' 4-er ‘J'( ');lr PROLOG''' elibrary.matf.bg.ac.rs Relacijski jezik Vete&tev frtemeita e leidettalea, taide4 e relid , laege4 e aeteiew" Virtual Library of Faculty Mathematics - University Belgrade Pod/toiaft a Wee, alfo,tetota, PItal4941. Matematieki fakultet, Beograd at NAM Beograd, 1996 g. Profesor dr. SlaviSa B. PreSiC, Matematidki fakultet, Beograd PROLOG Relacijski jezik SADR2AJ Recenzenti Red-dve o knjizi 3 Profesor dr. Zarko Mijajlovid, Matematidki fakultet, Beograd 1. Relacije, formule Profesor dr. Dura PauniC, Institut za matematiku, Novi Sad 4 Beograd Istra2ivad-saradnik mr. Miodrag KapetanoviC, Matematidki institut, 2. Prvo o prolotkom algoritmu 10 2.1 Podetak 10 2.2 Neka opSta pravila 13 2.3 Pravilo o Rezu 18 2.4 Jog neki primeri elibrary.matf.bg.ac.rs Izdavadi 23 Matematidki fakultet, Beograd 3. Zadaci,I Studentski trg 16 36 4. Jos o formulama i Clancima 67 IP„Nauka', Beograd 4.1 Bulevar Revolucije 314/25 Sludaj Lisp-sintakse 67 4.2 tel-faks (011) 421-834 Sludaj Edinburgtke sintakse 84 4.3 Jot o op-izrazima 91 4.4 Gramatike i Prolog 93 Za izdavaCe 5. Drugo o proloSkom algoritmu 102 Profesor dr. Zoran Kadelburg, dekan 5.1 Nikola Dondev, direktor Jedan algoritam ujednadavanja (unifikacije) 102 5.2 Pitanje promenljivih i nepoznatih;Dodelnik;Procedura spajanje 115 5.3 I-ili drveta; Procedure prikljudivanje i pregranjavanje 122 Korice 5.4 Procedure penjanje na vrh i plus_spust 128 Nenad BeoCanin 5.5 Procedura vracanje (backtracking) 134 5.6 JoS o predikatima ADDCL, DELCL odnosno o assert, retract 140 CIP - Katalogizacija u publikaciji 5.7 ZavrSni opis proloSkog algoritma 142 Narodna biblioteka Srbije, Beograd 6. Zadaci,II 144 Virtual Library of Faculty Mathematics - University Belgrade 7. Hornovske formule; deduktivni modeli 519.682 "Prolog" 171 PRESIC, SlaviSa B. 7.1 Uvod iz iskazne logike 171 Prolog : relacijski jezik / SlaviSa 7.2 Pojam formalne teorije 174 B.PreSie. - Beograd: Matematidki fakultet: 7.3 Deduktivan model Hornovskih formula -316 str.; Nauka, 1996 (Beograd: Beopres). (SluCaj iskaznih formula) 176 24 cm. 7.4 Deduktivan model Hornovskih formula (Sludaj predikatskih formula) 180 Tira2 500. -Bibliografija: str. 313.- 7.5 Deduktivan model i Prolog 184 Registar. 8. Baze podataka i Prolog 192 a) Programski jezik "Prolog" 8.1 Uvod 192 ID=44071948 8.2 Svetovi i record-predikati (Arity-prolog) 193 8.3 B-drveta (Arity-prolog) 199 8.4 Hash tabele (Arity-prolog) 204 Stampa: ,Beopres', Beograd. Nptne fajle u Prologu 206 1 SluCaj Arity-Prologa 206 2 siticaj LPA-Prologa 211 :vetovi algoritama 215 218 'regled u Prolog ugradjenih predikata 249 Micro-Prolog 250 Arity-Prolog 270 Red-dve o knjizi LPA-Prolog 295 •atura 313 .S 314 Knjiga se odnosi na tri verzije Prologa: Micro, Arity i LPA- prolog. U njoj se postupno i podrobno izIaZe opgti mehanizam (algoritam) Prologa. elibrary.matf.bg.ac.rs Izlaganje ide od prvih, jednostavnijih primera i odgovarajudih prologkih pravila do potpunog opisa opSteg prologkog algoritma.Taj opis je na jeziku tzv• drveta i sadr2an je u tadki 5. Pored toga, u knjizi ima podrob- nijeg izlaganja o algoritmu unifikacije (deo 5.1 tacke 5) vezi Prologa i matematidke logike (tacka 7) gramatikama na koje se uspegno primenjuje Prolog (deo 4.4 take 4) bazama podataka (taCka 8) pravijenju .exe, .com - fajli u Prologu (taCka 9) U knjizi ima veliki broj regenih zadataka, u kojima se cesto pojavljuju fajle, prozori, (algoritamski) svetovi i dr. Virtual Library of Faculty Mathematics - University Belgrade U taCki 12 je dat veoma iscrpan pregleg predikata ugradenih u Prolog, od- nosno u Micro, Arity, LPA- verziju. Knjiga se mote koristiti i za poCetno udenje Prologa, ali takode i za pro- dubijivanje i logiCko sagledavanje tog jezika. Sledstveno pored raznih neskolskih lica nju mogu koristiti djaci studenti raznih Cujudi i one na tredem stepenu studija. uzrasta, uklju- 3 vni sastavci,"atomi" biti formule 5 . Primer 1.1. Sa LESS se u Micro-prologu oznaCava relacija biti manji.Tako, taCne su ove formule (LESS 1 2), (LESS 5 6), (LESS 2 3.4). U sluCaju LPA, ,.RELACIJE, FORMULE kao i Arity -prologa umesto tih imamo redom ove zapise 1<2, 5<6, 2<3.4. To u stvari, nije zapis tipa (1.1), veC sada Cemo reCi njegovo prosire- buduCi da u njemu pojam nje.Naime, kao i uopste u matematici,ako je n=2 obiCno se umesto rel(a,b) L) Za Prolog se mote reCi da je relacijski jezik, :matematiCke) relacije ima osnovnu ulogu. piSe: a rel b. Primera radi, umesto =(x,y) piSemo x=y i sl. 6 J vezi sa relacijama uopSte, u matematiCkoj logici a i u mnogim verzijama Primer 1.2. Sa EQ se u Micro-prologu oznaCava relacija jednakost .Tako, )rologa, koriste se zapisi oblika,tzv. formule : taCne su formule (EQ 2 2), (EQ 6 6). U LPA, kao i u Arity-prologu te se formule piSu u obliku 2=2, 6=6. : 1.1 ) Primer 1.3. Kao tto znamo sabiranje(brojeva) je operacija, a ne relacija. (Citati : "rel od al,...,an " ill objekti al,...,an su u relaciji rel) Medutim, uvek se operaciji mote pridru2iti odgovarajuCa relacija. Recimo, u vezi sa sabiranjem mo2emo uoCiti ovu relaciju zbir: ;de je rel tzv.ime relacije (reci demo i formule (1.1)), dok su al,...,an ,bjekti na koje se odnosi ta relacija. Odmah istaknimo da demo pored zapi- zbir(x,y,z) a x + y = z ;a (1.1) koristiti i ovakav zapis (to je tzv. lista) : U svakoj verziji Prologa postupa se u duhu te definicije . Tako u Micro- (1.2) (re/ al ... an) prologu imamo ovu definiciju (umesto reel zbir koristi se reC SUM) koji je, u stvari, pozajmljen iz jezika LISP 1 . Inate, zapisi tipa2 (1.2) (1.3) (SUM _X _Y _Z) 04 _X + _Y = _Z Koristeelibrary.matf.bg.ac.rs se u osnovnoj verziji Micro-prologa. 3 Prema toj definiciji imamo primere: (SUM 1 2 3),(SUM 2 -3 -1) i sl.0 (1.3) gapomenimo da je u literaturi veC uobiCajeno da se za zapise tipa (1.1) simboli _X,_Y,_2 mogu biti zamenjeni ma kojim vrednostima (brojevima) - to ka2e da pripadaju tzv. EdinburgSkoj sintaksi. Vedina danaSnjih Prologa ko- su tzv.promenljive. Od sintakse Prologa zavise oznake promenljivih. Tako: risti tu sintaksu.Medutim, osnovna verzija Micro-prologa kao tto smo rekli (1.4) U EdinburgSkoj sintaksi promenljive su ma koje reCi koje poCinju ne- koristi jezik lista, reel Cemo drukCije koristi: LISP-sintaksu. nekim velikim slovom,kao: A,X,Y23,Beograd, a takode kao u (1.3) po- Napomenimo da demo u ovoj knjizi koristiti ove verzije Prologa: Cinju znakom donje podcrte.Takve, sa podcrtom poCinjude, promenljive Micro-prolog, kao predstavnika Lispovske sintakse su jedine vrste promenljivih u sluCaju Micro-prologa. Arity-prolog i LPA-prolog koji koriste EdinburgSku sintaksu U Micro-prologu se mno2enju pristupa sliCno sabiranju. Naime,u tu svrhu Istaknimo, da demo u daljim delovima knjige postupno upoznavati opSti pro- koristi se relacija TIMES : loSki algoritam. Na ovom mestu pomenimo da Ce se tokom algoritma u svakom (TIMES _X _Y _Z) 4.-o- _X * _Y = _Z. koraku pojavljivati 4adunanje vrednosti neke formule, a sama ta vrednost Ce biti taCno,netacno ,znaCi potpuno sliCno kao Sto je to sluCaju matema- Recimo,taCna je formula (TIMES 2 3 6). U vezi sa SUM i TIMES dodajemo i tiCkoj logici (i matematici uopSte).ZnaCi,kratko reCeno u Prologu Ce osno- sledece: kol njihovih formula je dozvoljeno da jedan od argumenata bude promenljiva, koja joS nije dobila vrednost. Tako, "smislene" su formule: (SUM _x 2 3), (SUM 3 2 _y), (SUM 2 _z 15) 1 Lisp je jedan od najstarijih viSih programskih jezika. Nastao je krajem pedesetih godina.Izumeo ga je John Mc Carthy. Lisp se veoma Cesto koristi i ukoliko _x,_y,_z joS nemaju vrednosti, onda sve tri su taCne, i dodatno u oblasti VeStaCke inteligencije. Za razliku od Prologa on je pravi funk- (kao tzv. boCni efekat) te promenljive dobiju redom vrednosti 1, 5, 13. Virtual Library of Faculty Mathematics - University Belgrade cijski jezik. U Lispu osnovnu ulogu imaju liste oblika (1.2), all tads je . Medutim, ako recimo a, _b rel oznaka neke funkcije. Recimo, (+ 2 3) iznosi 5, dok (+ 2 (* 3 4)) iz- nemaju nikakve vrednosti, formula (SUM _a _b 7) je besmislena, i pri po- nosi 14.Inace, reC "lisp" dolazi od engleskih reCi List Processing. Saju njenog raCunanja Prolog prekida algoritam porukom: CONTROL ERROR. 2U stvari,osnovna verzija Micro-prologa koristi joS opStije formule. Blize to su liste oblika (rell_X). ViSe o tome kasnije (vid. (4.1.4)). 3 U naSe vreme veC ima priliCan broj verzija prologa,kao: 5 lstaknimo da se u mnogim proloSkim knjigama sreCe malo drukCije izra2ava- DEC-10 Prolog, CProlog, Quintus, Arity, LPA, Micro-prolog,Prolog - 1, nje. Tako, umesto formula obiCno se ka2e cilj, pa dalje shodno tome se 3, Sigma Prolog, Turbo Prolog ,i dr. Prolog-2,Prolog- umesto recimo raCunamo formulu mehanizam, 0 kale postavljamo cilj 0, i sl. Mi inoCe Medutim, uz neke nevelike razlike svi oni u osnovi imaju isti namerno koristimo "formulsko" izra2avanje, jer tako smo manje udaljeni algoritam (ka2e se i Warren-ovu "matinu", jer David Warren je 1977 isti od pravog, odnosno strogog opisa opSteg proloSkog algoritma. u potpunosti opisao taj algoritam). 6 Ubrzo Ce o njoj biti vise reCi. 4 koristiti redom reCi da, ne (na Ponekad Cemo umesto reCi taCno, netaCno 7 engleskom yes, no). U stvari, takvu promenljivu je bolje zvati nepoznata(vid. Napomenu 2.1.1) 5 4 mote biti ma koja konstantska rec(atom) 8 .Tu se f odnosi na dva sastav- Primer 1.4. UoCimo skup S={1,2,3,4,5,6} i jednu njegovu relaciju p odrede- ka(dve komponente) x i g(Y,23).

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    163 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us