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



Σχετικά έγγραφα
οµηµένες Αναπαραστάσεις Γνώσης

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

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

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

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

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

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

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

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Πρόγραμμα Κίνησης Robot. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής

ΚΕΦΑΛΑΙΟ 3 - Συστήματα Κανόνων

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

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

Πανεπιστήµιο Πατρών Τµήµα Μηχ/κών Η/Υ & Πληροφορικής ΜΠΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΥΦΥΗ ΣΥΣΤΗΜΑΤΑ ΑΠΟΦΑΣΕΩΝ. Ι.

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

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

CLIPS Σύντομη Εισαγωγή - Περιγραφή του Μηχανισμού Εκτέλεσης

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

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

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

Δομημένη Αναπαράσταση Γνώσης

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

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

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

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

Π2 Το Σύστηµα Κανόνων CLIPS

Χαρακτηριστικά, οµή και Λειτουργία Συστηµάτων Γνώσης

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Προτεραιότητα Κανόνων και Στρατηγικές Επίλυσης Συγκρούσεων

Πληροφορική 2. Τεχνητή νοημοσύνη

Έµπειρα Συστήµατα (Expert Systems)

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

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

A) Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-10 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι

του προγράμματος diagrama_rohs.zip )

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

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

ΔΙΑΛΕΞΗ ΙΙ ΕΝΑ ΒΗΜΑ ΠΑΡΑΠΑΝΩ ΜΕ SCRATCH ΕΠΙΛΕΓΩΝΤΑΣ & ΕΠΑΝΑΛΑΜΒΑΝΟΝΤΑΣ

Πληροφοριακά Συστήματα & Περιβάλλον

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

Ενδεικτικές Ερωτήσεις Θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας

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

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

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

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

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

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής

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

Ποιές εντολές του Scratch πρέπει να ξέρω;

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Μάθημα 8 ο Η εντολή ανδιαφορετικά

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

Ευφυή Συστήματα Υποστήριξης Αποφάσεων. Δημήτρης Αποστόλου

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Εντολές επιλογής Επαναλήψεις (if, switch, while)

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Μέρος Α Γνωριμία με το περιβάλλον προγραμματισμού του ρομπότ OTTO

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

Πρόβλημα 29 / σελίδα 28

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

