ΠΛΗ 405 Τεχνητή Νοηµοσύνη Ανάλυση Πρώτης Τάξης Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης
Ε ανάληψη Συµ ερασµός µε οσοδείκτες αναγωγή σε προτασιακό συµπερασµό Ενο οίηση απευθείας συµπερασµός µε προτάσεις λογικής πρώτης τάξης Forward chaining παραγωγικές βάσεις δεδοµένων συστήµατα παραγωγής Backward chaining συστήµατα λογικού προγραµµατισµού Ανάλυση συστήµατα απόδειξης θεωρηµάτων Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 2
Σήµερα Πληρότητα ανάλυσης θεώρηµα Robinson ιαχείριση ισότητας ενσωµάτωση ισότητας στο συµπερασµό Στρατηγικές ανάλυσης αποδοτικότερη ανάλυση Α οδείκτες θεωρηµάτων αυτοµατοποιηµένη απόδειξη θεωρηµάτων Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 3
Πληρότητα Ανάλυσης Completeness of Resolution
Πληρότητα Ανάλυσης Πληρότητα µη λήρης, δεν µπορεί να απαριθµήσει όλες τις λογικές συνέπειες Πληρότητα διάψευσης (refutation-complete) λήρης, µπορεί να διαπιστώσει αν µια πρόταση καλύπτεται λογικά µη ικανοποιήσιµο σύνολο προτάσεων (ανάλυση) αντίφαση µπορεί να απαριθµήσει όλες τις απαντήσεις για κάποια ερώτηση Θεώρηµα ληρότητας ανάλυσης Αν ένα σύνολο διαζευτικών ροτάσεων S είναι µη ικανο οιήσιµο, τότε η εφαρµογή ενός ε ερασµένου αριθµού βηµάτων ανάλυσης στο S οδηγεί σε αντίφαση. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 5
Α όδειξη (Ι) Σύµ αν Herbrand (Herbrand universe) H S το σύνολο όλων των βασικών όρων που κατασκευάζονται από τα σύµβολα συνάρτησης στο S, αν υπάρχουν τα σύµβολα σταθερών στο S, αν υπάρχουν, διαφορετικά µια νέα σταθερά A Κορεσµός (saturation) P(S) βασικές προτάσεις από αντικατάσταση όρων του P σε µεταβλητές του S Βάση Herbrand (Herbrand base) H S (S) ο κορεσµός ενός συνόλου προτάσεων S ως προς το H S Θεώρηµα Herbrand (1930) Εάν ένα σύνολο ροτάσεων S είναι µη ικανο οιήσιµο, τότε υ άρχει ένα ε ερασµένο υ οσύνολο του H S (S) το ο οίο είναι ε ίσης µη ικανο οιήσιµο. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 6
Α όδειξη (ΙΙ) Θεώρηµα θεµελιώδους ανάλυσης (ground resolution) Αν ένα σύνολο διαζευτικών ροτάσεων S ( ροτασιακής λογικής) είναι µη ικανο οιήσιµο, τότε η ολοκλήρωση της ( ροτασιακής) ανάλυσής τους, RC(S), εριέχει την κενή ρόταση. εφαρµογή στο S ŒH S (S) το RC(S ) περιέχει την κενή πρόταση υπάρχει απόδειξη ανάλυσης πρώτης τάξης στο αρχικό S; Λήµµα ανύψωσης (Robinson, 1965) Έστω ροτάσεις ρώτης τάξης C 1 και C 2, στιγµιότυ ά τους C 1 και C 2 και έστω C το αναλυθέν των C 1 και C 2. Τότε υ άρχει ρώτης τάξης ρόταση C η ο οία είναι το αναλυθέν των C 1 και C 2 και η C είναι στιγµιότυ ό της. ανυψώνει την απόδειξη από βασικές προτάσεις σε πρώτης τάξης η απόδειξη πρώτης τάξης δηµιουργεί µόνο τα απαραίτητα στιγµιότυπα Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 7
Α όδειξη (III) µορφή CNF µορφή CNF Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 8
ιαχείριση Ισότητας Handling Equality
Ισότητα µε Αξιώµατα Αξιώµατα Ισότητας ανακλαστικότητα x x = x συµµετρικότητα x, y x = y y = x µεταβατικότητα x, y, z x = y y = z x = z Ισότητα σε κατηγορήµατα και συναρτήσεις x, y x = y ( P 1 (x) P 1 (y) ) x, y x = y ( P 2 (x) P 2 (y) ) w, x, y, z w = y x = z ( F 1 (w, x) = F 1 (y, z) ) w, x, y, z w = y x = z ( F 2 (w, x) = F 2 (y, z) )... Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 10
Ισότητα µε Κανόνες Συµ ερασµού εάν UNIFY(x, z) = θ και m n [z] λεκτικό που περιέχει το z Α οδιαµόρφωση (demodulation),... [ ] x = y m m z 1 ( θ ) m... m S UBST, y 1 n αντικαθιστά µε y οτιδήποτε ενοποιείται µε το x χρησιµοποιείται για απλοποίηση παραστάσεων, π.χ. x+0=x Παραδιαµόρφωση (paramodulation) l... l x = y, m... m 1 1 [ z] k n θ, l... l m... m [ y] k n SUBST( ) 1 1 ο κανόνας αυτός αρκεί για πλήρη διαδικασία συµπερασµού Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 11 n
Ισότητα µέσω Ενο οίησης Εκτεταµένος αλγόριθµος ενο οίησης δύο όροι είναι ενοποιήσιµοι...... εάν α οδεικνύεται ότι είναι ίδιοι µετά από κάποια αντικατάσταση χρήση ειδικού συµπερασµού µέσα στο «α οδεικνύεται» Ενο οίηση µε εξισώσεις (equational unification) χρήση ισότητας για απόδειξη ενοποιησιµότητας παράδειγµα: 1+2 ενοποιήσιµο µε το 2+1, εφόσον x + y = y + x ειδικοί αποδοτικοί αλγόριθµοι Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 12
Στρατηγικές Ανάλυσης Resolution Strategies
Στρατηγικές Ανάλυσης Mοναδιαίες clauses (unit clauses) προτεραιότητα στην επιλογή µοναδιαίων clause για ανάλυση οδηγεί σε συµπερασµούς που παράγουν µικρότερες clauses στόχος η κενή clause, άρα όσο µικρότερες τόσο καλύτερες Σύνολο υ οστήριξης (set of support) ένα «έξυπνο» υποσύνολο της βάσης γνώσης ανάλυση: µία clause από το σύνολο υποστήριξης και µία εκτός όλα τα συµπεράσµατα προστίθενται στο σύνολο υποστήριξης ροσοχή: άστοχη επιλογή µπορεί να οδηγήσει σε µη πληρότητα έξυπνη αρχικοποίηση: το αρχικό αρνητικό ερώτηµα Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 14
Στρατηγικές Ανάλυσης Ανάλυση εισόδου (input resolution) η µία πρόταση στην ανάλυση λαµβάνεται πάντα εκ των αρχικών οδηγεί σε µία αλυσίδα απόδειξης γραµµική ανάλυση: επιτρέπει επιπλέον αναλύσεις µε προγόνους Υ αγωγή (subsumption) απαλοιφή προτάσεων που είναι εξειδικεύσεις υπαρχουσών παράδειγµα: η P(A) υπάγεται από την P(x) διατηρεί µικρό το µέγεθος της βάσης γνώσης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 15
Α οδείκτες Θεωρηµάτων Theorem Provers
Α οδείκτες Θεωρηµάτων Α οδείκτες θεωρηµάτων προγράµµατα αυτοµατοποιηµένης συλλογιστικής είσοδος σε πλήρη λογική πρώτης τάξης εκτέλεση και έλεγχος ανεξάρτητα από τη σύνταξη εξαγωγή συµπερασµάτων µε πλήρη λογική πρώτης τάξης ευρετικές µέθοδοι αναζήτησης Εφαρµογές απόδειξη µαθηµατικών θεωρηµάτων επαλήθευση υλικού / λογισµικού σύνθεση υλικού / λογισµικού Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 17
Άλγεβρα Robbins Ιστορικό 1933: ο Herbert Robbins προτείνει ένα απλό σύνολο αξιωµάτων για τον προσδιορισµό µιας άλγεβρας Boole 1933, 1979: διάφοροι µαθηµατικοί (Tarksi, Winker) επιχειρούν να δώσουν απάντηση στο ανοικτό πρόβληµα 1996: ο αποδείκτης θεωρηµάτων EQP (EQuational Prover) βρίσκει µια απόδειξη µετά από 8 ηµέρες CPU και 30 Mb µνήµη Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 18
Άλγεβρα Robbins: Είσοδος του EQP % This input file is for EQP 0.9. %% Theorem. Robbins algebras satisfy %% exists C exists D, n(c+d)=n(c). %% This is the theorem that solves the Robbins problem. % It was first proved by EQP. % It takes about a week on an RS/6000 processor. assoc_comm(+). op(500, xfy, +). assign(max_weight, 70). assign(max_mem, 32000). assign(report_given, 5000). set(para_pairs). clear(print_given). set(basic_paramod). assign(pick_given_ratio, 1). assign(ac_superset_limit, 0). end_of_commands. list(sos). n(n(n(y)+x)+n(x+y))=x. end_of_list. % Robbins axiom list(passive). x+y!= x. % denial of Winker condition 1 n(x+y)!= n(x). % denial of Winker condition 2 end_of_list. Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 19
Άλγεβρα Robbins: Έξοδος του EQP ----- EQP 0.9, June 1996 ----- The job began on eyas09.mcs.anl.gov, Wed Oct 2 12:25:37 1996 UNIT CONFLICT from 17666 and 2 at 678232.20 seconds. ---------------- PROOF ---------------- 2 (wt=7) [] -(n(x + y) = n(x)). 3 (wt=13) [] n(n(n(x) + y) + n(x + y)) = y. 5 (wt=18) [para(3,3)] n(n(n(x + y) + n(x) + y) + y) = n(x + y). 6 (wt=19) [para(3,3)] n(n(n(n(x) + y) + x + y) + y) = n(n(x) + y). 24 (wt=21) [para(6,3)] n(n(n(n(x) + y) + x + y + y) + n(n(x) + y)) = y. 47 (wt=29) [para(24,3)] n(n(n(n(n(x) + y) + x + y + y) + n(n(x) + y) + z) + n(y + z)) = z. 48 (wt=27) [para(24,3)] n(n(n(n(x) + y) + n(n(x) + y) + x + y + y) + y) = n(n(x) + y). 146 (wt=29) [para(48,3)] n(n(n(n(x) + y) + n(n(x) + y) + x + y + y + y) + n(n(x) + y)) = y. 250 (wt=34) [para(47,3)] n(n(n(n(n(x) + y) + x + y + y) + n(n(x) + y) + n(y + z) + z) + z) = n(y + z). 996 (wt=42) [para(250,3)] n(n(n(n(n(n(x) + y) + x + y + y) + n(n(x) + y) + n(y + z) + z) + z + u) + n(n(y + z) + u)) = u. 16379 (wt=21) [para(5,996),demod([3])] n(n(n(n(x) + x) + x + x + x) + x) = n(n(x) + x). 16387 (wt=29) [para(16379,3)] n(n(n(n(n(x) + x) + x + x + x) + x + y) + n(n(n(x) + x) + y)) = y. 16388 (wt=23) [para(16379,3)] n(n(n(n(x) + x) + x + x + x + x) + n(n(x) + x)) = x. 16393 (wt=29) [para(16388,3)] n(n(n(n(x) + x) + n(n(x) + x) + x + x + x + x) + x) = n(n(x) + x). 16426 (wt=37) [para(16393,3)] n(n(n(n(n(x) + x) + n(n(x) + x) + x + x + x + x) + x + y) + n(n(n(x) + x) + y)) = y. 17547 (wt=60) [para(146,16387)] n(n(n(n(n(x) + x) + n(n(x) + x) + x + x + x + x) + n(n(n(x) + x) + x + x + x) + x) + x) = n(n(n(x) + x) + n(n(x) + x) + x + x + x + x). 17666 (wt=33) [para(24,16426),demod([17547])] n(n(n(x) + x) + n(n(x) + x) + x + x + x + x) = n(n(n(x) + x) + x + x + x). ------------ end of proof ------------- Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 20
Μελέτη Σύγγραµµα Ενότητα 9.5 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 21