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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

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

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

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

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

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

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

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

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

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

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

Διαφωτισμός και διαμόρφωση των πολιτικών ιδεολογιών στην Ελλάδα

Κανόνες & Μετά κανόνες

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

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

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

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

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

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

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Μοντελοποίηση Λογικών Κυκλωμάτων

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

Συστήματα Αυτομάτου Ελέγχου 1 Ενότητα # 5: Χρήση μετασχηματισμού Laplace για επίλυση ηλεκτρικών κυκλωμάτων Μέθοδοι εντάσεων βρόχων και τάσεων κόμβων

Ψηφιακή Επεξεργασία Σήματος

Εργαστήριο Χημείας Ενώσεων Συναρμογής

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

Αποτυπώσεις Μνημείων και Αρχαιολογικών Χώρων

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

Εκκλησιαστικό Δίκαιο

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

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

Αλγόριθμοι και Δομές Δεδομένων(Θ) Ευάγγελος Γ. Ούτσιος

τατιςτική ςτην Εκπαίδευςη II

Λογική. Δημήτρης Πλεξουσάκης. Ασκήσεις 2ου Φροντιστηρίου: Προτασιακός Λογισμός: Κανονικές Μορφές, Απλός Αλγόριθμος Μετατροπής σε CNF/DNF, Άρνηση

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

Εκκλησιαστικό Δίκαιο

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

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

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

ΘΕΩΡΙΑ ΠΑΙΓΝΙΩΝ. Ενότητα 7: Τέλεια ισορροπία Nash για υποπαίγνια. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

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

Διαχείριση Χρόνου & Δίκτυα στη Διοίκηση Έργων. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

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

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

Μικροβιολογία & Υγιεινή Τροφίμων

Εισαγωγή στη Διαδικασία Ιεραρχικής Ανάλυσης. Ρόκου Έλενα Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ.

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

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

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

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

ΘΕΩΡΙΑ ΠΑΙΓΝΙΩΝ. Ενότητα 9: Απείρως επαναλαμβανόμενα παίγνια. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

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

Στατιστική Ι. Ενότητα 7: Κανονική Κατανομή. Δρ. Γεώργιος Κοντέος Τμήμα Διοίκησης Επιχειρήσεων Γρεβενών

Διαφωτισμός και διαμόρφωση των πολιτικών ιδεολογιών στην Ελλάδα

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

Στατιστική Επιχειρήσεων Ι

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

Εργαστήριο Χωροταξικού Σχεδιασμού. 5 η Διάλεξη Β. Διάγνωση της υπάρχουσας κατάστασης Διάγνωση με τη μέθοδο SWOT Εισήγηση: Ελένη Ανδρικοπούλου

Παράκτια Τεχνικά Έργα

Πληροφορική. Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑΤΟΣ ΟΙΚΟΝΟΜΙΚΗ ΓΕΩΓΡΑΦΙΑ. Υπεύθυνη μαθήματος Αναστασία Στρατηγέα Αναπλ. Καθηγ. Ε.Μ.Π.

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

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

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

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

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

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

Συμπεριφορά Καταναλωτή

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Πιθανότητες. Συνδυαστική Ανάλυση Διδάσκων: Επίκουρος Καθηγητής Κωνσταντίνος Μπλέκας

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

Ψηφιακή Τεχνολογία σε Ακαδημαϊκό Περιβάλλον

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

Ψηφιακή Τεχνολογία σε Ακαδημαϊκό Περιβάλλον

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

Διαφωτισμός και διαμόρφωση των πολιτικών ιδεολογιών στην Ελλάδα

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

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

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

Μάρκετινγκ Αγροτικών Προϊόντων

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΚΑΛΑΘΟΣΦΑΙΡΙΣΗΣ Ι

Στατιστική Επιχειρήσεων

Transcript:

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

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

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Πρόγραμμα Κίνησης Robot

Κίνηση Ρομπότ σε χώρο με εμπόδια 10 9 8 7 6 5 4 3 2 1 R w n s e 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)... 1 2 3 4 5 6 7 8 9 10 5

Κίνηση Ρομπότ Υλοποίηση σε CLIPS του θεωρητικού παραδείγματος Διαφέρει σε μερικά σημεία Οι στρατηγικές επίλυσης συγκρούσεων του CLIPS δε συμπίπτουν. Στο CLIPS υπάρχουν 7 προκαθορισμένες στρατηγικές οι οποίες δεν μπορούν να συνυπάρχουν την ίδια χρονική στιγμή, Δεν μπορεί να υπάρξει ο συνδυασμός των στρατηγικών που απαιτεί το θεωρητικό παράδειγμα, Αποφυγή Επανάληψης, Επιλογή του πιο Ειδικού και Τυχαία Επιλογή. 6

