ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ

Σχετικά έγγραφα
Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Κεφάλαιο 11. Συστήµατα Κανόνων. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

οµηµένες Αναπαραστάσεις Γνώσης

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής

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

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

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

Κεφάλαιο 8. Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής. Τεχνητή Νοηµοσύνη - Β' Έκδοση

Λογική. Προτασιακή Λογική. Λογική Πρώτης Τάξης

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

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

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 9: Προτασιακή λογική. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Αναπαράσταση Γνώσης. Αναπαράσταση Γνώσης με Λογική. Προτασιακή Λογική Λογική Πρώτης Τάξης

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

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

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

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

HY118-Διακριτά Μαθηματικά

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

Προτασιακή Λογική. Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Ηπείρου Γκόγκος Χρήστος

Αναπαράσταση γνώσης και συλλογιστική

Υπολογιστική Λογική και Λογικός Προγραμματισμός

Γιώργος Στάμου Αναπαράσταση Οντολογικής Γνώσης και Συλλογιστική. Κριτική Ανάγνωση: Ανδρέας-Γεώργιος Σταφυλοπάτης

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Λογικοί πράκτορες. Πράκτορες βασισµένοι στη γνώση

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

οµηµένες Αναπαραστάσεις Γνώσης

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

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

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 6: Προτασιακός Λογισμός

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

Επίλυση Προβλημάτων 1

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Υπολογιστικά & Διακριτά Μαθηματικά

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

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

Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων

Rule Based systems Συστήματα Βασισμένα σε κανόνες

Διαχείριση Γνώσης. Επικ. Καθ. Κωνσταντίνος Μεταξιώτης Δρ. Κωνσταντίνος Εργαζάκης Επιστημονικός Υπεύθυνος

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 4: Αναπαράστασης Γνώσης και Συλλογιστικής Συστήματα Κανόνων

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

Μηχανισμός Εξαγωγής Συμπερασμάτων

ΠΛΗ 20, 3 η ΟΣΣ (Κατηγορηματική Λογική)

p p p q p q p q p q

Περιγραφικές Λογικές. Αλγόριθμοι αυτόματης εξαγωγής συμπερασμάτων. Γ. Στάμου

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

9.1 Προτασιακή Λογική

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

Συστήματα Βασισμένα σε Γνώση (Knowledge Based Systems)

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

Επαγωγικός Λογικός Προγραμματισμός και Aσαφείς Λογικές Περιγραφής

HY118-Διακριτά Μαθηματικά

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

Στοιχεία Κατηγορηματικής Λογικής

ΠΛΗ 20, 3 η ΟΣΣ (Κατηγορηματική Λογική)

Δομές Δεδομένων & Αλγόριθμοι

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

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

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

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

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

HY118-Διακριτά Μαθηματικά. Προτασιακός Λογισμός. Προηγούμενη φορά. Βάσεις της Μαθηματικής Λογικής. 02 Προτασιακός Λογισμός

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

Ψευδοκώδικας. November 7, 2011

Στοιχεία Κατηγορηματικής Λογικής

Αναπαράσταση Γνώσης και Συλλογιστικές

Ευφυής Προγραμματισμός

Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Pascal, απλοί τύποι, τελεστές και εκφράσεις

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

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

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

Στοιχεία Κατηγορηματικής Λογικής

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

Τεχνητή Νοημοσύνη ( )

Αναπαράσταση Γνώσης και Συλλογιστικές

Υποθετικές προτάσεις και λογική αλήθεια

Τεχνητή Νοημοσύνη Ι. Ενότητα 7:Προτασιακή Λογική. Πέππας Παύλος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Ανάλυση της Ορθότητας Προγραμμάτων

Ε ανάληψη. Παιχνίδια τύχης. Παιχνίδια ατελούς ληροφόρησης. Λογικοί ράκτορες. ΠΛΗ 405 Τεχνητή Νοηµοσύνη αναζήτηση expectiminimax

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

HY118-Διακριτά Μαθηματικά

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

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

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

Transcript:

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΠΡΟΒΛΗΜΑΤΑ ΙΚΑΝΟΠΟΙΗΣΗΣ ΠΕΡΙΟΡΙΣΜΩΝ ΤΥΠΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ - ΣΥΛΛΟΓΙΣΤΙΚΗ ΔΙΑΔΙΚΑΣΙΑ Καραγιώργου Σοφία

Προβλήματα ικανοποίησης περιορισμών Constraint Satisfaction Problems (CSP) Backtracking search for CSPs Local search for CSPs

Constraint satisfaction problems (CSPs) Πρότυπο πρόβλημα αναζήτησης state θεωρείται "black box εννοούμε κάθε δομή δεδομένων που υποστηρίζει συνάρτηση επιτυχίας, heuristic και goal test CSP state ορίζεται από μεταβλητές X i με τιμές από το χώρο D i goal test είναι ένα σύνολο από constraints που επιτρέπει συνδυασμούς τιμών από τις μεταβλητές Αποτελεί ένα απλό παράδειγμα μιας επίσημης γλώσσας αναπαράστασης Επιτρέπει τη δημιουργία χρήσιμων αλγορίθμων με περισσότερη δύναμη σε σχέση με τους πρότυπους αλγορίθμους αναζήτησης

Παράδειγμα: Map-Coloring Μεταβλητές WA, NT, Q, NSW, V, SA, T Χώρος/Πεδίο D i = {red,green,blue} Constraints: γειτονικές περιοχές πρέπει να έχουν διαφορετικό χρώμα Π.χ., WA NT, or (WA,NT) in {(red,green),(red,blue),(green,red), (green,blue),(blue,red),(blue,green)}

Παράδειγμα: Map-Coloring Οι λύσεις είναι πλήρεις και συνεπείς αναθέσεις, π.χ., WA = red, NT = green, Q = red, NSW = green, V = red, SA = blue, T = green

Constraint graph Binary CSP: κάθε περιορισμός συσχετίζει δυο μεταβλητές Constraint graph: μεταβλητές είναι οι κόμβοι, περιορισμοί είναι οι ακμές

Πραγματικά προβλήματα ικανοποίησης περιορισμών Προβλήματα ανάθεσης Π.χ., ποιος διδάσκει και σε ποια τάξη Timetabling/Scheduling προβλήματα Π.χ., ποιο μάθημα προσφέρεται, πού και πότε? Transportation scheduling Factory scheduling Τα πραγματικά προβλήματα εμπλέκουν πολλές μεταβλητές με πραγματικές τιμές

Backtracking search

Παράδειγμα Backtracking

Παράδειγμα Backtracking

Παράδειγμα Backtracking

Παράδειγμα Backtracking

Backtracking search - Βελτιώσεις Μήπως οι μέθοδοι γενικής χρήσης μπορούν να δώσουν τεράστια οφέλη στην ταχύτητα; Ποια μεταβλητή θα πρέπει να ανατεθεί το επόμενο βήμα; Με ποια σειρά πρέπει να δοκιμάσουμε τις τιμές της; Μπορούμε να εντοπίσουμε νωρίς κάποια αποτυχία; Most/Least constrained value, Forward checking, Constraint propagation, Arc constraint

Local search for CSPs Hill-climbing, simulated annealing συνήθως εργάζονται με «πλήρη», δηλώνει, δηλαδή, όλες οι μεταβλητές έχουν ανατεθεί Εφαρμόζοντας CSPs: Οι καταστάσεις μπορούν να έχουν περιορισμού που δεν ικανοποιούνται Οι operators (επαν-)αναθέτουν τιμές στις μεταβλητές Επιλέγουμε τυχαία μεταβλητές σε σύγκρουση Με ευρετικό κριτήριο για min-conflicts Επιλέγουμε μεταβλητές που αντιβαίνουν τους λιγότερους περιορισμούς, π.χ., hill-climb with h(n) = total number of violated constraints Παράδειγμα: πρόβλημα 4 βασιλισσών - σκάκι

Τυπική Αναπαράσταση Γνώσης Η αναπαράσταση γνώσης και η συλλογιστική ασχολούνται με το πώς ένα σύστημα ΤΝ χρησιμοποιεί αυτό που ξέρει για να αποφασίσει τι θα κάνει Στο πλαίσιο αυτό όμως πώς μπορεί ένα σύστημα να ξέρει και πώς να αποφασίζει; Προσεγγίζουμε τα ερωτήματα αυτά όχι από φιλοσοφική σκοπιά αλλά περιγράφοντας τις έννοιες ορισμένων βασικών, τυπικών μεθόδων ανάπτυξης υπολογιστικών συστημάτων ΤΝ

Τι είναι γνώση Γνώση είναι ένα σύνολο (λογικών) προτάσεων κάθε μία από τις οποίες δηλώνει ότι ο κόσμος είναι έτσι και όχι κάπως αλλιώς

Τι είναι αναπαράσταση γνώσης Αναπαράσταση γνώσης είναι η διαδικασία χρήσης τυπικών συμβόλων για την απόδοση του νοήματος μιας συλλογής προτάσεων γνώσης

Πυραμίδα Data-Information-Knowledge-Winsdom

Τι είναι συλλογιστική Η συλλογιστική είναι ένα είδος τυπικής υπολογιστικής διαδικασίας για την αυτόματη παραγωγή νέων ορθών προτάσεων (συμπερασμάτων) από μια γνώση

Ερωτήματα που προκύπτουν Τι είδους προτάσεις μπορώ να αναπαραστήσω σε μία γνώση; Ποιες προτάσεις μίας γνώσης θεωρούνται ορθές (συντακτικά, λογικά); Πότε έρχονται σε (λογική) σύγκρουση οι προτάσεις μίας γνώσης; Μπορώ να κρίνω αν ένα σύνολο συμβόλων και συντακτικών κανόνων χρήσης τους (μία γλώσσα αναπαράστασης γνώσης) είναι κατάλληλο για να αναπαραστήσω τη γνώση που θέλω; Τι απαιτείται για να καταλαβαίνουν όλοι το ίδιο όταν διαβάζουν μία συμβολική πρόταση; Πόσα συμπεράσματα μπορούμε να βγάλουμε από μία γνώση; Πόσο πολύπλοκο είναι το πρόβλημα της συλλογιστικής; Εξαρτάται η πολυπλοκότητά του από τη γνώση, από τη γλώσσα αναπαράστασης γνώσης, από κάτι άλλο;

