Τεχνθτι Νοθμοςφνθ Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχανικϊν Η/Υ & Πλθροφορικισ
Στρατθγικζσ Ελζγχου Επίλυςθσ
Στρατθγικζσ Ελζγχου Επίλυςθσ (1) Η μθ ελεγχόμενθ χριςθ τθσ αρχισ τθσ επίλυςθσ δθμιουργεί εκκετικά αυξανόμενο χϊρο αναηιτθςθσ. Γι αυτό ζχουν επινοθκεί ςτρατθγικζσ που επιβάλλουν κάποιουσ τρόπουσ είτε επιλογισ/αποκλειςμοφ γονζων για μελλοντικζσ επιλφουςεσ είτε ςτθν παραγωγι των επιλυουςϊν. Αυτζσ ονομάηονται ςτρατθγικζσ ελζγχου τθσ επίλυςθσ. Σαν αποτζλεςμα ζχουμε τθ μείωςθ του χϊρου αναηιτθςθσ και τθν αφξθςθ τθσ αποδοτικότθτασ τθσ διαδικαςίασ απόδειξθσ. Δφο επικυμθτζσ ιδιότθτεσ που κζλουμε να ζχουν οι ςτρατθγικζσ αυτζσ είναι θ ορκότθτα (να παράγονται ςωςτά κεωριματα) και θ πλθρότθτα (να μποροφν να παραχκοφν όλα τα δυνατά κεωριματα) 3
Στρατθγικζσ Ελζγχου Επίλυςθσ (2) Κατθγορίεσ: Επιλογισ γονζων (Ιςχυρζσ μζκοδοι) Απαλοιφισ προτάςεων (Αςκενείσ μζκοδοι) Στρατηγικζσ Επιλογήσ Γονζων Μοναδιαία επίλυςθ (Unit resolution) Επίλυςθ ειςόδου (Input resolution) Επίλυςθ ειςόδου (Input resolution) P1 και N1 επίλυςθ (P1 and N1 resolution) Υπερεπίλυςθ (Hyperresoluti on) Επίλυςθ ςυνόλου υποςτιριξθσ (Set of support resolution) 4
Στρατθγικζσ Ελζγχου Επίλυςθσ (3) Στρατηγικζσ Απαλοιφήσ Προτάςεων Απαλοιφι Ταυτολογιϊν (Tautology Elimination) Απαλοιφι Κακαρϊν Στοιχείων (Pure Literal Elimination) Απαλοιφι ςυνόψεων (Subsumption Elimination) 5
Στρατθγικζσ Επιλογισ Γονζων (1) Μοναδιαία Επίλυςη (Τουλάχιςτον ο ζνασ γονζασ μοναδιαία πρόταςθ). Πλιρθσ μόνο για προτάςεισ τφπου Horn. Π.χ. (p, q), ( p, q), (p, q), ( p, q) Μοναδιαία επιλφουςα Μοναδιαία εξαγωγι Μοναδιαία αντίφαςθ 1. (p, q) 2. ( p, r) 3. ( q, r) 4. ( r) ------------- 5. ( p) (2, 4) 6. ( q) (3, 4) ------------- 7. (q) (1, 5) 8. (p) (1, 6) ------------- 9. (r) (3, 7) 10. () (6, 7) 6
Στρατθγικζσ Επιλογισ Γονζων (2) Επίλυςη Ειςόδου (Τουλάχιςτον ο ζνασ γονζασ ανικει ςτο αρχικό ςφνολο προτάςεων). 1. (p, q) 2. ( p, r) 3. ( q, r) 4. ( r) ------------- 5. (q, r) (1, 2) 6. (p, r) (1, 3) 7. ( p) (2, 4) 8. ( q) (3, 4) ------------- 9. (q) (1, 7) 10. (p) (1, 8) 11. (r) (2, 6) 12. (r) (3, 5) Επιλφουςα ειςόδου 13. (q) (4, 5) Εξαγωγι ειςόδου 14. (p) (4, 6) ------------- Αντίφαςθ ειςόδου 15. (r) (2, 10) 16. (r) (2, 14) 17. (r) (3, 9) 18. (r) (3, 13) 19. () (4, 11) Πλιρθσ μόνο για προτάςεισ τφπου Horn. 7
Στρατθγικζσ Επιλογισ Γονζων (3) P1-Επίλυςη (Ο ζνασ γονζασ είναι κετικι πρόταςθ). 1. (p, q) 2. ( p, r) 3. ( q, r) 4. ( r) ------------- 5. (q, r) (1, 2) 6. (p, r) (1, 3) ------------- 7. (r) (2, 6) 8. (p) (4, 6) 9. () (4, 7) P1 επιλφουςα P1 εξαγωγι P1 αντίφαςθ Πλήρησ N1-Επίλυςη (Ο ζνασ γονζασ είναι αρνθτικι πρόταςθ). 8
Στρατθγικζσ Επιλογισ Γονζων (4) Επίλυςη Συνόλου Υποςτήριξησ (Set of Support Resolution) Σφνολο υποςτιριξθσ Ss του S: S-Ss ικανοποιιςιμο Τουλάχιςτον ζνασ γονζασ ανικει ςτο ςφνολο υποςτιριξθσ Φυςικι ςθμαςία: να μθν επιτρζπεται θ εφαρμογι τθσ αρχισ τθσ επίλυςθσ ςε ικανοποιιςιμο ςφνολο Συνικθσ περίπτωςθ: S το αρχικό ςφνολο (αξιϊματα), Ss τα κεωριματα Επιλφουςα ςυνόλου υποςτιριξθσ Εξαγωγι ςυνόλου υποςτιριξθσ Αντίφαςθ ςυνόλου υποςτιριξθσ 9
Γραμμικι Επίλυςθ (1) Γραμμική Επίλυςη (Ο ζνασ γονζασ (κοντινόσ) είναι θ πιο πρόςφατθ επιλφουςα και ο άλλοσ (μακρινόσ) είτε αξίωμα είτε κεϊρθμα). (p, q) ( p, q) (p, q) ( p, q) (q) (p) (q) Πλιρθσ ( q) () Γραμμικι επιλφουςα Γραμμικι εξαγωγι Γραμμικι αντίφαςθ 10
Γραμμικι Επίλυςθ (2) Παραλλαγζσ LI-Επίλυςη (Γραμμική Επίλυςη Ειςόδου) (Linear Input Resolution) Ο μακρινόσ γονζασ περιορίηεται να είναι μόνο αξίωμα (πρόταςθ ειςόδου), ενϊ ο κοντινόσ γονζασ θ πιο πρόςφατθ επιλφουςα ( πρόταςθ ςτόχου). Πλιρθσ μόνο για προτάςεισ τφπου Horn. LD-Επίλυςη (Γραμμική Οριςμζνη Επίλυςη) (Linear Definite Resolution) Γραμμικι επίλυςθ ειςόδου, όπου οι προτάςεισ κεωροφνται διατεταγμζνα ςφνολα (ακολουκίεσ) και θ παραγωγι τθσ επιλφουςασ γίνεται κατά ςυγκεκριμζνο τρόπο. Πλιρθσ μόνο για προτάςεισ τφπου Horn. 11
Γραμμικι Επίλυςθ (3) SLD-Επίλυςη (Selection Linear Definite Resolution) Γραμμικι οριςμζνθ επίλυςθ, όπου προςτίκεται ζνασ κανόνας επιλογής που κακορίηει ποιο ςτοιχείο τθσ πρόταςθσ ςτόχου κάκε φορά εξετάηεται προσ επίλυςθ. Πλιρθσ μόνο για προτάςεισ τφπου Horn. Συνικθσ κανόνασ: επιλζγεται το πρϊτο αριςτερά ςτοιχείο. Η βάςθ τθσ ςτρατθγικισ τθσ γλϊςςασ PROLOG 12
Γραμμικι Επίλυςθ (4) SLD-Επίλυςη ςτην Prolog Οι προτάςεισ διατάςςονται εςωτερικά ζτςι ϊςτε να είναι πάντα πρϊτο (αριςτερά) το κετικό ςτοιχείο, αν υπάρχει. Επιλζγουμε ςαν αριςτερό γονζα τθν πιο πρόςφατθ επιλφουςα (ςτο ξεκίνθμα τθν προσ απόδειξθ πρόταςθ) Επιλζγουμε ςαν δεξιό γονζα τθν πρϊτθ πρόταςθ (ςτθ ςειρά αναγραφισ) που επιλφεται με τον αριςτερό γονζα Κριτιριο για τθν εφρεςθ του δεξιοφ γονζα είναι θ εφρεςθ επιλφςιμου ςτοιχείου με το πρϊτο ςτοιχείο του αριςτεροφ γονζα Στθν παραγόμενθ επιλφουςα πρϊτα (αριςτερά) μπαίνουν τα ςτοιχεία του δεξιοφ γονζα και μετά του αριςτεροφ 13
Γραμμικι Επίλυςθ (5) SLD-Επίλυςη ςτην Prolog Μθ ορκι διότι: + δεν υπάρχει occurs check + δεν γίνονται οι αντικαταςτάςεισ εγκαίρωσ Μθ πλιρθσ διότι: + παίηει ρόλο θ ςειρά αναγραφισ + χρθςιμοποιεί depth-first with backtracking 14
Γραμμικι Επίλυςθ (6) Επίλυση-SLD και SLDδέντρο Η διαδικαζία απόδειξηρ μιαρ ππόηαζηρ με Επίλςζη-SLD, δηλαδή εθαπμογή ηηρ ανηίθαζηρ ηηρ επίλςζηρ με ζηπαηηγική SLD, μποπεί να πεπιγπαθεί μέζω ενόρ δένηπος αναζήηηζηρ, πος ονομάζεηαι SLD-δένηπο Παπάδειγμα: Έζηω ηο ζύνολο πποηάζεων ηύπος Horn (1)p(x1, x1) q(x1, y1), r(x1, z1) (2)p(x2, x2) s(x2) (3)q (a, a) (4)q (b, a) (5)q (x3, y2) r (a, y2) (6)r (b, z2) (7)s(x4) q (x4, a) Τίτλοσ Ενότθτασ 15
Γραμμικι Επίλυςθ (7) (1) (p(x1, x1), q(x1, y1), r(x1, z1)) (2) (p(x2, x2), s(x2)) (3) (q (a, a)) (4) (q (b, a)) (5) (q (x3, y2), r (a, y2)) (6) (r (b, z2)) (7) (s(x4), q (x4, a)) Προσ απόδειξθ πρόταςθ: p (x, x) (1) ( p (x, x)) (2) ( q (x1, y1), r (x1, z1)) (3) (4) (5) ( r (a, z1)) ( r (b, z1)) (6) (( r (a, y2), r (x1, z1))) () failure failure {b/x} ( s (x2)) (3) () {a/x} (7) ( q (x4, a)) (4) () {b/x} (5) ( r (a, a)) failure 16
Γραμμικι Επίλυςθ (8) Αναηιτθςθ Κατά Βάκοσ : Αναηιτθςθ Κατά Πλάτοσ : (1) ( p (x, x)) (2) ( q (x1, y1), r (x1, z1)) (3) (4) (5) ( r (a, z1)) ( r (b, z1)) (6) (( r (a, y2), r (x1, z1))) () failure failure {b/x} ( s (x2)) (3) () {b/x} (7) ( q (x4, a)) (4) () (5) ( r (a, a)) {a/x} failure 17
Στρατθγικζσ Απαλοιφισ Προτάςεων (1) Απαλοιφή Ταυτολογιϊν (Tautology Elimination) Διαγράφονται οι ταυτολογίεσ ςτο αρχικό ςφνολο προτάςεων και κάκε παραγόμενθ πρόταςθ (επιλφουςα) που είναι ταυτολογία. Ταυτολογία είναι μια πρόταςθ που περιζχει δφο ακριβϊσ ςυμπλθρωματικά ςτοιχεία. Για παράδειγμα C = {p(x), q(y), q(y), r(z)} είναι ταυτολογία Απαλοιφή Καθαρϊν Στοιχείων (Pure-Literal Elimination) Διαγράφονται από το αρχικό ςφνολο όςεσ προτάςεισ περιζχουν κακαρά ςτοιχεία. Κακαρό ςτοιχείο είναι ζνα ςτοιχείο, ςυμπλιρωμα του οποίου δεν εμφανίηεται ςε καμμία άλλθ πρόταςθ του ςυνόλου. 18
Στρατθγικζσ Απαλοιφισ Προτάςεων (2) Απαλοιφή Συνόψεων (Subsumption Elimination) Διαγράφονται προτάςεισ που ςυνοψίηονται από άλλεσ προτάςεισ. Μια πρόταςθ C συνοψίζει μια πρόταςθ D ανν υπάρχει μια αντικατάςταςθ τζτοια ϊςτε C D. Σφνοψθ προσ τα εμπρόσ (Forward subsumption) Απαλοιφι προτάςεων που ςυνοψίηονται από ιδθ υπάρχουςεσ προτάςεισ. Σφνοψθ προσ τα πίςω (Backward subsumption) Απαλοιφι προτάςεων που ςυνοψίηονται από τθ νζα παραγόμενθ πρόταςθ (επιλφουςα). Συνδυαςμόσ Πρϊτα προσ τα εμπρόσ και μετά προσ τα πίςω. 19
Στρατθγικζσ Απαλοιφισ Προτάςεων (3) Απαλοιφή Συνόψεων (Subsumption Elimination) Παράδειγμα Η C1 = {P(x), Q(y)- ςυνοψίηει τθν C2 = {P(a), Q(v), R(w)} διότι για ς =,a/x}, C1ς =,P(a), Q(y)} C2 = {P(a), Q(v), R(w)} 20
Σθμείωμα Ιςτορικοφ Εκδόςεων Ζργου Το παρόν ζργο αποτελεί τθν ζκδοςθ 1.0. 21
Σθμείωμα Αναφοράσ Copyright Πανεπιςτιμιο Πατρϊν, Ιωάννθσ Χατηθλυγεροφδθσ 2015. «Ευφυισ Προγραμματιςμόσ». Ζκδοςθ: 1.0. Πάτρα 2015. Διακζςιμο από τθ δικτυακι διεφκυνςθ: https://eclass.upatras.gr/courses/ceid1095/ 22
Σθμείωμα Αδειοδότθςθσ Το παρόν υλικό διατίκεται με τουσ όρουσ τθσ άδειασ χριςθσ Creative Commons Αναφορά, Μθ Εμπορικι Χριςθ Παρόμοια Διανομι 4.0 *1+ ι μεταγενζςτερθ, Διεκνισ Ζκδοςθ. Εξαιροφνται τα αυτοτελι ζργα τρίτων π.χ. φωτογραφίεσ, διαγράμματα κ.λ.π., τα οποία εμπεριζχονται ςε αυτό και τα οποία αναφζρονται μαηί με τουσ όρουσ χριςθσ τουσ ςτο «Σθμείωμα Χριςθσ Ζργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ωσ Μη Εμπορική ορίηεται θ χριςθ: που δεν περιλαμβάνει άμεςο ι ζμμεςο οικονομικό όφελοσ από τθν χριςθ του ζργου, για το διανομζα του ζργου και αδειοδόχο που δεν περιλαμβάνει οικονομικι ςυναλλαγι ωσ προχπόκεςθ για τθ χριςθ ι πρόςβαςθ ςτο ζργο που δεν προςπορίηει ςτο διανομζα του ζργου και αδειοδόχο ζμμεςο οικονομικό όφελοσ (π.χ. διαφθμίςεισ) από τθν προβολι του ζργου ςε διαδικτυακό τόπο Ο δικαιοφχοσ μπορεί να παρζχει ςτον αδειοδόχο ξεχωριςτι άδεια να χρθςιμοποιεί το ζργο για εμπορικι χριςθ, εφόςον αυτό του ηθτθκεί. 23
Διατιρθςθ Σθμειωμάτων Οποιαδιποτε αναπαραγωγι ι διαςκευι του υλικοφ κα πρζπει να ςυμπεριλαμβάνει: το Σθμείωμα Αναφοράσ το Σθμείωμα Αδειοδότθςθσ τθ διλωςθ Διατιρθςθσ Σθμειωμάτων το Σθμείωμα Χριςθσ Ζργων Τρίτων (εφόςον υπάρχει) μαηί με τουσ ςυνοδευόμενουσ υπερςυνδζςμουσ. 24