for for for for( . */

Επαναληπτικές Διαδικασίες

Φύλλο εργασίας 6. Αποφυγή εμποδίων. Χωριστείτε σε ομάδες 2-3 ατόμων και απαντήστε στις ερωτήσεις του φύλλου εργασίας.

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

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

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

Δομημένος Προγραμματισμός

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Transcript:

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

Αναπαράσταση µε Κανόνες Πολύ πρακτικός τρόπος αναπαράστασης για την εξαγωγή συµπερασµάτων Αποτελούν τη βάση πολλών συστηµάτων γνώσης (knowledge systems) Γενικά Πλεονεκτήµατα: Κοντά στην ανθρώπινη γνώση Επάρκεια συνεπαγωγών Συγκεκριµένα Πλεονεκτήµατα: Modularity: Κάθε κανόνας ορίζει ένα µικρό, (σχεδόν) ανεξάρτητο τµήµα της γνώσης Incrementability: Μπορούν να προστεθούν νέοι κανόνες (σχεδόν) ανεξάρτητα από τους υπάρχοντες Modifiability: Οι υπάρχοντες κανόνες µπορούν να αλλάξουν (σχεδόν) ανεξάρτητα από τους υπόλοιπους Τεχνητή Νοηµοσύνη, B' Έκδοση 2

Είδη Κανόνων Μορφές Κανόνων Εκφράζει Επεξήγηση IF συνθήκες THEN συµπέρασµα Συνεπαγωγικός (Deductive) κανόνας ηλωτική γνώση Αν οι συνθήκες αληθεύουν τότε αληθεύει και το συµπέρασµα IF συνθήκες THEN ενέργειες Κανόνας Παραγωγής (Production) ιαδικαστική γνώση Αν οι συνθήκες αληθεύουν τότε εκτέλεσε τις ενέργειες ON συµβάν IF συνθήκες THEN ενέργειες Ενεργός (active) κανόνας ιαδικαστική γνώση Όταν συµβεί το γεγονός (συµβάν) Αν οι συνθήκες αληθεύουν τότε εκτέλεσε τις ενέργειες Συνθήκες (conditions): ακολουθία από κατηγορήµατα που συνδέονται µε λογικούς τελεστές AND, OR Προϋποθέσεις (premises) ή αριστερό µέρος του κανόνα (left hand side - LHS) Συµπέρασµα (conclusion): κατηγόρηµα Ενέργειες (actions): µία σειρά από εντολές που πρέπει να εκτελεστούν Eπακόλουθα (consequent) ή δεξιό µέρος του κανόνα (right hand side - S) Τεχνητή Νοηµοσύνη, B' Έκδοση 3

Συστήµατα Κανόνων Συστήµατα εξαγωγής συµπερασµάτων (deduction systems) π.χ. Prolog, Datalog Γνώση που δηλώνει µία αλήθεια για τον κόσµο, αλλά δεν αναφέρει ρητά πότε και πώς εφαρµόζεται Συστήµατα παραγωγής (production systems) π.χ. CLIPS, Flex Γνώση για το ποιες συγκεκριµένες ενέργειες πρέπει να εκτελεστούν δεδοµένης µιας κατάστασης Οι εκτελούµενες ενέργειες επιφέρουν µη-αναστρέψιµα αποτελέσµατα Ενεργά Συστήµατα ((re-)active systems, active database systems) π.χ. Oracle Triggers, αίµονες πλαισίων Flex Τεχνητή Νοηµοσύνη, B' Έκδοση 4

Ενεργοί Κανόνες Οι κανόνες παραγωγής δηλώνουν διαδικαστική γνώση Οι κανόνες εκτελούνται "όταν η συνθήκη είναι αληθής" εν είναι σαφώς ορισµένο πότε ακριβώς εκτελούνται οι ενέργειες Αν και εκφράζουν διαδικαστική γνώση, η συνθήκη τους περιέχει δηλωτική γνώση. Οι ενεργοί κανόνες (active rules) εκφράζουν καθαρά διαδικαστική γνώση Κανόνες οδηγούµενοι από συµβάντα ή γεγονότα (event-driven rules) Εκφράζουν µε σαφήνεια το πότε ακριβώς ενεργοποιούνται: Όταν συµβεί ένα συγκεκριµένο συµβάν Τότε και µόνο τότε εξετάζεται η συνθήκη τους και αν ικανοποιείται, τότε εκτελούνται οι ενέργειές τους. Παραδείγµατα συµβάντων: Μία συγκεκριµένη χρονική στιγµή του ρολογιού του συστήµατος Ένα πάτηµα του αριστερού πλήκτρου του ποντικού ή ενός πλήκτρου του πληκτρολογίου Η επιλογή κάποιου µενού από το χρήστη Η προσπάθεια προσπέλασης ή αλλαγής κάποιων "ευαίσθητων" δεδοµένων, κλπ. Τεχνητή Νοηµοσύνη, B' Έκδοση 5

Παράδειγµα Αναπαράστασης µε Κανόνες Σύµπτωµα Πιθανή Βλάβη Επιδιόρθωση Ο εκτυπωτής τυπώνει σωστά αλλά Έχει τελειώσει το Αλλάξτε την κεφαλή µε το τα χρώµατα δε τυπώνονται σωστά έγχρωµο µελάνι έγχρωµο µελάνι Συνεπαγωγικός Κανόνας IF ο εκτυπωτής τυπώνει σωστά AND τα χρώµατα δε τυπώνονται σωστά THEN έχει τελειώσει το έγχρωµο µελάνι Κανόνας Παραγωγής IF ο εκτυπωτής τυπώνει σωστά AND τα χρώµατα δε τυπώνονται σωστά THEN αλλάξτε την κεφαλή µε το έγχρωµο µελάνι Ενεργός Κανόνας ΟΝ εκτύπωση IF τα χρώµατα δε τυπώνονται σωστά THEN αλλάξτε την κεφαλή µε το έγχρωµο µελάνι Τεχνητή Νοηµοσύνη, B' Έκδοση 6

Συστήµατα Εξαγωγής Συµπερασµάτων Deduction Systems Βάση κανόνων (rule base): περιέχει ένα σύνολο από κανόνες Έλεγχος (control): καθορίζει τον τρόπο εκτέλεσης των κανόνων για την εξαγωγή συµπερασµάτων Ποιοι κανόνες είναι υποψήφιοι για να επιλύσουν το πρόβληµα; Με ποιόν τρόπο θα γίνει η επιλογή; Ποιος από τους κανόνες τελικά θα επιλεγεί; Τι θα γίνει µε τους υπόλοιπους κανόνες; Τεχνητή Νοηµοσύνη, B' Έκδοση 7

Εξαγωγή Συµπερασµάτων Χρησιµοποιείται η συνεπαγωγική συλλογιστική. Υλοποιείται από την ακολουθία εκτέλεσης κανόνων (chaining) Αλγόριθµος που συνδυάζει τα δεδοµένα, τους κανόνες και τα ενδιάµεσα συµπεράσµατα Ορθή ακολουθία εκτέλεσης (forward chaining) Εξετάζονται πρώτα αν οι προϋποθέσεις στο αριστερό µέρος του κανόνα είναι αληθείς έτσι ώστε το συµπέρασµα που αναφέρεται στο δεξιό µέρος να είναι αληθές. Εξετάζονται µόνο οι αληθείς τρόποι απόδειξης Μπορεί να συµπεράνει περισσότερα συµπεράσµατα από τα επιθυµητά Ενδείκνυται όταν υπάρχουν λίγα δεδοµένα που οδηγούν σε πολλά συµπεράσµατα Εφαρµογές: Συστήµατα ιάγνωσης, Συστήµατα Παραγωγής Ανάστροφη ακολουθία εκτέλεσης (backward chaining) Ξεκινά από το δεξιό µέρος του κανόνα και προσπαθεί να βρει αν οι προϋποθέσεις είναι αληθείς Εξετάζονται όλοι οι εναλλακτικοί τρόποι απόδειξης του συµπεράσµατος (ακόµα και οι µη-αληθείς) έως ότου αποδειχθεί η αλήθεια του συµπεράσµατος (π.χ. Prolog). Ενδείκνυται όταν υπάρχουν λίγα συµπεράσµατα και πολλά δεδοµένα Το σύστηµα ζητά τα δεδοµένα µε λογική σειρά και µόνο όσα χρειάζονται Εφαρµογές: Συστήµατα Ελέγχου Λειτουργίας (Monitoring) Τεχνητή Νοηµοσύνη, B' Έκδοση 8

Αναπαράσταση µε Κανόνες Παράδειγµα 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 has(animal,forward_pointing_eyes))) then isa(animal,carnivore). 5: if isa(animal,carnivore) and has(animal,tawny_colour) and has(animal,black_stripes) then isa(animal,tiger). 6: if isa(animaλ,bird) and not flies(animal) and swims(animal) then isa(animal,penguin). 7: if isa(animal,bird) and isa(animal,good_flyer) then isa(animal,albatros). 4: if isa(animal,carnivore) and has(animal,tawny_colour) and has(animal,dark_spots) then isa(animal,cheetah). Τεχνητή Νοηµοσύνη, B' Έκδοση 9

