Υπολογισμός στο Λογικό Προγραμματισμό. Πώς υπολογίζεται η έξοδος ενός Λογικού Προγράμματος;

Σχετικά έγγραφα
Λογικός Προγραμματισμός

Ασκήσεις μελέτης της 8 ης διάλεξης

Τεχνητή Νοημοσύνη. 8η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Τεχνητή Νοημοσύνη. 9η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 9: Προτασιακή λογική. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Πληρότητα της μεθόδου επίλυσης

ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης. Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012

Μαθηματική Λογική και Λογικός Προγραμματισμός

Λογικοί πράκτορες. Πράκτορες βασισµένοι στη γνώση

Στοιχεία προτασιακής λογικής

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

Προτασιακή Λογική. Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Ηπείρου Γκόγκος Χρήστος

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

HY Λογική Διδάσκων: Δ. Πλεξουσάκης

Μαθηματική Λογική και Λογικός Προγραμματισμός

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά

4.3 Ορθότητα και Πληρότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA)

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

Σειρά Προβλημάτων 5 Λύσεις

Οι τυπικές μέθοδοι παρέχουν ένα πλαίσιο μέσα στο οποίο μπορούμε να προδιαγράψουμε και να εγκυροποιήσουμε ένα σύστημα με συστηματικό τρόπο.

Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Σειρά Προβλημάτων 5 Λύσεις

Προτασιακός Λογισμός (HR Κεφάλαιο 1)

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΟΓΙΚΗΣ

Ασκήσεις ανακεφαλαίωσης στο μάθημα Τεχνητή Νοημοσύνη

ΕΡΩΤΗΜΑΤΑ σε ΑΝΑΖΗΤΗΣΗ

Αλγόριθµοι και Πολυπλοκότητα

Γνώση. Γνώση (knowledge) είναι ο κοινός παράγοντας (π.χ. κανόνες) που περιγράφει συνοπτικά τις συσχετίσεις μεταξύ των δεδομένων ενός προβλήματος.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

Υπολογιστική Πολυπλοκότητα

Διακριτά Μαθηματικά Ι

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Υπολογιστική Πολυπλοκότητα

Ασκήσεις μελέτης της 11 ης διάλεξης

Εφαρμογές της Λογικής στην Πληροφορική

Υπολογιστικό Πρόβληµα

Μαθηματική Λογική και Λογικός Προγραμματισμός

. (iii) Μόνο οι εκφράσεις που σχηµατίζονται από τα i,ii είναι προτασιακοί τύποι.

Μαθηματική Λογική (προπτυχιακό) Εξέταση Ιανουαρίου 2018 Σελ. 1 από 5

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας

Μη γράφετε στο πίσω μέρος της σελίδας

ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος.

Σειρά Προβλημάτων 5 Λύσεις

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

HY118-Διακριτά Μαθηματικά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Μαθηματική Λογική και Λογικός Προγραμματισμός

Σειρά Προβλημάτων 5 Λύσεις

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Λύσεις Σειράς Ασκήσεων 1

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Αλγόριθμοι και Πολυπλοκότητα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

ΗΥ118: Διακριτά Μαθηματικά - Εαρινό Εξάμηνο 2018 Τελική Εξέταση Ιουνίου Λύσεις

Γνώση. Γνώση (knowledge) είναι ο κοινός παράγοντας (π.χ. κανόνες) που περιγράφει συνοπτικά τις συσχετίσεις μεταξύ των δεδομένων ενός προβλήματος.

Προτασιακός Λογισμός (HR Κεφάλαιο 1)

Κεφάλαιο 8 Σημασιολογία λογικών προγραμμάτων

Τεχνητή Νοημοσύνη. 12η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Στοιχεία Προτασιακής Λογικής

Σειρά Προβλημάτων 5 Λύσεις

Λογική. Προτασιακή Λογική. Λογική Πρώτης Τάξης

Κατανεμημένα Συστήματα Ι

Μαθηματική Λογική και Λογικός Προγραμματισμός

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός

Εις άτοπον απαγωγή. Απόδειξη διά τ ης εἰς ἄτοπον απαγωγ ης / proof by contradiction

Φροντιστήριο 10 Λύσεις

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 12: Συμπερασμός στη λογική πρώτης τάξης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

ψ φ2 = k χ φ2 = 4k χ φ1 = χ φ1 + χ φ2 + 3 = 4(k 1 + k 2 + 1) + 1 ψ φ1 = ψ φ1 + χ φ2 = k k = (k 1 + k 2 + 1) + 1

Τεχνητή Νοημοσύνη Ι. Ενότητα 7:Προτασιακή Λογική. Πέππας Παύλος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Θεωρία Υπολογισμού και Πολυπλοκότητα

Μη γράφετε στο πίσω μέρος της σελίδας

Υπολογιστικά & Διακριτά Μαθηματικά

ΗΥ118 - Διακριτά Μαθηματικά. Εαρινό Εξάμηνο 2013

Transcript:

Υπολογισμός στο Λογικό Προγραμματισμό Πώς υπολογίζεται η έξοδος ενός Λογικού Προγράμματος;

Herbrand Universe H L Είναι τα δεδομένα που μεταχειρίζεται ένα Λογικό Πρόγραμμα, προκειμένου να απαντήσει μια ερώτηση. Όλες οι σταθερές που διαθέτει ο μεταφραστής προκειμένου να κατασκευάσει αποδείξεις. Τοσύνολοτωνσταθερώνόρωνπου κατασκευάζονται χρησιμοποιώντας τα σύμβολα σταθερών και συναρτήσεων του αλφαβήτου της L.

ΛΠ για ακέραιο int(0). int(s(x)) : int(x). int(p(x)): int(x). L Α ={0} και s(χ)=χ+1, p(x)=x-1 Η L ={0, s(0), p(0), s(s(0)), s(s(s(0))), p(p(0)), p(p(p(0))), s(p(0)), p(s(0)),.}

Herbrand Base of P: Β(P) H B(P) ενός προγράμματος P είναι το σύνολο όλων των σταθερών ατομικών προτάσεων που τα κατηγορήματά τους ορίζονται στο P, και τα ορίσματά τους ανήκουν στο H L του Ρ. Η B(P) αντιπροσωπεύει το σύνολο όλων των ατομικών κλειστών ερωτήσεων που μπορούν να απαντηθούν από το πρόγραμμα P. Κλειστήείναι ηερώτηση πουαπαντάται με ναι/όχι. Oι κλειστές ερωτήσεις είναι σταθερές. Σταθερή είναι η ερώτηση που δεν περιέχει μεταβλητές.

Παράδειγμα likes(chris, Anyone): buys(anyone, this_book). buys(anyone, this_book): sensible(anyone). sensible(you). H L ={chris, this_book, you} Κατηγορήματα του P={likes/2, buys/2, sensible/1}

B(P) { likes(chris, chris), likes(chris, you), likes(chris, this_book), likes(you, chris), likes(you, you), likes(you, this_book), likes(this_book, chris), likes(this_book, you), likes(this_book, this_book), buys(chris, chris), buys(chris, you), buys(chris, this_book), buys(you, chris), buys(you, you), buys(you, this_book), buys(this_book, chris), buys(this_book, you), buys(this_book, this_book), sensible(chris), sensible(you), sensible(this_book)}

Κάποιες από τις σταθερές ατομικές προτάσεις της Β(Ρ) θα απαντηθούν θετικά, και κάποιες αρνητικά, εφόσον τεθούν ως ερωτήσεις στο Ρ. (παράδειγμα με βάση το Β(Ρ)). Πώς υπολογίζονται απαντήσεις σε ερωτήσεις;

Στιγμιότυπο Προγράμματος G(P) Η CNF μπορεί να προσεγγισθεί από την προτασιακή λογική, δηλαδή, κάθε πρόταση της μορφής: ( Χ 1 ) ( Χ n ) W (Χ 1 Χ n ) μπορεί να αντικατασταθεί από το σύνολο έμμεσα συζευγμένων σταθερών προτάσεων της μορφής: W(t) όπου t H n L Οπότε κάθε πρόγραμμα Ρ έχει σταθερό στιγμιότυπο G(P), που αποτελείται από όλα τα σταθερά στιγμιότυπα των προτάσεων του Ρ.

Παράδειγμα G(P) likes(chris,x): likes(x,logic). likes(bob, logic). H={chris, bob, logic}. To στιγμιότυπο αυτού του προγράμματος είναι G(P): likes(chris,chris):-likes(chris,logic). likes(chris,bob):-likes(bob,logic). likes(chris,logic):-likes(logic,logic). likes(bob,logic).

Τρόποι υπολογισμού Επανειλημμένες εφαρμογές modus ponens. (forward reasoning) Modus tollens + απαγωγή σε άτοπο (backward reasoning, proof by contradiction).

Μοdus ponens Απαλοιφή συνεπαγωγής: {p q, p} / q Eφαρμόζοντας στο G(P) likes(chris,chris):-likes(chris,logic). likes(chris,bob):-likes(bob,logic). likes(chris,logic):-likes(logic,logic). likes(bob,logic). Ποιες προτάσεις προκύπτουν στο σύνολο απαντήσεων; (Αντιστοιχούν σε κλειστές ερωτήσεις που απαντώνται καταφατικά. Οι υπόλοιπες κλειστές ερωτήσεις απαντώνται αρνητικά).

Μodus tollens + proof by contradiction {p q, q} / p. Απόδειξη μέσω του κανόνα μετακίνησης λεκτικών: p q q p Εφαρμογή στο G(P): likes(chris,chris):-likes(chris,logic). likes(chris,bob):-likes(bob,logic). likes(chris,logic):-likes(logic,logic). likes(bob,logic). Έστω ότι θέλουμε να επιβεβαιώσουμε το αποτέλεσμα likes(chris,bob) {likes(chris,bob) likes(bob,logic), likes(chris,bob)} / likes(bob, logic) {likes(bob, logic) True, likes(bob, logic)} / False Άρα η υπόθεσή μας ότι likes(chris,bob) δεν ισχύει, επομένως ισχύει likes(chris,bob)

