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

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

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

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

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

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

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

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Πρόγραμμα Διαχείρισης καταστάσεων ανάγκης σε συγκρότημα κτηρίων

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

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

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

Εισαγωγή στο κέλυφος ανάπτυξης έµπειρων συστηµάτων του CLIPS

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

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

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

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

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

{ int a = 5; { int b = 7; a = b + 3;

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Θεωρία Πιθανοτήτων & Στατιστική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Αυτοματοποιημένη χαρτογραφία

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

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Εισαγωγή στη διδακτική των γλωσσών Ασκήσεις

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Γενικά Μαθηματικά Ι. Ενότητα 17: Αριθμητική Ολοκλήρωση, Υπολογισμός Μήκους Καμπύλης Λουκάς Βλάχος Τμήμα Φυσικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Λογιστικές Εφαρμογές Εργαστήριο

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

ΕΡΓΑΣΗΡΙΟ CLIPS ΑΣΚΗΣΗ 4

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Ιστορία της μετάφρασης

ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ(Visual Basic)

Δομές Δεδομένων Ενότητα 3

ΕΡΓΑΣΗΡΙΟ CLIPS ΑΣΚΗΣΗ 6

Υπολογιστικά Συστήματα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9α: Περιορισμοί (Constraints) Εναύσματα (Triggers) Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Θεωρία Πιθανοτήτων & Στατιστική

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 7β: SQL (Πρακτική Εξάσκηση 1) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Υπολογιστικά Συστήματα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Γενικά Μαθηματικά Ι. Ενότητα 1: Συναρτήσεις και Γραφικές Παραστάσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Υδραυλικά & Πνευματικά ΣΑΕ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 7α: SQL (NULL, Διαίρεση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

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

Εφαρμογές Πληροφορικής στην Τοπογραφία 13η Ενότητα - Προγραμματισμός στην AutoLISP

Αυτοματοποιημένη χαρτογραφία

Ανάλυση βάδισης. Ενότητα 2: Χωροχρονικές παράμετροι

Εισαγωγή στους Υπολογιστές

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 8: Επαλήθευση και Έλεγχος Αξιοπιστίας. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

Μηχανολογικό Σχέδιο Ι

Περιεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.

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

7 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

Αντικειμενοστρεφής Προγραμματισμός

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

8 η ΕΝΟΤΗΤΑ Συμβολοσειρές Δομές

Συστήματα Αυτομάτου Ελέγχου II

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 6: Συμπίεση Windows

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τεχνικό Τοπογραφικό Σχέδιο

Οικονομετρία. Συστήματα συναληθευουσών εξισώσεων Το πρόβλημα της ταυτοποίησης. Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης. Διδάσκων: Λαζαρίδης Παναγιώτης

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Πρακτικό Κομμάτι Μαθήματος Το Σύστημα Κανόνων CLIPS Νίκος Βασιλειάδης, Αναπλ. Καθηγητής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Το Σύστημα Κανόνων CLIPS

Ιστορικά Στοιχεία... C Language Integrated Production System Περιβάλλον προγραμματισμού με κανόνες, αντικείμενα και συναρτήσεις Αναπτύχθηκε από τη NASA το 1985 Υλοποιήθηκε με τη γλώσσα C Σύνταξη θυμίζει OPS5 Λειτουργικότητα όμοια με ART Τρέχει σε DOS, Windows, UNIX, VMS Υποστηρίζει τον αντικειμενοστραφή προγραμματισμό (COOL) 5

Δομή του CLIPS Λίστα Γεγονότων (facts list) (name george) Βάση κανόνων (rule/knowledge base) (defrule rain in case of rain (weather rain) => (assert (action take umbrella ))) Μηχανισμός Εξαγωγής Συμπερασμάτων (Inference Engine) Στρατηγικές Eπίλυσης Ανταγωνισμού (Conflict Resolution Strategies) 6

Εκτέλεση Προγράμματος Πρόγραμμα Ένα σύνολο από κανόνες και γεγονότα Εκτέλεση Ακολουθία από πυροδοτήσεις κανόνων των οποίων οι συνθήκες ικανοποιούνται Ικανοποίηση συνθηκών Ταυτοποίηση με γεγονότα Η εκτέλεση τερματίζεται όταν: Δεν υπάρχουν άλλοι κανόνες προς πυροδότηση Κληθεί συγκεκριμένη εντολή τερματισμού (halt) 7

Κύκλος Λειτουργίας CLIPS 1. Εύρεση όλων των κανόνων των οποίων οι συνθήκες ικανοποιούνται και προσθήκη τους στην ατζέντα (agenda - conflict set). 2. Αν η ατζέντα είναι κενή τότε η εκτέλεση τερματίζεται. 3. Επιλογή ενός κανόνα με βάση τη στρατηγική επίλυσης ανταγωνισμού (conflict resolution) και εκτέλεσή του. 4. Επιστροφή στο βήμα 1, εκτός αν υπάρχει εντολή τερματισμού (halt). 8

Σύνταξη του CLIPS Θυμίζει LISP Είναι Case-Sensitive Δομικά Στοιχεία: Σύμβολα, π.χ. you, why_this, good-morning Αλφαριθμητικά, π.χ. This is a String Αριθμοί, π.χ. 24,-45.6, 8e11 Σχόλια: ότι ακολουθεί τον χαρακτήρα ; Μεταβλητές Μονότιμες π.χ.?var,?x Πολλαπλών Τιμών π.χ. $?fruits, $?shopping 9

Μεταβλητές Εμφανίζονται Στις συνθήκες ενός κανόνα Στις ενέργειες ενός κανόνα Παίρνουν τιμές Κυρίως στις συνθήκες των κανόνων μέσω της διαδικασίας ταυτοποίησης Η ανάθεση τιμής σε μεταβλητή στις ενέργειες ενός κανόνα είναι δυνατή με τη χρήση κατάλληλης συνάρτησης, αλλά καλό είναι να αποφεύγεται. Η εμβέλεια των μεταβλητών περιορίζεται στον κανόνα που αυτές εμφανίζονται. 10

Περιβάλλον CLIPS 11

Γεγονότα Λίστες από σύμβολα που περικλείονται σε παρενθέσεις π.χ. (name John Papas) (shopping_list cheese wine bread book) (days Monday Friday Sunday) Το πρώτο στοιχείο της λίστας είναι ο τύπος του γεγονότος και τα υπόλοιπα είναι οι παράμετροι Κάθε γεγονός έχει μοναδικό αριθμό-ταυτότητα (fact index) που καθορίζεται αυτόματα Εμφάνιση γεγονότων CLIPS> (facts) f-0 (name John Papas) for a total of 1 fact. 12

Εισαγωγή Γεγονότων Με τη χρήση της εντολής assert (assert <fact>) CLIPS> (assert (gift book)) <Fact-0> CLIPS> (facts) f-0 (gift book) for a total of 1 fact. CLIPS> (assert (day Monday) (phone 891363)) CLIPS> (facts) f-0 (gift book) f-1 (day Monday) f-2 (phone 891363) for a total of 3 facts. 13

Εισαγωγή Γεγονότων Με τη χρήση της εντολής deffacts (μαζί με reset) (deffacts <name> comments (<fact1>) (<fact2>) (<fact n>) ) 14

Εντολή deffacts CLIPS> (deffacts colours this is to insert some colours (colour red)(colour blue)(colour green)) CLIPS> (reset) CLIPS> (facts) f-0 (initial-fact) f-1 (colour red) f-2 (colour blue) f-3 (colour green) for a total of 4 facts. CLIPS> (facts 2) f-2 (colour blue) f-3 (colour green) for a total of 2 facts. 15

Επιτρέπονται διπλά γεγονότα? CLIPS> (assert (name nick)) <Fact-0> CLIPS> (facts) f-0 (name nick) For a total of 1 facts. CLIPS> (assert (name nick)) FALSE CLIPS> (facts) f-0 (name nick) For a total of 1 facts. 16

Διαγραφή Γεγονότων Χρήση της εντολής (retract) (retract <fact-index>) CLIPS> (retract 1 3) CLIPS> (facts) f-0 (initial-fact) f-2 (colour blue) for a total of 2 facts. CLIPS> (retract 1) [PRNUTIL1] Unable to find fact-1 Χρήση της εντολής (clear) 17

Παρακολούθηση Προσθήκης και Διαγραφής Γεγονότων Χρήση της εντολής (watch facts) CLIPS> (watch facts) CLIPS> (assert (age 23)) ==> f-0 (age 23) <Fact-0> CLIPS> (reset) <== f-0 (age 23) ==> f-0 (initial-fact) CLIPS> (assert (mobile 0977233445)) ==> f-1 (mobile 0977233445) <Fact-1> CLIPS> (retract 1) <== f-1 (mobile 0977233445) CLIPS> (facts) f-0 (initial-fact) for a total of 1 fact. 18

Κανόνες Μορφή: if (Συνθήκες) then (Ενέργειες) Συνθήκες: Γεγονότα & Μεταβλητές Ενέργειες: Πράξεις (εντολές) μετά την ενεργοποίηση του κανόνα Σημασία: Εάν ικανοποιούνται οι συνθήκες (δηλαδή ταυτοποιούνται με τη λίστα γεγονότων), Τότε εκτέλεσε τις ενέργειες 19

Κανόνες Σύνταξη: (defrule <όνομα κανόνα> <σχόλια> (<συνθήκη 1>) (<συνθήκη n>) => (<εντολή 1>) (<εντολή m>) ) 20

Κανόνες Παράδειγμα (defrule soccer-time Warns for your soccer time (day sunday) (time afternoon) => (assert (go for soccer))) 21

Ταυτοποίηση Συνθήκη Γεγονός Αναθέσεις τιμών (day?d?t) (day fri 12)?d=fri?t=12 (list $?lst) (list a b c d) $?lst=(a b c d) (car?c model $?m license?l) (car 1 model BMW FIAT license wqw45)?c=1 $?m=(bmw FIAT)?l=wqw45 22

Ταυτοποίηση Συνθήκη Γεγονός (day?d?t) (days fri 12) (list a b $?lst) (list 1 2 c d e f) (car?c type $?m license?l) (car 1 2 type BMW FIAT license wqw45) 23

Παράδειγμα Επιλογής Δώρου Γεγονότα Κανόνες Επιλογής Δώρου ;;; FACTS (deffacts ini "initial facts" (age 19) (like music) (educated yes)) ;;; RULES FOR CHOOSING GIFTS (defrule cd "cd gift rule" (or (agegroup middle) (agegroup old)) (like music) => (assert (gift CD))) 24

Παράδειγμα Επιλογής Δώρου Κανόνες Επιλογής Δώρου (defrule toy "toy gift rule" (agegroup child) (price expensive) => (assert (gift toy))) (defrule clothes "clothes gift rule" (agegroup middle) (price expensive) => (assert (gift clothes))) 25

Παράδειγμα Επιλογής Δώρου Κανόνες Επιλογής Δώρου (defrule flowers "flowers gift rule" (agegroup old) (price expensive) => (assert (gift flowers))) (defrule book "book gift rule" (or (agegroup middle) (agegroup child)) (educated yes) => (assert (gift book))) 26

Παράδειγμα Επιλογής Δώρου Κανόνες Ηλικιακών Ομάδων (defrule child "child age rule" (age?x) => (if (<?x 15) then (assert (agegroup child)))) (defrule middle "middle age rule" (age?x) => (if (and (>?x 14) (<?x 35)) then (assert (agegroup middle)))) (defrule old "old age rule" (age?x) => (if (>?x 34) then (assert (agegroup old)))) 27

Παράδειγμα Επιλογής Δώρου CLIPS> (load "gift.clp") TRUE CLIPS> (reset) CLIPS> (facts) f-0 (initialfact) f-1 (age 19) f-2 (like music) f-3 (educated yes) For a total of 4 facts. CLIPS> (run) CLIPS> (facts) f-0 (initialfact) f-1 (age 19) f-2 (like music) f-3 (educated yes) f-4 (agegroup middle) f-5 (gift CD) f-6 (gift book) For a total of 7 facts. Τίτλος Μαθήματος Τμήμα 28

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τέλος Ενότητας Επεξεργασία: Εμμανουήλ Ρήγας Θεσσαλονίκη, 17/3/2014