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



Σχετικά έγγραφα
! όπου το σύµβολο έχει την έννοια της παραγωγής, δηλαδή το αριστερό µέρος ισχύει ενώ το δεξιό µέρος συµπεραίνεται και προστίθεται στη βάση γνώσης.

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

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

Παράδειγµα: Οικονοµικός Σύµβουλος

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

HY118- ιακριτά Μαθηµατικά

Αποφασισιµότητα. HY118- ιακριτά Μαθηµατικά. Βασικές µέθοδοι απόδειξης. 07 -Αποδείξεις. ιακριτά Μαθηµατικά, Εαρινό εξάµηνο 2017

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

1 Συνοπτική ϑεωρία. 1.1 Νόµοι του Προτασιακού Λογισµού. p p p. p p. ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

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

HY118- ιακριτά Μαθηµατικά. Νόµοι ισοδυναµίας. Κατηγορηµατικός Λογισµός. ιακριτά Μαθηµατικά, Εαρινό εξάµηνο Παρασκευή, 24/02/2017

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

Θεώρηµα: Z ( Απόδειξη: Περ. #1: Περ. #2: *1, *2: αποδεικνύονται εύκολα, διερευνώντας τις περιπτώσεις ο k να είναι άρτιος ή περιττός

HY118- ιακριτά Μαθηµατικά. Παράδειγµα. Από τα συµπεράσµατα στις υποθέσεις Αποδείξεις - Θεωρία συνόλων. Από τις υποθέσεις στα συµπεράσµατα...

HY118- ιακριτά Μαθηµατικά

HY118- ιακριτά Μαθηµατικά

Σχόλιο. Παρατηρήσεις. Παρατηρήσεις. p q p. , p1 p2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Τελικές εξετάσεις 24 Ιουνίου 2004

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

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

HY118- ιακριτά Μαθηµατικά. Παράδειγµα άµεσης απόδειξης. Μέθοδοι αποδείξεως για προτάσεις της µορφής εάν-τότε Αποδείξεις

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

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

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

3 Αναδροµή και Επαγωγή

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

HY118- ιακριτά Μαθηµατικά

HY118- ιακριτά Μαθηµατικά

HY118- ιακριτά Μαθηµατικά

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

HY118- ιακριτά Μαθηµατικά

o AND o IF o SUMPRODUCT

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

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

Μάθηµα 1. Κεφάλαιο 1o: Συστήµατα. γ R παριστάνει ευθεία και καλείται γραµµική εξίσωση µε δύο αγνώστους.

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

Λογική πρώτης τάξης. Παραδοχές

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

HY118- ιακριτά Μαθηµατικά

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

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

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

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

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

Κατηγορηµατική Λογική

Γραµµικός Προγραµµατισµός - Μέθοδος Simplex

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

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

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

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Πώς είναι δυνατόν να είναι ισοδύναµες οι εξισώσεις που αναφέρονται στο ερώτηµα ii, αφού δεν έχουν το ίδιο πεδίο ορισµού 2 ;

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

HY118- ιακριτά Μαθηµατικά. Ένα παράδειγµα... Έχουµε δει. Κατηγορηµατικός Λογισµός. ιακριτά Μαθηµατικά, Εαρινό εξάµηνο Πέµπτη, 23/02/2017

ΠΑΡΑ ΕΙΓΜΑΤΑ ΣΤΗ ΓΛΩΣΣΑ PROLOG ΠΑΡΑ ΕΙΓΜΑ 1

HY118- ιακριτά Μαθηµατικά

Δυναμική ενέργεια στο βαρυτικό πεδίο. Θετική ή αρνητική;

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

ΑΡΙΘΜΗΤΙΚΗ ΟΡΙΣΙΜΟΤΗΤΑ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΟΓΙΚΗΣ

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

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

Γραµµική Αλγεβρα Ι. Ενότητα: ιανυσµατικοί χώροι. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

Κεφάλαιο 5ο: Εντολές Επανάληψης

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

Συνέπεια, Εγκυρότητα, Συνεπαγωγή, Ισοδυναμία, Κανονικές μορφές, Αλγόριθμοι μετατροπής σε CNF-DNF

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

Κεφάλαιο 7 Βάσεις και ιάσταση

A. ΤΟ ΛΕΞΙΛΟΓΙΟ ΤΗΣ ΛΟΓΙΚΗΣ

ΚΕΦΑΛΑΙΟ 3: Κατηγορηματική Λογική Πρώτης Τάξεως και Λογικά Προγράμματα

Οι πράξεις που χρειάζονται για την επίλυση αυτών των προβληµάτων (αφού είναι απλές) µπορούν να τεθούν σε µια σειρά και πάρουν µια αλγοριθµική µορφή.

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

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

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟ ΟΣ:

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

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

Συνέπεια, Εγκυρότητα, Συνεπαγωγή, Ισοδυναμία, Κανονικές μορφές, Αλγόριθμοι μετατροπής σε CNF-DNF

Σχολικός Σύµβουλος ΠΕ03

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

Γραµµική Αλγεβρα. Ενότητα 2 : Επίλυση Γραµµικών Εξισώσεων. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής

. (iii) Μόνο οι εκφράσεις που σχηµατίζονται από τα i,ii είναι προτασιακοί τύποι.

HY118- ιακριτά Μαθηµατικά

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

HY118- ιακριτά Μαθηµατικά

HY118- ιακριτά Μαθηµατικά

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Αριθµητική Παραγώγιση και Ολοκλήρωση

1 Υποθέσεις και Θεωρήµατα

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

Transcript:

Αναπαράσταση Γνώσης και Συλλογιστικές Γενικά Προτασιακή λογική Λογική πρώτης τάξης Λογικός προγραµµατισµός Επεκτάσεις της Λογικής Πρώτης Τάξης Συστήµατα Κανόνων Επίλογος Μειονεκτήµατα προτασιακής λογικής εν επιτρέπει τη χρήση µεταβλητών, αντικειµένων µε ιδιότητες, γενικών εκφράσεων κλπ. Για παράδειγµα, στο πρόβληµα του ναρκαλιευτή, χρειάστηκε να γράψουµε εννέα προτάσεις της µορφής: R1: A11 M12 M21 Εάν το παιχνίδι είχε µεγαλύτερες διαστάσεις; Γενικά θα θέλαµε να γράφαµε µόνο µια πρόταση και να καλύπταµε όλες τις περιπτώσεις (θέσεις πάνω στο παιχνίδι). Γιάννης Ρεφανίδης 30 1

Λογική πρώτης τάξης (First order logic) Λέγεται και κατηγορηµατική λογική (predicate logic). Επεκτείνει την προτασιακή λογική επιτρέποντας την ύπαρξη: αντικειµένων (objects) συναρτησιακών όρων (terms) κατηγορηµάτων (predicates) ποσοδεικτών (quantifiers) Γιάννης Ρεφανίδης 31 Αντικείµενα Τα αντικείµενα είναι ονόµατα που αποδίδονται στα πραγµατικά αντικείµενα του προβλήµατος. Για παράδειγµα, στον κόσµο του ναρκαλιευτή, τα παρακάτω θα µπορούσαν να είναι κάποια αντικείµενα: Νάρκη1 Νάρκη2 Γιάννης Ρεφανίδης 32 2

Συναρτησιακοί όροι Οι συναρτησιακοί όροι ή απλά όροι είναι σύνθετες ονοµασίες (όχι απλές λέξεις) για αντικείµενα. Για παράδειγµα, στον κόσµο του ναρκαλιευτή, θα µπορούσαµε να ονοµάσουµε τις θέσεις πάνω στο πεδίο µε τα ακόλουθα ονόµατα: Θ(1,1) Θ(1,2)... Θ(3,3) Ονοµάζοντας κάποια αντικείµενα µε τον παραπάνω τρόπο πετυχαίνουµε να γράφουµε γενικές προτάσεις που να ισχύουν για οµάδες αντικειµένων. Γιάννης Ρεφανίδης 33 Κατηγορήµατα Ένα κατηγόρηµα είναι το όνοµα µιας σχέσης µεταξύ Ν-άδων αντικειµένων. Τα κατηγορήµατα ορίζουν είτε ιδιότητες αντικειµένων ή σχέσεις µεταξύ οµάδων αντικειµένων. Για παράδειγµα: Νάρκη(Νάρκη1) Θέση( Θ(1,2) ) Γειτονική( Θ(1,1), Θ(1,2) ) Βρίσκεται( Νάρκη1, Θ(1,3) ) Γειτονεύει_µε_νάρκη( Θ(1,2) ) Κάθε κατηγόρηµα έχει συγκεκριµένο αριθµό ορισµάτων, ο οποίος ονοµάζεται τάξη του κατηγορήµατος (arity). Κάθε όρισµα του κατηγορήµατος έχει συγκεκριµένη σηµασία, η οποία προσδιορίζεται από τη θέση του. Γιάννης Ρεφανίδης 34 3

Συναρτησιακοί Όροι και Κατηγορήµατα Συνήθως υπάρχουν πολλοί διαφορετικοί τρόποι να περιγράψουµε τον ίδιο κόσµο. Στις προηγούµενες διαφάνειες ορίσαµε: Νάρκη1 Νάρκη(Νάρκη1) Θ(3,1) Θέση( Θ(3,1) ) Βρίσκεται(Νάρκη1, Θ(3,1)) Εναλλακτικά, επειδή κάθε θέση έχει µία το πολύ νάρκη, µπορούµε να περιορίσουµε τον αριθµό των δηλώσεων ως εξής: Θ(3,1) Θέση( Θ(3,1) ) Νάρκη( Θ(3,1) ) Γιάννης Ρεφανίδης 35 Ποσοδείκτες Μπορούµε να γράφουµε σύνθετες προτάσεις που να περιέχουν µεταβλητές. Συνήθως τις µεταβλητές τις δηλώνουµε µε µικρά γράµµατα: x, y κλπ. Κάθε µεταβλητή συνοδεύεται και από έναν ποσοδείκτη, ο οποίος καθορίζει τη σηµασία της στην πρόταση. : Καθολικός ποσοδείκτης (Universal quantifier) : Υπαρξιακός ποσοδείκτης (Existential quantifier) Γιάννης Ρεφανίδης 36 4

Παράδειγµα: Καθολικός ποσοδείκτης x y Θέση(x) Θέση(y) Γειτονική(x,y) Γειτονεύει_µε_νάρκη(x) Νάρκη(y) x1 x2 y1 y2 Θέση(Θ(x1,x2)) Θέση(Θ(y1,y2)) x1>0 y1>0 x1<4 y1<4 ( (x1=x2 (y1=y2-1 y1=y2+1)) (y1=y2 (x1=x2-1 x1=x2+1)) ) Γειτονική(Θ(x1,x2),Θ(y1,y2)) Όταν έχουµε συνεχόµενους καθολικούς ποδοσείκτες µπορούµε να τους αντικαθιστούµε µε έναν, π.χ.: x1 x2 y1 y2... Γιάννης Ρεφανίδης 37 Παράδειγµα: Υπαρξιακός ποσοδείκτης x Θέση(x) Γειτονεύει_µε_νάρκη(x) y Θέση(y) Γειτονική(x,y) Νάρκη(y) Γιάννης Ρεφανίδης 38 5

Σχέση καθολικού και υπαρξιακού ποσοδείκτη Για οποιαδήποτε πρόταση P ισχύουν οι παρακάτω λογικές ισοδυναµίες: x P x P x P x P x P x P x P x P Γιάννης Ρεφανίδης 39 Παράδειγµα: Συγγένειες (1/2) Θέλουµε να ορίσουµε τις σχέσεις ενός γενεολογικού δένδρου: Πατέρας, Μητέρα, Γονιός, Αδερφός, Αδερφή, Αδέρφι, Κόρη, Γιος, Παιδί, Άντρας, Γυναίκα, Σύζυγος, Παππούς, Γιαγιά, Εγγονός, Εγγονή, Ξάδερφος, Ξαδέρφη, Θείος, Θεία, Ανιψιός, Ανιψιά... Ορίζουµε καταρχήν δύο κατηγορήµατα για το φύλο τάξης 1: Αρεν(x) : Το πρόσωπο x είναι αρσενικό Θήλυ(y) : Το πρόσωπο y είναι θηλυκό. Επειδή κάθε άνθρωπος έχει έναν πατέρα και µια µητέρα, ορίζουµε τους συναρτησιακούς όρους: Πατέρας(x): Ο πατέρας του x Μητέρα(x): Η µητέρα του x Όλα τα υπόλοιπα (Γονιός, Αδερφός κλπ) είναι κατηγορήµατα τάξης 2. Γιάννης Ρεφανίδης 40 6

Παράδειγµα: Συγγένειες (2/2) Με βάση τους προηγούµενους ορισµούς, θα γράψουµε προτάσεις για τις υπόλοιπες έννοιες: m,c Μητέρα(c)=m Θήλυ(m) Γονιός(m,c) w,h Άντρας(h,w) Άρεν(h) Σύζυγος(h,w) x Άρεν(x) Θήλυ(x) g,c Παππούς(g,c) Άρεν(g) p Γονιός(g,p) Γονιός(p,c) x,y Αδέρφι (x,y) x y p Γονιός(p,x) Γονιός(p,y) κλπ Γιάννης Ρεφανίδης 41 Εξαγωγή συµπερασµάτων στη λογική πρώτης τάξης Στην λογική πρώτης τάξης χρησιµοποιούνται οι ίδιες τεχνικές εξαγωγής συµπερασµάτων, όπως και στην προτασιακή λογική, µε προσαρµογές όµως που να καλύπτουν τα επιπλέον στοιχεία της. Μετατροπή σε προτασιακή λογική (δεν θα το δούµε) Απόδειξη Ανάλυση Η εφαρµογή των τεχνικών της απόδειξης και της ανάλυσης στις προτάσεις της λογικής πρώτης τάξης απαιτεί τη χρήση τεχνικών ενοποίησης όρων που περιέχουν µεταβλητές. Γιάννης Ρεφανίδης 42 7

Ενοποίηση (Unification) (1/3) Έστω ότι έχουµε τις προτάσεις: Άνθρωπος(Σωκράτης) x Άνθρωπος(x) Θνητός(x) Θέλουµε να βγάλουµε το συµπέρασµα ότι Θνητός(Σωκράτης). Γνωρίζουµε από την προτασιακή λογική ότι από δύο προτάσεις της µορφής P και P Q, προκύπτει το Q. Τώρα όµως οι δύο προτάσεις έχουν τη µορφή P1 και P2 Q. Πρέπει λοιπόν να ελεγχθεί εάν τα P1 και P2 µπορούν να ταυτιστούν (ενοποιηθούν). Γιάννης Ρεφανίδης 43 Ενοποίηση (2/3) Έστω ένας όρος P που περιέχει µεταβλητές. Συµβολίζουµε µε x/a την αντικατάσταση µιας µεταβλητής x από έναν όρο Α. Έστω θ={x1/a1, x2/a2,..., xn/an} ένα πλήθος τέτοιων αντικαταστάσεων. Συµβολίζουµε µε P θ τον όρο που προκύπτει εάν αντικαταστήσουµε τις µεταβλητές του P µε τις αντικαταστάσεις που ορίζονται στο σύνολο θ. π.χ. Άνθρωπος(x) {x/σωκράτης} =Άνθρωπος(Σωκράτης) Γιάννης Ρεφανίδης 44 8

Ενοποίηση (3/3) ύο όροι P1 και P2 ενοποιούνται µε µια αντικατάσταση θ, εάν ισχύει P1 θ =P2 θ. ύο όροι είναι δυνατόν να µπορούν να ενοποιηθούν µε πολλούς τρόπους: P1=Αδερφός(x,y), P2=Αδερφός(z,w) θ1={x/z, y/w}: P1 θ1 =P2 θ1 =Αδερφός(z,w) θ2={x/z, y/z,w/z): P1 θ2 =P2 θ2 =Αδερφός(z,z) Από όλες τις δυνατές ενοποιήσεις πρέπει να επιλέγουµε τη λιγότερο δεσµευτική. Ο πιο γενικός ενοποιητής (most general unifier) Γιάννης Ρεφανίδης 45 Παραδείγµατα ενοποίησης P1 Γνωρίζει(Γιάννης, x) Γνωρίζει(Γιάννης, x) Γνωρίζει(Γιάννης, x) Γνωρίζει(Γιάννης, x) Γνωρίζει(Γιάννης, x) P2 Γνωρίζει(Γιάννης, Νίκος) Γνωρίζει(y, Νίκος) Γνωρίζει(y, Μητέρα(y)) Γνωρίζει(x, Γιώργος) Συνεργάζεται(Γιάννης,y) Πιο γενικός ενοποιητής {x/νίκος} {x/νίκος, y/γιάννης} {y/γιάννης, x/µητέρα(γιάννης)} αποτυχία αποτυχία Γιάννης Ρεφανίδης 46 9

Απόδειξη στη λογική πρώτης τάξης Έστω ότι έχουµε τις προτάσεις: P1 P2 Q Εάν οι P1 και P2 είναι ενοποιήσιµες σύµφωνα µε ένα σύνολο αντικαταστάσεων θ, P1 θ =P2 θ, τότε προκύπτει το συµπέρασµα Q θ. Π.χ. έστω: P1=Άνθρωπος(Σωκράτης) P2=Άνθρωπος(x) Q = Θνητός(x) Τότε το συµπέρασµα Θνητός(Σωκράτης) προκύπτει µε την ενοποίηση θ={x/σωκράτης}. Η παραπάνω τεχνική απόδειξης ονοµάζεται γενικευµένος τρόπος του θέτειν (generalized modus ponens). Γιάννης Ρεφανίδης 47 Τεχνική της Ανάλυσης στη Λογική Πρώτης Τάξης (1/2) Η τεχνική της ανάλυσης µπορεί να εφαρµοσθεί και στη λογική πρώτης τάξης. Όπως και στην προτασιακή λογική, απαιτείται όλες οι σύνθετες προτάσεις της βάσης γνώσης να είναι διαζεύξεις απλών προτάσεων ή αρνήσεών τους, όπως π.χ. Α Β Γ Ε Από δύο προτάσεις της µορφής: Α1 Α2... Αi-1 Ai Ai+1... Am και B1 B2... Bj-1 Bj Bj+1... Bn όπου Ai θ = Bj θ προκύπτει η πρόταση Α1 θ Α2 θ... Αi-1 θ Ai+1 θ... Am θ B1 θ B2 θ... Bj-1 θ Bj+1 θ... Bn θ Γιάννης Ρεφανίδης 48 10

Τεχνική της Ανάλυσης στη Λογική Πρώτης Τάξης (2/2) Η εφαρµογή της τεχνικής της ανάλυσης προϋποθέτει ότι γνωρίζουµε τι προσπαθούµε να αποδείξουµε. Έστω Κ η πρόταση που θέλουµε να αποδείξουµε. Εκτελούµε τα εξής βήµατα: Προσθέτουµε στη βάση γνώσης την πρόταση Κ. Εφαρµόζουµε επανειληµµένα τον κανόνα της ανάλυσης. Εάν καταλήξουµε σε άτοπο, δηλαδή αν παραχθούν δύο προτάσεις της µορφής Χ1 και Χ2 τέτοιες ώστε οι X1 και X2 δεν µπορούν να θεωρηθούν διαφορετικές (δηλαδή δεν υπάρχουν αντικαταστάσεις θ1 και θ2, τέτοιες ώστε X θ1 Χ2 θ2 ), συµπεραίνουµε ότι η πρόταση Κ δεν ίσχυε, άρα αποδείχθηκε ή πρόταση Κ. Γιάννης Ρεφανίδης 49 Κανονική συζευκτική µορφή στη λογική πρώτης τάξης Και εδώ χρειάζεται η µετατροπή των προτάσεων της βάσης γνώσης σε προτάσεις που αποτελούνται µόνο από διαζεύξεις. Το επιπλέον πρόβληµα που υπάρχει στη λογική πρώτης τάξης είναι η απαλοιφή των ποσοδεικτών (ιδιαίτερα των υπαρξιακών). Βήµατα: Απαλοιφή συνεπαγωγών Μετακίνηση αρνήσεων µέσα στις παρενθέσεις Απαλοιφή υπαρξιακών ποσοδεικτών και αντικατάσταση υπαρξιακών µεταβλητών µε σύνθετους όρους. Απόρριψη καθολικών ποσοδεικτών Κατανοµή συζεύξεων και διαζεύξεων Γιάννης Ρεφανίδης 50 11

Παράδειγµα µετατροπής σε κανονική συζευκτική µορφή Έστω η σύνθετη πρόταση: x Άνθρωπος(x) y Πατέρας(y,x) Βήµατα: Απαλοιφή συνεπαγωγών x y Άνθρωπος(x) Πατέρας(y,x) Απαλοιφή υπαρξιακών ποσοδεικτών: Επειδή το y προφανώς εξαρτάται από το x, αντικαθιστούµε το y µε έναν συναρτησιακό όρο P(x): x Άνθρωπος(x) Πατέρας(P(x),x) Απόρριψη καθολικών ποσοδεικτών Άνθρωπος(x) Πατέρας(P(x),x) Γιάννης Ρεφανίδης 51 Παράδειγµα τεχνικής ανάλυσης σε λογική πρώτης τάξης (1/2) Έστω η πρόταση: x y Θέση(x) Θέση(y) Γειτονική(x,y) Γειτονεύει_µε_νάρκη(x) Νάρκη(y) Η πρόταση αυτή µπορεί να γραφεί ως: (Θέση(x) Θέση(y) Γειτονική(x,y) Γειτονεύει_µε_νάρκη(x)) Νάρκη(y) Θέση(x) Θέση(y) Γειτονική(x,y) Γειτονεύει_µε_νάρκη(x) Νάρκη(y) Έστω ότι προσπαθούµε να αποδείξουµε το Νάρκη(Θ(2,1)). Εισάγουµε λοιπόν στη βάση την πρόταση Νάρκη(Θ(2,1)). Ήδη υπάρχει στη βάση το γεγονός: Γειτονεύει_µε_νάρκη(Θ(1,1)). Γιάννης Ρεφανίδης 52 12

Παράδειγµα τεχνικής ανάλυσης σε λογική πρώτης τάξης (2/2) Συνδυάζοντας τις προτάσεις: Θέση(x) Θέση(y) Γειτονική(x,y) Γειτονεύει_µε_νάρκη(x)) Νάρκη(y) Νάρκη(Θ(2,1)). µε ενοποίηση {y/θ(2,1)) παίρνουµε: Θέση(x) Θέση(Θ(2,1)) Γειτονική(x,Θ(2,1)) Γειτονεύει_µε_νάρκη(x) Συνδυάζοντας την παραπάνω πρόταση με το γεγονός: Γειτονεύει_µε_νάρκη(Θ(1,1)). µε ενοποίηση {x/θ(1,1)} παίρνουµε: Θέση( Θ(1,1) ) Θέση(Θ(2,1)) Γειτονική( Θ(1,1),Θ(2,1)) Εάν εφαρµόσουµε τρεις ακόµη φορές την παραπάνω διαδικασία για τα γεγονότα Θέση(Θ(1,1)), Θέση(Θ(2,1)) και Γειτονική(Θ(1,1),Θ(2,1)), τα οποία υπάρχουν όλα στη βάση γνώσης, καταλήγουμε σε άτοπο. Γιάννης Ρεφανίδης 53 Παρατηρήσεις στην τεχνική της ανάλυσης στη λογική πρώτης τάξης Η µέθοδος εγγυάται ότι πάντα θα καταλήγει σε άτοπο, εφόσον αυτό που προσπαθούµε να αποδείξουµε ισχύει. Στη βασική της µορφή είναι χρονοβόρα µέθοδος. Ευριστικές τεχνικές για γρηγορότερο αποτέλεσµα: Προτίµηση στις µικρές προτάσεις. Προτίµηση στους συνδυασµούς όπου τουλάχιστον µία από τις 2 προτάσεις είναι είτε από αυτές που υπήρχαν αρχικά στη βάση γνώσης, είτε η επιπλέον που προστέθηκε. Γιάννης Ρεφανίδης 54 13

