Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος"— Μεταγράφημα παρουσίασης:

1 Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος gsant@aegean.gr

2 Περιεχόμενα • Σύντομη εισαγωγή στη Prolog • Βασικές αρχές προγραμματισμού σε Prolog • Σταθερές, μεταβλητές και λογικοί τελεστές • Γεγονότα και κανόνες

3 Εισαγωγή στη Prolog • Κατηγορηματική Λογική Πρώτης Τάξης Κάθε άνθρωπος είναι θνητός Ο Σωκράτης είναι άνθρωπος Ο Σωκράτης είναι θνητός Η γλώσσα προγραμματισμού PROLOG (PROgramming in LOGic) ακολουθεί μεθόδους της λογικής για την αναπαράσταση γνώσης και την επίλυση προβλημάτων, χρησιμοποιώντας για τον προγραμματισμό την απλή λογική. Ο προτασιακός λογισμός και ειδικότερα ένα υποσύνολό του οι προτάσεις Horn, αποτελούν τη βάση ανάπτυξης της PROLOG.

4 Εισαγωγή στη Prolog • Ο προγραμματισμός σε PROLOG διαφέρει από τις υπόλοιπες γλώσσες προγραμματισμού – δεν περιγράφουμε κάποιο αλγόριθμο (μια σειρά από διαδοχικά βήματα που επιλύουν κάποιο πρόβλημα) – Περιγράφουμε το ίδιο το πρόβλημα (τις σχέσεις που ισχύουν και τα δεδομένα) – Η εκτέλεση του προγράμματος διερευνά το αληθές των σχέσεων και την επίλυση του προβλήματος

5 Βασικές αρχές • Για την επίλυση ενός προβλήματος με τη βοήθεια ενός προγράμματος Prolog, θα πρέπει: – Να διατυπώσουμε τα γεγονότα που αφορούν τα αντικείμενα και τις σχέσεις τους – Να ορίσουμε κανόνες που διέπουν τα αντικείμενα και τις σχέσεις τους – Να διατυπώσουμε τα ερωτήματα που πρέπει να απαντηθούν από τη Prolog

6 Σταθερές (constants ή atoms) • Για τη Prolog, σταθερά θεωρείται κάθε αλφαριθμητικό που ξεκινά με μικρό γράμμα – my_computer – student001 – john (κλπ) • Κάθε αριθμός – 5, -10, 33.333, κλπ • Κάθε αλφαριθμητικό ανάμεσα σε «’»: – ‘Test’ – ‘hello world’

7 Μεταβλητές • Κάθε λέξη που ξεκινά με κεφαλαίο γράμμα, ή υπογράμμιση (underscore) – Person, – Student – X1 – _a001 (κλπ) • Οι μεταβλητές που ξεκινούν με υπογράμμιση λέγονται και «ανώνυμες μεταβλητές»

8 Λογικοί τελεστές • Για την κωδικοποίηση ενός προβλήματος λογικής, είναι απαραίτητοι οι λογικοί τελεστές: – «και» (and), συμβολίζεται στη Prolog «,» – «ή» (or), συμβολίζεται στη Prolog «;» – «άρνηση» (not), συμβολίζεται στη Prolog «\+»

9 Σύνθετα Αντικείμενα • περιγράφουν γεγονότα, π.χ. – father(john, helen). – part_of(greece, europe). – student(kostas). – fact001(event002, position(12,15)). – date(thursday,8,november,2012). • Η δήλωση κάθε γεγονότος ολοκληρώνεται με «.» father(john, helen). όνομα (functor) ορίσματα (arguments)

10 Κανόνες • Οι λογικοί τελεστές χρησιμοποιούνται για τη σύνθεση κανόνων. Η γενική μορφή είναι: – H :- P 1, P 2 ; P 3,…, P n • Το σύμβολο «:-» χωρίζει τον κανόνα σε δύο μέρη: – τη κεφαλή (head) – το σώμα (body) • Η κεφαλή ενός κανόνα είναι αληθής, αν αποδεικνύεται ότι το σώμα είναι αληθές • Ένας κανόνας χωρίς κεφαλή, – :- P 1, P 2 ; P 3,…, P n • έχει την έννοια της «άμεσα εκτελέσιμης εντολής», δηλαδή θα εκτελεστεί κατά την ανάγνωση του προγράμματος από τη Prolog

11 Παράδειγμα • Γεγονότα: – mother(maria,john). – father(kostas,john). • Κανόνας: – pair(X,Y) :- mother(X,Z),father(Y,Z). • Ερωτήματα: – pair(maria,kostas)? pair(W,kostas)? pair(maria,Y)? – pair(kostas,maria)?

12 Παραδείγματα • Γεγονότα: – mother(maria,john). – father(kostas,john). • Κανόνας: – pair(X,Y) :- mother(X,Z),father(Y,Z) ; mother(Y,Z),father(X,Z). • Ερωτήματα: – pair(kostas,maria)?

13 Παραδείγματα • Γεγονότα: – mother(maria,john). – father(kostas,john). – mother(sue,kostas). – father(peter,kostas). • Κανόνας: – parent(X,Y) :- mother(X,Y) ; father(X,Y). – ancestor(X,Y) :- parent(X,Y). – ancestor(X,Y):-parent(X,Z),parent(Z,Y). • Ερωτήματα: – ancestor(X,kostas)? ancestor(sue,X)?

14 Ταίριασμα • Το ταίριασμα είναι μια ένα-προς-ένα αντιστοίχιση δύο όρων (π.χ. του όρου της ερώτησης και του γεγονότος) • Για να αντιστοιχισθούν δύο όροι, πρέπει: – να έχουν το ίδιο όνομα functor – και το ίδιο arity (πλήθος ορισμάτων). • Αυτό θα πρέπει να συμβαίνει και για κάθε ένα από τα oρίσματά τoυς.

15 Παραδείγματα • Γεγονός: – now(date(thursday,8,november,2012),time(20,15,00)). • Ερώτημα: – ?- now(Date,time(Hour,Minute,Second)). Date=date(thursday,8,november,2012) Hour=20 Minute=15 Second=00

16 Παραδείγματα • Γεγονός: – now(date(thursday,8,november,2012),time(20,15,00)). • Ερωτήματα: – ?- now(date(Day,8,november,2012),time(20,Min,Sec)). Day=thursday Min=15 Sec=00 – ?-now(date(Day,8,november,2012),time(Hour)). ??? – ?-now(date(Day,8,november,2012),time(Hour,_,_)). ???

17 Παραδείγματα • Γεγονότα: – value(5). – value(4+2). • Ερωτήματα: – ?-value(X). X=5 X=4+2(οι πράξεις δεν γίνονται μόνες τους!) – ?-value(3+X). No – ?-value(4+X). X=2 – ?-value(3+2). No


Κατέβασμα ppt "Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google