Έμπειρο Σύστημα Διάγνωσης Βλαβών Η/Υ για Εκπαιδευτικούς Σκοπούς Εισαγωγή Το κείμενο της παρουσίασης εμφανίζεται στο παράθυρο των σημειώσεων (notes)
Rule-based Programming Εισαγωγή
Έμπειρο σύστημα: Λογισμικό το οποίο χρησιμοποιεί ανθρώπινη γνώση για την επίλυση προβλημάτων που κανονικά θα απαιτούσαν ανθρώπινη νοημοσύνη.
Παρουσίαση της εφαρμογής. Διατύπωση των κανόνων. Μέθοδος ενεργοποίησης των κανόνων. Πλεονεκτήματα της χρήσης κανόνων. Ενσωμάτωση κανόνων σε εφαρμογές. Πρόγραμμα
Διατύπωση των κανόνων Κωδικοποίηση της γνώσης του ειδικού
Διατύπωση των κανόνων (defrule FAULTY_PSU)
Διατύπωση των κανόνων (defrule FAULTY_PSU (("Ενεργοποιείται ο Η/Υ;") answer οχι))
Διατύπωση των κανόνων (defrule FAULTY_PSU (("Ενεργοποιείται ο Η/Υ;") answer οχι) (("Είναι στην πρίζα;") answer ναι))
Διατύπωση των κανόνων (defrule FAULTY_PSU (("Ενεργοποιείται ο Η/Υ;") answer οχι) (("Είναι στην πρίζα;") answer ναι) (("Ο διακόπτης του τροφοδοτικού είναι στο ON;") answer ναι))
Διατύπωση των κανόνων (defrule FAULTY_PSU (("Ενεργοποιείται ο Η/Υ;") answer οχι) (("Είναι στην πρίζα;") answer ναι) (("Ο διακόπτης του τροφοδοτικού είναι στο ON;") answer ναι) => (printout "Το τροφοδοτικό είναι ελαττωματικό."))
Διατύπωση των κανόνων (defrule FAULTY_PSU (("Ενεργοποιείται ο Η/Υ;") answer οχι) (("Είναι στην πρίζα;") answer ναι) (("Ο διακόπτης του τροφοδοτικού είναι στο ON;") answer ναι) => (printout "Το τροφοδοτικό είναι ελαττωματικό."))
Backward Chaining (defrule FAULTY_PSU (("Ενεργοποιείται ο Η/Υ;") answer οχι) (("Είναι στην πρίζα;") answer ναι) (("Ο διακόπτης του τροφοδοτικού είναι στο ON;") answer ναι) => (printout "Το τροφοδοτικό είναι ελαττωματικό.")) (defrule FAULTY_RAM (("Ενεργοποιείται ο Η/Υ;") answer ναι) (("Φορτώνει το λειτουργικό σύστημα;") answer ναι) (("Είναι σταθερή η λειτουργία του Η/Υ;") answer οχι) => (printout "Η μνήμη RAM είναι ελαττωματική."))
Backward Chaining (defrule FAULTY_PSU (("Ενεργοποιείται ο Η/Υ;") answer οχι) (("Είναι στην πρίζα;") answer ναι) (("Ο διακόπτης του τροφοδοτικού είναι στο ON;") answer ναι) => (printout "Το τροφοδοτικό είναι ελαττωματικό.")) (defrule FAULTY_RAM (("Ενεργοποιείται ο Η/Υ;") answer ναι) (("Φορτώνει το λειτουργικό σύστημα;") answer ναι) (("Είναι σταθερή η λειτουργία του Η/Υ;") answer οχι) => (printout "Η μνήμη RAM είναι ελαττωματική."))
Backward Chaining (defrule FAULTY_PSU (("Ενεργοποιείται ο Η/Υ;") answer οχι) (("Είναι στην πρίζα;") answer ναι) (("Ο διακόπτης του τροφοδοτικού είναι στο ON;") answer ναι) => (printout "Το τροφοδοτικό είναι ελαττωματικό.")) (defrule FAULTY_RAM (("Ενεργοποιείται ο Η/Υ;") answer ναι) (("Φορτώνει το λειτουργικό σύστημα;") answer ναι) (("Είναι σταθερή η λειτουργία του Η/Υ;") answer οχι) => (printout "Η μνήμη RAM είναι ελαττωματική."))
Διαχωρισμός της γνώσης από τον κώδικα. Εύκολη διαχείριση της βάσης κανόνων. Εκτέλεση ανεξάρτητη από τη σειρά σύνταξης. Αντικατάσταση υπεράριθμων/φωλιασμένων δηλώσεων if…then…else. Πλεονεκτήματα της χρήσης κανόνων
CLIPS για C. Microsoft Business Rules Framework για.NET. Jess για Java. Drools για Java. LISA για Common LISP. Μηχανές κανόνων
oslab.teipir.gr/~vkanidis/expertsystemoslab.teipir.gr/~vkanidis/expertsystem Το Έμπειρο Σύστημα στο web
Σας Ευχαριστώ.