Παράδειγµα: Οικονοµικός Σύµβουλος Περιγραφή του προβλήµατος (1/3) Στις επόµενες διαφάνειες θα παρουσιαστεί ένα απλό παράδειγµα κατασκευής ενός οικονοµικού συµβούλου χρησιµοποιώντας λογική πρώτης τάξης (Logic-Based Financial Advisor). Το παράδειγµα βασίζεται σε αντίστοιχο παράδειγµα από το βιβλίο "Artificial Intelligence" του George F. Luger, 2002 (4 th edition). Σκοπός του συµβούλου είναι να προτείνει στον πελάτη να τοποθετήσει τα χρήµατά του είτε σε αποταµιευτικό λογαριασµό ταµιευτηρίου, ή σε µετοχές ή τέλος σε συνδυασµό των δύο επιλογών. Γιάννης Ρεφανίδης 55 Παράδειγµα: Οικονοµικός Σύµβουλος Περιγραφή του προβλήµατος (2/3) Τα κριτήρια βάσει των οποίων παρέχονται οι συµβουλές είναι τα ακόλουθα: Εάν ο πελάτης δεν έχει επαρκείς καταθέσεις, τότε είναι απόλυτη προτεραιότητα η αύξηση των καταθέσεων, ανεξαρτήτως εισοδήµατος. Εάν ο πελάτης έχει επαρκείς καταθέσεις και επαρκές εισόδηµα, τότε πρέπει να προτιµήσει µια ριψοκίνδυνη αλλά ενδεχοµένως πιο αποδοτική τοποθέτηση σε µετοχές. Εάν ο πελάτης έχει επαρκείς καταθέσεις αλλά χαµηλό εισόδηµα τότε θα µπορούσε να σκεφτεί την τοποθέτηση του πλεονάσµατός του εν µέρει σε λογαριασµό ταµιευτηρίου και εν µέρει σε µετοχές. Γιάννης Ρεφανίδης 56 14