Στρατηγικές Επίλυσης Δεν μπορούν να συνυπάρξουν οι στρατηγικές της επιλογής του πιο ειδικού με την τυχαία επιλογή. Η τυχαία επιλογή είναι απαραίτητη για την επιλογή τυχαίας κατεύθυνσης όταν το ρομπότ πέφτει πάνω σε εμπόδια Η επιλογή του πιο ειδικού χρειάζεται για να δώσει προτεραιότητα στους κανόνες αποφυγής εμποδίων έναντι αυτών της κίνησης. Υπάρχει εναλλακτική λύση μέσω της χρήσης salience Η στρατηγική που χρησιμοποιείται είναι η random. 7

Άλλες Διαφοροποιήσεις Ο κανόνας αρχικοποίησης που εισάγει τα δυναμικά γεγονότα Η χρήση του δεν είναι απαραίτητη Η αποφυγή της εξόδου του ρομπότ από το πλέγμα Ανάγεται σε αποφυγή εμποδίων Ο τερματισμός της εκτέλεσης όταν βρεθεί κάποιο αντικείμενο. 8

Στατικά Γεγονότα (deffacts static-facts ;;; Εμπόδια (obstacle_at 4 2) (obstacle_at 5 2) (obstacle_at 9 2) (obstacle_at 2 3) (obstacle_at 7 4) (obstacle_at 5 6) (obstacle_at 7 7) (obstacle_at 3 8) (obstacle_at 6 8) ;;; Δυνατές κατευθύνσεις κίνησης (choice w) (choice e) (choice n) (choice s) ;;; Αντικείμενα (object_at 7 2) (object_at 4 4) (object_at 8 5) (object_at 10 6) (object_at 4 7)) 9

Κανόνας αρχικοποίησης ;;; Αρχικά δυναμικά γεγονότα. Στρατηγική random. (defrule begin (initial-fact) (set-strategy random) (assert (robot_at 6 4)) (assert (direction e)) ) 10

Εντοπισμός Αντικειμένου ;;; Κανόνας εντοπισμού αντικειμένου και τερματισμού της εκτέλεσης (defrule detect_object (robot_at?x?y) (object_at?x?y) (printout t "object is found at position "?x "-"?y "!" crlf) (halt) ) 11

Μετακίνηση αριστερά-δεξιά ;;; Κανόνας μετακίνησης προς τα αριστερά (defrule move_west?f <- (robot_at?x?y) (direction w) (retract?f) (assert (robot_at (-?x 1)?y))) ;;; Κανόνας κίνησης προς τα δεξιά (defrule move_east?f <- (robot_at?x?y) (direction e) (retract?f) (assert (robot_at (+?x 1)?y))) 12

Μετακίνηση πάνω-κάτω ;;; Κανόνας κίνησης ρομπότ προς τα πάνω (defrule move_north?f <- (robot_at?x?y) (direction n) (retract?f) (assert (robot_at?x (+?y 1)))) ;;; Κανόνας κίνησης ρομπότ προς τα κάτω (defrule move_south?f <- (robot_at?x?y) (direction s) (retract?f) (assert (robot_at?x (-?y 1)))) 13

Αποφυγή Εμποδίου προς τα Κάτω ;;; Κανόνας αποφυγής εμποδίου κατά την κίνηση προς τα κάτω. Έχει μεγαλύτερη προτεραιότητα από τον αντίστοιχο κανόνα κίνησης. Εμπόδιο θεωρείται και η έξοδος από το πλέγμα (defrule avoid_obstacle_south (declare (salience 1)) (robot_at?x?y)?f <- (direction s) (or (obstacle_at?x =(-?y 1)) (test (=?y 1)) ) (choice?nd) (retract?f) (assert (direction?nd))) 14

Αποφυγή Εμποδίου προς τα Πάνω (defrule avoid_obstacle_north (declare (salience 1)) (robot_at?x?y)?f <- (direction n) (or (obstacle_at?x =(+?y 1)) (test (=?y 10)) ) (choice?nd) (retract?f) (assert (direction?nd)) ) 15

Αποφυγή Εμποδίου προς τα Δεξιά (defrule avoid_obstacle_east (declare (salience 1)) (robot_at?x?y)?f <- (direction e) (or (obstacle_at =(+?x 1)?y) (test (=?x 10)) ) (choice?nd) (retract?f) (assert (direction?nd)) ) 16

