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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

APEIROSTIKOS LOGISMOS I

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

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

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

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

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.

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

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

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

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

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

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

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

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

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

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

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

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

Π(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, Να βρεθεί ο μκδ και το εκπ τους

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

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

X = {(x 1, x 2 ) x 1 + 2x 2 = 0}.

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

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

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

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

ΗΥ118 Διακριτά Μαθηματικά. Εαρινό Εξάμηνο Παράδοση: Τρίτη 26/2/2019, μέχρι το τέλος του φροντιστηρίου

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

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

f(x) = και στην συνέχεια

, για κάθε n N. και P είναι αριθμήσιμα.

Transcript:

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

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

Ακολουθίες Επίλυσης (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}}, που είναι μηικανοποιήσιμο, υπάρχει το διπλανό δέντρο ανασκευής αλλά δεν υπάρχει ακολουθία.

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

Όροι 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, τότε ο ένας πλέον δε θα περιέχει κανένα θετικό γράμμα και ο άλλος παραμένει ως είχε (το πολύ ένα θετικό γράμμα), οπότε συνενώνοντας αυτούς τους όρους, καταλήγουμε και πάλι σε ένα σύνολο με το πολύ ένα θετικό γράμμα.

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

Άσκηση 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. Άρα ο αλγόριθμος θα οδηγήσει σίγουρα σε ακολουθία και όχι σε δέντρο.

Άσκηση 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

Άσκηση 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

Άσκηση 1 S 11 ={S, S, Q, R, {P, R}, { S,P}}

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

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

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

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

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

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

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

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

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

Λογικός Προγραμματισμός (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 της γλώσσας.

Τέλος Φροντιστηρίου