Παράδειγµα: Οικονοµικός Σύµβουλος Περιγραφή του προβλήµατος (3/3) Η επάρκεια τόσο για τις καταθέσεις όσο και για το εισόδηµα καθορίζεται από τον αριθµό των προστατευόµενων µελών. Για τις καταθέσεις θα πρέπει να έχει τουλάχιστον 5.000 για κάθε προστατευόµενο µέλος. Το εισόδηµα χαρακτηρίζεται επαρκές εάν είναι σταθερά 15.000 ετησίως συν 4.000 για κάθε προστατευόµενο µέλος. Θέλουµε να κωδικοποιήσουµε τη γνώση που περιγράφηκε στις 2 τελευταίες διαφάνειες χρησιµοποιώντας λογική πρώτης τάξης. Επειδή το πρόβληµα περιλαµβάνει αριθµούς, θα θεωρήσουµε ότι η γλώσσα έχει επεκταθεί µε δυνατότητα εκτέλεσης απλών µαθηµατικών πράξεων και συγκρίσεων. Γιάννης Ρεφανίδης 57 Παράδειγµα: Οικονοµικός Σύµβουλος Ανάπτυξη της Βάσης Γνώσης (1/9) Τα δεδοµένα στα οποία θα βασιστεί οποιαδήποτε πρόταση είναι η επάρκεια ή µη των τραπεζικών καταθέσεων και του εισοδήµατος. Για την αναπαράσταση της επάρκειας χρησιµοποιούµε δύο κατηγορήµατα µηδενικής τάξης: Επαρκείς_καταθέσεις Επαρκές_εισόδηµα Εάν κάποιος λογαριασµός ή εισόδηµα δεν είναι επαρκές, αυτό πρέπει να παρασταθεί µε την άρνηση των παραπάνω κατηγορηµάτων: Επαρκείς_καταθέσεις Επαρκές_εισόδημα Γιάννης Ρεφανίδης 58 15