Τυπικές γλώσσες αναπαράστασης γνώσης Σύνταξη (syntax) Ποια είναι τα επιτρεπτά σύμβολα, πώς συνδέονται μεταξύ τους για να παραχθούν νέα σύμβολα, πώς συνδέονται για να σχηματίσουν προτάσεις Π.χ. Ψηλός και έξυπνος, Ο Γιάννης είναι γιατρός Σημασιολογία (semantics) Τι σημαίνουν τα σύμβολα στον κόσμο, πώς καθορίζουν οι προτάσεις ένα συγκεκριμένο κόσμο Π.χ. Ο Γιώργος έχει πυρετό, Η Μαρία διαιρείται δεκαεξαδική δημοκρατία Πραγματολογία (pragmatics) Πώς χρησιμοποιούνται οι συντακτικά και σημασιολογικά ορθές προτάσεις στο συγκεκριμένο κόσμο, τη συγκεκριμένη στιγμή Π.χ. Υπάρχει κάποιος πίσω σου (κουνήσου ή πρόσεξε), Παίρνεις ασπιρίνη (όχι αλκοόλ ή έχεις πυρετό)

Συλλογιστική Μέθοδος με την οποία τμήματα υπάρχουσας γνώσης συνδυάζονται μεταξύ τους ώστε να παράγουν νέα γνώση ή να εξάγουν συμπεράσματα. Κάθε μέθοδος αναπαράστασης γνώσης έχει τις δικές της συλλογιστικές. Πιο γνωστές συλλογιστικές (για συστήματα κανόνων): Συνεπαγωγή (deduction) Επαγωγή (induction) Απαγωγή (abduction) Εξελιγμένες συλλογιστικές (συστήματα γνώσης): Συλλογιστική μοντέλων (modelbased reasoning) Ποιοτική συλλογιστική (qualitative reasoning) Συλλογιστική περιπτώσεων (case-based reasoning)

Εξαγωγή συμπερασμάτων (Inference) Εξαρτάται από τη συλλογιστική και τη στρατηγική αναζήτησης στη γνώση ενός προβλήματος. Στρατηγική αναζήτησης: ο τρόπος με τον οποίον έχει δομηθεί και κωδικοποιηθεί η γνώση προκειμένου να δοθεί λύση σε ένα πρόβλημα. Οδηγούμενη από τους στόχους (goal driven / top-down): Ξεκινάμε από πιθανά συμπεράσματα και φτάνουμε στις αιτίες που τα στηρίζουν. Οδηγούμενη από τα δεδομένα (data driven / bottom-up): Ξεκινάμε από τα δεδομένα του προβλήματος και φτάνουμε στα συμπεράσματα. Οι συλλογιστικές υλοποιούνται από έναν ή περισσότερους εναλλακτικούς μηχανισμούς εξαγωγής συμπερασμάτων (inference mechanisms) Μηχανισμός εξαγωγής συμπερασμάτων: Αλγόριθμος που συνδυάζει τις δομές που αναπαριστούν τα διάφορα τμήματα της γνώσης που βρίσκονται αποθηκευμένα στη μνήμη του υπολογιστή, σύμφωνα με το αφαιρετικό μοντέλο της συλλογιστικής, και παράγει νέες δομές που επίσης αποθηκεύει στον υπολογιστή.

Είδη Συλλογιστικής: Συν-επαγωγική (deductive) Εξάγει συμπεράσματα βασισμένη στους κλασικούς μηχανισμούς εξαγωγής συμπερασμάτων της λογικής Τα συμπεράσματα είναι ορθά Δεδομένου του κανόνα: Όλα τα σκυλιά του Κώστα είναι καφέ. και του γεγονότος: Αυτά τα σκυλιά είναι του Κώστα. Συμπέρασμα που εξάγεται: Αυτά τα σκυλιά είναι καφέ.

Είδη Συλλογιστικής: Επαγωγική (inductive) Εξάγει γενικά συμπεράσματα από ένα σύνολο παραδειγμάτων Η ορθότητα των συμπερασμάτων δεν είναι εγγυημένη Δεδομένων των γεγονότων: Το σκυλί Α είναι του Κώστα και είναι καφέ. Το σκυλί Β είναι του Κώστα και είναι καφέ.... Κανόνας που εξάγεται: Όλα τα σκυλιά του Κώστα είναι καφέ.

Είδη Συλλογιστικής: Απαγωγική (abductive) Εξαγωγή συμπερασμάτων κατά την οποία, με δεδομένα μία βάση γνώσης και μερικές παρατηρήσεις (observations), επιχειρείται η εύρεση υποθέσεων οι οποίες μαζί με τη βάση γνώσης εξηγούν τις παρατηρήσεις Δεν είναι μαθηματικά ακριβής αλλά εκφράζει πιθανότητα. Δεδομένου του κανόνα: Όλα τα σκυλιά του Κώστα είναι καφέ. Του γεγονότος: Αυτά τα σκυλιά είναι καφέ. Υπόθεση που γίνεται: Αυτά τα σκυλιά είναι του Κώστα.

Παραδείγματα Όλοι όσοι έχουν πυρετό πάνω από 39 αισθάνονται δυσφορία. Ο Πέτρος έχει 40 πυρετό. Άρα ο Πέτρος αισθάνεται δυσφορία. (Συν-επαγωγή) Η Μαρία είναι από τη Φινλανδία και είναι ξανθιά. Η Χέλγκα είναι από τη Φινλανδία και είναι ξανθιά. Ο Γιόχαν είναι Φινλανδός και είναι ξανθός. Άρα, όλοι οι Φινλανδοί είναι ξανθοί. (Επαγωγή) Γνωρίζω δέκα αποφοίτους πληροφορικής και όλοι τους έχουν μια καλή δουλειά. Άρα όλοι οι απόφοιτοι πληροφορικής έχουν μια καλή δουλειά. (Επαγωγή) Όλα τα ταξί στην Αθήνα είναι κίτρινα. Το αυτοκίνητο του Δημήτρη που ζει στην Αθήνα είναι κίτρινο. Άρα το αυτοκίνητο του Δημήτρη είναι ταξί. (Απαγωγή) Η Εθνική Ελλάδος είναι καλή ομάδα. Η Εθνική Βουλγαρίας είναι καλή ομάδα. Η Εθνική Κροατίας είναι καλή ομάδα. Η Ελλάδα, Η Βουλγαρία και η Κροατία είναι Βαλκανικές χώρες. Άρα όλες οι Εθνικές των Βαλκανικών χωρών είναι καλές ομάδες. (Επαγωγή) Όλοι όσοι έχουν διαβάσει Τεχνητή Νοημοσύνη περνάνε εύκολα το μάθημα. Η Κατερίνα έχει διαβάσει Τεχνητή Νοημοσύνη. Άρα η Κατερίνα θα περάσει εύκολα το μάθημα. (Συν-επαγωγή)

Λογική πρώτης τάξης (σύνταξη) Λογικά σύμβολα (logical symbols) Σημεία στίξης (punctuation) (, ), [, ],. Σύνδεσμοι (connectives),,,,, = (άρνηση, τομή, ένωση, υπαρξιακός ποσοδείκτης, καθολικός ποσοδείκτης και λογική ισότητα, αντίστοιχα) Μεταβλητές (variables) Μία πιθανώς άπειρη συλλογή συμβόλων που θα συμβολίζουμε με x, y, z, χρησιμοποιώντας συνδέσμους

Λογική πρώτης τάξης (σύνταξη) Μη λογικά σύμβολα (non logical symbols) Συναρτησιακά σύμβολα (function symbols) Μία πιθανώς άπειρη συλλογή συμβόλων που θα συμβολίζουμε με λέξεις που ξεκινούν με πεζό χαρακτήρα, π.χ. καλύτεροςφίλος ή πιο γενικά με σύμβολα a, b, c, f, g χρησιμοποιώντας αν είναι απαραίτητο συνδέσμους Κατηγορήματα (predicates) Μία πιθανώς άπειρη συλλογή συμβόλων που θα συμβολίζουμε με λέξεις που ξεκινούν με κεφαλαίο χαρακτήρα, π.χ. ΨηλότεροςΑπό ή πιο γενικά με σύμβολα P, Q, R χρησιμοποιώντας αν είναι απαραίτητο συνδέσμους

Λογική πρώτης τάξης (σύνταξη) Συντακτικές εκφράσεις (syntactic expressions) Όροι (terms) Κάθε μεταβλητή είναι όρος Αν t 1, t 2, t n είναι όροι και f ένα συναρτησιακό σύμβολο τάξης n, τότε το f(t 1, t 2, t n ) είναι όρος Φόρμουλες (formulas) Αν t 1, t 2, t n είναι όροι και P ένα κατηγόρημα τάξης n, τότε το P(t 1, t 2, t n ) είναι φόρμουλα Αν τα t 1, t 2 είναι όροι, τότε το t 1 = t 2 είναι φόρμουλα Αν τα α και β είναι φόρμουλες και το x μεταβλητή, τότε α,(α β ),(α β ), x.α, x.α είναι φόρμουλες

Λογική πρώτης τάξης (σύνταξη) Ορολογίες, συμβολισμοί, συντομεύσεις και συμβάσεις Κάθε μη λογικό σύμβολο δέχεται ένα σύνολο από ορίσματα (arguments), το πλήθος των οποίων ονομάζεται τάξη (order) του μη λογικού συμβόλου. Θα ονομάζουμε τα συναρτησιακά σύμβολα τάξης 0 σταθερές και θα τα συμβολίζουμε με a, b, c. Αντίστοιχα, τα κατηγορήματα τάξης 0 θα ονομάζονται προτασιακά. Οι φόρμουλες που δεν περιέχουν άλλες φόρμουλες (οι δύο πρώτες μορφές του προηγούμενου ορισμού) ονομάζονται ατομικές φόρμουλες ή άτομα (atomic formulas, atoms). Μπορούν να χρησιμοποιούνται όσες παρενθέσεις και αγκύλες κρίνονται απαραίτητες. Για την απλοποίηση των εκφράσεων, θεωρούμε ότι ο σύνδεσμος έχει μεγαλύτερη προτεραιότητα από το σύνδεσμο.

