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

Σχετικά έγγραφα
Πληρότητα της μεθόδου επίλυσης

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

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

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

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

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

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

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

Μορφολογική Παραγωγή. 3 ο φροντιστήριο ΗΥ180 Διδάσκων: Δ. Πλεξουσάκης Τετάρτη 28/02/2019 Ζωγραφιστού Δήμητρα

Μορφολογική Παραγωγή. 3 ο φροντιστήριο ΗΥ180 Διδάσκων: Δ. Πλεξουσάκης Τετάρτη 08/03/2018 Ζωγραφιστού Δήμητρα

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 5: Προτασιακός Λογισμός: Κατασκευή Μοντέλων Τμήμα Επιστήμης Υπολογιστών

Μορφολογική Παραγωγή. 3 ο φροντιστήριο ΗΥ180 Διδάσκων: Δ. Πλεξουσάκης Τετάρτη 15/03/2017 Ζωγραφιστού Δήμητρα

Επανάληψη. ΗΥ-180 Spring 2019

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Φροντιστήριο 4: Μορφολογική Παραγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

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

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

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

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

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

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

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

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

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

ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014

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

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

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

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

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

Θεωρία Γραφημάτων 6η Διάλεξη

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

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

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

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

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

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

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

2.0 ΔΙΑΝΥΣΜΑΤΙΚΟΙ ΧΩΡΟΙ ΚΑΙ ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ

x < y ή x = y ή y < x.

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

ψ φ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

Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

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

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

Αλγόριθμοι για αυτόματα

> ln 1 + ln ln n = ln(1 2 3 n) = ln(n!).

ΑΝΑΛΥΣΗ 1 ΕΙΚΟΣΤΟ ΕΒΔΟΜΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

Λογικός Προγραμματισμός

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

Πρόταση. Αληθείς Προτάσεις

Διδάσκων: Κωνσταντίνος Κώστα

f(t) = (1 t)a + tb. f(n) =

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

4 Ασθενείς τοπολογίες σε χώρους με νόρμα. 4.1 θεωρήματα Mazur, Alaoglou, Goldstine.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

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

Ακρότατα πίνακα, χωρίς min, max, μόνο με pos

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

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

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Λογική Δημήτρης Πλεξουσάκης Ασκήσεις στον Κατηγορηματικό Λογισμό Τμήμα Επιστήμης Υπολογιστών

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

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

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

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο )

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

Πεπερασμένες Διαφορές.

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

APEIROSTIKOS LOGISMOS I

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

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

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

sin(5x 2 ) sin(4x) e 5t 2 1 (ii) lim x 0 10x 3 (iii) lim (iv) lim. 10t sin(ax) = 1. = 1 1 a lim = sin(5x2 ) = 2. f (x) = sin x. = e5t 1 = 1 0 = 0.

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

Συνέπεια, Εγκυρότητα, Συνεπαγωγή, Ισοδυναμία, Κανονικές μορφές, Αλγόριθμοι μετατροπής σε CNF-DNF

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

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

Συνέχεια συνάρτησης σε διάστημα. Η θεωρία και τι προσέχουμε. x, ισχύει: lim f (x) f ( ).

2 ) d i = 2e 28, i=1. a b c

2. Αν έχουμε μια συνάρτηση f η οποία είναι συνεχής σε ένα διάστημα Δ.

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

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

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή

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

Π(n) : 1 + a + + a n = an+1 1 a 1. a 1. + a k+1 = ak+2 1

Κ X κυρτό σύνολο. Ένα σημείο x Κ

Ασκήσεις1 Πολυώνυμα. x x c. με το. b. Να βρεθούν όλες οι τιμές των a, Να βρεθεί ο μκδ και το εκπ τους

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

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

Transcript:

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