Γραφική Αναπαράσταση Κανόνων has(animal,hair) 1 isa(animal,mammal) gives(animal,milk) eats(animal,meat) has(animal,pointed_teeth) has(animal,black_stripes) isa(animal,carnivor) 3 has(animal,tawny_colour) 5 4 isa(animal,tiger) isa(animal,cheetah) has(animal,claws) has(animal,dark_spots) has(animal,forward_poited_eyes) has(animal,feathers) flies(animal) lays(animal,eggs) isa(animal,good_flyer) 2 isa(animal,bird) not flies(animal) 7 6 isa(animal,albartos) isa(animal,penguin) AND Σύζευξη ιάζευξη swims(animal) OR Μπορεί να χρησιµοποιηθεί ορθή ή ανάστροφη ακολουθία εκτέλεσης Τεχνητή Νοηµοσύνη, B' Έκδοση 10

Γραφική Αναπαράσταση Εξαγωγής Συµπεράσµατος Ορθή Ακολουθία Εκτέλεσης Αρχικά δεδοµένα: flies(petros), lays(petros, eggs), isa(petros, goodflyer). has(petros,hair) gives(petros,milk) 1 has(petros,feathers) isa(petros,good_flyer) 7 isa(petros,albatros) flies(petros) 2 isa(petros,bird) lays(petros,eggs) not flies(petros) 6 swims(petros) Παράγονται τα συµπέρασµατα: isa(petros, albatros) και isa(petros, bird) Τεχνητή Νοηµοσύνη, B' Έκδοση 11