Λογική πρώτης τάξης (σύνταξη) Ορολογίες, συμβολισμοί, συντομεύσεις και συμβάσεις (συνέχεια...) Θα ονομάζουμε Προτασιακή Λογική (Propositional Logic), το υποσύνολο της ΛΠΤ που δεν χρησιμοποιεί όρους και ποσοδείκτες και επιπλέον χρησιμοποιεί μόνο προτασιακά σύμβολα. Χρησιμοποιούμε τους ακόλουθους συμβολισμούς: α β εννοώντας ( α β ) α β εννοώντας (α β ) (β α ) Θα λέμε ότι μία μεταβλητή είναι περιορισμένη (restricted) αν βρίσκεται στην εμβέλεια ενός ποσοδείκτη, αλλιώς θα λέγεται ελεύθερη (free). Κάθε φόρμουλα που δεν περιέχει μεταβλητές θα λέγεται απλή πρόταση (sentence).

Λογική πρώτης τάξης (σύνταξη) Παραδείγματα Ο Γιάννης έχει πυρετό -> ΈχειΠυρετό(γιάννης) Το DEPON είναι παρακεταμόλη -> Παρακεταμόλη(depon) Η Μαρία είναι η γιατρός του Γιώργου -> μαρία=γιατρόςτου(γιώργος) Η παρακεταμόλη είναι αντιπυρετικό -> x.παρακεταμόλη(x) Αντιπυρετικό(x) Ο Γιάννης δεν είναι αλλεργικός στο DEPON -> Αλλεργικός(γιάννης, depon) Όποιος έχει πυρετό έχει συνήθως πονοκέφαλο -> x.έχειπυρετό(x) ΈχειΠονοκέφαλο(x) Τα αντιπυρετικά ρίχνουν τον πυρετό -> x. y.έχειπυρετό(x)^χορήγησηφαρμάκου(x,y)^αντιπυρετικό(y) ΈχειΠυρετό(x)

Λεξιλόγιο γνώσης Άτομα (individuals) Οι διακριτές οντότητες του συγκεκριμένου κόσμου (άνθρωποι, ζώα, αντικείμενα, τόποι, χρονικές στιγμές, κλπ) γιάννηςιωάννου, τζακ, δημαρχείοξάνθης, αθήνα Τύποι ατόμων Κατηγορίες στις οποίες κατατάσσουμε τις διακριτές οντότητες Άνθρωποι, Γυναίκες, Επιχειρήσεις, Σπίτια Ιδιότητες ατόμων Ιδιαίτερα χαρακτηριστικά των διακριτών ατόμων του κόσμου Πλούσιος, Έξυπνος, Υγιής, Αλκοολικός

Λεξιλόγιο γνώσης Σχέσεις Κατηγορήματα τάξης n>1 (εκφράζουν διαφόρων τύπων συσχετίσεις μεταξύ των ατόμων της γνώσης) ΠαιδίΤου, ΕγγόνιΤου Συναρτήσεις Καθολικές ένα προς ένα σχέσεις μεταξύ ατόμων καλύτεροςφίλοςτου, πατέραςτου

Γεγονότα Απλά γεγονότα Ατομικές προτάσεις και αρνήσεις τους. Γίνεται εφαρμογή των κατηγορημάτων και των συναρτήσεων σε άτομα του κόσμου Άντρας(γιάννηςΙωάννου), Πλούσιος(γιάννηςΙωάννου), ΠαντρεμένοςΜε(γιώργος, μαρία), ΚαλύτεροςΦίλοςΤου(γιώργος)=μαρία Πολύπλοκα γεγονότα Γεγονότα που εμπλέκουν μεταβλητές και ποσοδείκτες x[πλούσιος(x) Γυναίκα(x) Αγαπάει(x,γιάννηςΙωάννου)] x[παυσίπονο(x) Αλλεργικός(x,γιάννηςΙωάννου)] x[αντιπυρετικό(x) x = depon x = ponstan]

Αξιώματα Ορισμοί ξένων εννοιών x[άντρας(x) Γυναίκα(x)] Καθορισμοί υποτύπων x[άντρας(x) Άνθρωπος(x)] Εξαντλητικοί ορισμοί x[άνθρωπος(x) Γυναίκα(x) Άντρας(x)] Συμμετρικότητα σχέσεων x,y[παντρεμένοςμε(x,y) ΠαντρεμένοςΜε(y,x)] Ορισμοί ανάστροφων σχέσεων x y[παιδίτου(x y) ΓονιόςΤου(y x)] Περιορισμοί πεδίου ορισμού και πεδίου τιμών x,y[παντρεμένος(x,y) Άνθρωπος(x) Άνθρωπος(y)] Τυπικοί ορισμοί x[πλούσιοςάντρας(x) Πλούσιος(x) Άντρας(x)]

Λογική Πρώτης Τάξης Σημασιολογία Τι σημαίνουν οι εκφράσεις της Λογικής Πρώτης Τάξης? Στο πλαίσιο ενός κόσμου: Τι σημαίνουν τα μη λογικά σύμβολα; Τι σημαίνουν τα λογικά σύμβολα; Πώς καθορίζουμε τους όρους; Πώς ερμηνεύουμε τις φόρμουλες; Μπορούμε να δούμε αν μία έκφραση είναι αληθής ή ψευδής; Μπορούμε να δούμε αν ένα σύνολο εκφράσεων είναι λογικά συνεπές; Τα μη λογικά σύμβολα εξαρτώνται από την εφαρμογή και ο χρήστης πρέπει να καθορίζει ρητά τι σημαίνουν. Όλα τα υπόλοιπα μπορούν να καθοριστούν σε σχέση με τα μη λογικά σύμβολα.

Λογική Πρώτης Τάξης Σημασιολογία Ορισμός κόσμου και ερμηνείες μη λογικών συμβόλων (διαισθητικά) Ο κόσμος αποτελείται από αντικείμενα Οι σταθερές (συναρτήσεις τάξης 0) ερμηνεύονται σαν στοιχεία του κόσμου Τα συναρτησιακά σύμβολα (τάξης n 1) ερμηνεύονται σαν απεικονίσεις από n στοιχεία του κόσμου σε ένα στοιχείο του κόσμου Τα κατηγορήματα τάξης 0 ισχύουν (είναι αληθή) ή όχι (είναι ψευδή) γενικά στον κόσμο ανεξάρτητα από τα αντικείμενά του Κάθε κατηγόρημα ισχύει (είναι αληθές) για κάποιο αντικείμενο (ή γενικά για κάποια n άδα αντικειμένων, αν το κατηγόρημα έχει n ορίσματα) ή δεν ισχύει (άρα ισχύει για κάποια αντικείμενα και για τα υπόλοιπα δεν ισχύει) Κάθε άλλο στοιχείο του κόσμου δεν είναι σημαντικό

Λογική Πρώτης Τάξης Σημασιολογία Οι μεταβλητές αποτιμώνται στα αντικείμενα του κόσμου, μέσω συγκεκριμένων αναθέσεων Κάθε όρος προσδιορίζει τελικά ένα αντικείμενο, με βάση τις συναρτήσεις και τις αναθέσεις όλων των μεταβλητών που εμπλέκει Δύο όροι είναι ίσοι αν προσδιορίζουν το ίδιο αντικείμενο Κάθε φόρμουλα, για κάποιο αντικείμενο ισχύει (είναι αληθής) ή δεν ισχύει (ισχύει για κάποια αντικείμενα και για τα υπόλοιπα δεν ισχύει) Έστω δύο ατομικές φόρμουλες a και β. Τότε: Η φόρμουλα α ισχύει για τα αντικείμενα που δεν ισχύει η α Η φόρμουλα α β ισχύει για τα αντικείμενα που ισχύει και η α και η β Η φόρμουλα α β ισχύει για τα αντικείμενα που ισχύει η α ή η β Η φόρμουλα x.α ισχύει αν υπάρχει (τουλάχιστον ένα) αντικείμενο για το οποίο ισχύει η α Η φόρμουλα x.α ισχύει αν η α ισχύει για όλα τα αντικείμενα

Λογική Πρώτης Τάξης Σημασιολογία Ορισμός κόσμου και ερμηνείες μη λογικών συμβόλων (τυπικά) Μία ερμηνεία (interpretation) I είναι ένα ζεύγος <D,I> που: D είναι ένα μη κενό σύνολο αντικειμένων (όχι απαραίτητα πεπερασμένο) που ονομάζεται πεδίο, I είναι μία απεικόνιση από τα μη λογικά σύμβολα σε σχέσεις και συναρτήσεις πάνω στο D, που λέγεται ερμηνεία και ορίζεται ως εξής:

Λογική Πρώτης Τάξης Σημασιολογία Αναθέσεις μεταβλητών και καθορισμός όρων (τυπικά) Έστω α μία έκφραση ΛΠΤ. Μία ανάθεση μεταβλητών (variable assignment) μ της α στο D είναι μία απεικόνιση από τις μεταβλητές της α στα στοιχεία του D (συμβολίζονται με μ[x] για κάθε μεταβλητή x) Έστω μία ερμηνεία I και μία ανάθεση μεταβλητών μ. Ο καθορισμός (denotation) ενός όρου t συμβολίζεται με t I,μ και ορίζεται ως εξής: Αν x είναι μία μεταβλητή τότε x I,μ = μ[x] Αν t 1,2,.n είναι όροι και f ένα συναρτησιακό σύμβολο τάξης n τότε f(t 1,2,.n ) I,μ = F(d 1, d 2,. d n ) όπου F = I[f] και d i = t i I,μ

Λογική Πρώτης Τάξης Σημασιολογία Ικανοποιησιμότητα (satisfibility) και μοντέλα γνώσης (τυπικά) Θα λέμε ότι η α ικανοποιείται (satisfies) στη I και θα γράφουμε I,μ =α σύμφωνα με τα παρακάτω (ανάλογα με τη μορφή της φόρμουλας): Θα λέμε ότι η I είναι μοντέλο (model) ενός συνόλου εκφράσεων S και θα γράφουμε I = S όταν η I ικανοποιεί όλες τις εκφράσεις του S.

