Rule Based systems Συστήματα Βασισμένα σε κανόνες
Τμήματα ενός έμπειρου συστήματος βασισμένου σε κανόνες Βάση Γνώσης (Κανόνες) Μηχανισμός Εξαγωγής Συμπερασμάτων Χώρος Εργασίας (Γεγονότα) Μηχανισμός Επεξήγησης Μηχανισμός Απόκτησης Γνώσης Διεπαφή με το Χρήστη
Συστήματα βασισμένα σε κανόνες Ένα σύστημα (παραγωγής) βασισμένο σε κανόνες αποτελείται από Ένα σύνολο κανόνων/ βάση γνώσης Έναν διερμηνέα κανόνων / μηχανή εξαγωγής συμπερασμάτων Που αποφασίζει πότε θα εφαρμόσει και ποίους κανόνες Το χώρο εργασίας Που περιέχει τα δεδομένα, τους στόχους, τα μερικά συμπεράσματα που δημιουργούνται κατά την εκτέλεση του προγράμματος. Οι κανόνες (διαδικαστικοί) έχουν τη γενική μορφή Εάν <Συνθήκες> Τότε <ενέργειες>. Οι συνθήκες συνήθως απεικονίζονται με διανύσματα Αντικείμενο (Object), Ιδιότητα (Attribute), Τιμή (Value) OAV.
Παράδειγμα κανόνων XCON/R1για τη διαμόρφωση υπολογιστικών συστημάτων DEC VAX ΕΑΝ The current context is assigning devices to Unibus modules and There is an unassigned dual-port disk drive and The type of controller it requires is known and There are two such controllers, neither of which has any devices assigned to it, and The number of devices that these controllers can support is known ΤΟΤΕ Assign the disk drive to each of the controllers, and Note that the two controllers have been associated and that each supports one drive.
Ο χώρος εργασίας Περιέχει τα δεδομένα σε μορφή διανυσμάτων OAV. Αυτά τα δεδομένα χρησιμοποιούνται από τον διερμηνέα για να ενεργοποιήσει τους κανόνες Η παρουσία ή απουσία δεδομένων στο χώρο εργασίας θα οπλίσει τους κανόνες που ικανοποιούν τις συνθήκες στο Αριστερό τμήμα των κανόνων Ενέργειες όπως οι ισχυρισμοί καθορίζουν το χώρο εργασίας.
Ατζέντα Η ατζέντα είναι μια λίστα προτεραιότητας από κανόνες που δημιουργεί ο μηχανισμός εξαγωγής συμπερασμάτων, για εκείνους τους κανόνες των οποίων οι συνθήκες ικανοποιούνται από γεγονότα ή αντικείμενα στο χώρο εργασίας
Ικανοποίηση συνθηκών Σε κάθε κύκλο ο διερμηνέας ελέγχει ποιών κανόνων οι συνθήκες ικανοποιούνται Εάν μια συνθήκη δεν έχει μεταβλητές θα ικανοποιείται μόνο από μια ιδανική έκφραση στο χώρο εργασίας Εάν μια συνθήκη περιέχει μεταβλητές τότε αυτή θα ικανοποιείται εάν υπάρχει μια έκφραση στο χώρο εργασίας με μια ιδιότητα και αντίστοιχη τιμή που ικανοποιεί απόλυτα αυτή τη συνθήκη έτσι ώστε να είναι ανάλογη με τον τρόπο με τον οποίο άλλες συνθήκες στον ίδιο κανόνα ικανοποιούνται Μετά από μια ταυτοποίηση συνθηκών οι μεταβλητές παίρνουν σταθερές τιμές.
Παράδειγμα (patient (name?name) (age?age) (organism?org)) Ικανοποιεί τη συνθήκη (με συνθήκες) (patient (name Jones) (age 40) (organism organism-1))
Έλεγχος συμπεριφοράς Ο διερμηνέας / μηχανισμός εξαγωγής συμπερασμάτων για τα συστήματα που είναι βασισμένα σε κανόνες μπορεί να περιγραφεί ως κύκλος λειτουργίας. 1. Βρες όλους τους κανόνες που οπλίζουν και σχημάτισε το σύνολο συγκρούσεων 2. Εάν μια ομάδα από κανόνες μπορούν να πυροδοτηθούν, διάλεξε έναν σύμφωνα με το μηχανισμό επίλυσης συγκρούσεων 3. Εφάρμοσε τον κανόνα (αυτό μπορεί να απαιτεί την πρόσθεση ή αφαίρεση στοιχείων). Μετά πήγαινε στο βήμα 1
Έλεγχος συμπεριφοράς Έναρξη, αρχικοποίηση γεγονότων στην CLIPS Το σύστημα σταματά όταν δεν υπάρχουν άλλοι κανόνες ή εάν του έχει ζητηθεί να σταματήσει με εντολή halt ή exit. Ντετερμινιστικοί κανόνες Μόνο ένας κανόνας επιτρέπεται να πυροδοτείται κάθε φορά Μη ντετερμινιστικοί κανόνες Μπορούν να εφαρμόζονται περισσότεροι από ένας κανόνες. Γενικός Έλεγχος Το πεδίο του ελέγχου είναι ανεξάρτητο Τοπικός έλεγχος Ο έλεγχος γίνεται χρησιμοποιώντας ειδικούς κανόνες που αφορούν το πεδίο της γνώσης.
Προτεραιότητα Συνήθως η αντζέντα συμπεριφέρεται σαν στοίβα. Η πιο πρόσφατη τοποθετημένη ενεργοποίηση στην αντζέντα είναι ο πρώτος κανόνας που πυροδοτείται Η προτεραιότητα επιτρέπει οι πιο σημαντικοί κανόνες να βρίσκονται στην κορυφή της αντζέντας ανεξάρτητα από το πότε έχουν προστεθεί Αυτόματα η CLIPS υποθέτει ότι ο κανόνας έχει προτεραιότητα 0.
Προτεραιότητα Ανίχνευση Απομόνωση Προτεραιότητα Επανάκαμψη
Διάκριση μεταξύ της γνώσης των εμπειρογνωμόνων και της γνώσης ελέγχου Εμπειρική γνώση Κανόνες Ανίχνευσης Κανόνες Επανάκαμψης Κανόνες Απομόνωσης Γνώση Ελέγχου Προτεραιότητα Κανόνες Ελέγχου
Τι θα πρέπει ένα πρόγραμμα να έχει? Εισαγωγή και σχόλια Κανόνες για Βάση γνώσης Να θέτει ερωτήσεις Να ελέγχει τη γνώση Να τυπώνει Πρότυπα &/ή εισαγωγή γεγονότων Γεγονότα ελέγχου Γεγονότα για έλεγχο λαθών
Ανάλυση συγκρούσεων Τα συστήματα παραγωγής έχουν ένα βήμα λήψης απόφασης μεταξύ της ικανοποίησης των συνθηκών και της πυροδότησης του κανόνα Όλοι οι κανόνες των οποίων ικανοποιούνται οι συνθήκες τους τίθενται στην ατζέντα στην CLIPS. Κατά την ανάλυση συγκρούσεων επιλέγεται ποιος κανόνας θα πυροδοτηθεί από την ατζέντα Το σύνολο κανόνων που υπάρχει στην ατζέντα ονομάζεται σύνολο συγκρούσεων
Στρατηγικές επίλυσης συγκρούσεων Αποφυγή Επανάληψης (Refractoriness) Ένας κανόνας δεν επιτρέπεται να πυροδοτηθεί για περισσότερες από μια φορά για ίδια δεδομένα Ο πιο πρόσφατος (Recency) Επιλέγεται ο κανόνας που οπλίζει τα πιο πρόσφατα δεδομένα που προστέθηκαν στο χώρο εργασίας Πιο ειδικός (Specificity) Επιλέγονται οι κανόνες με περισσότερες συνθήκες σε σχέση με τους γενικούς κανόνες οι οποίοι είναι πιο εύκολο να ικανοποιηθούν
Στρατηγικές επίλυσης συγκρούσεων στην CLIPS CLIPS χρησιμοποιεί αποφυγή Επανάληψης, τον πιο πρόσφατο και τον πιο ειδικό Χρησιμοποιεί ακόμη Στρατηγική depth Στρατηγική breadth Στρατηγική simplicity Στρατηγική complexity Στρατηγική LEX Στρατηγική MEA CLIPS χρησιμοποιεί προτεραιότητα για να ταξινομεί τους κανόνες Στη συνέχεια χρησιμοποιεί άλλες στρατηγικές για να ταξινομεί κανόνες με ισοδύναμες προτεραιότητες
Depth & Breadth Στρατηγικές Depth Στρατηγική Είναι η προεπιλεγμένη στρατηγική στην CLIPS Είναι στρατηγική recency. Οι κανόνες ενεργοποιούνται από τα νεότερα δεδομένα σε σχέση με αυτούς που ενεργοποιούνται από παλαιότερα δεδομένα Εισάγει τη σε βάθος ανάλυση του χώρου καταστάσεων του προβλήματος Breadth Strategy Στρατηγική recency Οι κανόνες που ενεργοποιούνται από νέα δεδομένα τίθενται πιο κάτω από άλλους κανόνες με την ίδια προτεραιότητα Εισάγει την αναζήτηση των δυνατοτήτων (breadth) του χώρου καταστάσεων του προβλήματος
Simplicity & Complexity Στρατηγικές Simplicity Στρατηγική Μια στρατηγική specificity. Οι κανόνες που ενεργοποιούνται από νέα δεδομένα τίθενται πιο πάνω από άλλους κανόνες με την ίδια ή υψηλότερη specificity. Στρατηγική Complexity Μια στρατηγική specificity. Οι κανόνες που ενεργοποιούνται από νέα δεδομένα παίρνουν υψηλότερη προτεραιότητα από εκείνους με την ίδια ή χαμηλότερη specificity. Η Specificity μετριέται από το πόσα τεστ (έλεγχοι) χρειάζονται να πραγματοποιηθούν από τις συνθήκες ενός κανόνα
LEX Στρατηγική LEX προέρχεται από το LEXicographic Στην LEX συνθήκη η διάταξη δεν παίζει κανένα ρόλο. IF E1 AND E2 THEN H σημαίνει το ίδιο με IF E2 AND E1 THEN H LEX εφαρμόζει αποφυγή επανάληψης για να αφαιρεί όλους τους κανόνες που ενεργοποιήθηκαν προηγουμένως. Στη συνέχεια οι κανόνες με την ίδια προτεραιότητα κατατάσσονται ανάλογα με τα πιο πρόσφατα δεδομένα. Εάν δύο κανόνες έχουν την ίδια recency, τότε ενεργοποιείται ο πιο ειδικός κανόνας.
MEA Στρατηγική MEA - Means-Ends Analysis Η βασική ιδέα της ΜΕΑ είναι να μειώνει συνεχώς τις διαφορές μεταξύ της αρχικής κατάστασης και τελικής (επιτυχούς) κατάστασης. Η πρώτη συνθήκη είναι σημαντική. Ενεργεί για να ελέγχει τη διαδικασία ταυτοποίησης. IF E1 AND E2 THEN H δεν θεωρείται η ίδια με IF E2 AND E1 THEN H MEA εφαρμόζει applies αποφυγή επανάληψης (refraction) & στη συνέχεια ταξινομεί τους κανόνες σε μια ακολουθία προτεραιότητας ανάλογα με τα πιο πρόσφατα ταυτοποιημένα δεδομένα στην πρώτη συνθήκη ενός κανόνα
Διάταξη με την οποία εισάγονται οι κανόνες Μπορεί να είναι ένας παράγοντας για την επίλυση των συγκρούσεων. Εάν συνεχίζει να υφίσταται μια σύγκρουση μετά την εφαρμογή των προηγούμενων στρατηγικών επίλυσης, τότε μπορεί να χρησιμοποιηθεί η διάταξη εισαγωγής των κανόνων.. Μια τυχαία ή αυθαίρετη επιλογή?
Ορθή & Ανάστροφη ακολουθία εκτέλεσης Οι κανόνες παραγωγής μπορούν να εκτελεστούν ορθά ή αντίστροφα. Μπορούμε να οδηγήσουμε σε ορθή ακολουθία εκτέλεσης τους κανόνες που γνωρίζουμε ότι ισχύουν οι συνθήκες και οδηγούν σε ενεργοποίηση του κανόνα Μπορούμε να οδηγήσουμε σε ανάστροφη ακολουθία εκτέλεσης από μια κατάσταση στόχο προς τις απαραίτητες συνθήκες για την υλοποίησή του Η ορθή ακολουθία εκτέλεσης είναι μια bottom-up συλλογιστική από τα γεγονότα προς τους στόχους. Η ανάστροφη ακολουθία εκτέλεσης είναι μια top-down συλλογιστική από τους στόχους προς τα γεγονότα.
Ακολουθία εκτέλεσης & CLIPS CLIPS χρησιμοποιούν ορθή ακολουθία εκτέλεσης. Στην CLIPS η αριστερή πλευρά του κανόνα ταυτοποιούνται σε σχέση με το χώρο εργασία Στη συνέχεια οι ενέργειες που περιγράφονται στο δεξιό μέρος των κανόνων, που πυροδοτούνται μετά την επίλυση των συγκρούσεων, υλοποιούνται
Ακολουθία εκτέλεσης & MYCIN Το MYCIN χρησιμοποιεί κυρίως ανάστροφη ακολουθία εκτέλεσης Στο MYCIN είναι το Δεξιό μέρος του κανόνα που καθοδηγεί τη συλλογιστική. Εάν θέλουμε να προσδιορίσουμε έναν μικροοργανισμό, βρίσκουμε όλους τους απαραίτητους κανόνες, οι οποίοι συμπεραίνουν για τον μικροοργανισμό στο Δεξιό τους μέρος και στη συνέχεια ελέγχουμε εκείνους τους κανόνες οι οποιοι έχουν συνθήκες που ικανοποιούνται από τα δεδομένα