Παράδειγµα: Οικονοµικός Σύµβουλος Ανάπτυξη της Βάσης Γνώσης (2/9) Υπάρχουν τρεις ενδεχόµενες προτάσεις: τραπεζικός λογαριασµός µετοχές συνδυασµός για την αναπαράσταση των οποίων χρησιµοποιούµε τρία επιπλέον κατηγορήµατα µηδενικής τάξης: Πρόταση_καταθέσεις Πρόταση_µετοχές Πρόταση_συνδυασµός Γιάννης Ρεφανίδης 59 Παράδειγµα: Οικονοµικός Σύµβουλος Ανάπτυξη της Βάσης Γνώσης (3/9) Με βάση τα κατηγορήµατα που ορίσαµε, πρέπει να περιγράψουµε τα κριτήρια επιλογής. 1ο κριτήριο: Εάν ο πελάτης δεν έχει επαρκείς καταθέσεις, τότε είναι απόλυτη προτεραιότητα η αύξηση των καταθέσεων, ανεξαρτήτως εισοδήµατος. 1: Επαρκείς_καταθέσεις Πρόταση_καταθέσεις Ο αριθµός στα αριστερά της πρότασης (1:) δηλώνει τον αύξοντα αριθµό της εκάστοτε πρότασης στη βάση γνώσης και θα χρησιµεύσει για µελλοντική αναφορά σε αυτήν. Γιάννης Ρεφανίδης 60 16