Λογική Πρώτης Τάξης - Πραγματολογία Πρακτικά Όμως Οι σημασιολογικοί κανόνες ερμηνείας μας λένε πώς θα αντιλαμβανόμαστε το ακριβές νόημα μίας έκφρασης ΛΠΤ, αν γνωρίζουμε το πεδίο και την ερμηνεία των μη λογικών συμβόλων Είναι αυτό αρκετό στην πράξη; Πώς θα χρησιμοποιούμε τη ΛΠΤ για να αναπαριστούμε γνώση; Πώς μπορούμε να ερμηνεύσουμε σε ένα σύστημα έννοιες που εμπλέκουν (πιθανώς άπειρα) μεγάλα σύνολα από αντικείμενα όπως οι χώρες, τα ζώα, τα πρόσωπα κλπ; Πώς θα μπορεί ένα σύστημα γνώσης να παράγει συλλογιστική για έννοιες όπως οι Αλλεργικός, ΕπικίνδυνοΦάρμακο, Γιατρός, ΔημοκρατικήΧώρα χωρίς να προσδιορίσουμε ρητά το νόημά τους;

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

Λογική Πρώτης Τάξης - Πραγματολογία Λογικά Συμπεράσματα (entailments) Έστω S ένα σύνολο από προτάσεις και α μία πρόταση ΛΠΤ. Θα λέμε ότι η α είναι λογικό συμπέρασμα της S ή ότι η S συνεπάγεται την α και θα γράφουμε S = α ανν κάθε μοντέλο της S είναι και μοντέλο της α Η α είναι λογικό συμπέρασμα της S ανν I =S { α }, δηλαδή η S { α } είναι μη ικανοποιήσιμη Θα λέμε ότι μία πρόταση α ισχύει και θα γράφουμε =α όταν η α είναι λογικό συμπέρασμα του κενού συνόλου προτάσεων Έστω S = {a 1,2, n }. Τότε S =α ανν η πρόταση [(a 1^a 2 ^a n ) ] α ισχύει

Λογική Πρώτης Τάξης - Πραγματολογία Γιατί τελικά αναπαράσταση γνώσης και συλλογιστική; Η συλλογιστική που βασίζεται σε λογικές συνεπαγωγές το μόνο που επιτρέπει είναι να παράγουμε ασφαλή λογικά συμπεράσματα. Παρόλα αυτά, θεωρώντας ως δεδομένο ένα πλούσιο σύνολο προτάσεων, που περιέχει όχι μόνο γεγονότα που περιγράφουν τη συγκεκριμένη εφαρμογή (συνδέοντας τα μη λογικά σύμβολα με τον κόσμο) αλλά και προτάσεις που συνδέουν τα μη λογικά σύμβολα μεταξύ τους (αναπαριστώντας λογική γνώση για την εφαρμογή), το σύνολο των λογικών συνεπαγωγών που παράγουμε με διαδικασίες συλλογιστικής μπορεί να γίνει πολύ πλούσιο. Ο υπολογισμός των λογικών αυτών συνεπαγωγών είναι που κάνει το σύστημα να συμπεριφέρεται με «ευφυϊα», δείχνοντας να αντιλαμβάνεται το νόημα των πολύπλοκων λογικών εκφράσεων που σχηματίζονται.

Λογική Πρώτης Τάξης - Πραγματολογία Κατηγορηματική και υπονοούμενη γνώση Βάση γνώσης (knowledge base) είναι μία πεπερασμένη συλλογή από λογικές προτάσεις (το σύνολο των υποθέσεων που περιγράφουν την εφαρμογή μας) πάνω στην οποία υπολογίζονται οι λογικές συνεπαγωγές Η κατηγορηματική γνώση (explicit knowledge) αποτελείται από όλες τις προτάσεις που περιέχονται στη βάση γνώσης Η υπονοούμενη γνώση (implicit knowledge) περιέχει τις λογικές συνεπαγωγές που μπορούν να εξαχθούν από τη βάση γνώσης μέσω συλλογιστικής Στο πλαίσιο αυτό, η συλλογιστική (reasoning) είναι ένας αλγόριθμος μέσω του οποίου εξάγεται υπονοούμενη γνώση από την κατηγορηματική, ή ελέγχεται η λογική ισχύς μίας πρότασης δεδομένης της βάσης γνώσης

Λογική Πρώτης Τάξης - Πραγματολογία Γλωσσική περιγραφή Έχουμε τρία κουτιά τα Α, Β και Γ. Το Α είναι πάνω στο Β και το Β είναι πάνω στο Γ. Το Α είναι πράσινο και το Γ δεν είναι πράσινο. Τυπική Περιγραφή σε ΛΠΤ: Ερώτημα: Απάντηση: Έστω I =S. Διακρίνουμε δύο περιπτώσεις: I =Green(b). Τότε Green(b) Green(c) On(b,c) I = Green(b). Τότε Green(a) Green(b) On(a,b) Άρα σε κάθε περίπτωση ισχύει ότι x y.green(x) Green(y) On(x,y)

Λογική Πρώτης Τάξης - Πραγματολογία Πόσο δύσκολη είναι η συλλογιστική στην ΛΠΤ; Ένας αλγόριθμος συλλογιστικής είναι ορθός (sound) αν οποτεδήποτε παράγει μία λογική πρόταση α εφαρμοζόμενος σε μία βάση γνώσης, η α είναι λογικό συμπέρασμα της βάσης γνώσης Ένας αλγόριθμος συλλογιστικής είναι πλήρης (complete) όταν εγγυάται ότι μπορεί να παράγει το α, αν είναι λογικό συμπέρασμα της βάσης γνώσης Έχει αποδειχθεί ότι: Δεν υπάρχει αλγόριθμος αυτόματης συλλογιστικής για την ΛΠΤ ο οποίος να είναι ορθός και πλήρης. Δηλαδή το πρόβλημα της συλλογιστικής στην ΛΠΤ είναι γενικά άλυτο.

Συμπεράσματα Ανοιχτά θέματα Βασικά συμπεράσματα: Η αναπαράσταση γνώσης και η συλλογιστική μπορούν να προσεγγισθούν υπολογιστικά, αρκεί να μην περιμένουμε θαύματα Η Λογική Πρώτης Τάξης είναι ένας αρκετά εκφραστικός φορμαλισμός για την αναπαράσταση γνώσης αν και δεν είναι εύκολα κατανοητός από μη εξειδικευμένους χρήστες Το πρόβλημα της συλλογιστικής στη Λογική Πρώτης Τάξης φαίνεται να είναι αρκετά δύσκολο Ανοιχτά θέματα: Φορμαλισμοί αναπαράστασης γνώσης και συλλογιστικής, εκτός της Λογικής Πρώτης Τάξης Σχέση εκφραστικότητας και πολυπλοκότητας σε κάθε φορμαλισμό Υποσύνολα Λογικής Πρώτης Τάξης τα οποία είναι ποιο κατανοητά από τον άνθρωπο και πιο εύκολα επιλύσιμα, παραμένοντας όμως εκφραστικά για να μπορούν να αναπαραστήσουν πολύπλοκους κόσμους

Η διαδικασία της συλλογιστικής Επαγωγική διαδικασία

Συλλογιστική στην Προτασιακή Λογική Συζευκτική κανονική μορφή (CNF) Κάθε φόρμουλα α μπορεί να μετατραπεί σε μία άλλη φόρμουλα α, η οποία είναι σύζευξη διαζεύξεων και για την οποία ισχύει =(α α ) Θα λέμε τότε ότι οι α και α είναι λογικά ισοδύναμες και ότι η α βρίσκεται σε κανονική συζευκτική μορφή (conjunctive normal form CNF) Παράδειγμα (p q) (q r s p) ( r p)

Συνοπτική γραφή CNF Διαζευκτικές προτάσεις Διαζευκτική πρόταση (clause) είναι ένα πεπερασμένο σύνολο (διάζευξη) από λεκτικά (literals), δηλαδή θετικά ή αρνητικά άτομα. Φόρμουλα διαζευκτικών προτάσεων (clausal formula) είναι ένα πεπερασμένο σύνολο (σύζευξη) διαζευκτικών προτάσεων. Συμβολισμός Αν ρ ένα λεκτικό, τότε με ρ συμβολίζουμε το συμπλήρωμά του, το οποίο ορίζεται από τις σχέσεις p = p και p = p για κάθε άτομο p Θα χρησιμοποιούμε τα { και } ( [ και ] ) για το συμβολισμό μιας φόρμουλας διαζευκτικών προτάσεων (διαζευκτικής πρότασης). Παράδειγμα (p q) (q r s p) ( r p) {[p, q],[q,r, s,p],[ r,p]}

Μετατροπή σε CNF Βήμα 1 Βήμα 2 Βήμα 3 Αντικαθιστούμε όλες τις συντομεύσεις και Μετακινούμε την άρνηση προς το εσωτερικό της έκφρασης, χρησιμοποιώντας τις σχέσεις: = α α = (α β ) ( α β ) = (α β ) ( α β ) Επιμερίζουμε τα, σύμφωνα με τις σχέσεις =(α (β γ )) ((β γ) α) ((α β) (α γ )) Βήμα 4 Απλοποιούμε σύμφωνα με τις σχέσεις: =(α α ) α =(α α) α

Κανόνας της ανάλυσης Κανόνες συμπερασματολογίας (rules of inference) Αξιώματα μέσω των οποίων μπορούμε να παράγουμε νέες φόρμουλες από άλλες Κανόνας της ανάλυσης Αν στη γνώση μου υπάρχει μία πρόταση της μορφής c1 {ρ } που περιέχει το λεκτικό ρ και μία πρόταση της μορφής c2 {ρ } που περιέχει το συμπλήρωμα του ρ, τότε μπορούμε να συμπεράνουμε την πρόταση c1 c2 την οποία θα ονομάζουμε αναλυθέν των αρχικών προτάσεων. Παράδειγμα Από τις προτάσεις [w,p,q] και [s,w, p] συμπεραίνουμε ότι ισχύει η [w,s,q] αναλύοντας σε σχέση με το p. Οι προτάσεις [p,q] και [ p, q] έχουν δύο αναλυθέντα: την [q, q] σε σχέση με το p και την [p, p] σε σχέση με το q.

Ανάλυση και συλλογιστική Παράγωγα ανάλυσης Μία ακολουθία προτάσεων c1, c2,, c είναι αναλυτική παραγωγή (resolution derivation) μιας πρότασης c από ένα σύνολο προτάσεων S όταν κάθε πρόταση ci είναι ή στοιχείο του S ή αναλυθέν δύο προηγούμενων προτάσεων της παραγωγής. Γράφουμε S -c όταν υπάρχει παραγωγή του c από το S. Σχέση ανάλυσης με συλλογιστική Κάθε αναλυθέν δύο προτάσεων μίας βάσης γνώσης ικανοποιείται στη βάση γνώσης. Δηλαδή ισχύει ότι: {c1 {ρ },c2 {ρ }} = c c Μπορούμε, επιπλέον, εύκολα να αποδείξουμε ότι αν S -c τότε S =c. Ισχύει όμως το αντίστροφο;

