Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1
Αναπαράσταση με Κανόνες Η γνώση αναπαρίσταται με τρόπο που πλησιάζει την ανθρώπινη γνώση Εύκολη εξαγωγή συμπερασμάτων Πλεονεκτήματα: Modularity: Κάθε κανόνας ορίζει ένα μικρό, (σχεδόν) ανεξάρτητο τμήμα γνώσης. Incrementability: Μπορούν να προστεθούν νέοι κανόνες (σχεδόν) ανεξάρτητα από τους υπάρχοντες. Modifiability: Οι κανόνες μπορούν να τροποποιηθούν (σχεδόν) ανεξάρτητα από τους υπόλοιπους. Αποτελούν τη βάση για Συστήματα Γνώσης 2
Είδη Κανόνων Διαδικαστική Γνώση: Συστήματα Παραγωγής if συνθήκες then ενέργειες Αν οι συνθήκες αληθεύουν τότε εκτέλεσε τις ενέργειες Δηλωτική Γνώση: Συστήματα Εξαγωγής Συμπερασμάτων if συνθήκες then συμπέρασμα Αν οι συνθήκες αληθεύουν τότε αληθεύει και το συμπέρασμα Συνθήκες (προϋποθέσεις, αριστερό μέρος κανόνα): ακολουθία από κατηγορήματα που συνδέονται με σύζευξη και/ή διάζευξη Ενέργειες (επακόλουθα, δεξιό μέρος κανόνα): σειρά από εντολές σε σύζευξη Συμπέρασμα (επακόλουθα, δεξιό μέρος κανόνα): ένα κατηγόρημα Ενεργοί κανόνες: on συμβάν if συνθήκες then ενέργειες 3
Παράδειγμα Αναπαράστασης Γνώσης με Κανόνες Τroubleshooting Σύμπτωμα Πιθανή Βλάβη Επιδιόρθωση Ο εκτυπωτής τυπώνει σωστά αλλά τα χρώματα δεν εκτυπώνονται σωστά. Έχει τελειώσει το έγχρωμο μελάνι Συνεπαγωγικός κανόνας IF ο εκτυπωτής τυπώνει σωστά AND τα χρώματα δεν εκτυπώνονται σωστά ΤΗΕΝ έχει τελειώσει το έγχρωμο μελάνι Κανόνας Παραγωγής IF ο εκτυπωτής τυπώνει σωστά AND τα χρώματα δεν εκτυπώνονται σωστά ΤΗΕΝ αλλάξτε την κεφαλή με το έγχρωμο μελάνι Ενεργός Κανόνας ΟΝ εκτύπωση IF τα χρώματα δεν εκτυπώνονται σωστά ΤΗΕΝ αλλάξτε την κεφαλή με το έγχρωμο μελάνι Αλλάξτε την κεφαλή με το έγχρωμο μελάνι. 4
Συστήματα Εξαγωγής Συμπερασμάτων Τα συστήματα εξαγωγής συμπερασμάτων (deduction systems) αποτελούνται από: τη βάση κανόνων (rule base) (γνώση) τον έλεγχο (control), δηλαδή τον τρόπο με τον οποίον θα εκτελεστούν οι κανόνες για να εξαχθούν τα συμπεράσματα (μηχανισμός εξαγωγής συμπερασμάτων) Ποιοι από τους κανόνες είναι υποψήφιοι για να επιλύσουν το πρόβλημα; Ποιος από αυτούς τελικά θα επιλεγεί; Τι θα γίνει με τους υπόλοιπους κανόνες; 5
Εξαγωγή Συμπερασμάτων Χρησιμοποιείται η συνεπαγωγική συλλογιστική (deductive reasoning) Υλοποιείται από την ακολουθία εκτέλεσης κανόνων (chaining) Ορθή ακολουθία εκτέλεσης (forward chaining): εξετάζονται πρώτα οι προϋποθέσεις στο αριστερό μέρος του κανόνα και αν είναι αληθείς τότε το συμπέρασμα στο δεξιό μέρος είναι αληθές. Εξετάζονται μόνο οι αληθείς τρόποι απόδειξης Μπορεί να συμπεράνει περισσότερα συμπεράσματα από τα επιθυμητά Ενδείκνυται όταν υπάρχουν λίγα δεδομένα και πολλά συμπεράσματα Ανάστροφη ακολουθία εκτέλεσης (backward chaining): ξεκινά από το δεξιό μέρος του κανόνα και προσπαθεί να βρει αν οι προϋποθέσεις είναι αληθείς. Εξετάζονται και μη-αληθείς τρόποι απόδειξης (Prolog) Ενδείκνυται όταν υπάρχουν λίγα συμπεράσματα και πολλά δεδομένα Ζητά και εξετάζει δεδομένα με λογική σειρά, και μόνο όσα χρειάζονται 6
Παράδειγμα Κανόνων 7
Γραφική Αναπαράσταση Κανόνων 8
Forward Chaining Αρχικά δεδομένα flies(petros) lays(petros, eggs) isa(petros, good flyer) Συμπεράσματα isa(petros, albatros) isa(petros, bird) 9
Backward Chaining Ερώτηση isa(jimmy, tiger) Απάντηση yes 10
Συστήματα Παραγωγής Τα συστήματα παραγωγής (production systems) αποτελούνται από: τη βάση κανόνων (rule base) τον χώρο εργασίας (working memory), που περιέχει γεγονότα: Αρχικά δεδομένα ή ενδιάμεσα συμπεράσματα Στοιχεία της μνήμης εργασίας τον μηχανισμό ελέγχου (control ή scheduler) και επίλυσης συγκρούσεων (conflict resolution), ο οποίος εκτελεί τους κανόνες με βάση μια στρατηγική επίλυσης συγκρούσεων 11
Επίλυση Συγκρούσεων Ένας κανόνας ενεργοποιείται (triggers) όταν ικανοποιούνται οι συνθήκες του. Ένας κανόνας πυροδοτείται (fires) όταν εκτελούνται οι ενέργειές του. Σύνολο σύγκρουσης (conflict set): το σύνολο των κανόνων που ενεργοποιούνται ταυτόχρονα Ο μηχανισμός ελέγχου καθορίζει ποιος κανόνας από το conflict set θα πυροδοτηθεί. Στρατηγικές επίλυσης συγκρούσεων: Τυχαία (random) Διάταξης (ordering) Επιλογή του πιο πρόσφατου (recency) Επιλογή του πιο ειδικού (specificity) Αποφυγή επανάληψης (refractoriness) Ανάλυση μέσων-σκοπών (means-ends analysis) Μετα-έλεχος (μετα-κανόνες) 12
CRS: Τυχαία Επιλέγεται ένας κανόνας στην τύχη Συνήθως δεν χρησιμοποιείται στα συστήματα παραγωγής Αν υπάρχει, δεν είναι πραγματικά τυχαία η επιλογή. Είναι απροσδιόριστη, εξαρτάται από τις λεπτομέρειες της υλοποίησης 13
CRS: Διάταξη Επιλέγεται ο κανόνας που είναι πρώτος στη σειρά ή έχει μεγαλύτερη προτεραιότητα βάσει κάποιου αριθμητικού μεγέθους 14
CRS: Αποφυγή Επανάληψης Δεν επιλέγεται ο ίδιος κανόνας με τα ίδια δεδομένα για δεύτερη συνεχόμενη φορά. Αποφεύγονται άσκοπες ή ατέρμονες επαναλήψεις Παράδειγμα: Υπάρχουν τα γεγονότα Α, Β και οι κανόνες 1: if A then C 2: if B then D Αν εκτελεστεί πρώτα ο 1, μετά θα εκτελεστεί υποχρεωτικά ο 2. Ο 1 δεν θα εκτελεστεί ξανά, αν και είναι ενεργοποιημένος 15
CRS: Επιλογή πρόσφατου Επιλέγεται ο κανόνας που ενεργοποιείται από τα πιο πρόσφατα δεδομένα που προστέθηκαν στον χώρο εργασίας. Ακολουθείται μια χρονικά συνεπής πορεία σκέψης, η οποία είναι επικεντρωμένη και δεν διασκορπάται σε διάφορα σημεία. Παράδειγμα: Υπάρχουν τα γεγονότα Α, Β και οι κανόνες 1: if A then C 2: if B then D 3: if C then E Έστω ότι εκτελείται πρώτα ο 1. Μετά θα εκτελεστεί υποχρεωτικά ο 3, και όχι ο 2, γιατί το C προστέθηκε πιο πρόσφατα στο χώρο εργασίας 16
CRS: Επιλογή ειδικού Επιλέγεται ο κανόνας που είναι πιο ειδικός από τους άλλους, δηλαδή η συνθήκη του εκφράζεται με τον πιο αναλυτικό τρόπο. Η λογική είναι ότι εξετάζονται πρώτα τα πιο συγκεκριμένα θέματα, τα οποία πιθανώς να οδηγήσουν σε λύση πιο γρήγορα. Παράδειγμα: Υπάρχουν τα γεγονότα Α, Β και C και οι κανόνες 1: if A and B and C then D 2: if A and B then E Θα εκτελεστεί πρώτα ο 1 γιατί έχει πιο πολλές συνθήκες από τον 2. 17
CRS: Ανάλυση μέσων-σκοπών Το συνολικό πρόβλημα επιμερίζεται σε απλούστερες διεργασίες. Κάθε διεργασία υλοποιείται από μία ομάδα κανόνων. Όταν εκτελείται κάποια διεργασία, τότε οι κανόνες άλλων ομάδων δεν προτιμούνται παρά μόνο αν δεν υπάρχουν ενεργοί κανόνες της ίδιας ομάδας. Η αποδεικτική διαδικασία επικεντρώνεται στους τρέχοντες στόχους της. Παράδειγμα: Υπάρχουν τα γεγονότα Α, Β, C, G1, G2 και οι κανόνες 1: if G1 and A and B and C then D 2: if G2 and A and B then E Τα G1, G2 υποδηλώνουν τη διεργασία στην οποία ανήκει ο κανόνας. Το G2 είναι πιο πρόσφατο από το G1. Θα εκτελεστεί πρώτα ο 2, γιατί ασχολείται με τον τρέχοντα στόχο. 18
CRS: Μετα-έλεγχος Τα συστήματα παραγωγής μπορούν να εφαρμόζουν περισσότερες από μία στρατηγικές επίλυσης συγκρούσεων. Σε αυτήν την περίπτωση πρέπει να υπάρχει προτεραιότητα μεταξύ τους. Ο μετα-έλεγχος καθορίζει ποια στρατηγική θα εφαρμοστεί, πού και πότε. Απλά συστήματα: σταθερή προτεραιότητα Χαμηλότερη τιμή στην τυχαία επιλογή Σύνθετα συστήματα: η προτεραιότητα αλλάζει δυναμικά Υπάρχουν μετα-κανόνες που καθορίζουν τη σειρά εκτέλεσης άλλων κανόνων. 19
Κύκλος Λειτουργίας Συστήματος Παραγωγής Στα συστήματα παραγωγής υπάρχει ορθή λειτουργία εκτέλεσης κανόνων (οι κανόνες αναφέρονται σε ενέργειες που εκτελούνται και όχι σε συμπεράσματα που πρέπει να αποδειχθούν) 20
Παράδειγμα: Κίνηση Ρομπότ (1/7) Ρομπότ κινείται σε χώρο με εμπόδια Στόχος: να αποφύγει τα εμπόδια και όταν βρει κάποιο αντικείμενο να στείλει ένα μήνυμα και να σταματήσει. 21
Παράδειγμα: Κίνηση Ρομπότ (2/7) Μνήμη εργασίας: Θέση ρομπότ: robot_at(x, Y) Κατεύθυνση κίνησης: direction(d), D {e, w, n, s} Θέση εμποδίων: obstacle_at(x, Y) Θέση αντικειμένων: object_at(x, Y) Επιλογή κατεύθυνσης: choice(d), D {e, w, n, s} Ενέργειες κανόνων: addwm: βάλε κάτι στη μνήμη εργασίας delwm: σβήσε κάτι από τη μνήμη εργασίας output: εκτύπωσε μήνυμα Αριθμητικές εκφράσεις 22
Παράδειγμα: Κίνηση Ρομπότ (3/7) 23
Παράδειγμα: Κίνηση Ρομπότ (4/7) Στρατηγικές Επίλυσης Συγκρούσεων Αποφυγή επανάληψης: βοηθάει να μην κολλήσει το ρομπότ σε εμπόδιο αν επιλέγει πάντα την κατεύθυνση προς την οποία βρίσκεται το εμπόδιο Επιλογή του πιο ειδικού: Δίνει προτεραιότητα στην αποφυγή εμποδίων (κανόνες 6-9) Τυχαία επιλογή: το ρομπότ επιλέγει τυχαία μία από τις 4 κατευθύνσεις 24
Παράδειγμα: Κίνηση Ρομπότ (5/7) 25
Παράδειγμα: Κίνηση Ρομπότ (6/7) 26
Παράδειγμα: Κίνηση Ρομπότ (7/7) 27
Ενδεικτική Βιβλιογραφία Κεφάλαιο 11 (ενότητες 11.1, 11.2 και 11.3 του βιβλίου «Τεχνητή Νοημοσύνη», Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας και Η. Σακελλαρίου. 28