Πληρότητα της μεθόδου επίλυσης Λήμμα: Αν κάθε μέλος ενός συνόλου όρων περιέχει ένα αρνητικό γράμμα, τότε το σύνολο είναι ικανοποιήσιμο. Άρα για να είναι μη-ικανοποιήσιμο, θα πρέπει να περιέχει τουλάχιστον ένα μέλος που να μην περιέχει αρνητικό γράμμα Λήμμα: Έστω ένα σύνολο όρων S, και L κάποιο γράμμα για το οποίο (α) S L και (β) L S. Τότε το σύνολο S ={C-{L} C S} είναι μη-ικανοποιήσιμο Βάσει αυτών των λημμάτων, μπορούμε να δείξουμε ότι ο αλγόριθμος που κατασκευάζει δένδρο ανασκευής από ένα μη-ικανοποιήσιμο σύνολο όρων είναι ορθός και συνεπώς η μέθοδος επίλυσης είναι πλήρης, δηλαδή κάθε μη-ικανοποιήσιμο σύνολο όρων έχει ένα δένδρο ανασκευής. 2

Ακολουθίες Επίλυσης (1) Μερικά δένδρα επίλυσης έχουν απλή δομή π.χ. για το σύνολο όρων S={P,{ P,Q}, { Q,R}, R} έχουμε το εξής δέντρο: Παρατηρούμε ότι κάθε επίλυση γίνεται μεταξύ ενός όρου του S και ενός άλλου όρου (που μπορεί να ανήκει ή όχι στο S) Ποτέ δεν έχουμε επίλυση όπου και οι δύο όροι έχουν προκύψει από προηγούμενες επιλύσεις Τέτοια δέντρα επίλυσης μπορούν να αναπαρασταθούν σε γραμμική μορφή και ονομάζονται ακολουθίες επίλυσης: 3

Ακολουθίες Επίλυσης (2) Ορισμός: Έστω S ένα σύνολο όρων. Μια ακολουθία επίλυσης του S είναι μια πεπερασμένη ακολουθία όρων C o,c 1,,C n για την οποία (α) C o S και (β) για i=1,,n, C i είναι ο όρος επίλυσης του C i-1 με κάποιο μέλος του S. Αν C n =F, τότε η ακολουθία λέγεται ακολουθία ανασκευής. Αν υπάρχει μια ακολουθία ανασκευής για ένα σύνολο S, τότε το S είναι μη-ικανοποιήσιμο Δεν ισχύει όμως ότι αν το S είναι μη-ικανοποιήσιμο τότε δε θα έχει υποχρεωτικά μια ακολουθία ανασκευής, π.χ. για το σύνολο S={{P,Q},{ P,Q}, { Q,R}, { Q, R}}, που είναι μη-ικανοποιήσιμο, υπάρχει το διπλανό δέντρο ανασκευής αλλά δεν υπάρχει ακολουθία. 4

Ακολουθίες Επίλυσης (3) Λήμμα: Αν ένα σύνολο όρων S έχει μια ακολουθία ανασκευής, τότε το S περιέχει ένα μοναδιαίο όρο. Αποδεικνύεται εύκολα αν παρατηρήσουμε ότι κάθε ακολουθία ανασκευής τερματίζει με μια επίλυση της μορφής res (A, A)=F για κάποιο Α. Εξ ορισμού το Α ή το A πρέπει να ανήκει στο S. Οι ακολουθίες επίλυσης/ανασκευής είναι πιο αποδοτικές από τα αντίστοιχα δέντρα. Γι αυτό επικεντρώνουμε το ενδιαφέρον μας σε ένα υποσύνολο όρων για το οποίο η ύπαρξη ή μη-ύπαρξη μιας ακολουθίας ανασκευής είναι ικανή και αναγκαία συνθήκη για την (μη-)ικανοποιησιμότητα του συνόλου αυτού. 5

Όροι Horn Ορισμός: Ένας όρος ονομάζεται όρος Horn (Horn clause) όταν περιέχει το πολύ ένα θετικό γράμμα (γράμμα χωρίς άρνηση) π.χ. Τ, F, P, P, { P, Q}, { P, Q, R} αλλά όχι {P, Q}, {P, Q, R}, { P, Q, R, S} Λήμμα: O όρος επίλυσης δύο όρων Horn είναι όρος Horn. Με την επίλυση θα διαγραφεί ένα θετικό γράμμα από τον ένα όρο και ένα αρνητικό από τον άλλο. Άρα αφού και οι δύο είναι όροι Horn, τότε ο ένας πλέον δε θα περιέχει κανένα θετικό γράμμα και ο άλλος παραμένει ως είχε (το πολύ ένα θετικό γράμμα), οπότε συνενώνοντας αυτούς τους όρους, καταλήγουμε και πάλι σε ένα σύνολο με το πολύ ένα θετικό γράμμα. 6