Ανάλυση και συλλογιστική Παράδειγμα Έστω ότι η γνώση S αποτελείται από τη μοναδική πρόταση [ p] και έστω ότι η πρόταση c που ελέγχουμε είναι η [ q,q]. Τότε, ενώ προφανώς ισχύει ότι S =c, είναι εύκολο να δούμε ότι δεν υπάρχει αναλυτική παραγωγή της c από την S. Άρα δεν ισχύει ότι S -c. Πληρότητα της ανάλυσης Η συλλογιστική με βάση την ανάλυση είναι πλήρης στην εύρεση αντιφάσεων, δηλαδή ισχύει ότι: S =[] αν και μόνο αν S -[]

Ανάλυση και συλλογιστική Αλγόριθμος συλλογιστικής με ανάλυση Είσοδος: Ένα σύνολο S από διαζευκτικές προτάσεις (προτασιακής λογικής) σε συζευκτική κανονική μορφή Έξοδος: ικανοποιήσιμο ή μη ικανοποιήσιμο Βήματα Έλεγξε αν [] S. Αν ναι επέστρεψε μη ικανοποιήσιμο. Αν όχι, έλεγξε αν υπάρχουν στο S δύο προτάσεις οι οποίες να μπορούν να παράγουν μέσω ανάλυσης κάποια άλλη πρόταση που δεν υπάρχει ήδη στο S. Αν όχι, επέστρεψε ικανοποιήσιμη. Αλλιώς, πρόσθεσε στο S το νέο αναλυθέν και συνέχισε από το Βήμα 1.

Ανάλυση και συλλογιστική Παράδειγμα Βρέφος Βρέφος Παιδί Παιδί Αρσενικό Αγόρι Νήπιο Παιδί Παιδί Θηλυκό Κορίτσι Θηλυκό Ισχύει ότι αν ένα άτομο πληροί τα παραπάνω αξιώματα είναι Κορίτσι, δηλαδή ότι ΚΒ =Κορίτσι;

Ανάλυση και συλλογιστική

Ανάλυση και συλλογιστική Προσέγγιση Αγνοούνται οι υπαρξιακοί ποσοδείκτες και οι ισότητες (που απαιτούν αναφορά σε συγκεκριμένα αντικείμενα του κόσμου) Επεκτείνεται η έννοια της συζευκτικής κανονικής μορφής και επανακαθορίζεται η μετατροπή σε CNF Οργανώνονται οι αντικαταστάσεις μεταβλητών Επανακαθορίζεται ο κανόνας της ανάλυσης ώστε να καλύπτει τη γενικευμένη μορφή CNF Εισάγονται τρόποι χειρισμού των υπαρξιακών ποσοδεικτών και της ισότητας

Μετατροπή σε CNF Βήμα 1 Βήμα 2 Βήμα 3 Αντικαθιστούμε όλες τις συντομεύσεις και, όπως πριν Μετακινούμε την άρνηση προς το εσωτερικό της έκφρασης, χρησιμοποιώντας επιπλέον τις σχέσεις: = x.α x. α = x.α x. α Αλλάζουμε τα ονόματα των μεταβλητών αν χρειάζεται, δίνοντάς τους διαφορετικά ονόματα, σύμφωνα με τις σχέσεις: = y.α x.α y x = y.α x.α xy (το x δεν εμφανίζεται στην α)

Μετατροπή σε CNF Βήμα 4 Βήμα 5 Βήμα 6 Βήμα 7 Διαγράφουμε τους υπαρξιακούς ποσοδείκτες (θα μελετηθούν σε επόμενη φάση) Μετακινούμε τους καθολικούς ποσοδείκτες εκτός του εύρους των και, σύμφωνα με τις σχέσεις (θεωρώντας ότι το x δεν εμφανίζεται ελεύθερο στην α ): = (α x.β ) ( x.β α ) x(α β ) = (α x.β ) ( x.β α ) x(α β ) Επιμερίζουμε τα, όπως προηγούμενα Απλοποιούμε όπως προηγούμενα

Αντικαταστάσεις μεταβλητών Ορισμοί Αντικατάσταση μεταβλητών (substitution) θ είναι ένα πεπερασμένο σύνολο ζευγών (x1/t1, x2/t2,,xn/tn), όπου xi διακριτές μεταβλητές και ti όροι. Αν θ μία αντικατάσταση μεταβλητών και ρ ένα λεκτικό, τότε ρθ είναι το λεκτικό που παίρνουμε από το ρ αν αντικαταστήσουμε όλα τα xi με ti. Παράδειγμα

Αντικαταστάσεις μεταβλητών Επιπλέον συμβολισμοί και ορολογίες Αν c διαζευκτική πρόταση, τότε cθ είναι η αντίστοιχη πρόταση που λαμβάνουμε με αντικατάσταση με βάση τη θ σε όλα τα λεκτικά. Θα λέμε ότι ένας όρος, ένα λεκτικό ή μία διαζευκτική πρόταση είναι βασικά (ground) αν δεν περιέχουν μεταβλητές. Θα λέμε ότι ένα λεκτικό ρ είναι στιγμιότυπο (instance) ενός άλλου ρ, για κάποια αντικατάσταση θ ανν ρ =ρ θ

Ανάλυση στη ΛΠΤ Παράδειγμα Έστω οι πρoτάσεις: [P(x,a), Q(x)] και [ P(b,y), R(b, f (y))]. Επειδή, υποννοείται ότι (για την αντικατάσταση θ = {x /b,y /a} ) έχουμε [P(b,a), Q(b)] και [ P(b,a), R(b, f(a))], το κατηγόρημα [ Q(b), R(b, f (a))] είναι αναλυθέν των παραπάνω προτάσεων.

Κανόνας ανάλυσης στη ΛΠΤ Έστω ότι στη γνώση υπάρχει μία πρόταση της μορφής c1 {ρ1} που περιέχει το λεκτικό ρ1 και μία πρόταση της μορφής c2 {ρ2 } που περιέχει το συμπλήρωμά του ρ. Έστω επίσης ότι αλλάζουμε τα ονόματα όλων των μεταβλητών ώστε όλες οι προτάσεις να έχουν διακριτές μεταβλητές και υπάρχει μία αντικατάσταση για την οποία ρ1θ = ρ2θ. Τότε μπορούμε να συμπεράνουμε την πρόταση (c1 c2 )θ την οποία θα ονομάζουμε αναλυθέν των αρχικών προτάσεων. Επιπλέον, θα λέμε ότι η αντικατάσταση θ είναι ένας ενοποιητής (unifier) για τα δύο λεκτικά ρ1 και ρ2.

Παράδειγμα

Παράδειγμα

Παράδειγμα

Παράδειγμα

Εξαγωγή απαντήσεων σε ΛΠΤ Πρόβλημα Ο αλγόριθμος ανάλυσης σε ΛΠΤ, απαντάει σε ερώτημα του τύπου x.p(x) για την ικανοποίηση του αξιώματος, χωρίς να μας δίνει πληροφορία για το ποια άτομα (ποιες αντικαταστάσεις για το x ) το ικανοποιούν. Είναι δυνατόν χωρίς να αλλάξουμε τον αλγόριθμο να βρίσκουμε τα άτομα αυτά; Λύση ( Διαδικασία εξαγωγής απαντήσεων) Αντικαθιστούμε το ερώτημα x.c(x) με το x.c(x) A(x), όπου A ένα νέο κατηγόρημα που το ονομάζουμε κατηγόρημα απάντησης. Τερματίζοντας τη διαδικασία της ανάλυσης το A θα περιέχει πιθανές απαντήσεις.

Παράδειγμα

Παράδειγμα

Παράδειγμα

Παράδειγμα

Χειρισμός υπαρξιακών ποσοδεικτών Πρόβλημα Ο αλγόριθμος ανάλυσης σε ΛΠΤ, δεν χειρίζεται προτάσεις της μορφής x y z.p(x,y,z) διότι δεν μπορούν να μετατραπούν σε CNF. Λύση (Διαδικασία skolemisation) Κανόνας 1. Αν μία μεταβλητή είναι περιορισμένη από υπαρξιακό ποσοδείκτη που δεν είναι στο εύρος κάποιου καθολικού, τότε αντικατέστησέ την με μία σταθερά που δεν εμφανίζεται στη γνώση (σταθερά Skolem). Κανόνας 2. Αν μία μεταβλητή είναι περιορισμένη από υπαρξιακό ποσοδείκτη x που είναι στο εύρος κάποιου καθολικού y, τότε αντικατέστησέ την με μία συνάρτηση f (y) που δεν εμφανίζεται στη γνώση (συνάρτηση Skolem).

Χειρισμός υπαρξιακών ποσοδεικτών Παράδειγμα Αν έχουμε την πρόταση x y z P(x y z) χρησιμοποιούμε στον αλγόριθμο συλλογιστικής την πρόταση y.p(a,y, f (y)), όπου a και f μία νέα σταθερά και μία νέα συνάρτηση, αντίστοιχα. Skolemisation και συλλογιστική Αν α η αρχική φόρμουλα και α η αντίστοιχη φόρμουλα μετά το skolemisation, τότε δεν ισχύει ότι = (α α ), διότι για παράδειγμα το x.p(x) δεν είναι λογικά ισοδύναμο με το P(a). Ισχύει όμως ότι α ικανοποιήσιμη ανν α ικανοποιήσιμη (αυτό είναι που χρειαζόμαστε για την ορθότητα της ανάλυσης).

Χειρισμός ισότητας Πρόβλημα Λύση Ο αλγόριθμος ανάλυσης σε ΛΠΤ, δεν χειρίζεται προτάσεις στις οποίες εμπλέκεται ισότητα, διότι και να τη χειριστούμε σαν ένα απλό κατηγόρημα θα χάσουμε μη ικανοποιησιμότητες της μορφής {a = b,b = c,a c}. Χειριζόμαστε την ισότητα σαν ένα απλό κατηγόρημα, προσθέτοντας στη γνώση μας τα παρακάτω αξιώματα (σε CNF): ανακλαστικότητα: x.x = x συμμετρικότητα: x y.x = y y = x μεταβατικότητα: x y z.x = y y = z x = z

