ΠΛΗ 405 Τεχνητή Νοηµοσύνη Συµ ερασµός µε Λογική Πρώτης Τάξης Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης
Ε ανάληψη Λογική ρώτης τάξης σύνταξη σηµασιολογία Χρήση της λογικής ρώτης τάξης αναπαράσταση πεδίων Τεχνολογία γνώσης εφαρµογή σε ηλεκτρονικά κυκλώµατα Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 2
Σήµερα Συµ ερασµός µε οσοδείκτες αναγωγή σε προτασιακό συµπερασµό Ενο οίηση απευθείας συµπερασµός µε προτάσεις λογικής πρώτης τάξης Forward chaining παραγωγικές βάσεις δεδοµένων συστήµατα παραγωγής Backward chaining συστήµατα λογικού προγραµµατισµού Ανάλυση συστήµατα απόδειξης θεωρηµάτων Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 3
Αναγωγή Συµ ερασµού Πρώτης Τάξης σε Προτασιακό Συµ ερασµό Propositionalization
Καθολικός Προσδιορισµός (Universal Instantiation UI) (Λαϊκό) αξίωµα x Βασιλιάς(x) Ά ληστος(x) Κακός(x) Συµ εράσµατα Βασιλιάς(Ιωάννης) Ά ληστος(ιωάννης) Κακός(Ιωάννης) Βασιλιάς(Ριχάρδος) Ά ληστος(ριχάρδος) Κακός(Ριχάρδος)... Κανόνας Καθολικού Προσδιορισµού συµπεραίνουµε όποια πρόταση προκύπτει από αντικατάσταση v : µεταβλητή, α : πρόταση, g : βασικός όρος (χωρίς µεταβλητές) v a SUBST({ v / g}, a ) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 6
Υ αρξιακός Προσδιορισµός (Existential Instantiation EI) Αξίωµα x Στέµµα(x) ΣτοΚεφάλι(x, Ιωάννης) Συµ έρασµα Στέµµα(C 1 ) ΣτοΚεφάλι(C 1, Ιωάννης), όπου C 1 ένα νέο σύµβολο Κανόνας Υ αρξιακού Προσδιορισµού η υπαρξιακά ποσοτικοποιηµένη πρόταση µπορεί να απορριφθεί δεν καλύπτει το ενδεχόµενο περισσοτέρων του ενός αντικειµένων η νέα βάση γνώσης είναι συµπερασµατικά (όχι λογικά) ισοδύναµη v : µεταβλητή, α : πρόταση, k : νέο σύµβολο αντικειµένου v a S UBST({ v / k}, a ) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 7
Αναγωγή στον Προτασιακό Συµ ερασµό Ιδέα x α : αντικατάσταση µε το σύνολο όλων των περιπτώσεων x α : αντικατάσταση µε µία συγκεκριµένη περίπτωση εφαρµογή των γνωστών αλγορίθµων προτασιακού συµπερασµού Πρόβληµα οι συναρτήσεις µπορούν να δώσουν άπειρους βασικούς όρους! Θεώρηµα Herbrand (1930) αν µια ρόταση καλύ τεται α ό την αρχική βάση γνώσης ρώτης τάξης, τότε υ άρχει α όδειξη ου αφορά µόνο ένα ε ερασµένο υ οσύνολο της αντίστοιχης ροτασιακής βάσης γνώσης συστηµατική παραγωγή ένθετων όρων µε αυξανόµενο βάθος Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 8
Παράδειγµα Βάση γνώσης x Βασιλιάς(x) Ά ληστος(x) Κακός(x) Βασιλιάς(Ιωάννης) Ά ληστος(ιωάννης) Αδελφός(Ριχάρδος, Ιωάννης) Propositionalization Βασιλιάς(Ιωάννης) Ά ληστος(ιωάννης) Κακός(Ιωάννης) Βασιλιάς(Ριχάρδος) Ά ληστος(ριχάρδος) Κακός(Ριχάρδος) Βασιλιάς(Ιωάννης) Ά ληστος(ιωάννης) Αδελφός(Ριχάρδος, Ιωάννης) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 9
Ηµια οφασισιµότητα Πληρότητα οποιαδήποτε καλυπτόµενη πρόταση είναι αποδείξιµη Πρόβληµα αν αργεί ο αλγόριθµος να µας δώσει απάντηση είναι γιατί...... δεν έχει φτάσει στο βάθος όπου καλύπτεται η πρόταση;... η πρόταση δεν είναι λογικά καλυπτόµενη; Θεώρηµα Το ερώτηµα για την κάλυψη στη λογική ρώτης τάξης είναι ηµια οφασίσιµο (semidecidable) δηλαδή, ενώ υ άρχουν αλγόριθµοι ου α αντούν θετικά σε κάθε καλυ τόµενη ρόταση, δεν υ άρχει κά οιος αλγόριθµος ου να α αντά αρνητικά σε κάθε µη καλυ τόµενη ρόταση. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 10
Ενο οίηση Unification
Γενικευµένος Τρό ος του Θέτειν (Generalized Modus Ponens) Κανόνας εάν SUBST(θ, p i ') = SUBST(θ, p i ), για κάθε i=1...n, τότε p 1, p2,..., pn,( p1 p2... pn q) S UBST( θ, q) Παράδειγµα: βάση γνώσης x Βασιλιάς(x) Ά ληστος(x) Κακός(x) p 1 p 2 q Βασιλιάς(Ιωάννης) p 1 ' y Ά ληστος(y) p 2 ' Παράδειγµα: συµ ερασµός αντικατάσταση θ = {x/ιωάννης, y/ιωάννης} συµπέρασµα: Κακός(Ιωάννης) SUBST(θ,q) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 12
Ενο οίηση (Unification) Ενο οιητής (unifier) αντικατάσταση θ που δίνει ταυτόσηµες προτάσεις UNIFY(p, q) = θ, ώστε SUBST(θ, p) = SUBST(θ, q) Παραδείγµατα UNIFY ( Γνωρίζει(Γιάννης, x), Γνωρίζει(Γιάννης, Μαρία) ) =...... = { x/μαρία } UNIFY ( Γνωρίζει(Γιάννης, x), Γνωρίζει(y, Βασίλης) ) =...... = { x/βασίλης, y/γιάννης } UNIFY ( Γνωρίζει(Γιάννης, x), Γνωρίζει(y, Μητέρα(y)) ) =...... = { y/γιάννης, x/μητέρα(γιάννης) } UNIFY ( Γνωρίζει(Γιάννης, x), Γνωρίζει(x, Ελισάβετ) ) =...... = α οτυχία; Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 13
Ενο οίηση (Unification) Κατά µέρος ροτυ ο οίηση (standardizing apart) µετονοµασία µεταβλητών για αποφυγή συγκρούσεων ονοµάτων Παράδειγµα UNIFY ( Γνωρίζει(Γιάννης, x), Γνωρίζει(z, Ελισάβετ) ) =...... = { x/ελισάβετ, z/γιάννης } Πιο γενικός ενο οιητής (most general unifier MGU) ο ενοποιητής µε τους λιγότερους περιορισµούς στις µεταβλητές ο MGU είναι µοναδικός για κάθε ενοποιήσιµο ζεύγος προτάσεων Παράδειγµα UNIFY (Γνωρίζει(Γιάννης, x), Γνωρίζει(y, z)) =...... = θ 1 = { y/γιάννης, x/z }... = θ 2 = { y/γιάννης, x/γιάννης, z/γιάννης } Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 14
Αλγόριθµος Ενο οίησης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 15
Αλγόριθµος Ενο οίησης Χαρακτηριστικά αναδροµική αντιπαραβολή των δύο παραστάσεων OCCUR-CHECK: έλεγχος εµφάνισης µεταβλητής σε όρο τετραγωνική πολυπλοκότητα ως προς το µέγεθος της παραστάσης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 16
Α οθήκευση και Aνάκτηση Βασικές λειτουργίες STORE(s) : αποθήκευση πρότασης s στη KB FETCH(q) : επιστροφή όλων των ενοποιητών της q µε τη KB Ευρετηριασµός κατηγορηµάτων (indexing) κατακερµατισµός ως προς κατηγόρηµα και ως προς ορίσµατα π.χ. Εργοδότης(x,y), Εργοδότης(Πολυτεχνείο Κρήτης,y),... Πλέγµα υ αγωγής (subsumption lattice) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 17
Προς τα Eµ ρός Aλυσίδα Eκτέλεσης Forward Chaining
Οριστικές Προτάσεις Πρώτης Τάξης Οριστικές ροτάσεις (definite clauses) διαζεύξεις λεκτικών µε ακριβώς ένα θετικό λεκτικό είτε ατοµικές προτάσεις, π.χ. Βασιλιάς(Ιωάννης) είτε συνεπαγωγές, π.χ. Βασιλιάς(x) Ά ληστος(x) Κακός(x) Παρατηρήσεις στα λεκτικά µπορούν να περιέχονται µεταβλητές οι µεταβλητές θεωρούνται καθολικά ποσοτικοποιηµένες Ιδέα οριστικές προτάσεις + γενικευµένος τρόπος του θέτειν εξαγωγή συµπερασµάτων από ατοµικές προτάσεις µέσω συνεπαγωγών Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 19
Προς τα Εµ ρός Αλυσίδα Εκτέλεσης Κεντρική ιδέα ενεργοποίηση όλων των κανόνων που ικανοποιούνται προσθήκη των συµπερασµάτων στη βάση γνώσης επανάληψη έως ότου βρεθεί απάντηση ή επιτευχθεί κορεσµός Σταθερό σηµείο σηµείο όπου δεν παράγονται πλέον νέες προτάσεις (κορεσµός) πιθανά περιέχει καθολικά ποσοτικοποιηµένες ατοµικές προτάσεις Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 20
Παράδειγµα Datalog KB Ο νόµος λέει ότι η ώληση ό λων σε κράτη αντί αλα των Η.Π.Α. α ό Αµερικανούς ολίτες α οτελεί κακούργηµα. Η χώρα Νόνο, εχθρός της Αµερικής, διαθέτει µερικούς υραύλους, και όλοι οι ύραυλοι ουλήθηκαν σε αυτήν α ό τον Συνταγµατάρχη Γουέστ, ο ο οίος είναι Αµερικανός. Αµερικανός(x) Ό λο(y) Αντί αλος(z) Πώληση(x, y, z) Εγκληµατίας(x) Εχθρός(Νόνο, Αµερική) { z Πύραυλος(z) Κατέχει(Νόνο, z) } δεν είναι οριστική πρόταση Πύραυλος(M 1 ), Κατέχει(Νόνο, M 1 ) αντικατάσταση µε οριστικές προτάσεις Πύραυλος(x) Κατέχει(Νόνο, x) Πώληση(Γουέστ, x, Νόνο) Πύραυλος(x) Ό λο(x) Εχθρός(x, Αµερική) Αντί αλος(x) Αµερικανός(Γουέστ) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 21
Παράδειγµα Forward Chaining Αµερικανός(Γουέστ), Πύραυλος(M 1 ), Κατέχει(Νόνο, M 1 ), Εχθρός(Νόνο, Αµερική) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 22
Παράδειγµα Forward Chaining Πύραυλος(x) Ό λο(x) Πύραυλος(x) Κατέχει(Νόνο, x) Πώληση(Γουέστ, x, Νόνο) Εχθρός(x, Αµερική) Αντί αλος(x) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 23
Παράδειγµα Forward Chaining Αµερικανός(x) Ό λο(y) Πώληση(x, y, z) Αντί αλος(z) Εγκληµατίας(x) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 24
Αλγόριθµος Forward Chaining Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 25
Ιδιότητες Forward Chaining Ορθότητα ορθός λόγω εγκυρότητας του γενικευµένου τρόπου του θέτειν Πληρότητα λήρης για βάσεις γνώσεις οριστικών προτάσεων Ηµια οφασισιµότητα η λογική κάλυψη µε συναρτησιακά σύµβολα είναι ηµιαποφασίσιµη παράδειγµα: αξιώµατα Peano ΦυσικόςΑριθµός( 0 ) n ΦυσικόςΑριθµός( n ) ΦυσικόςΑριθµός( S( n ) ) προσθήκη συµπερασµάτων επ άπειρον ΦυσικόςΑριθµός(S(0)), ΦυσικόςΑριθµός(S(S(0))), ΦυσικόςΑριθµός(S(S(S(0)))),... Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 26
Α οδοτικό Forward Chaining (I) Πρόβληµα: ταίριασµα ροτύ ων (pattern matching) εύρεση όλων των ενοποιητών µεταξύ προϋποθέσεων και γεγονότων Α αισιόδοξο θεώρηµα το ταίριασµα µιας οριστικής ρότασης µε γεγονότα είναι NP-δύσκολο εκφράζεται ως πρόβληµα ικανοποίησης περιορισµών Αντιµετώ ιση: διάταξη συζευκτέων διάταξη των συζευκτέων ώστε να ελαχιστοποιείται το κόστος βέλτιστη διάταξη: NP-δύσκολο πρόβληµα ευριστική διάταξη: πρώτα η πιο δεσµευµένη µεταβλητή π.χ. Πύραυλος(x) Κατέχει(Νόνο, x) Πώληση(Γουέστ, x, Νόνο) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 27
Α οδοτικό Forward Chaining (ΙΙ) Πρόβληµα: ε αναλαµβανόµενα συµ εράσµατα παραγωγή ίδιων συµπερασµάτων σε κάθε επανάληψη Αντιµετώ ιση: αυξητικό Forward Chaining σε κάθε επανάληψη, ελέγχος µόνο των κανόνων µε κάποια προϋπόθεση που επιτεύχθηκε στην προηγούµενη επανάληψη Πρόβληµα: µερικό ταίριασµα επανάληψη µερικώς επιτυχηµένων ταιριασµάτων Αντιµετώ ιση: αυξητικό ταίριασµα τα µερικά ταιριάσµατα διατηρούνται και ολοκληρώνονται σταδιακά µε την άφιξη νέων γεγονότων (αλγόριθµος rete) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 28
Α οδοτικό Forward Chaining (III) Πρόβληµα: άσχετα γεγονότα παραγωγή όλων των εξαγόµενων συµπερασµάτων (πιθανά, άσχετων) Αντιµετώ ιση χρήση της προς τα πίσω αλυσίδας εκτέλεσης εστίαση στο στόχο περιορισµός σε ένα επιλεγµένο υποσύνολο σχετικών κανόνων γενικά, δύσκολη η επιλογή του υποσυνόλου αναδιατύπωση κανόνων µε περιορισµούς σε τιµές µεταβλητών προς τα πίσω προεπεξεργασία από το στόχο περιορισµένη προς τα εµπρός αλυσίδα εκτέλεσης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 29
Προς τα Πίσω Αλυσίδα Εκτέλεσης Backward Chaining
Προς τα Πίσω Αλυσίδα Εκτέλεσης Κεντρική ιδέα εύρεση των προϋποθέσεων ικανοποίησης του στόχου εύρεση γεγονότων που καλύπτουν τις προϋποθέσεις Υλο οίηση µε στοίβα στοίβα: λίστα στόχων προς ικανοποίηση αρχική στοίβα: ο στόχος επανάληψη έως ότου αδειάσει η στοίβα ενοποίηση κορυφής στοίβας µε την κεφαλή κάποιου κανόνα στη KB εξαγωγή κορυφής από τη στοίβα και εισαγωγή του σώµατος του κανόνα βάση: γεγονότα (κανόνες µε κεφαλή µόνο, χωρίς σώµα) λειτουργία παρόµοια µε top-down αυτόµατο στοίβας για CFG Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 31
Παράδειγµα Backward Chaining Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 32
Παράδειγµα Backward Chaining Αµερικανός(x) Ό λο(y) Πώληση(x, y, z) Αντί αλος(z) Εγκληµατίας(x) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 33
Παράδειγµα Backward Chaining Αµερικανός(Γουέστ) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 34
Παράδειγµα Backward Chaining Πύραυλος(x) Ό λο(x) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 35
Παράδειγµα Backward Chaining Πύραυλος(Μ 1 ) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 36
Παράδειγµα Backward Chaining Πύραυλος(x) Κατέχει(Νόνο, x) Πώληση(Γουέστ, x, Νόνο) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 37
Παράδειγµα Backward Chaining Πύραυλος(Μ 1 ) Κατέχει(Νόνο, Μ 1 ) Εχθρός(x, Αµερική) Αντί αλος(x) Εχθρός(Νόνο, Αµερική) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 38
Παράδειγµα Backward Chaining ε ιτυχία! όλες οι ροϋ οθέσεις ικανο οιήθηκαν! Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 39
Αλγόριθµος Backward Chaining Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 40
Ιδιότητες Backward Chaining Ορθότητα ορθός λόγω ορθότητας της συνεπαγωγής Πληρότητα µη λήρης λόγω µη πλήρους αναζήτησης Αλγόριθµος αναζήτηση πρώτα σε βάθος πρόβληµα µε επαναλαµβανόµενες καταστάσεις Πολυ λοκότητα γραµµική χωρική (+ χώρος για αποθήκευση λύσεων) εκθετική χρονική Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 41
Λογικός Προγραµµατισµός (Logic Programming) Βασική ιδέα (Robert Kowalski) Αλγόριθµος = Λογική + Έλεγχος Prolog ευρέως χρησιµοποιούµενη γλώσσα λογικού προγραµµατισµού γλώσσα γρήγορης προτυποποίησης για χειρισµό συµβόλων εκτέλεση προγραµµάτων µε backward chaining Χρήση έµπειρα συστήµατα για νοµικούς, ιατρούς, κλπ. συγγραφή µεταγλωττιστών επεξεργασία κειµένου φυσικής γλώσσας Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 42
Προγράµµατα Prolog οµή σύνολα από οριστικές προτάσεις µεταβλητές (κεφαλαία γράµµατα) και σταθερές (πεζά γράµµατα) προτάσεις: <κεφαλή> :- <σώµα1>, <σώµα2>,...,<σώµαn>. Παραδείγµατα εγκληµατίας(x):- αµερικάνος(x),όπλο(y),πώληση(x,y,z),αντίπαλος(z). append([],y,y). append([a X],Y,[A Z]) :- append(x,y,z).?- append(a,b,[1,2]). A=[] B=[1,2] A=[1] B=[2] A=[1,2] B=[] Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 43
Ανάλυση Resolution
Συζευκτική Κανονική Μορφή (CNF) CNF σύζευξη διαζεύξεων λεκτικών, clause= διάζευξη λεκτικών µπορούν να περιέχουν µεταβλητές καθολικά ποσοτικοποιηµένες CNF: x,y,...,z (............) (............)... (............) κάθε πρόταση ΛΠΤ συµπερασµατικά ισοδύναµη µε πρόταση CNF για µετατροπή σε CNF πρέπει να γίνει απαλοιφή ποσοδεικτών Παράδειγµα: x Αµερικανός(x) Ό λο(y) Πώληση(x, y, z) Αντί αλος(z) Εγκληµατίας(x) Αµερικανός(x) Ό λο(y) Πώληση(x, y, z) Αντί αλος(z) Εγκληµατίας(x) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 45
Συζευκτική Κανονική Μορφή (CNF) Παράδειγµα: «όλοι όσοι αγαπούν όλα τα ζώα αγαπώνται από κάποιον» x [ y Ζώο(y) Αγα ά(x, y) ] [ y Αγα ά(y, x) ] Α αλοιφή συνε αγωγών x [ y Ζώο(y) Αγα ά(x, y) ] [ y Αγα ά(y, x) ] Μετακίνηση της άρνησης ρος τα µέσα x p x p και x p x p x [ y ( Ζώο(y) Αγα ά(x, y)) ] [ y Αγα ά(y, x) ] x [ y Ζώο(y) Αγα ά(x, y) ] [ y Αγα ά(y, x) ] x [ y Ζώο(y) Αγα ά(x, y) ] [ y Αγα ά(y, x) ] Προτυ ο οίηση µεταβλητών x [ y Ζώο(y) Αγα ά(x, y) ] [ z Αγα ά(z, x) ] Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 46
Συζευκτική Κανονική Μορφή (CNF) Μετατρο ή κατά Skolem (Skolemization) λάθος: x [ Ζώο(A) Αγα ά(x, A) ] Αγα ά(b, x) σωστό: x [ Ζώο(F(x)) Αγα ά(x, F(x)) ] Αγα ά(g(x), x) F και G : συναρτήσεις Skolem F(x) : κάποιο ζώο που πιθανόν δεν αγαπά ο x G(x) : κάποιος που πιθανόν αγαπά τον x Κατάργηση καθολικών οσοδεικτών [ Ζώο(F(x)) Αγα ά(x, F(x)) ] Αγα ά(g(x), x) Κατανοµή του ως ρος το [ Ζώο(F(x)) Αγα ά(g(x), x) ] [ Αγα ά(x, F(x)) Αγα ά(g(x), x) ] Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 47
Ανάλυση Κανόνας ανάλυσης εάν UNIFY(l i, m j ) = θ, τότε l... l, m... m 1 k 1 n θ l 1 l i 1 l i + 1 l k m1 m j 1 m j + 1 mn S UBST(,............ ) Παράδειγµα [ Ζώο(F(x)) Αγα ά(g(x), x) ] και [ Αγα ά(u, v) Σκότωσε(u, v) ] ενοποίηση: θ = {u/g(x), v/x} αναλυθείσα πρόταση (resolvent) : [ Ζώο(F(x)) Σκότωσε(G(x), x) ] Παραγοντο οίηση απλοποίηση περιττών (ενοποιήσιµων) λεκτικών σε ένα λεκτικό Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 48
Παράδειγµα Ανάλυσης Ι Ο συνταγµατάρχης Γουέστ Αµερικανός(x) Ό λο(y) Πώληση(x, y, z) Αντί αλος(z) Εγκληµατίας(x) Πύραυλος(x) Κατέχει(Νόνο, x) Πώληση(Γουέστ, x, Νόνο) Εχθρός(x, Αµερική) Αντί αλος(x) Πύραυλος(x) Ό λο(x) Κατέχει(Νόνο, M1) Πύραυλος(M1) Αµερικανός(Γουέστ) Εχθρός(Νόνο, Αµερική) Εγκληµατίας(Γουέστ) άρνηση της ερώτησης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 49
Παράδειγµα Ανάλυσης Ι αντίφαση Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 50
Παράδειγµα Ανάλυσης ΙΙ εδοµένα Όλους όσους αγαπούν όλα τα ζώα τους αγαπά κάποιος. Όποιον σκοτώνει κάποιο ζώο δεν τον αγαπά κανείς. Ο Τζακ αγαπά όλα τα ζώα. Είτε ο Τζακ είτε ένας Παράξενος σκότωσε τη γάτα, την Τούνα. Μήπως ο Παράξενος σκότωσε τη γάτα; Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 51
Παράδειγµα Ανάλυσης ΙΙ Προτάσεις A. x [ y Ζώο(y) Αγα ά(x, y) ] [ y Αγα ά(y, x) ] B. x [ y Ζώο(y) Σκότωσε(x, y) ] [ z Αγα ά(z, x) ] Γ. x Ζώο(x) Αγα ά(τζακ, x). Σκότωσε(Τζακ, Τούνα) Σκότωσε(Παράξενος, Τούνα) Ε. Γάτα(Τούνα) ΣΤ. x Γάτα(x) Ζώο(x) Ζ. Σκότωσε(Παράξενος, Τούνα) άρνηση της ερώτησης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 52
Παράδειγµα Ανάλυσης ΙΙ Μετατρο ή σε CNF A1. Ζώο(F(x)) Αγα ά(g(x), x) A2. Αγα ά(x, F(x)) Αγα ά(g(x), x) B. Ζώο(x) Σκότωσε(x, y) Αγα ά(z, x) Γ. Ζώο(x) Αγα ά(τζακ, x). Σκότωσε(Τζακ, Τούνα) Σκότωσε(Παράξενος, Τούνα) E. Γάτα(Τούνα) ΣΤ. Γάτα(x) Ζώο(x) Ζ. Σκότωσε(Παράξενος, Τούνα) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 53
Παράδειγµα Ανάλυσης ΙΙ Α όδειξη αντίφαση έστω ότι ο Παράξενος δεν σκότωσε την Τούνα γνωρίζουµε ότι το έκανε είτε ο Τζακ είτε ο Παράξενος συνεπώς πρέπει να το έκανε ο Τζακ όµως η Τούνα είναι γάτα, άρα η Τούνα είναι ζώο επειδή όποιον σκοτώνει ζώο δεν τον αγαπά κανείς, κανένας δεν αγα ά τον Τζακ από την άλλη, ο Τζακ αγαπά όλα τα ζώα, έτσι κά οιος τον αγα ά συνεπώς έχουµε αντίφαση (άτοπο) άρα, ο Παράξενος σκότωσε τη γάτα! Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 54
Μελέτη Σύγγραµµα Ενότητες 9.1 9.5 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 55