Modus Tollens + proof by contradiction Για πρόγραμμα Ρ με πιθανή απάντηση Α: P { A} = False iff P = (False A) Δηλαδή P { A} = False iff P =A Δηλαδή P { A} = False iff P -A

Θεώρημα Herbrand Μπορεί να αποδειχθεί μια αντίφαση (False) από ένα σύνολο προτάσεων P { A} αν και μόνο αν μπορεί να αποδειχθεί μια αντίφαση από κάποιο πεπερασμένο υποσύνολο του σταθερού στιγμιοτύπου G(P { A}) Πρακτική Χρησιμότητα: Αν το G(P { A} ) περιέχει προτάσεις g1, g2,.gk τότε υπάρχει κάποιο m<k τέτοιο ώστε το {g1, gm} περιέχει αντίφαση. Δηλαδή, στη χειρότερη περίπτωση, εξετάζοντας το G(P { A}) σειριακά, θα εντοπίσουμε την αντίφαση μετά από πεπερασμένο αριθμό βημάτων (τερματισμός, γραμμική πολυπλοκότητα). Σε αυτό το πνεύμα αναπτύχθηκαν οι διαδικασίες Herbrand (διαδικασίες κορεσμού), για τον υπολογισμό των απαντήσεων ενός λογικού προγράμματος.

Ανάλυση Πιο αποδοτικός τρόπος υπολογισμού. Ο modus ponens μπορεί να παραγάγει πολλές απαντήσεις που δεν μας ενδιαφέρουν (ανάλωση μνήμης). Οι διαδικασίες Herbrand τερματίζουν αλλά μπορεί να είναι χρονοβόρες, καθώς εφαρμόζονται πάνω στο G(P). Μπορούν να απαντηθούν και ανοιχτές ερωτήσεις (χωρίς προηγουμένως να έχουμε σκεφτεί όλες τις πιθανές απαντήσεις τους!). Ανοιχτές είναι οι ερωτήσεις που περιέχουν μεταβλητές και δεν απαντώνται μόνο ναι/όχι. Απαντώνται επιστρέφοντας τις τιμές εκείνες που, αν αντικατασταθούν στις μεταβλητές, καθιστούν την ερώτηση κατάφαση. Γενική Μορφή: P {Q} - False αν και μόνο αν P -Q

Μορφές Ανοιχτής Ερώτησης likes(chris,x) : likes(x, logic). likes(bob, logic).?-likes(chris,x) Ποιος/τι αρέσει στον chris? αναμενόμενη απάντηση {X=bob}?-likes(Z, logic) Σε ποιον αρέσει η λογική? αναμενόμενη απάντηση {Ζ=bob}?-likes(X, Y) Ποιος/τι αρέσει σε ποιον? αναμενόμενη απάντηση {(X=chris and Y=bob), (X=bob and Y=logic)}

Γράφημα ανάλυσης likes(chris,x) : likes(x, logic). likes(bob, logic). Σε CNF: (C1) likes(chris,x)or likes(x, logic). (C2) likes(bob, logic). Έστω η ερώτηση?- likes(chris, X) (Q) likes(chris,x)

likes(chris,x) likes(chris,x) or likes(x,logic) likes(x,logic) likes(bob,logic) θ={χ/bob}

Δέντρο αναζήτησης ανάλυσης Η ερώτηση τίθεται στη ρίζα Ο διάδοχος ενός κόμβου είναι εκείνος που περιέχει τις συνθήκες της πρότασης του προγράμματος, της οποίας το συμπέρασμα ταιριάζει (ενοποιείται) με τον κόμβο. Η ενοποίηση εφαρμόζεται στις συνθήκες της πρότασης πριν αυτές τοποθετηθούν στο διάδοχο κόμβο. παράδειγμα: likes(chris,x) : likes(x, logic). likes(bob, logic). ερώτηση? likes(chris, X)

?-likes(chris,x) ενοποίηση με C1?-likes(X,logic) ενοποίηση με C2 για θ={χ/bob}

Δέντρο ανάλυσης με πολλαπλά κλαδιά Εμφανίζονται διακλαδώσεις σε έναν κόμβο όταν υπάρχουν περισσότερες από μια ενοποιήσεις του με το συμπέρασμα κάποιας πρότασης του προγράμματος. Oι απαντήσεις που επιστρέφει το πρόγραμμα συντίθενται από τις ενοποιήσεις που εμφανίζονται κατά μήκος κάθε μονοπατιού από την κενή πρόταση προς τη ρίζα.

?-likes(x,y) με C2 θ={χ/bob, Y/logic} με C1 θ={χ/chris}?-likes(y, logic) με C2 θ={υ/bob}