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

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

 Στο προηγούμενο μάθημα έγινε μια εισαγωγή στην γενική μορφή ενός προγράμματος  Αυτή η μορφή ακολουθεί την λογική της απόδειξης θεωρημάτων μέσω προτάσεων.

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


Παρουσίαση με θέμα: " Στο προηγούμενο μάθημα έγινε μια εισαγωγή στην γενική μορφή ενός προγράμματος  Αυτή η μορφή ακολουθεί την λογική της απόδειξης θεωρημάτων μέσω προτάσεων."— Μεταγράφημα παρουσίασης:

1

2  Στο προηγούμενο μάθημα έγινε μια εισαγωγή στην γενική μορφή ενός προγράμματος  Αυτή η μορφή ακολουθεί την λογική της απόδειξης θεωρημάτων μέσω προτάσεων  Προτάσεις Horn A ← A 0,A 1,…,A n : Για να αποδείξουμε ότι ισχύει το Α πρέπει να αποδείξουμε το Α 0 και το Α 1,…,και το Α ν

3 Υπάρχουν δύο είδη προτάσεων σε ένα πρόγραμμα Prolog, τα γεγονότα και οι κανόνες. Τα γεγονότα (= κάτι που ισχύει πάντα) εκφράζουν σχέσεις ανάμεσα στα αντικείμενα και αποτελούν κατά ένα τρόπο τα δεδομένα του προβλήματος, Η γενική μορφή ενός γεγονότος είναι η ακόλουθη όνομα_γεγονότος(δεδομένο1, δεδομένο2, …, δεδομένοn). έτσι για παράδειγμα το γεγονός father(george, mary). Μπορεί να διαβαστεί ως: ο george είναι πατέρας της mary Προσοχή: ΚΆΘΕ ΓΕΓΟΝΌΣ ΠΡΕΠΕΙ ΥΠΟΧΡΕΩΤΙΚΑ ΝΑ ΚΛΕΙΝΕΙ ΜΕ ΤΕΛΕΊΑ

4 Οι κανόνες εκφράζουν γενικότερες σχέσεις ανάμεσα στα αντικείμενα οι οποίες ορίζονται με τη βοήθεια άλλων σχέσεων και έχουν την μορφή προτάσεων Horn Κανόνας(μεταβλητή 1, …, μεταβλητή n ) :- σχέση 1 (μεταβλητή 1, …, μεταβλητή m ), …, σχέσηκ(μεταβλητή 1, …, μεταβλητή h ). Για παράδειγμα ένας κανόνας μπορεί να είναι parent(X,Y):- father(X,Y). parent(X,Y):- mother(X,Y). Τα X, Y είναι μεταβλητές. Το σύμβολο :- εκφράζει το λογικό «ΑΝ» Σημαντικό: Κάθε γεγονός και κανόνας τερματίζεται ΠΑΝΤΑ με μια τελεία η οποία εκφράζει το λογικό «Ή» Έτσι το παράδειγμα μπορεί να διαβαστεί σαν: ο Χ είναι γονιός του Υ αν ο Χ είναι πατέρας του Υ (πρώτος κανόνας) ή ο Χ είναι γονιός του Υ αν ο Χ είναι μητέρα του Υ (δεύτερος κανόνας)

5 Το αριστερό μέλος κάθε κανόνα ονομάζεται head ενώ το δεξί ονομάζεται body parent(X,Y):- father(X,Y). Το αριστερό μέλος θεωρείται ως το συμπέρασμα ενός κανόνα Το δεξί μέλος θεωρείται ως τα γεγονότα Έτσι η σημασιολογία ενός κανόνα είναι η εξής: το συμπέρασμα ισχύει αν ισχύουν τα γεγονότα head body if

6  Ο χρήστης αλληλεπιδρά με ένα σύστημα Prolog, δίνοντας ερωτήσεις (queries) στο διερμηνέα  Σε αυτές τις ερωτήσεις το σύστημα προσπαθεί να απαντήσει με βάση τα γεγονότα και τους κανόνες που περιλαμβάνονται στο πρόγραμμα.  Οι απαντήσεις που επιστρέφονται είναι είτε › yes/no › Αν η ερώτηση περιέχει μεταβλητές, κατάλληλες τιμές για τις μεταβλητές αυτές.

7  Ένα πρόγραμμα σε Prolog μπορεί νοητικά να χωριστεί σε 2 μέρη: › Το πρώτο μέρος αποτελείται από τα γεγονότα (είναι δηλαδή ένα είδος βάσης δεδομένων) › Το δεύτερο μέρος αποτελείται από τους κανόνες ΓΕΓΟΝΌΤΑ ΚΑΝΟΝΕΣ Programma.pl

8 father(george,mary). father(george,nick). father(peter,marina). mother(helen,mary). mother(helen,nick). mother(ann,marina). parent(X,Y):- father(X,Y). parent(X,Y):- mother(X,Y). Γεγονότα Κανόνες Τι σημαίνει το πρόγραμμα μας; Γεγονότα: father(george, mary)  ο george είναι πατέρας της mary father(george, nick)  ο george είναι πατέρας του nick κ.ο.κ. Κανόνες: parent(X,Y) :- father(X,Y)  o X είναι γονιός του Υ αν ο Χ είναι πατέρας του Υ Ή (τελεία του πρώτου κανόνα) parent(X,Y) :- mother(X,Y)  o X είναι γονιός του Υ αν ο Χ είναι μητέρα του Υ

9  Θεωρούμε ότι οι παραπάνω προτάσεις είναι αποθηκευμένες σε ένα απλό αρχείο κειμένου και ότι «φορτώθηκαν» σε κάποιο διερμηνευτή της Prolog.  Πιθανές ερωτήσεις - απαντήσεις που μπορούν να γίνουν με βάση το παραπάνω πρόγραμμα είναι: ?- father(george,mary). - yes ?- father(george,marina). - no ?- father(peter,X). - X=marina Σημαίνει ότι ο κανόνας με τις συγκεκριμένες τιμές ισχύει βάση των δεδομένων Δεν σημαίνει ότι ο κανόνας είναι ψευδής αλλά ότι δεν μπορεί να αποδειχθεί για τις συγκεκριμένες τιμές Βρίσκει βάση των δεδομένων την τιμή που μπορεί να πάρει η μεταβλητή Χ

10 Τι απαντήσεις πρέπει να δίνονται στα παρακάτω ερωτήματα; ?- mother(X,marina). - X=ann ?- parent(george,X). - X=mary; - X=nick ?- parent(paul,X). - no ?- mother(X,Y). - X=helen, Y=mary; X=helen, Y=nick; X=ann, Y=marina; no Υπάρχει άλλη απάντηση; Εδώ το no σημαίνει ότι δεν υπάρχει άλλη απάντηση


Κατέβασμα ppt " Στο προηγούμενο μάθημα έγινε μια εισαγωγή στην γενική μορφή ενός προγράμματος  Αυτή η μορφή ακολουθεί την λογική της απόδειξης θεωρημάτων μέσω προτάσεων."

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


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