Επίλυση για όρους Horn (1) Είδαμε ότι ένα σύνολο όρων είναι μηικανοποιήσιμο όταν περιέχει τουλάχιστον ένα όρο χωρίς αρνητικά γράμματα Για την περίπτωση όρων Horn, θα πρέπει να περιέχει είτε το F, είτε ένα θετικό μοναδιαίο όρο Επίσης είδαμε σε προηγούμενο Λήμμα ότι αν ένα σύνολο όρων έχει μια ακολουθία ανασκευής, τότε το σύνολο περιέχει ένα μοναδιαίο όρο Συνεπώς, για την περίπτωση όρων Horn, αν το σύνολο είναι μη-ικανοποιήσιμο, τότε ο αλγόριθμος θα οδηγεί πάντα σε ακολουθία ανασκευής (και όχι δένδρο). Άρα στην περίπτωση των συνόλων όρων Horn, περιοριζόμαστε στην κατασκευή ακολουθιών και όχι δέντρων, χωρίς όμως να χάνουμε την πληρότητα. 7

Άσκηση 1 Χρησιμοποιείστε τη μέθοδο της επίλυσης για να εξετάσετε αν το παρακάτω σύνολο είναι ικανοποιήσιμο ή μη: { Q S, (S P), (P Q) R, (P R) P, S P} Αντιστοιχεί το εξής σύνολο όρων: { Q,S}, { S, P}, { P,Q}, R, P, {P, R}, { S,P} Παρατηρούμε ότι είναι σύνολο όρων Horn. Άρα ο αλγόριθμος θα οδηγήσει σίγουρα σε ακολουθία και όχι σε δέντρο. 8

Άσκηση 1 S = {{ Q,S}, { S, P}, { P,Q}, R, P, {P, R}, { S,P}} Ας εφαρμόσουμε τον αλγόριθμο: 1. Δεν υπάρχουν όροι Α, Α για κάποιο γράμμα Α 2. Υπάρχει τουλάχιστον ένας θετικός όρος 3. Ας επιλέξουμε C=P. i=1 4. To P δεν ανήκει στο σύνολο S 5. Για κάθε όρο Κ στο σύνολο S - {P}, θεωρούμε έναν όρο Κ =Κ - { P} και καταλήγουμε στο σύνολο: S 1 ={ Q,S}, S, Q, R, {P, R}, { S,P} 6. Καλούμε αναδρομικά τον αλγόριθμο με είσοδο το σύνολο S 1 9

Άσκηση 1 S 1 ={{ Q,S}, S, Q, R, {P, R}, { S,P}} 1. Δεν υπάρχουν όροι Α, Α για κάποιο γράμμα Α 2. Υπάρχει τουλάχιστον ένας θετικός όρος 3. Ας επιλέξουμε C =Q. i =1 4. To Q δεν ανήκει στο σύνολο S 1 5. Για κάθε όρο Κ στο σύνολο S 1 - {Q}, θεωρούμε έναν όρο Κ =Κ - { Q} και καταλήγουμε στο σύνολο: S 11 =S, S, R, {P, R}, { S,P} 6. Καλούμε αναδρομικά τον αλγόριθμο με είσοδο το σύνολο S 11 10

Άσκηση 1 S 11 ={S, S, Q, R, {P, R}, { S,P}} 1. Υπάρχουν οι όροι S, S άρα ο αλγόριθμος επιστρέφει και τερματίζει 7. Αναμορφώνουμε την παραπάνω ακολουθία ανασκευής ως 8. i =1=n 9. Επιστρέφουμε την ακολουθία και τερματίζουμε 7. Αναμορφώνουμε την παραπάνω ακολουθία ως 8. i=1=n 9. Εξάγουμε την ακολουθία και τερματίζουμε 11