Παράδειγµα: Οικονοµικός Σύµβουλος Ανάπτυξη της Βάσης Γνώσης (4/9) 2ο κριτήριο: Εάν ο πελάτης έχει επαρκείς καταθέσεις και επαρκές εισόδηµα, τότε πρέπει να προτιµήσει µια ριψοκίνδυνη αλλά ενδεχοµένως πιο αποδοτική τοποθέτηση σε µετοχές. 2: Επαρκείς_καταθέσεις Επαρκές_εισόδηµα Πρόταση_μετοχές 3ο κριτήριο Εάν ο πελάτης έχει επαρκείς καταθέσεις αλλά χαµηλό εισόδηµα τότε θα µπορούσε να σκεφτεί την τοποθέτηση του πλεονάσµατός του εν µέρει σε λογαριασµό ταµιευτηρίου και εν µέρει σε µετοχές. 3: Επαρκείς_καταθέσεις Επαρκές_εισόδημα Πρόταση_συνδυασμός Γιάννης Ρεφανίδης 61 Παράδειγµα: Οικονοµικός Σύµβουλος Ανάπτυξη της Βάσης Γνώσης (5/9) Στη συνέχεια πρέπει να περιγράψουµε τη γνώση που καθορίζει πότε οι καταθέσεις ή το εισόδηµα είναι επαρκείς. Ορίζουµε τα παρακάτω κατηγορήµατα µε τις αντίστοιχες ερµηνείες: Προστατευόµενα(x): Αληθεύει όταν x είναι ο αριθµός των προστατευόµενων µελών. Ύψος_καταθέσεων(x): Το x είναι το ποσό που είναι ήδη κατατεθηµένο σε τραπεζικό λογαριασµό. Εισοδήµατα (x,σταθερά/ασταθή): Τα εισοδήµατα ανέρχονται σε x /έτος και είναι Σταθερά ή Ασταθή. Μεγαλύτερο(x,y): Αληθεύει όταν x>y. Γιάννης Ρεφανίδης 62 17

Παράδειγµα: Οικονοµικός Σύµβουλος Ανάπτυξη της Βάσης Γνώσης (6/9) Ορίζουµε επίσης τις ακόλουθες συναρτήσεις: Ελάχιστες_καταθέσεις(x): Επιστρέφει το ελάχιστο ποσό για επαρκή τραπεζική κατάθεση, όταν ο αριθµός των προστατευόµενων µελών είναι x. Ελάχιστες_καταθέσεις (x) 5.000*x Ελάχιστο_εισόδηµα(x): Επιστρέφει το ελάχιστο ποσό για επαρκές εισόδηµα, όταν ο αριθµός των προστατευόµενων µελών είναι x. Ελάχιστο_εισόδηµα(x) 15.000 + 4.000*x Γιάννης Ρεφανίδης 63 Παράδειγµα: Οικονοµικός Σύµβουλος Ανάπτυξη της Βάσης Γνώσης (7/9) Μπορούµε πλέον να γράψουµε τις ακόλουθες προτάσεις: 4: x,y Ύψος_καταθέσεων(x) Προστατευόµενα(y) Μεγαλύτερο(x, Ελάχιστες_καταθέσεις(y)) Επαρκείς_καταθέσεις 5: x,y Ύψος_καταθέσεων(x) Προστατευόµενα(y) Μεγαλύτερο(x, Ελάχιστες_καταθέσεις(y)) Επαρκείς_καταθέσεις Γιάννης Ρεφανίδης 64 18