Γραφική Αναπαράσταση Εξαγωγής Συµπεράσµατος Ανάστροφη Ακολουθία Εκτέλεσης Ερώτηση: isa(jimmy, tiger) has(jimmy,hair) gives(jimmy,milk) 1 isa(jimmy,mammal) eats(jimmy,meat) has(jimmy,black_stripes) 3 5 isa(jimmy,carnivor) has(jimmy,pointed_teeth) has(jimmy,claws) has(jimmy,tawny_colour) has(jimmy,forward_pointed_eyes) isa(jimmy,tiger)? Απάντηση: Yes Τεχνητή Νοηµοσύνη, B' Έκδοση 12

Συστήµατα Παραγωγής Χώρος Εργασίας Γεγονότα Βάση Κανόνων Κανόνας που πυροδοτείται Μηχανισµός Ελέγχου και Επίλυσης Συγκρούσεων Κανόνες που ενεργοποιούνται Βάση κανόνων: περιέχει τους κανόνες παραγωγής Χώρος εργασίας (working memory): περιέχει γεγονότα Αρχικά δεδοµένα (data) ή ενδιάµεσα συµπεράσµατα (partial conclusions) Στοιχεία της µνήµης εργασίας (working memory elements) Μηχανισµός ελέγχου (control ή scheduler) και επίλυσης συγκρούσεων (conflict resolution): εκτέλεση των κανόνων βάσει στρατηγικής επίλυσης συγκρούσεων (conflict resolution strategy) Τεχνητή Νοηµοσύνη, B' Έκδοση 13

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

Στρατηγικές Επίλυσης Συγκρούσεων (1/4) Τυχαία (random) Επιλέγεται ένας κανόνας στην τύχη. Συνήθως δεν υπάρχει στα συστήµατα κανόνων παραγωγής Aν υπάρχει δεν είναι πραγµατικά τυχαία η επιλογή Είναι απροσδιόριστη - εξαρτάται από τις λεπτοµέρειες της υλοποίησης ιάταξη (ordering) Επιλέγεται ο κανόνας που είναι πρώτος στη σειρά ή έχει µεγαλύτερη προτεραιότητα βάσει κάποιου αριθµητικού µεγέθους Αποφυγή επανάληψης (refractoriness) εν επιλέγεται ο ίδιος κανόνας µε τα ίδια δεδοµένα για δεύτερη συνεχόµενη φορά Αποφεύγονται άσκοπες ή ατέρµονες επαναλήψεις Παράδειγµα: Υπάρχουν τα γεγονότα Α, Β και οι κανόνες: 1: if Α then C 2: if Β then D Αν εκτελεστεί πρώτα ο 1, µετά θα εκτελεστεί ο 2 Ο 1 δε θα εκτελεστεί ξανά, αν και εξακολουθεί να είναι ενεργοποιηµένος Τεχνητή Νοηµοσύνη, B' Έκδοση 15

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