Άσκηση 1 Η ακολουθία ανασκευής αποδεικνύει ότι το σύνολο {{ Q,S}, { S, P}, { P,Q}, P} που είναι υποσύνολο του αρχικού S είναι μη- ικανοποιήσιμο. Άρα και το S μηικανοποιήσιμο 12

Επίλυση για όρους Horn (2) Η ακολουθία ανασκευής στην οποία καταλήξαμε δεν είναι απαραίτητο να είναι η μοναδική Αν αναπαραστήσουμε όλες τις ακολουθίες που προκύπτουν από ένα σύνολο όρων Σ, ο γράφος που προκύπτει ονομάζεται δίκτυο ανασκευής Αν ένα σύνολο όρων Horn είναι ικανοποιήσιμο, τότε το δίκτυο ανασκευής δεν περιέχει το F. Άρα για να ελέγξουμε την ικανοποιησιμότητα ενός τέτοιου συνόλου, αρκεί να κατασκευάσουμε συστηματικά το δίκτυο ανασκευής και να σταματήσουμε εάν προκύψει ο όρος F, οπότε και μπορούμε να συμπεράνουμε ότι είναι μηικανοποιήσιμο. Αλλιώς είναι ικανοποιήσιμο. 13

Εξαγωγή συμπεράσματος από σύνολο όρων Horn Θεώρημα: Αν S είναι ένα μη-ικανοποιήσιμο σύνολο όρων Horn και C κάποιο μέλος του S, τότε, είτε το S {C} είναι μη-ικανοποιήσιμο είτε υπάρχει ακολουθία ανασκευής για το S η οποία ξεκινά με το C. Υποθέστε ότι μας δίνεται ένα ικανοποιήσιμο σύνολο όρων Horn W και μας ζητείται αν μπορούμε να συμπεράνουμε έναν άλλο όρο Α (αν W A, για Α W). Αυτό θα συμβαίνει αν το σύνολο W = W { Α} είναι μη-ικανοποιήσιμο. Εφόσον το W - { Α}=W είναι ικανοποιήσιμο, το θεώρημα λέει ότι το W θα είναι μηικανοποιήσιμο αν και μόνο αν υπάρχει μια ακολουθία ανασκευής που ξεκινάει με το Α Άρα όταν μας ζητείται να ελέγξουμε την εξαγωγή συμπεράσματος από ένα σύνολο όρων Horn εξετάζουμε αν υπάρχει ακολουθία ανασκευής που να ξεκινάει με την άρνηση του συμπεράσματος 14

Άσκηση 2 Έστω το εξής ικανοποιήσιμο σύνολο όρων Horn: W = {{T, P, R}, Q, {R, Q}, {P, Q}} Αποφασίστε εάν ισχύει ότι W T. Αρκεί να βρούμε μια ακολουθία ανασκευής που να ξεκινάει από το T. Άρα το W { T} είναι μη-ικανοποιήσιμο, οπότε W T. 15

Άσκηση 3 Έστω το εξής ικανοποιήσιμο σύνολο όρων Horn: W = {{ P, R, S}, { P, Q, T}, { Q, R}, { S, U}, { T, U}} Αποφασίστε εάν ισχύει ότι W U. Αρκεί να βρούμε μια ακολουθία ανασκευής που να ξεκινάει από το U. Έχοντας εξαντλήσει όλες τις δυνατές ακολουθίες ξεκινώντας από το U, συμπεραίνουμε ότι δεν υπάρχει ακολουθία ανασκευής. Άρα το W { U} είναι ικανοποιήσιμο, οπότε W U. 16

Συστηματική παραγωγή δικτύων ανασκευής (1) Μας ενδιαφέρει να παράγουμε δίκτυα ανασκευής με συστηματικό τρόπο. Αυτό μπορεί να γίνει αν τα δίκτυα μετατραπούν σε δέντρα. Αυτό γίνεται με την αντικατάσταση ακμών που συγκλίνουν με παράλληλες ακμές 17