Παράδειγµα: Οικονοµικός Σύµβουλος Ανάπτυξη της Βάσης Γνώσης (8/9) 6: x,y Εισοδήµατα(x,Σταθερά) Προστατευόµενα(y) Μεγαλύτερο(x,Ελάχιστο_εισόδηµα(y)) Επαρκές_εισόδηµα 7: x Εισοδήµατα (x,σταθερά) Προστατευόµενα(y) Μεγαλύτερο(x,Ελάχιστο_εισόδηµα(y)) Επαρκές_εισόδηµα 8: x Εισοδήµατα (x,ασταθή) Επαρκές_εισόδηµα Γιάννης Ρεφανίδης 65 Παράδειγµα: Οικονοµικός Σύµβουλος Ανάπτυξη της Βάσης Γνώσης (9/9) Για να ξεκινήσει η διαδικασία εξαγωγής συµπερασµάτων πρέπει να εισαχθεί στη βάση γνώσης η περιγραφή ενός συγκεκριµένου επενδυτή. Έστω λοιπόν οι ακόλουθες προτάσεις: 9: Ύψος_καταθέσεων(22000) 10: Εισοδήµατα(25000, Σταθερά) 11: Προστατευόµενα(3) Με βάση τα παραπάνω δεδοµένα, και λόγω του µικρού µεγέθους του παραδείγµατος, είναι εύκολο να βρει κανείς ότι το σύστηµα θα προτείνει ένα συνδυασµό καταθέσεων και µετοχών. Στις επόµενες διαφάνειες θα προσπαθήσουµε να εξάγουµε αυτό το συµπέρασµα τόσο µε απόδειξη, όσο και µε την τεχνική της ανάλυσης. Γιάννης Ρεφανίδης 66 19

Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε απόδειξη (1/3) Στην τεχνική της απόδειξης προσπαθούµε να συνδυάσουµε προτάσεις της µορφής: A A B για να βγάλουµε το συµπέρασµα Β. Ενδέχεται να υπάρχουν πολλοί δυνατοί συνδυασµοί, πολλοί από τους οποίους δεν οδηγούν στην εξαγωγή του επιθυµητού συµπεράσµατος (αλλά οδηγούν στην εξαγωγή άλλων συµπερασµάτων). Πρόκειται λοιπόν για πρόβληµα αναζήτησης, στο οποίο µπορούν να χρησιµοποιηθούν διάφοροι αλγόριθµοι αναζήτησης (κατά βάθος, κατά πλάτος, πρώτα-στο-καλύτερο κλπ). Γιάννης Ρεφανίδης 67 Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε απόδειξη (2/3) Από τις προτάσεις 7, 10 και 11: 7: x Εισοδήµατα (x,σταθερά) Προστατευόµενα(y) Μεγαλύτερο(x,Ελάχιστο_εισόδηµα(y)) Επαρκές_εισόδηµα 10: Εισοδήµατα(25000, Σταθερά) 11: Προστατευόµενα(3) µε την ενοποίηση {x/25000, y/3} παίρνουµε: 12: Επαρκές_εισόδηµα Γιάννης Ρεφανίδης 68 20

Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε απόδειξη (3/3) Παρόµοια από τις προτάσεις 4, 9 και 11: 4: x,y Ύψος_καταθέσεων(x) Προστατευόµενα(y) Μεγαλύτερο(x, Ελάχιστες_καταθέσεις(y)) Επαρκείς_καταθέσεις 9: Ύψος_καταθέσεων(22000) 11: Προστατευόµενα(3) µε την ενοποίηση {x/22000, y/3} παίρνουµε: 13: Επαρκείς καταθέσεις Τέλος από την πρόταση 3: 3: Επαρκείς_καταθέσεις Επαρκές_εισόδημα Πρόταση_συνδυασμός και τις 12 και 13 προκύπτει η πρόταση: 14: Πρόταση_συνδυασµός Γιάννης Ρεφανίδης 69 Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε ανάλυση (1/9) Για να χρησιµοποιήσουµε την τεχνική της ανάλυσης πρέπει να µετατρέψουµε όλες τις προτάσεις της βάσης γνώσης σε διαζεύξεις. Θα το κάνουµε µόνο για µερικές προτάσεις, οι οποίες θα χρειαστούν στη ανάλυση. Η τεχνική της ανάλυσης βασίζεται στο επανειληµµένο συνδυασµό ζευγών διαζευκτικών προτάσεων της µορφής: Α1 Α2... ΑΝ Γ Β1 Β2... ΒΜ Γ από τις οποίες προκύπτει η πρόταση: Α1 Α2... ΑΝ Β1 Β2... ΒΜ Και πάλι πρόκειται για πρόβληµα αναζήτησης, µιας και σε κάθε βήµα ενδέχεται να υπάρχουν πολλά ζεύγη προτάσεων που να µπορούν να "αναλυθούν", άρα µπορούν να χρησιµοποιηθούν οι γνωστοί αλγόριθµοι αναζήτησης. Γιάννης Ρεφανίδης 70 21

Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε ανάλυση (2/9) Έστω ότι θέλουµε να αποδείξουµε την πρόταση: Πρόταση_συνδυασµός. Εισάγουµε στη βάση γνώσης την άρνηση της προς απόδειξη πρότασης: 12: Πρόταση_συνδυασµός Η πρόταση 3 της βάσης γνώσης: 3: Επαρκείς_καταθέσεις Επαρκές_εισόδημα Πρόταση_συνδυασμός μετασχηματίζεται κατά σειρά σε: (Επαρκείς_καταθέσεις Επαρκές_εισόδημα) Πρόταση_συνδυασμός Επαρκείς_καταθέσεις Επαρκές_εισόδημα Πρόταση_συνδυασμός Γιάννης Ρεφανίδης 71 Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε ανάλυση (3/9) Συνδυάζοντας λοιπόν την 3 µε την 12 παίρνουµε: 13: Επαρκείς_καταθέσεις Επαρκές_εισόδημα Η πρόταση 7 µετασχηµατίζεται κατά σειρά ως εξής: x Εισοδήµατα (x,σταθερά) Προστατευόµενα(y) Μεγαλύτερο(x,Ελάχιστο_εισόδηµα(y)) Επαρκές_εισόδηµα (Εισοδήµατα (x,σταθερά) Προστατευόµενα(y) Μεγαλύτερο(x,Ελάχιστο_εισόδηµα(y))) Επαρκές_εισόδηµα Εισοδήµατα(x,Σταθερά) Προστατευόµενα(y) Μεγαλύτερο(x,Ελάχιστο_εισόδηµα(y)) Επαρκές_εισόδηµα η οποία συνδυάζεται µε την 13 για να δώσει: 14: Επαρκείς_καταθέσεις Εισοδήµατα(x,Σταθερά) Προστατευόµενα(y) Μεγαλύτερο(x,Ελάχιστο_εισόδηµα(y)) Γιάννης Ρεφανίδης 72 22

Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε ανάλυση (4/9) Η πρόταση 14: 14: Επαρκείς_καταθέσεις Εισοδήµατα(x,Σταθερά) Προστατευόµενα(y) Μεγαλύτερο(x,Ελάχιστο_εισόδηµα(y)) συνδυάζεται µε την 10: 10: Εισοδήµατα(25000, Σταθερά) µε ενοποίηση {x/25000) και δίνει: 15: Επαρκείς_καταθέσεις Προστατευόµενα(y) Μεγαλύτερο(25000,Ελάχιστο_εισόδηµα(y)) Γιάννης Ρεφανίδης 73 Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε ανάλυση (5/9) Η πρόταση 15: Επαρκείς_καταθέσεις Προστατευόµενα(y) Μεγαλύτερο(25000,Ελάχιστο_εισόδηµα(y)) συνδυάζεται µε την 11: 11: Προστατευόµενα(3) µε αντικατάσταση {y/3} και δίνει: 16: Επαρκείς_καταθέσεις Μεγαλύτερο(25000,Ελάχιστο_εισόδηµα(3)) Γιάννης Ρεφανίδης 74 23

Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε ανάλυση (6/9) Η πρόταση 4 µετασχηµατίζεται κατά σειρά: 4: x,y Ύψος_καταθέσεων(x) Προστατευόµενα(y) Μεγαλύτερο(x, Ελάχιστες_καταθέσεις(y)) Επαρκείς_καταθέσεις (Ύψος_καταθέσεων(x) Προστατευόµενα(y) Μεγαλύτερο(x, Ελάχιστες_καταθέσεις(y))) Επαρκείς_καταθέσεις Ύψος_καταθέσεων(x) Προστατευόµενα(y) Mεγαλύτερο(x, Ελάχιστες_καταθέσεις(y)) Επαρκείς_καταθέσεις η οποία συνδυαζόµενη µε την 16: 16: Επαρκείς_καταθέσεις Μεγαλύτερο(25000,Ελάχιστο_εισόδηµα(3)) δίνει: 17: Ύψος_καταθέσεων(x) Προστατευόµενα(y) Mεγαλύτερο(x, Ελάχιστες_καταθέσεις(y)) Μεγαλύτερο(25000,Ελάχιστο_εισόδηµα(3)) Γιάννης Ρεφανίδης 75 Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε ανάλυση (7/9) Η πρόταση 17: 17: Ύψος_καταθέσεων(x) Προστατευόµενα(y) Mεγαλύτερο(x, Ελάχιστες_καταθέσεις(y)) Μεγαλύτερο(25000,Ελάχιστο_εισόδηµα(3)) συνδυαζόµενη κατά σειρά µε τις 9 και 11: 9: Ύψος_καταθέσεων(22000) 11: Προστατευόµενα(3) µε αντικαταστάσεις {x/22000) και {y/3} δίνει: 18: Mεγαλύτερο(22000, Ελάχιστες_καταθέσεις(3)) Μεγαλύτερο(25000,Ελάχιστο_εισόδηµα(3)) Γιάννης Ρεφανίδης 76 24

Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε ανάλυση (8/9) Γνωρίζουµε ότι: Ελάχιστες_καταθέσεις(3) 5000*3 15000 Ελάχιστο_εισόδηµα(3) 15000+4000*3 27000 Άρα η πρόταση 18 γράφεται ισοδύναµα: 18: Mεγαλύτερο(22000, 15000) Μεγαλύτερο(25000,27000) Αληθές Ψευδές Ψευδές Καταλήξαµε σε άτοπο. Άρα η πρόταση: 12: Πρόταση_συνδυασµός δεν ισχύει, οπότε αποδείχθηκε ότι ισχύει η πρόταση: Πρόταση_συνδυασµός Γιάννης Ρεφανίδης 77 Παράδειγµα: Οικονοµικός Σύµβουλος Εξαγωγή συµπερασµάτων µε ανάλυση (9/9) Στην τεχνική της ανάλυσης ακολουθήσαµε µια στρατηγική αναζήτησης πρώτα-κατά-βάθος. Επίσης δώσαµε προτεραιότητα στις προτάσεις ενός κατηγορήµατος, οι οποίες οδηγούσαν στην παραγωγή µικρών νέων προτάσεων. Φυσικά υπήρχε και άλλη σειρά πραγµατοποίησης συνδυασµών, η οποία θα µπορούσε να οδηγήσει στο ίδιο αποτέλεσµα (δηλαδή σε άτοπο). Εάν είχαµε δοκιµάσει να αποδείξουµε την άρνηση µιας πρότασης που δεν ισχύει, π.χ. την άρνηση της Πρόταση_µετοχές (δηλ.: Πρόταση_µετοχές), δεν θα καταλήγαµε σε άτοπο. Γιάννης Ρεφανίδης 78 25