Χειρισμός ισότητας Λύση Αντικατάσταση για συναρτήσεις: για κάθε συνάρτηση f τάξης n προσθέτουμε ένα αξίωμα x1 y1 xn yn.x1 = y1 xn = yn P(x1,,xn) = P(y1,,yn) Αποδεικνύεται ότι αν προσθέσουμε στη γνώση όλα τα παραπάνω αξιώματα, τότε η ισότητα μπορεί να αντιμετωπιστεί σαν ένα απλό κατηγόρημα.

Πολυπλοκότητα συλλογιστικής ΛΠΤ

Πολυπλοκότητα συλλογιστικής ΛΠΤ Αποδεικνύεται ότι: Αν το σύνολο των προτάσεων που ελέγχουμε είναι μη ικανοποιήσιμο, τότε κάποιο κλαδί θα περιέχει την κενή πρόταση, έστω κι αν μπορεί να υπάρχουν ενδεχομένως κάποια κλαδιά άπειρου μήκους. Συνεπώς, μέσω μίας διαδικασίας αναζήτησης κατά πλάτος θα μπορούσαμε ενδεχομένως να βρούμε τη λύση. Αν όμως το σύνολο των προτάσεων που ελέγχουμε είναι ικανοποιήσιμο, τότε υπάρχει περίπτωση να ακολουθήσουμε ένα άπειρο μονοπάτι, ψάχνοντας για την κενή πρόταση (με όποιο τρόπο και να την αναζητούμε). Το χειρότερο όμως είναι, ότι δεν υπάρχει τρόπος να γνωσίζουμε ότι βρισκόμαστε σε άπειρη διαδικασία, ούτε καν κατά τη διάρκεια εκτέλεσης του αλγορίθμου.

Προσέγγιση Herbrand Αιτία μη αποφανσιμότητας Ενώ η Προτασιακή Λογική είναι αποφάνσιμη, η ΛΠΤ δεν είναι. Μήπως αυτό οφείλεται στις μεταβλητές; Υπάρχει τρόπος να τις διαγράψουμε πριν τη διαδικασία συλλογιστικής; Ορισμοί Έστω S ένα σύνολο από προτάσεις. Πεδίο Herbrand του S είναι το σύνολο όλων των βασικών όρων του S. Βάση Herbrand του S είναι το σύνολο όλων των βασικών προτάσεων cθ όπου c S και θ αντικατάσταση όρων στο πεδίο Herbrand του S. Παράδειγμα Αν το S περιέχει μόνο τις σταθερές a και b και τη συνάρτηση (τάξης 1) f, το πεδίο Herbrand του S είναι το {a,b, f (a), f (b), f (f (a)), f (f (b)),...}.

Προσέγγιση Herbrand Θεώρημα Herbrand Ένα σύνολο προτάσεων ΛΠΤ είναι ικανοποιήσιμο ανν η αντίστοιχη βάση Herbrand είναι ικανοποιήσιμη. Σημαντικό! Το πρόβλημα της μη αποφανσιμότητας δεν είναι αυτές καθέ αυτές οι μεταβλητές αλλά ο απειρισμός της βάσης Herbrand. Συνεπώς Για να εξασφαλίσουμε την αποφανσιμότητα αρκεί να διατηρούμε πεπερασμένο το σύνολο των σταθερών και να μην χρησιμοποιούμε συναρτήσεις.

Δισεπιλυσιμότητα στην ΠΛ Αποδεικνύεται ότι: Ο αλγόριθμος της ανάλυσης για την Προτασιακή Λογική είναι εκθετικής πολυπλοκότητας (Haken 1985). Το πρόβλημα της συλλογιστικής στην Προτασιακή Λογική είναι NP complete (συμβατό με το προηγούμενο). Το χειρότερο όμως είναι ότι ο αλγόριθμος της ανάλυσης για την Προτασιακή Λογική, είναι και πρακτικά υψηλής πολυπλοκότητας, ή τουλάχιστον δεν είναι τόσο γρήγορος όσο θα περιμέναμε για την εκφραστικότητα που έχουμε. Συμπέρασμα: Είναι απαραίτητη η μείωση της εκφραστικότητας της ΛΠΤ προς κατευθύνσεις τέτοιες που να είναι δυνατόν να αναπτυχθούν πρακτικά συστήματα συλλογιστικής.

Συμπεράσματα Ανοιχτά θέματα Συμπεράσματα: Η συλλογιστική στη ΛΠΤ χαρακτηρίζεται από μη αποφανσιμότητα. Η συλλογιστική στην Προτασιακή Λογική χαρακτηρίζεται από υπολογιστική δισεπιλυσιμότητα. Ενώ η μη αποφανσιμότητα οφείλεται στον απειρισμό του πεδίου, η δισεπιλυσιμότητα φαίνεται να οφείλεται στην εκφραστικότητα της γλώσσας. Ανοιχτά θέματα: Βελτιώσεις του αλγορίθμου ανάλυσης για Λογικής Πρώτης Τάξης οι οποίες οδηγούν σε καλύτερη πρακτική πολυπλοκότητα. Εναλακτικοί αλγόριθμοι για συλλογιστική σε ΛΠΤ. Υποσύνολα Λογικής Πρώτης Τάξης τα οποία είναι πιο εύκολα επιλύσιμα, παραμένοντας όμως εκφραστικά για να μπορούν να αναπαραστήσουν πολύπλοκους κόσμους.

Συλλογιστική σε Προτάσεις Horn Μπορούμε να μειώσουμε την πολυπλοκότητα της συλλογιστικής περιορίζοντας τη μορφή των προτάσεων; Αναπαράσταση γνώσης με προτάσεις Horn Συλλογιστική με ανάλυση SLD Απλοποίηση αλγορίθμων με επίλυση στόχων Αλγόριθμος backward chaining Αλγόριθμος forward chaining

Προτάσεις CNF Αναπαράσταση γνώσης στη ΛΠΤ με προτάσεις CNF: [a 1, a 2,, a n ], όπου a i θετικά ή αρνητικά λεκτικά Παραδείγματα [Αγόρι, Κορίτσι] μη πλήρης πληροφορία [ Παιδί, Αρσενικό, Αγόρι] πλήρης πληροφορία διότι:[ Παιδί, Αρσενικό, Αγόρι] (Παιδί Αρσενικό) Αγόρι (Παιδί Αρσενικό) Αγόρι

Προτάσεις Horn Προτάσεις Horn είναι προτάσεις της μορφής: [a 1, a 2,, a n ], όπου ένα το πολύ από τα a i είναι θετικό Αρνητικές προτάσεις Horn είναι προτάσεις της μορφής: [a 1, a 2,, a n ], όπου όλα τα a i είναι αρνητικά Θετικές προτάσεις Horn είναι προτάσεις της μορφής: [p 1, p 2,, p n, q], όπου όλα τα p i είναι αρνητικά και το q είναι θετικό. Οι θετικές προτάσεις Horn γράφονται και: p 1 p 2 p n q

Αλγόριθμος ανάλυσης και προτάσεις Horn Παρατήρηση 1 Κάθε βήμα ανάλυσης σε προτάσεις Horn εμπλέκει πάντα μία θετική πρόταση Αν η άλλη είναι αρνητική, τότε το αναλυθέν είναι αρνητική πρόταση, αλλιώς είναι θετική Κάθε αρνητικό αναλυθέν έχει ένα θετικό και ένα αρνητικό πατέρα, ενώ κάθε θετικό έχει δύο θετικούς πατέρες

Αλγόριθμος ανάλυσης και προτάσεις Horn Παρατήρηση 2 Έστω S ένα σύνολο προτάσεων Horn και έστω c μία αρνητική πρόταση που μπορεί να παραχθεί αναλυτικά από το S Τότε υπάρχει μία αναλυτική παραγωγή της c από το S στην οποία όλες οι νέες προτάσεις είναι αρνητικές

Αλγόριθμος ανάλυσης και προτάσεις Horn Παρατήρηση 3 Έστω S ένα σύνολο προτάσεων Horn και έστω c μία αρνητική πρόταση που μπορεί να παραχθεί αναλυτικά από το S Τότε υπάρχει μία αναλυτική παραγωγή της c από το S στην οποία όλες οι νέες προτάσεις είναι όχι μόνο αρνητικές αλλά και αναλυθέν του προηγούμενου αναλυθέντος στην αναλυτική παραγωγή

Αλγόριθμος ανάλυσης και προτάσεις Horn Συμπέρασμα Υπάρχει αναλυτική παραγωγή μίας αρνητικής πρότασης Horn c (συμπεριλαμβανομένης και της κενής) από ένα σύνολο προτάσεων Horn S, ανν υπάρχει μία αναλυτική παραγωγή της c από το S τέτοια ώστε κάθε νέα πρόταση να είναι αρνητικό αναλυθέν του προηγούμενου αναλυθέντος στην αναλυτική παραγωγή

Ανάλυση SLD Ορισμός Έστω S ένα σύνολο προτάσεων. Αναλυτική παραγωγή SLD (Selected literals, Linear pattern over Definite clauses) μίας πρότασης c από την S, και σημειώνουμε S - SLD C, είναι μια ακολουθία προτάσεων c 1, c 2,, c n τέτοια ώστε c n = c, c 1 S και c i+1 αναλυθέν του c i και κάποιας πρότασης του S Αποδεικνύεται ότι για τις προτάσεις Horn ισχύει: S - C ανν S - SLD C

Ανάλυση SLD Μορφή παραγωγής

Παράδειγμα Βρέφος Βρέφος Παιδί Παιδί Αρσενικό Αγόρι Νήπιο Παιδί Παιδί Θηλυκό Κορίτσι Θηλυκό Ισχύει ότι αν ένα άτομο πληροί τα παραπάνω αξιώματα είναι Κορίτσι, δηλαδή ότι ΚΒ =Κορίτσι ;

Παράδειγμα