Συστηματική παραγωγή δικτύων ανασκευής (2) Χρησιμοποιούμε την εξής σύμβαση: αν δύο ή περισσότερα κλαδιά ξεκινούν από τον ίδιο κόμβο τότε γράφονται από τα αριστερά προς τα δεξιά με τη σειρά που οι ετικέτες τους εμφανίζονται στο αρχικό σύνολο Για να αναζητήσουμε στο δέντρο (π.χ. ώστε να ελέγξουμε αν υπάρχει F), συνήθως χρησιμοποιούμε διάσχιση προδιάταξης (preorder traversal): ξεκινώντας από τη ρίζα ακολουθούμε πάντα το αριστερό κλαδί. Όταν συναντήσουμε ένα φύλλο, επιστρέφουμε στην προηγούμενη διακλάδωση και εξερευνούμε το αριστερότερο ανεξερεύνητο κλαδί. Για παράδειγμα στο δένδρο δεξιά, η διάσχιση θα γίνει με τη σειρά 1,2,4,5,9,10,6,3,7,8 Με την ίδια στρατηγική μπορούμε να κατασκευάσουμε συστηματικά το δένδρο Η σειρά με την οποία μας δίνονται οι όροι επηρεάζει άμεσα τη μορφή του δένδρου 18

Λογικός Προγραμματισμός (1) Στο λογικό προγραμματισμό, οι όροι Horn ερμηνεύονται ως δεδομένα (facts), κανόνες(rules) και ερωτήσεις(queries) Οι μοναδιαίοι θετικοί όροι είναι δεδομένα Π.χ. ο όρος P είναι δεδομένο (γνωρίζω ότι το P είναι αληθές) Οι μοναδιαίοι αρνητικοί όροι είναι ερωτήσεις Π.χ. ο όρος P είναι ερώτηση (είναι το P αληθές;) Όλοι οι υπόλοιποι είναι κανόνες Η γενική μορφή Α 1 Α n Α μετασχηματίζεται σε που μπορεί να γραφεί και ως Α Α 1 Α n (το Α είναι αληθές, αν τα Α 1 Α n είναι αληθή) 19

Λογικός Προγραμματισμός (2) Ας θεωρήσουμε τις εξής προτάσεις: 1. «αν βρέξει, ο αγώνας θα αναβληθεί» 2. «αν ο αγώνας θα αναβληθεί, θα πάμε στο πάρτυ» 3. «αν πάμε στο πάρτυ και βρέχει, θα πάρουμε το λεωφορείο» 4. «αν πάρουμε το λεωφορείο, θα χρειαστούμε χρήματα» 5. «θα βρέξει» Μπορούμε να συμπεράνουμε την πρόταση «θα χρειαστούμε χρήματα»; Για να γράψουμε τις προτάσεις σε μορφή κατάλληλη για το Λογικό Προγραμματισμό, ορίζουμε τα παρακάτω προτασιακά γράμματα: P: «θα βρέξει» Q: «ο αγώνας θα αναβληθεί» R: «θα πάμε στο πάρτυ» S: «θα πάρουμε το λεωφορείο» V: «θα χρειαστούμε χρήματα» 20

Λογικός Προγραμματισμός (3) Με τα προτασιακά αυτά γράμματα οι προτάσεις ξαναγράφονται ως εξής: 1. Q P 2. R Q 3. S Q, P 4. V S 5. P P: «θα βρέξει» Q: «ο αγώνας θα αναβληθεί» R: «θα πάμε στο πάρτυ» S: «θα πάρουμε το λεωφορείο» V: «θα χρειαστούμε χρήματα» (Χρησιμοποιούμε το κόμμα για να διαχωρίσουμε πολλαπλούς όρους στις προϋποθέσεις ενός κανόνα) H ερώτηση αν μπορούμε να συμπεράνουμε την πρόταση «θα χρειαστούμε χρήματα», εκφράζεται ως V. Εφαρμόζοντας επίλυση, αρκεί να βρούμε μια ακολουθία ανασκευής που να ξεκινάει από το V. Αυτό μπορεί να γίνει αυτόματα, εκφράζοντας τις προτάσεις σε μια γλώσσα λογικού προγραμματισμού και τρέχοντας έναν interpreter της γλώσσας. 21