Παράδειγµα: Οικονοµικός Σύµβουλος Απόδειξη και Ανάλυση (1/3) Συγκρίνοντας κανείς τον τρόπο εφαρµογής των δύο µεθόδων εξαγωγής συµπερασµάτων που είδαµε, µπορεί να προσέξει τα εξής: Η απόδειξη βασίστηκε στο συνδυασµό τωνυπαρχουσώνπροτάσεων της βάσης γνώσης, βάσει διάφορων ισοδυναµιών, για την παραγωγή νέας γνώσης. Ξεκινώντας από τη γνωστή γνώση, ένα σύστηµα µπορεί να παράγει πολλές νέες προτάσεις που ισχύουν, ελπίζοντας κάποια στιγµή να παράγει και κάποια από τις επιθυµητές προτάσεις (στο παράδειγµα που προηγήθηκε αυτές ήταν οι προτάσεις που αφορούσαν τις τρεις δυνατές πολιτικές τοποθέτησης των χρηµάτων). Μπορεί να πει κανείς ότι η απόδειξη ξεκίνησε από τα αρχικά δεδοµένα και προχώρησε αποµακρυνόµενη από αυτά. Μια τέτοιου είδους αναζήτηση λέγεται αναζήτηση καθοδηγούµενη από τα δεδοµένα (data driven) ή ορθή ακολουθία εκτέλεσης (forward chaining). Γιάννης Ρεφανίδης 79 Παράδειγµα: Οικονοµικός Σύµβουλος Απόδειξη και Ανάλυση (2/3) Από την άλλη πλευρά, η ανάλυση: Ξεκίνησε εισάγοντας στη βάση γνώση την άρνηση της προς απόδειξη πρότασης. Συνδύασε τη νέα πρόταση µε τις υπάρχουσες, προσπαθώντας να καταλήξει σε άτοπο. Εάν δεν ξέρουµε τι θέλουµε να συµπαιράνουµε, δεν µπορούµε να εφαρµόσουµε την ανάλυση ή πρέπει να την εφαρµόσουµε για όλα τα ενδεχόµενα συµπεράσµατα. Στο παράδειγµα του οικονοµικού συµβούλου, µε την ανάλυση θα έπρεπε να δοκιµάσουµε να αποδείξουµε και τις τρεις προτάσεις Πρόταση_καταθέσεις, Πρόταση_µετοχές και Πρόταση_συνδυασµός. Μπορεί να πει κανείς ότι η ανάλυση ξεκινά από τις προτάσεις που θέλουµε να αποδείξουµε και προχωρά προς τα αρχικά δεδοµένα. Μια τέτοιου είδους αναζήτηση λέγεται αναζήτηση καθοδηγούµενη από τους στόχους (goal driven) ή ανάστροφη ακολουθία εκτέλεσης (backward chaining). Γιάννης Ρεφανίδης 80 26

Παράδειγµα: Οικονοµικός Σύµβουλος Απόδειξη και Ανάλυση (3/3) Ωστόσο, θα µπορούσε κανείς να εφαρµόσει την ανάλυση µε µια data-driven προσέγγιση ή την απόδειξη µε µια goal-driven. Για παράδειγµα, έστω ότι έχουµε τις προτάσεις: A A B και θέλουµε να βγάλουµε το συµπέρασµα Β, χρησιµοποιώντας την τεχνική της ανάλυσης. Η δεύτερη πρόταση γράφεται: A B και συνδυαζόµενη µε την πρώτη δίνει το Β. Γιάννης Ρεφανίδης 81 Παράδειγµα: Οικονοµικός Σύµβουλος Επέκταση για πολλούς πελάτες (1/2) Όπως παρουσιάστηκε το παράδειγµα του οικονοµικού συµβούλου, αυτό αφορούσε έναν µόνο πελάτη. Για να εξαχθούν συµπεράσµατα για έναν νέο πελάτη, θα έπρεπε να διαγραφούν από τη βάση γνώσης οι προτάσεις που αφορούν τον προηγούµενο πελάτη (προτάσεις 9, 10 και 11) και όλα τα συµπεράσµατα που εξήχθησαν µε αυτές. Εάν θέλαµε να µπορούµε να εξάγουµε συµπεράσµατα ταυτόχρονα για διάφορους πελάτες, θα έπρεπε σε κάθε κατηγόρηµα να προστεθεί ένα όρισµα που να δηλώνει το όνοµα του πελάτη. Γιάννης Ρεφανίδης 82 27

Παράδειγµα: Οικονοµικός Σύµβουλος Επέκταση για πολλούς πελάτες (2/2) Παρακάτω φαίνονται ενδεικτικά πώς θα τροποποιούνταν µερικές από τις προτάσεις: Ύψος_καταθέσεων(Κώστας, 22000) Επαρκές_εισόδηµα(Μαρία) Πρόταση_καταθέσεις(Γιώργος) x,y,z Ύψος_καταθέσεων(z,x) Προστατευόµενα(z,y) Μεγαλύτερο(x, Ελάχιστες_καταθέσεις(y)) Επαρκείς_καταθέσεις(z) Γιάννης Ρεφανίδης 83 Υπολογισιµότητα Λογικής (1/4) Με τον όρο "Υπολογισιµότητα" εννοούµε τη δυνατότητα να µπορούµε να απαντάµε, βάσει κάποιου αλγορίθµου, σε διάφορα προβλήµατα που µας τίθενται σε κάποια γλώσσα. Προβλήµατα για τα οποία υπάρχει ένας αλγόριθµος που απαντά σε κάθε περίπτωση ονοµάζονται αποφασίσιµα (decidable). Το πρόβληµα εάν µια πρόταση προκύπτει από µια οποιαδήποτε βάση γνώσης στην προτασιακή λογική είναι αποφασίσιµο. Παρατήρηση: Ηυπολογισιµότητα είναι διαφορετική έννοια από την πολυπλοκότητα. Η πολυπλοκότητα αφορά τα αποφασίσιµα προβλήµατα και ειδικότερα το χρόνο (και τη µνήµη) που απαιτεί ο αλγόριθµος επίλυσής τους. Γιάννης Ρεφανίδης 84 28