Δέντρα στόχων Μία απλή παρατήρηση και λίγη ορολογία: Παρατήρηση Κατά την ανάλυση SLD ξεκινάμε από μία πρόταση και προσπαθούμε να βρούμε κατάλληλες θετικές προτάσεις για να «διαγράψουμε» όλα τα αρνητικά λεκτικά και έτσι να παράγουμε την κενή πρόταση. Ορολογία Θα λέμε ότι το λεκτικό c είναι στόχος της ανάλυσης SLD, όταν προσπαθούμε να αναλύσουμε ως προς c την πρόταση [ c,...] με κάποια θετική πρόταση της βάσης γνώσης. Θα λέμε ότι ο στόχος c επιλύθηκε αν στη βάση γνώσης υπάρχει η πρόταση c και συνεπώς μπορούμε να παράγουμε την κενή πρόταση. Θα λέμε ότι ο στόχος c μειώθηκε σε ένα σύνολο υποστόχων c 1, c 2,, c k αν αναλύσουμε ως προς c με την πρόταση [ c 1, c 2,, c k, c].

Δέντρα στόχων

Ανάλυση SLD Backward Chaining Είσοδος: Μία βάση γνώσης KB και ένα πεπερασμένο σύνολο ατομικών προτάσεων q 1, q 2,, q n. Έξοδος: ΝΑΙ ή ΟΧΙ, ανάλογα αν η KB λογικά συνεπάγεται όλα τα q i. Procedure SOLVE[q 1, q 2,, q n ] If n = 0 then return YES for each clause c KB, do if c=[q 1, p 1,, p m ] and SOLVE[p 1, p 2,, p m, q 2,, q n ] then return YES end for return NO

Ανάλυση SLD Forward Chaining Είσοδος: Μία βάση γνώσης KB και ένα πεπερασμένο σύνολο ατομικών προτάσεων q 1, q 2,, q n. Έξοδος: ΝΑΙ ή ΟΧΙ, ανάλογα αν η KB λογικά συνεπάγεται όλα τα q i. ΒΗΜΑ 1. Αν όλοι οι στόχοι q i έχουν επιλυθεί, επέστρεψε NAI. ΒΗΜΑ 2. Έλεγξε αν υπάρχει πρόταση [p, p 1,, p n ] στην KB, τέτοια ώστε όλα τα αρνητικά λεκτικά της να έχουν επιλυθεί και το θετικό να μην έχει επιλυθεί. Τότε, μαρκάρισέ το ως επιλυμένο και επανέλαβε από το ΒΗΜΑ 1. ΒΗΜΑ 3. Επέστρεψε ΟΧΙ.

Ανάλυση SLD, επιλυσιμότητα και πολυπλοκότητα Ο αλγόριθμος backward chaining είναι εκθετικός στην Προτασιακή Λογική (με προτάσεις Horn) Ο αλγόριθμος forward chaining είναι πολυωνυμικός στην Προτασιακή Λογική (με προτάσεις Horn) Η ανάλυση SLD είναι μη αποφάνσιμη στη Λογική Πρώτης Τάξης για προτάσεις Horn Σημαντικό συμπέρασμα: Στη διαδικασία της ανάλυσης, ο στόχος είναι να αποφεύγουμε τους επανυπολογισμούς και τα άπειρα μονοπάτια, με διάφορες τεχνικές. Η διαδικασία αυτή είναι πολύ πιο αποδοτική στην ανάλυση SLD.

Συστήματα κανόνων Διαδικαστική σημασιολογία σε προτάσεις Horn Μορφή κανόνων και συστήματα εξαγωγής συμπερασμάτων Συστήματα παραγωγής: δομή, επίλυση συγκρούσεων, κύκλος λειτουργίας Η γλώσσα Prolog Το σύστημα CLIPS

Μορφή κανόνων Οι συνθήκες (conditions) είναι μία ακολουθία από κατηγορήματα τα οποία συνδέονται μεταξύ τους με τους λογικούς τελεστές AND και/ή OR. Αναφέρονται και ως προϋποθέσεις (premises) ή αριστερό μέρος του κανόνα (left hand side LHS). Το συμπέρασμα (conclusion) είναι ένα κατηγόρημα. Οι ενέργειες (actions) είναι μία σειρά από εντολές που πρέπει να εκτελεστούν. Οι ενέργειες ή το συμπέρασμα αναφέρονται και ως επακόλουθα (consequent) ή δεξιό μέρος του κανόνα (right hand side RHS).

Παράδειγμα Συνεπαγωγικός Κανόνας IF ο εκτυπωτής τυπώνει σωστά AND τα χρώματα δεν τυπώνονται σωστά THEN έχει τελειώσει το έγχρωμο μελάνι Κανόνας Παραγωγής IF ο εκτυπωτής τυπώνει σωστά AND τα χρώματα δεν τυπώνονται σωστά THEN αλλάξτε την κεφαλή με το έγχρωμο μελάνι Ενεργός Κανόνας ΟΝ εκτύπωση IF τα χρώματα δεν τυπώνονται σωστά THEN αλλάξτε την κεφαλή με το έγχρωμο μελάνι

Συστήματα κανόνων Συστήματα εξαγωγής συμπερασμάτων (deduction systems): π.χ. Prolog, Datalog Γνώση που δηλώνει μία αλήθεια για τον κόσμο του προβλήματος, αλλά δεν αναφέρει ρητά πότε και πώς εφαρμόζεται Συστήματα παραγωγής (production systems): π.χ. CLIPS, Flex Γνώση για το ποιες συγκεκριμένες ενέργειες πρέπει να εκτελεστούν δεδομένης μιας κατάστασης Μία ενέργεια που εκτελείται επιφέρει αποτελέσματα που δεν είναι αναστρέψιμα μέσω οπισθοδρόμησης παρά μόνο μέσω ανάστροφων οπισθοδρόμησης, ενεργειών Ενεργά Συστήματα ((re )active systems, active database systems): π.χ. Oracle Triggers, Δαίμονες πλαισίων Flex

Αναπαράσταση γνώσης με κανόνες Πλεονεκτήματα Η γνώση αναπαριστάται με τρόπο που πλησιάζει την ανθρώπινη γνώση για τις περισσότερες δραστηριότητες που απαιτούν νοημοσύνη Η εξαγωγή συμπερασμάτων γίνεται με σχετικά εύκολο τρόπο (επάρκεια συνεπαγωγών) Κάθε κανόνας ορίζει ένα μικρό και (σχεδόν) ανεξάρτητο τμήμα της γνώσης για ένα πρόβλημα (modularity) Νέοι κανόνες μπορούν να προστεθούν σε ένα σύνολο κανόνων (σχεδόν) ανεξάρτητα από άλλους υπάρχοντες κανόνες (incrementability) Κανόνες που ήδη υπάρχουν σε ένα σύνολο κανόνων μπορούν να αλλάξουν (σχεδόν) ανεξάρτητα από άλλους κανόνες (modifiability)

Αναπαράσταση γνώσης με κανόνες Μειονεκτήματα Σε πολλές εφαρμογές η εκφραστικότητα που παρέχεται από τους κανόνες δεν είναι αρκετή για να αναπαρασταθεί η γνώση του προβλήματος Πολλές φορές οι κανόνες αλληλοεπηρεάζονται και έτσι δημιουργούνται προβλήματα τόσο στην εξαγωγή συμπερασμάτων, όσο και στη διαδικασία ανανέωσης της γνώσης Η υπόθεση κλειστού κόσμου σε ορισμένες εφαρμογές επηρεάζει αρνητικά τη λειτουργία του συστήματος Στη διαδικαστική σημασιολογία υπάρχει δυσκολία ορισμού της άρνησης ενός κατηγορήματος Αντιμετωπίζονται δυσκολίες στη διαχείριση κύκλων σε ένα σύνολο κανόνων

Συστήματα εξαγωγής συμπερασμάτων Αποτελούνται από δύο μέρη: Τη βάση κανόνων (rule base), η οποία περιέχει ένα σύνολο από κανόνες Τον έλεγχο (control), ο οποίος καθορίζει τον τρόπο με τον οποίο θα εκτελεστούν οι κανόνες για να εξαχθούν τα συμπεράσματα. Είναι ένας αλγόριθμος που αποφασίζει: ποιοι από τους κανόνες είναι υποψήφιοι για να επιλύσουν το πρόβλημα με ποιον τρόπο θα γίνει η επιλογή ποιος από τους κανόνες αυτούς τελικά θα επιλεγεί τι θα γίνει με τους υπόλοιπους κανόνες όλα αυτά τα χαρακτηριστικά ανάγουν την επίλυση του προβλήματος σε πρόβλημα αναζήτησης της λύσης, δηλαδή εύρεση της ακολουθίας των κανόνων που θα εκτελεστούν

Εξαγωγή συμπερασμάτων Ορθή ακολουθία εκτέλεσης (forward chaining) Η διαδικασία εξαγωγής συμπερασμάτων εξετάζει πρώτα αν οι προϋποθέσεις στο αριστερό μέρος του κανόνα είναι αληθείς έτσι ώστε το συμπέρασμα που αναφέρεται στο δεξιό μέρος να είναι αληθές Εξετάζονται μόνο οι αληθείς τρόποι απόδειξης, αλλά το σύστημα μπορεί να συμπεράνει περισσότερα συμπεράσματα από τα επιθυμητά Ενδείκνυται όταν υπάρχουν λίγα δεδομένα (δίδονται στο σύστημα όλα μαζί στην αρχή) και μπορούν να οδηγήσουν σε πολλά συμπεράσματα Εφαρμογές: Συστήματα Διάγνωσης, Συστήματα Παραγωγής

Εξαγωγή συμπερασμάτων Ανάστροφη ακολουθία εκτέλεσης (backward chaining) Η διαδικασία εξαγωγής συμπερασμάτων ξεκινά από το δεξιό μέρος του κανόνα και προσπαθεί να βρει αν οι προϋποθέσεις είναι αληθείς Εξετάζονται όλοι οι εναλλακτικοί τρόποι απόδειξης του συμπεράσματος (ακόμα και αυτοί που δεν είναι αληθείς) έως ότου αποδειχθεί η αλήθεια του συμπεράσματος (όπως στην Prolog) Ενδείκνυται όταν υπάρχουν λίγα συμπεράσματα και πολλά δεδομένα, για τα οποία το σύστημα μας καθοδηγεί ζητώντας τα με μια λογική σειρά και όσα χρειάζονται Εφαρμογές: Συστήματα Ελέγχου Λειτουργίας (Monitoring)

