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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Κατηγορηματικός Λογισμός
Advertisements

ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ
ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΜΑΘΗΜΑ 5.
Βασικές Έννοιες Προγραμματισμού
ΓΡΑΜΜΑΤΙΚΕΣ ΧΩΡΙΣ ΣΥΜΦΡΑΖΟΜΕΝΑ I
ΕΝΤΟΛΕΣ.
Απαντήσεις Προόδου I. Θέμα 1ο •Έστω Α = { , b}. Κατασκευάστε τα παρακάτω σύνολα: •(α) Α -  •(β) {  } – Α •(γ) Α  P(A) •(δ) Α  P(A)
Ασκήσεις Συνδυαστικής
PROLOG.
Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
Συνδιαστικά Λογικά Κυκλώματα
Άρνηση στο Λ.Π.. Αρνητικά γεγονότα/γνώση δεν περιγράφονται στο πρόγραμμα. Απλώς δεν περιλαμβάνονται στο πρόγραμμα. Παράδειγμα –Γράφουμε: father (bob,
Κεφάλαιο 7 Λογικός Προγραμματισμός: Η Γλώσσα Prolog
Prolog Tutorial Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2010
ΕΠΛ 434 – Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη
Περισσότερες Ασκήσεις Συνδυαστικής
Μερικά ακόμη παραδείγματα
ΤΕΛΕΣΤΕΣ - ΕΚΦΡΑΣΕΙΣ ΜΑΘΗΜΑ 4.
ΕΝΟΤΗΤΑ 3 – Κεφάλαιο 9: Ζωγραφική
Άλγεβρα Boole και Λογικές Πύλες
4ος Πανελλήνιος Διαγωνισμός Πρωτοπόρων Δασκάλων Συνεργάτες στη Μάθηση Microsoft Hellas.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
“Το Μάθημα ΑΕΠΠ (Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον) της Γ’ Τάξης Γενικού Λυκείου – Τεχνικές Διδασκαλίας” Κυριακή 30 Σεπτεμβρίου η.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Συλλογισμοί Οι σκέψεις μας τείνουν να είναι οργανωμένες.
31 Μαρτίου 2015 ΔΙΑΦΑΝΕΙΑ 1 ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. – ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι Για τον προτασιακό.
Ταυτοποίηση (Unification). Πίνακας Ταυτοποίησης Όρος 1 Όρος 2 C1 X1 F (τ 1,…,τ ν ) C2 Επιτυχές αν C1 == C2 Επιτυχές {Χ1 = C2} Αποτυγχάνει Χ2 Επιτυχές.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Συγγραφείς Α.Βακάλη Η. Γιαννόπουλος Ν. Ιωαννίδης Χ.Κοίλιας Κ. Μάλαμας Ι. Μανωλόπουλος Π. Πολίτης Γ΄ τάξη.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
Δηλαδή οι σημαντικοί δεν ασχολούνται με μικροπράγματα.
Το Συντακτικό της PROLOG
Φυλλο του Καθηγητη. Teacher’s Age Ποιο ειναι το αντικειμενο διδασκαλιας σας?
Οι λογικές πράξεις και οι λογικές πύλες
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Προσπάθησε να εκφράσεις με κατάλληλους αριθμούς τις θέσεις του αεροπλάνου, του ψαριού και του τζετ σκι σε σχέση με την επιφάνεια της θάλασσας. Ένα αεροπλάνο.
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 5 ο Εξάμηνο - Ενότητα 7 - Επεξεργασία Λιστών Δημοσθένης Σταμάτης Τμήμα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ.
Βασικές συνιστώσες/εντολές ενός αλγορίθμου
Βασικά στοιχεία της Java
Ηλεκτρική Δυναμική Ενέργεια Δυναμικό – Διαφορά Δυναμικού.
Κλικ για επιστροφή στην ερώτηση ΜΠΡΑΒΟ !!!!! Απάντησες Σωστά Στέλιος Μιχαήλογλου Στέλιος Μιχαήλογλου Άλγεβρα Α΄ Λυκείου.
Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη.
Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη.
Στατιστικές Υποθέσεις
ΕΝΟΤΗΤΑ 3 – Κεφάλαιο 9: Ζωγραφική
Τρίτο μάθημα Ψηφιακά Ηλεκτρονικά.
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 4: Απλοποίηση (βελτιστοποίηση) λογικών συναρτήσεων με την μέθοδο του χάρτη Karnaugh (1ο μέρος) και υλοποίηση με πύλες NAND -
Ανάλυση κρίσιμου συμβάντος
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Prolog Επεξεργασία και Αναπαράσταση Γνώσης Εισαγωγή
Prolog Tutorial Μαθηματική Λογική.
Πανεπιστήμιο Δυτικής Μακεδονίας
ΜΠΡΑΒΟ !!!!! Απάντησες Σωστά
Λήμμα άντλησης Πως αποφασίζουμε αποδεικνύουμε ότι μία γλώσσα δεν είναι κανονική; Δυσκολότερο από την απόδειξη ότι μια γλώσσα είναι κανονική. Γενικότερο.
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Το πρόβλημα της μέτρησης Μέτρηση είναι η ένταξη αριθμών σε αντικείμενα σύμφωνα με oρισμένους κανόνες και υπό την βασική προϋπόθεση ότι υπάρχει ακριβής.
Κινητική θεωρία των αερίων
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
ΜΠΡΑΒΟ !!!!! Απάντησες Σωστά
Διαδικασίεσ εισόδου/εξόδου
Παρουσίαση Τίτλος Δευτερεύων τίτλος παρουσίασης
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Προγράμματα και Δομές Δεδομένων
Στατιστικές Υποθέσεις
Κινητική θεωρία των αερίων
Κλικ για επιστροφή στην ερώτηση
ΕΝΟΤΗΤΑ 3 – Κεφάλαιο 9: Ζωγραφική
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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 είναι γονιός του Υ αν ο Χ είναι μητέρα του Υ

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

Τι απαντήσεις πρέπει να δίνονται στα παρακάτω ερωτήματα; ?- 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 σημαίνει ότι δεν υπάρχει άλλη απάντηση