Υπολογισιµότητα Λογικής (2/4) Το ίδιο πρόβληµα, δηλαδή της απόδειξης µιας πρότασης από µια βάση γνώσης στη λογική πρώτης τάξης δεν είναι γενικά αποφασίσιµο. Το πρόβληµα της µη-αποφασισιµότητας στη λογική πρώτης τάξης προέρχεται από τη δυνατότητα ύπαρξης άπειρου πλήθους αντικειµένων. Η δυνατότητα ύπαρξης άπειρου πλήθους αντικειµένων στη λογική πρώτης τάξης οφείλεται στη ύπαρξη συναρτησιακών συµβόλων. Για παράδειγµα, έστω το συναρτησιακό σύµβολο Πατέρας(x) που δηλώνει το αντικείµενο που είναι ο πατέρας του x. Μπορούµε να δηµιουργήσουµε ένα άπειρο πλήθος αντικειµένων της µορφής: Πατέρας(Πατέρας(...(Πατέρας(Κώστας))...)) Γιάννης Ρεφανίδης 85 Υπολογισιµότητα Λογικής (3/4) Στην ειδική περίπτωση µιας βάση γνώσης σε λογική πρώτης τάξης που δεν έχει συναρτησιακά σύµβολα, τότε όλες οι ερωτήσεις που µπορεί να τεθούν σε σχέση µε τη δυνατότητα παραγωγής νέων προτάσεων από µια τέτοια βάση γνώσης είναι αποφασίσιµες. Μια τέτοια βάση γνώσης µάλιστα θα µπορούσε να "µεταφραστεί" σε απλή προτασιακή λογική, καταγράφοντας όλες τις προτάσεις που προκύπτουν από όλες τις αντικαταστάσεις των µεταβλητών (π.χ. x) µε τα αντικείµενα του προβλήµατος. Γιάννης Ρεφανίδης 86 29

Υπολογισιµότητα Λογικής (4/4) Στη γενική περίπτωση, η ερώτηση εάν µια πρόταση µπορεί να προκύψει από µια βάση γνώσης (µε συναρτησιακά σύµβολα) σε λογική πρώτης τάξης µπορεί να απαντηθεί καταφατικά και σε πεπερασµένο χρόνο, εφόσον πράγµατι η πρόταση µπορεί να προκύψει. Προϋπόθεση για µια επιτυχή καταφατική απάντηση είναι να χρησιµοποιηθεί µια στρατηγική αναζήτησης πρώτα-κατά-πλάτος. Εάν η πρόταση που προσπαθούµε να αποδείξουµε δεν µπορεί να αποδειχθεί, ο αλγόριθµος αναζήτησης ενδέχεται να ψάχνει επ' άπειρο, µη-σταµατώντας ποτέ µε µια αρνητική απάντηση. Για τους παραπάνω λόγους, το πρόβληµα της απόδειξης προτάσεων στην λογική πρώτης τάξης είναι ηµι-αποφασίσιµο (semidecidable). Γιάννης Ρεφανίδης 87 Συστήµατα λογικής πρώτης τάξης (1/2) Υπάρχουν διάφορα συστήµατα που επιτρέπουν αναπαράσταση γνώσης και εξαγωγή συµπερασµάτων σε λογική πρώτης τάξης. Τα περισσότερα είναι ερευνητικού χαρακτήρα και χρησιµοποιούνται κυρίως για αποδείξεις µαθηµατικών θεωρηµάτων. Για το λόγο αυτό ονοµάζονται και theorem provers. Χρησιµοποιούνται επίσης σε προβλήµατα επαλήθευσης (verification) και σύνθεσης (synthesis): hardware design programming languages software engineering Γιάννης Ρεφανίδης 88 30

Συστήµατα λογικής πρώτης τάξης (2/2) Μερικά από τα πιο γνωστά είναι τα: Otter Argonne National Lab., US Το 1996, µετά από υπολογισµούς 6 ηµερών, απέδειξε την ισοδυναµία της Robbins άλγεβρας µε την Boolean άλγεβρα, ένα πρόβληµα που παρέµενε άλυτο από το 1933. http://www-unix.mcs.anl.gov/ar/otter/ Ελεύθερο download PTTP (Prolog Technology Theorem Prover) Stanford Research Institute http://www.ai.sri.com/~stickel/pttp.html Ελεύθερο download Άλλα: http://www.cl.cam.ac.uk/users/jrh/ar.html Γιάννης Ρεφανίδης 89 Λογικές ανώτερης τάξης (1/2) Η λογική πρώτης τάξης διαφέρει από τις λογικές ανώτερων τάξεων στις τιµές που µπορούν να πάρουν οι µεταβλητές. Στη λογική πρώτης τάξης, όπως είδαµε, οι µεταβλητές µπορούν να πάρουν ως τιµές µόνο αντικείµενα. Στη λογική δεύτερης τάξης, οι µεταβλητές µπορούν να πάρουν ως τιµές ονόµατα κατηγορηµάτων. x x(κώστας, y) x(γιώργος, z) Η παραπάνω πρόταση διαβάζεται: Γιά κάθε x, εάν το x είναι µια ιδιότητα (τάξης 2) του Κώστα, τότε το x είναι και µια ιδιότητα του Γιώργου. Για παράδειγµα, το x θα µπορούσε να είναι η ιδιότητα "Ύψος", µε το δεύτερο όρισµα να δηλώνει το ύψος κάθε ατόµου. Έτσι θα λέγαµε ότι "Εάν οκώστας έχει την ιδιότητα ύψος, τότε και ο Γιώργος έχει την ιδιότητα ύψος", χωρίς να µας ενδιαφέρει εάν έχουν το ίδιο ύψος ή όχι (µεταβλητές y και z). Γιάννης Ρεφανίδης 90 31

Λογικές ανώτερης τάξης (2/2) Ένα ακόµη παράδειγµα λογικής δεύτερης τάξης: x,a,b: (x(a,b) x(b,a)) permutational(x) που διαβάζεται ως εξής: "Κάθε ιδιότητα x για την οποία εάν ισχύει το x(a,b) ισχύει και το x(b,a) έχει την ιδιότητα της αντιµεταθετικότητας". Παρόµοια, οι λογικές ανώτερης τάξης (τρίτης και άνω) επιτρέπουν τον ορισµό κατηγορηµάτων µε ορίσµατα άλλα κατηγορήµατα των οποίων τα ορίσµατα είναι άλλα κατηγορήµατα κλπ. Οι λογικές ανώτερης τάξης επιτρέπουν την έκφραση προτάσεων που δεν είναι δυνατόν να εκφραστούν σε λογικές χαµηλότερων τάξεων. Φυσικά στις λογικές ανώτερων τάξεων αυξάνει ιδιαίτερα η πολυπλοκότητα εξαγωγής συµπερασµάτων. Γιάννης Ρεφανίδης 91 32