Στρατηγικές Επίλυσης Συγκρούσεων (3/4) Επιλογή του πιο ειδικού (specificity) Επιλέγεται ο κανόνας που είναι πιο ειδικός από τους άλλους Η συνθήκη του εκφράζεται µε αναλυτικότερο τρόπο Εξετάζονται πρώτα τα πιο συγκεκριµένα θέµατα τα οποία οδηγούν πιθανότατα σε λύση πιο γρήγορα και στη συνέχεια τα πιο γενικά. Παράδειγµα: Υπάρχουν τα γεγονότα Α, Β, C και οι κανόνες 1: if Α and Β and C then D 2: if Α and Β then Ε Θα εκτελεστεί πρώτα ο 1 γιατί έχει πιο πολλές συνθήκες από τον 2. Τεχνητή Νοηµοσύνη, B' Έκδοση 17

Στρατηγικές Επίλυσης Συγκρούσεων (4/4) Ανάλυση µέσων-σκοπών (means-ends analysis) Το συνολικό πρόβληµα επιµερίζεται σε απλούστερες διεργασίες (tasks) Kάθε διεργασία υλοποιείται από µία οµάδα κανόνων (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) Τεχνητή Νοηµοσύνη, B' Έκδοση 18

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

Κύκλος Λειτουργίας Συστήµατος Παραγωγής Έως ότου δε µπορεί να εκτελεστεί κανένας κανόνας επανέλαβε: 1. Βρες όλους του κανόνες που οπλίζουν και σχηµάτισε το σύνολο συγκρούσεων. 2. Σύµφωνα µε το µηχανισµό επίλυσης συγκρούσεων, διάλεξε ένα κανόνα. 3. Πυροδότησε τον κανόνα που διάλεξες στο βήµα 2. Στα συστήµατα παραγωγής υπάρχει ορθή ακολουθία εκτέλεσης κανόνων Εξαγωγή συµπερασµάτων: εν έχει νόηµα Οι κανόνες παραγωγής αναφέρονται σε ενέργειες που εκτελούνται και όχι σε συµπεράσµατα Η λειτουργία των κανόνων παραγωγής "παραπέµπει" στη συνεπαγωγική συλλογιστική Υιοθέτηση µιας ειδικής ενέργειας από κάτι που ισχύει γενικά Ταίριασµα των κανόνων που περιέχουν µεταβλητές µε δεδοµένα στη µνήµη εργασίας που περιέχουν σταθερές Τεχνητή Νοηµοσύνη, B' Έκδοση 20

Παράδειγµα Κίνησης Ροµπότ Ροµπότ κινείται σε χώρο µε εµπόδια Στόχος: Να αποφύγει τα εµπόδια και όταν βρει κάποιο αντικείµενο, να στείλει ένα µήνυµα και να σταµατήσει robot_at(6,4) direction(e) choice(w) choice(s) choice(n) choice(e) obstacle_at(7,4) obstacle_at(6,8) obstacle_at(7,7) object_at(4,7) Τεχνητή Νοηµοσύνη, B' Έκδοση 21

Μνήµη εργασίας: θέση ροµπότ: 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: εκτύπωσε ένα µήνυµα στην οθόνη αριθµητικές εκφράσεις. Τεχνητή Νοηµοσύνη, B' Έκδοση 22

Κανόνες Κίνησης Ροµπότ 1: detect_object: if robot_at(x,y) and object_at(x,y) then output( object is found ). MOVE 2: move_west: if robot_at(x,y) and direction(w) then delwm(robot_at(x,y)) and NX=X-1 and addwm(robot_at(nx,y)). 3: move_east: if robot_at(x,y) and direction(e) then delwm(robot_at(x,y)) and NX=X+1 and addwm(robot_at(nx,y)). 4: move_north: if robot_at(x,y) and direction(n) then delwm(robot_at(x,y)) and NY=Y+1 and addwm(robot_at(x,ny)). 5: move_south: if robot_at(x,y) and direction(s) Change then delwm(robot_at(x,y)) and NY=Y-1 and addwm(robot_at(x,ny)). Direction 6: avoid_obstacle_south: if robot_at(x,y) and NY=Y-1 and obstacle_at(x,ny) and direction(s) and choice(nd) then delwm(direction(s)) and addwm(direction(nd)). 7: avoid_obstacle_west: if robot_at(x,y) and NX=X-1 and obstacle_at(nx,y) and direction(w) and choice(nd) then delwm(direction(w)) and addwm(direction(nd)). 8: avoid_obstacle_north: if robot_at(x,y) and NY=Y+1 and obstacle_at(x,ny) and direction(n) and choice(nd) then delwm(direction(n)) and addwm(direction(nd)). 9: avoid_obstacle_east: if robot_at(x,y) and NX=X+1 and obstacle_at(nx,y) and direction(e) and choice(nd) then delwm(direction(e)) and addwm(direction(nd)). Τεχνητή Νοηµοσύνη, B' Έκδοση 23

