Extras din laborator
INTRODUCERE PROLOG
Scurt istoric. Bibliografie. Mod de operare.
Scurt istoric
- Limbajul PROLOG (PROgrammation en LOGique) a fost elaborat la Universitatea din Marsilia în jurul anului 1970, ca instrument pentru programarea şi rezolvarea problemelor ce implicau reprezentări simbolice de obiecte şi relaţii dintre obiecte.
- Ca şi LISP, PROLOG este un limbaj cu fundament matematic.
- Spre deosebire de LISP, specializat în definirea de funcţii, PROLOG permite definirea şi prelucrarea relaţiilor.
- Primul interpretor PROLOG a fos scris în limbajul FORTRAN.
Elemente fundamentale ale limbajului Prolog
Programare logică
În Prolog, soluţiile se obţin prin deducţii logice plecând de la lucruri deja cunoscute. Un program Prolog nu este o înşiruire de acţiuni de îndeplinit, ci o colecţie de fapte împreună cu regulile după care se pot trage concluzii din aceste fapte.
Prolog se bazează pe un subset al logicii predicatelor. Oferă o sintaxă foarte apropiată limbajului natural.
O facilitate importantă a limbajului Prolog este că, în plus faţă de găsirea logică a răspunsurilor la întrebări, poate trata alternativele şi să găsească toate soluţiile şi nu numai una dintre ele.
Iată câteva exemple de afirmaţii din limbajul natural şi ’traducerile’ respective în logica predicatelor:
O maşină rapidă este ciudată. --> ciudat(maşină_rapidă).
O maşina mare este utilă. --> util(masină_mare).
Lui Bill îi place o maşină dacă --> place(bill, Maşină) if
maşina este rapidă. ciudat(Maşină).
Propoziţii: fapte şi reguli
Un programator Prolog va defini obiecte şi relaţii, apoi va defini reguli despre când aceste relaţii vor fi adevărate.
Fapte: ceea ce se cunoaşte
În Prolog, o relaţie între obiecte se numeşte fapt. În limbajul natural o relaţie este simbolizată de o propoziţie. În Prolog, o relaţie este sumarizată printr-o frază simplă ce constă din numele relaţiei urmat între paranteze de obiectele participante la relaţie. Ca şi în limbajul natural, un fapt se termină cu punct.
De exemplu, există mai multe fapte exprimând plăcerea în limbajul natural:
Bill o place pe Cindy.
Cindy îl place pe Bill.
Lui Bill îi plac câinii.
Iată aceste fapte scrise în Prolog:
place(bill, cindy).
place(cindy, bill).
place(bill, caini).
Faptele pot exprima şi proprietăţi. De exemplu, afirmaţia "Renault este o maşină" se scrie în Prolog:
maşină(renault).
Reguli: ce se poate deduce din fapte date
Regulile permit deducerea de fapte din alte fapte. Altfel spus, o regulă este o concluzie care se ştie că este adevarată atunci când alte concluzii sau fapte sunt adevărate. Iată câteva reguli privind relaţia "place":
Lui Cindy îi place tot ceea ce îi place lui Bill.
Lui Joan îi place orice maşină.
Fiind date aceste reguli, puteţi deduce din faptele cunoscute deja, că:
Lui Cindy ii place de Cindy.
Lui Joan ii place Renault-ul.
Iată cum se scriu aceste reguli în Prolog:
place(cindy, Ceva) if place(bill, Ceva).
place(joan, Ceva) if masina(Ceva).
Întrebări
Odată ca am scris o serie de fapte, putem începe să punem întrebări relativ la aceste fapte.
Preview document
Conținut arhivă zip
- Sisteme Informatice Inteligente
- LAB1_2009.doc
- LAB2_2009.doc
- LAB3_2009.DOC
- LAB4_2009.DOC
- LAB5_2009.doc