Παράδειγμα 1: if has(animal,hair) or gives(animal,milk) then isa(animal,mammal). 2: if has(animal,feathers) or (flies(animal) and lays(animal,eggs)) then isa(animal,bird). 3: if isa(animal,mammal) and (eats(animal,meat) or (has(animal,pointed_teeth) and has(animal,claws) and 5: if isa(animal,carnivore) and has(animal,tawny_colour) and 6: if isa(animal,bird) and not flies(animal) and swims(animal) then isa(animal,penguin). 7: if isa(animal,bird) and has(animal,forward_pointing_eyes))) then isa(animal,carnivore). has(animal,black_stripes) then isa(animal,tiger). 4: if isa(animal,carnivore) and has(animal,tawny_colour) and has(animal,dark_spots) then isa(animal,cheetah). isa(animal,good_flyer) then isa(animal,albatros).

Γραφική αναπαράσταση κανόνων

Ορθή ακολουθία εκτέλεσης

Ανάστροφη ακολουθία εκτέλεσης

Συστήματα παραγωγής Αποτελούνται από 3 μέρη: Τη βάση κανόνων που περιέχει τους κανόνες παραγωγής Το χώρο εργασίας (working memory), που περιέχει γεγονότα τα οποία είναι αρχικά δεδομένα (data) ή ενδιάμεσα συμπεράσματα (partial conclusions) (στοιχεία της μνήμης εργασίας (working memory elements)) Το μηχανισμό ελέγχου (control ή scheduler) και επίλυσης συγκρούσεων (conflict resolution), ο οποίος είναι υπεύθυνος για την εκτέλεση των κανόνων, βάσει μιας στρατηγικής επίλυσης συγκρούσεων (conflict resolution strategy).

Επίλυση συγκρούσεων Όταν ικανοποιούνται οι συνθήκες του κανόνα, αυτός ενεργοποιείται (triggers). Όταν ένας κανόνας πυροδοτείται (fires) τότε οι ενέργειές του εφαρμόζονται ή εκτελούνται. Το σύνολο των κανόνων που ενεργοποιούνται σχηματίζουν το σύνολο σύγκρουσης (conflict set). Ο μηχανισμός ελέγχου είναι υπεύθυνος να καθορίσει ποιος τελικά κανόνας από το σύνολο συγκρούσεων θα πυροδοτηθεί. Μερικές από τις πιο γνωστές στρατηγικές επίλυσης συγκρούσεων είναι οι εξής: Τυχαία (random). Διάταξης (ordering). Επιλογή του πρόσφατου (recency). Επιλογή του πιο ειδικού (specificity). Αποφυγή επανάληψης (refractoriness). Ανάλυση μέσων σκοπών (means ends analysis). Μετα έλεγχος (μετα κανόνες).

Στρατηγικές επίλυσης συγκρούσεων Τυχαία (random) Επιλέγεται ένας κανόνας στην τύχη Συνήθως δεν εφαρμόζεται στα συστήματα κανόνων παραγωγής Όταν εφαρμόζεται δεν είναι πραγματικά τυχαία η επιλογή του κανόνα, απλά είναι απροσδιόριστη και εξαρτάται από λεπτομέρειες της υλοποίησής του. Διάταξη (ordering) Επιλέγεται ο κανόνας που είναι πρώτος στη σειρά ή έχει μεγαλύτερη προτεραιότητα βάσει κάποιου αριθμητικού μεγέθους

Στρατηγικές επίλυσης συγκρούσεων Αποφυγή επανάληψης (refractoriness) Δεν επιλέγεται ο ίδιος κανόνας με τα ίδια δεδομένα για δεύτερη συνεχόμενη φορά Με τον τρόπο αυτό αποφεύγονται άσκοπες ή ατέρμονες επαναλήψεις Παράδειγμα Στη μνήμη εργασίας υπάρχουν τα γεγονότα Α, Β Στη βάση γνώσης υπάρχουν οι κανόνες 1: if Α then C 2: if Β then D Αν εκτελεστεί πρώτα ο 1, μετά θα εκτελεστεί ο 2. Ο 1 δε θα εκτελεστεί ξανά, αν και εξακολουθεί να είναι ενεργοποιημένος.

Στρατηγικές επίλυσης συγκρούσεων Επιλογή του πρόσφατου (recency) Παράδειγμα: Επιλέγεται ο κανόνας που ενεργοποιείται από τα πιο πρόσφατα δεδομένα που προστέθηκαν στο χώρο εργασίας Με τον τρόπο αυτό ακολουθείται μία χρονικά συνεπής πορεία σκέψης, η οποία είναι επικεντρωμένη και δε διασκορπάται σε διάφορα σημεία Στη μνήμη εργασίας υπάρχουν τα γεγονότα Α, Β Στη βάση γνώσης υπάρχουν οι κανόνες: 1: if A then C 2: if B then D 3: if C then E Έστω ότι μεταξύ κανόνα 1 και 2, εκτελείται πρώτα ο 1. Στη συνέχεια, θα εκτελεστεί ο 3 και όχι ο 2, γιατί το C είναι πιο πρόσφατο από το B.

Στρατηγικές επίλυσης συγκρούσεων Επιλογή του πιο ειδικού (specificity) Επιλέγεται ο κανόνας που είναι πιο ειδικός από τους άλλους (η συνθήκη του εκφράζεται με αναλυτικότερο τρόπο) Με τον τρόπο αυτό εξετάζονται πρώτα τα πιο συγκεκριμένα θέματα τα οποία οδηγούν πιθανότατα σε λύση πιο γρήγορα και στη συνέχεια τα πιο γενικά. Παράδειγμα: Στη μνήμη εργασίας υπάρχουν τα γεγονότα Α, Β, C Στη βάση γνώσης υπάρχουν οι κανόνες 1: if Α and Β and C then D 2: if Α and Β then Ε Θα εκτελεστεί πρώτα ο 1, γιατί έχει πιο πολλές συνθήκες από τον 2.

Στρατηγικές επίλυσης συγκρούσεων Ανάλυση μέσων σκοπών (means ends analysis) Παράδειγμα: Το συνολικό πρόβλημα που επιλύει το σύστημα κανόνων επιμερίζεται σε απλούστερες διεργασίες (tasks) και κάθε διεργασία υλοποιείται από μία ομάδα κανόνων (cluster), υποσύνολο της συνολικής βάσης γνώσης Με τον τρόπο αυτό όταν εκτελείται κάποια διεργασία, οι κανόνες που ανήκουν σε άλλη ομάδα (διεργασία) δεν προτιμούνται, παρά μόνο αν δεν υπάρχουν άλλοι κανόνες της ίδιας ομάδας. Έτσι, η αποδεικτική διαδικασία είναι επικεντρωμένη στους τρέχοντες στόχους της. Στη μνήμη εργασίας υπάρχουν τα γεγονότα Α, Β, C, G1, G2 και η βάση γνώσης είναι: 1: if G1 and Α and Β and C then D 2: if G2 and Α and Β then Ε Τα G1, G2 υποδηλώνουν τη διεργασία στην οποία ανήκει ο κάθε κανόνας. Έστω ότι το G2 είναι πιο πρόσφατο από το G1. Θα εκτελεστεί πρώτα ο 2, γιατί ασχολείται με τον πιο τρέχοντα στόχο. Ο 1 μπορούσε να έχει προτεραιότητα λόγω άλλης στρατηγικής, (π.χ. specificity).

Μετα-έλεγχος Τα συστήματα παραγωγής εφαρμόζουν μία ή περισσότερες στρατηγικές επίλυσης συγκρούσεων Όταν υποστηρίζονται περισσότερες από μία στρατηγικές, πρέπει να υπάρχει προτεραιότητα μεταξύ αυτών Αυτό οδηγεί στην υλοποίηση ενός νέου επιπέδου ελέγχου, του μετα ελέγχου (meta control), που καθορίζει ποια στρατηγική θα εφαρμοστεί, πού και πότε Απλά συστήματα: σταθερή προτεραιότητα Χαμηλότερη τιμή στην τυχαία επιλογή Σύνθετα συστήματα: η προτεραιότητα αλλάζει δυναμικά κατά τη διάρκεια της εκτέλεσης των κανόνων (at run time) Mετα κανόνες (meta rules): κανόνες που χρησιμοποιούνται για να καθορίσουν τη σειρά εκτέλεσης άλλων κανόνων

Κύκλος λειτουργίας Έως ότου δε μπορεί να εκτελεστεί κανένας κανόνας επανέλαβε: 1) Βρες όλους του κανόνες που οπλίζουν και σχημάτισε το σύνολο συγκρούσεων 2) Σύμφωνα με το μηχανισμό επίλυσης συγκρούσεων, διάλεξε ένα κανόνα 3) Πυροδότησε τον κανόνα που διάλεξες στο βήμα 2 Κατά κανόνα τα συστήματα παραγωγής τα χαρακτηρίζει η ορθή ακολουθία εκτέλεσης κανόνων Δεν έχει νόημα ο όρος εξαγωγή συμπερασμάτων, γιατί οι κανόνες παραγωγής αναφέρονται σε ενέργειες που εκτελούνται και όχι σε συμπεράσματα Παρόλα αυτά ο τρόπος λειτουργίας τους παραπέμπει στη συνεπαγωγική συλλογιστική: Υιοθέτηση μιας ειδικής ενέργειας από κάτι που ισχύει γενικά Ταίριασμα των κανόνων που περιέχουν μεταβλητές με δεδομένα στη μνήμη εργασίας που περιέχουν σταθερές

Παράδειγμα κίνησης ρομπότ

Παρατηρήσεις Η μνήμη εργασίας περιέχει: (όπου Χ,Υ είναι ακέραιοι αριθμοί) τη θέση του ρομπότ: robot_at(x,y) την κατεύθυνση προς την οποία κινείται: direction(d), όπου D είναι μία από τις 4 κατευθύνσεις e, w, n, s. τη θέση των εμποδίων: obstacle_at(x,y) - Σταθερά τη θέση των αντικειμένων: object_at(x,y) - Σταθερά την επιλογή της κατεύθυνσης: choice(d), όπου D είναι οι τέσσερις επιλογές αλλαγής κατεύθυνσης e, w, n, s

Παρατηρήσεις Οι ενέργειες των κανόνων εμπεριέχουν 4 λειτουργίες: addwm: βάλε κάτι στη μνήμη εργασίας delwm: σβήσε κάτι από τη μνήμη εργασίας output: εκτύπωσε ένα μήνυμα στην οθόνη αριθμητικές εκφράσεις Οι κανόνες παραγωγής εκφράζουν τη συμπεριφορά του ρομπότ