Στρατηγική Επίλυσης Κίνησης Ροµπότ Αποφυγή Επανάληψης (ΑΕ) Βοηθά να µην κολλήσει το ροµπότ σε εµπόδιο, επιλέγοντας συνεχώς την κατεύθυνση προς την οποία βρίσκεται το εµπόδιο Επιλογή του πιο Ειδικού (ΕΕ) ίνει προτεραιότητα στην αποφυγή εµποδίων (κανόνες 6-9) Τυχαία Επιλογή (ΤΕ) Το ροµπότ επιλέγει τυχαία µία από τις 4 κατευθύνσεις Τεχνητή Νοηµοσύνη, B' Έκδοση 24

Κύκλος Μνήµη Εργασίας 1 robot_at(6,4) direction(e) choice(w) choice(n) choice(s) choice(e) obstacle_at(7,4) obstacle_at(6,8) object_at(4,7) 2 robot_at(6,4) direction(n) 3 robot_at(6,5) direction(n) Παράδειγµα Κίνησης Ροµπότ Παρακολούθηση Εκτέλεσης (1/3) Σύνολο Συγκρούσεων {3, 9 (ND=w), 9 (ND=n), 9 (ND=s), 9 (ND=e)} Στρατηγική ΕΕ ΤΕ Κανόνες που οπλίζουν απο τα δεδοµένα της Μνήµης Εργασίας. O (3) από το direction(e) και ο (9) από το direction(e) και από το obstacle(7,4) Κανόνας που πυροδοτεί 9:avoid_obstacle_east (ND=n) {4} - 4: move_north {4} - 4: move_north Επιλέγεται ένας (9), µε choice(n) Τεχνητή Νοηµοσύνη, B' Έκδοση 25

Κύκλος Μνήµη Εργασίας 4 robot_at(6,6) direction(n) 5 robot_at(6,7) direction(n) obstacle_at(6,8) 6 robot_at(6,7) direction(n) obstacle_at(6,8) 7 robot_at(6,7) direction(e) obstacle_at(7,7) Παράδειγµα Κίνησης Ροµπότ Παρακολούθηση Εκτέλεσης (2/3) Σύνολο Συγκρούσεων Στρατηγική Κανόνας που πυροδοτεί {4} - 4: move_north {4, 8 (ND=w), 8 (ND=n), 8 (ND=s), 8 (ND=e)} {4, 8 (ND=w), 8 (ND=n), 8 (ND=s), 8 (ND=e)} {3, 9 (ND=w), 9 (ND=n), 9 (ND=s), 9 (ND=e)} EE TE AE EE TE EE TE 8:avoid_obstacle_north (ND=n) 8:avoid_obstacle_north (ND=e) 9: avoid_obstacle_east (ND=w) Τεχνητή Νοηµοσύνη, B' Έκδοση 26

Παράδειγµα Κίνησης Ροµπότ Παρακολούθηση Εκτέλεσης (3/3) Κύκλος Μνήµη Εργασίας 8 robot_at(6,7) direction(w) 9 robot_at(5,7) direction(w) 10 robot_at(4,7) direction(w) object_at(4,7) Σύνολο Συγκρούσεων Στρατηγική Κανόνας που πυροδοτεί {2} - 2: move_west {2} - 2: move_west {1,2} EE TE 1: detect_object Τεχνητή Νοηµοσύνη, B' Έκδοση 27