Αποφυγή Εμποδίου προς τα Αριστερά (defrule avoid_obstacle_west (declare (salience 1)) (robot_at?x?y)?f <- (direction w) (or (obstacle_at =(-?x 1)?y) (test (=?x 1)) ) (choice?nd) (retract?f) (assert (direction?nd)) ) 17

Εκτέλεση CLIPS> (load "robot.clp") TRUE CLIPS> (reset) CLIPS> (run) = f-19 (robot_at 6 4) = f-20 (direction e) <== f-20 (direction e) = f-21 (direction e) <== f-21 (direction e) = f-22 (direction w) <== f-19 (robot_at 6 4) = f-23 (robot_at 5 4) <== f-23 (robot_at 5 4) = f-24 (robot_at 4 4) object is found at position 4-4! CLIPS> (reset) CLIPS> (run) object is found at position 10-6! 18

Παραλλαγές (1) Κάθε αντικείμενο που εντοπίζεται, να αφαιρείται από την λίστα γεγονότων Έτσι ο τερματισμός θα γίνεται όταν συλλεχθούν όλα τα αντικείμενα Το πρόγραμμα πέφτει σε ατέρμονα βρόχο γιατί όταν το robot μεταβεί στην περιφέρεια του λαβυρίνθου περιφέρεται για πάντα εκεί 19

Παραλλαγή 1 - Εντοπισμός Αντικειμένου και Τερματισμός ; Κανόνας τερματισμού (defrule stop (not (object_at?x?y)) (printout t crlf "I have found all objects!" crlf) (halt)) ; Εντοπισμός αντικειμένου και αφαίρεσής του (defrule detect_object (robot_at?x?y)?f <- (object_at?x?y) (printout t "object is found at position "?x "-"?y "!" crlf) (retract?f)) 20

Κίνηση Ρομπότ σε χώρο με εμπόδια 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 R w n s e 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)... 21

Παραλλαγές (2) Να επιτρέπονται οι διαγώνιες κινήσεις (deffacts static-facts ;;; Δυνατές κατευθύνσεις κίνησης (choice w) (choice e) (choice n) (choice s) (choice nw) (choice ne) (choice sw) (choice se) ) 22

(defrule move_north_west?f <- (robot_at?x?y) (direction nw) (retract?f) (assert (robot_at (-?x 1) (+?y 1))) ) Παραλλαγές (2) Διαγώνιες κινήσεις 23

Παραλλαγές (2) Αποφυγή εμποδίων διαγώνια (defrule avoid_obstacle_north_west (declare (salience 1)) (robot_at?x?y)?f <- (direction nw) (or (obstacle_at =(-?x 1) =(+?y 1)) (test (or (=?x 1) (=?y 10))) ) (choice?nd) (retract?f) (assert (direction?nd)) ) 24

Παραλλαγές (2) Εκτέλεση CLIPS> (run) object is found at position 8-5! object is found at position 10-6! object is found at position 4-4! object is found at position 4-7! object is found at position 7-2! I have found all objects! 25

Παραλλαγές (3) Όταν η κίνηση γίνεται ευθεία (χωρίς εμπόδια) να υπάρχει κάποια πιθανότητα να στρίψει το ρομπότ (defrule random_direction_change (declare (salience (random -10 0))) (robot_at?x?y)?f <- (direction?d) (choice?nd) (retract?f) (assert (direction?nd)) ) 26

Παραλλαγές (3) Τυχαία Στροφή Οι κανόνες κίνησης έχουν salience 0 Ο κανόνας τυχαίας στροφής παίρνει at run-time τυχαίο salience στο διάστημα -10..0 Άρα έχει 1 στις 11 πιθανότητες να πάρει την τιμή 0 Τότε έχει ίδια πιθανότητα με τους κανόνες κίνησης να επιλεχθεί Η στρατηγική random θα επιλέξει αν θα στρίψει ή αν θα συνεχίσει ευθεία Πιθανότητα 3 στις 5 να στρίψει 1 κανόνας move_χχχ, 4 instances του κανόνα random_direction_change (1 προς την ίδια κατεύθυνση) Συνολική πιθανότητα στροφής 3/55=5,45% 27

Παραλλαγές (3) Εκτέλεση CLIPS> (run) object is found at position 7-2! object is found at position 4-7! object is found at position 4-4! object is found at position 10-6! object is found at position 8-5! I have found all objects! 28

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