Επίλυση συµβολικών προβληµάτων σχεδιασµού ενεργειών

Σχετικά έγγραφα
Εξελιγµένες Τεχνικές Σχεδιασµού

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

Σχεδιασµός και δράση στον πραγµατικό κόσµο

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

ΠΛΗ 405 Τεχνητή Νοηµοσύνη Ε ανάληψη. δοµή δεδοµένων για κατασκευή ευρετικών συναρτήσεων Ο αλγόριθµος GraphPlan

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Τελικές εξετάσεις 24 Ιουνίου 2004

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης

Σχεδιασµός. Planning. Το πρόβληµα τουσχεδιασµού

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Σχεδιασµός Ενεργειών

Επίλυση Προβλημάτων 1

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

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Σχεδιασµός Ενεργειών

Αλγόριθµοι και Πολυπλοκότητα

Τεχνητή Νοημοσύνη. 8η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

Ε ανάληψη. Χρόνος και όροι. Ιεραρχία. ΠΛΗ 405 Τεχνητή Νοηµοσύνη χρονοπρογραµµατισµός εργασιών. ιεραρχικά δίκτυα εργασιών

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

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

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

1 Συνοπτική ϑεωρία. 1.1 Νόµοι του Προτασιακού Λογισµού. p p p. p p. ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

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

Πληρότητα της μεθόδου επίλυσης

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

ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης. Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα?

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

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

Τεχνητή Νοημοσύνη. 7η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

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

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

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

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

Διαχρονικές δομές δεδομένων

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

3 Αναδροµή και Επαγωγή

Σχεδιασµός Ενεργειών

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

Πρόβληµα ικανοποίησης περιορισµών

Αλγόριθµοι και Πολυπλοκότητα

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

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

Λογικοί πράκτορες. Πράκτορες βασισµένοι στη γνώση

HY Λογική Διδάσκων: Δ. Πλεξουσάκης

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 2: Δένδρο αναζήτησης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

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

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

Επίλυση προβληµάτων. Αλγόριθµοι Αναζήτησης

Αδιέξοδα (Deadlocks)

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

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

4.3 Ορθότητα και Πληρότητα

Επεξεργασία Ερωτήσεων

Αλγόριθµοι Εκτίµησης Καθυστέρησης και

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

Το εσωτερικό ενός Σ Β

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

4.3. Γραµµικοί ταξινοµητές

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

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

3 η Θεµατική Ενότητα : Απλοποίηση Συναρτήσεων Boole. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS

Επίλυση προβληµάτων µε αναζήτηση

Γενικευµένη Simplex Γενικευµένη Simplex

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 8-1

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

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

/ / 38

Ασκήσεις μελέτης της 8 ης διάλεξης

o AND o IF o SUMPRODUCT

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 8

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Χαρακτηριστικά αναδροµής

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

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Αριθµητική Γραµµική ΑλγεβραΚεφάλαιο 4. Αριθµητικός Υπολογισµός Ιδιοτιµών 2 Απριλίου και2015 Ιδιοδιανυσµάτων 1 / 50

Transcript:

Επίλυση συµβολικών προβληµάτων σχεδιασµού ενεργειών Αναζήτηση στο χώρο των καταστάσεων Αναζήτηση στο χώρο των πλάνων! Γράφοι σχεδιασµού Προτασιακή λογική Γράφοι σχεδιασµού (1/2) " Ένας γράφος σχεδιασµού είναι ένας κατευθυνόµενος γράφος που αποτελείται από εναλλαγή επιπέδων γεγονότων (επίπεδα F i ) και ενεργειών (επίπεδα A i ). F 0 F i A i F i+1 " Όλα τα γεγονότα και ενέργειες του γράφου σχεδιασµού είναι συγκεκριµένα. Γιάννης Ρεφανίδης 77 1

Γράφοι σχεδιασµού (2/2) " Το επίπεδο F 0 περιλαµβάνει τα γεγονότα της αρχικής κατάστασης. " Το επίπεδο Α 0 περιλαµβάνει τις ενέργειες που είναι εκτελέσιµες στην αρχική κατάσταση. " Κάθε επίπεδο ενεργειών αντιστοιχεί σε ένα βήµα (step) ταυτόχρονης εκτέλεσης µιας ή περισσοτέρων ενεργειών. " Το επίπεδο F i περιλαµβάνει εκείνα τα γεγονότα, για τα οποία υπάρχουν ενδείξεις ότι µπορεί να είναι επιτεύξιµα ύστερα από i(ή λιγότερα) βήµατα. # Εάν ένα γεγονός δεν ανήκει στο επίπεδο F i, τότε είναι σίγουρο ότι αυτό δεν είναι επιτεύξιµο σε i βήµατα. " Το επίπεδο A i περιλαµβάνει τις συγκεκριµένες εκείνες ενέργειες, για τις οποίες υπάρχουν ενδείξεις ότι µπορεί να είναι εκτελέσιµες ύστερα από i ή λιγότερα βήµατα. # Εάν µια ενέργεια δεν ανήκει στο επίπεδο A i, τότε είναι σίγουρο ότι αυτη δεν είναι εκτελέσιµη σε i βήµατα. Γιάννης Ρεφανίδης 78 Σχέσεις αµοιβαίου αποκλεισµού (1/2) " Σε κάθε επίπεδο του γράφου σχεδιασµού ορίζεται ένα σύνολο σχέσεων αµοιβαίου αποκλεισµού µεταξύ των γεγονότων ή των ενεργειών του επιπέδου: # ύο γεγονότα του επιπέδου F i που είναι αµοιβαία αποκλειόµενα, δεν µπορεί να ισχύουν ταυτόχρονα ύστερα από i (ή λιγότερα) βήµατα. # ύο ενέργειες του επιπέδου A i που είναι αµοιβαία αποκλειόµενες, δεν µπορούν να εκτελεστούν ταυτόχρονα ύστερα από i (ή λιγότερα) βήµατα. Γιάννης Ρεφανίδης 79 2

Σχέσεις αµοιβαίου αποκλεισµού (2/2) " ύο ενέργειες a 1 και a 2 στο επίπεδο Α i είναι αµοιβαία αποκλειόµενες, εάν: # Υπάρχουν γεγονότα που η µία προσθέτει και η άλλη διαγράφει (αντιφατικά αποτελέσµατα - inconsistent effects), δηλαδή Add(a 1 ) Del(a 2 ) Add(a 2 ) Del(a 1 ). # Υπάρχει γεγονός που είναι προϋπόθεση της µιας και διαγράφεται από την άλλη (παρέµβαση interference), δηλαδή Pre(a 1 ) Del(a 2 ) Pre(a 2 ) Del(a 1 ). # Υπάρχουν δύο γεγονότα p και q, τέτοια ώστε p Pre(a 1 ) και q Pre(a 1 ), τα οποία είναι αµοιβαία αποκλειόµενα στο επίπεδο F i (ανταγωνιστικές απαιτήσεις competing needs). " ύο γεγονότα στο επίπεδο F i είναι αµοιβαία αποκλειόµενα, εάν όλες οι ενέργειες στο επίπεδο i-1 που επιτυγχάνουν αυτά τα γεγονότα είναι µεταξύ τους αµοιβαίως αποκλειόµενες (ασύµβατη υποστήριξη inconsistent support). Γιάννης Ρεφανίδης 80 Κατασκευή του γράφου σχεδιασµού " Το επίπεδο F 0 κατασκευάζεται από τα γεγονότα της αρχικής κατάστασης, χωρίς καµία σχέση αµοιβαίου αποκλεισµού µεταξύ τους. " Έστω ότι έχουµε το επίπεδο F i. Τότε: # Στο επίπεδο A i τοποθετούνται όλες εκείνες οι ενέργειες, των οποίων όλες οι προϋποθέσεις εµφανίζονται στο F i χωρίς σχέσεις αµοιβαίου αποκλεισµού. " Για κάθε γεγονός του επιπέδου F i προστίθεται στο A i µια ειδική ενέργεια, η οποία ονοµάζεται noop (no-operator), και η οποία απλά το αντιγράφει στο επίπεδο F i+1. # Υπολογίζονται οι σχέσεις αµοιβαίου αποκλεισµού µεταξύ των ενεργειών του A i. # Στο επίπεδο F i+1 τοποθετούνται όλα τα γεγονότα των λιστών προσθήκης των ενεργειών του A i. # Υπολογίζονται οι σχέσεις αµοιβαίου αποκλεισµού µεταξύ των γεγονότων του F i+1. Γιάννης Ρεφανίδης 81 3

Παράδειγµα Β Α Αρχική κατάσταση Α Β Τελική κατάσταση F 0 A 0 F 1 A 1 F 2 clear(b) clear(b) clear(b) on(b,a) move-b-from-a-to-table on(b,a) move-b-from-table-to-a on(a,table) on(b,a) move-b-from-a-to-table on(a,table) clear(a) on(a,table) clear(a) move-a-from-table-to-b on(b,table) on(b,table) on(a,b) Γιάννης Ρεφανίδης 82 Εξαγωγή λύσης " Η προσπάθεια εξαγωγής λύσης ξεκινά µόλις σε κάποιο επίπεδο γεγονότων F i εµφανιστούν όλα τα γεγονότα των στόχων, χωρίς καµιά σχέση αµοιβαίου αποκλεισµού µεταξύ τους. " Ο αλγόριθµος εξαγωγής λύσης λειτουργεί ως εξής: # Για τα γεγονότα του επιπέδου F i προσπαθεί να βρεί ένα σύνολο µη αµοιβαίως αποκλειόµενων ενεργειών στο επίπεδο A i-1, οι οποίες να τα πετυχαίνουν. # Αναδροµικά εκτελεί την ίδια εργασία για τις προϋποθέσεις των ενεργειών που επέλεξε στο επίπεδο A i-1, µέχρι να φθάσει στο επίπεδο F 0. " Εάν δεν καταφέρει να βρει λύση, επεκτείνει το γράφο κατά ένα ακόµη επίπεδο και εκτελεί την ίδια εργασία. " Η προσπάθεια εύρεσης λύσης τερµατίζει εάν ανιχνευθούν δύο πανοµοιότυπα διαδοχικά επίπεδα γεγονότων. " Το πλάνο που παράγεται είναι γενικά µη-γραµµικό. Γιάννης Ρεφανίδης 83 4

Γράφοι σχεδιασµού και ευρετικές συναρτήσεις " Οι γράφοι σχεδιασµού, όταν προτάθηκαν (σύστηµα GRAPHPLAN, 1995), έδωσαν µεγάλη ώθηση στην απόδοση των παλαιοτέρων συστηµάτων σχεδιασµού ενεργειών (µε αναζήτηση στο χώρο των καταστάσεων ή των πλάνων), αυξάνοντάς την κατά αρκετές τάξεις µεγέθους. " Τα τελευταία χρόνια οι γράφοι σχεδιασµού χρησιµοποιήθηκαν και για την εξαγωγή ευρετικών µηχανισµών/συναρτήσεων, οι οποίες χρησιµοποιούνται από αλγορίθµους αναζήτησης στο χώρο των καταστάσεων και το χώρο των πλάνων. " Το αποτέλεσµα ήταν η υπερκέραση της απόδοσης του συστήµατος GRAPHPLAN από απλούς σχεδιαστές χώρου καταστάσεων/πλάνων κατά πολλές τάξεις µεγέθους. Γιάννης Ρεφανίδης 84 Επίλυση συµβολικών προβληµάτων σχεδιασµού ενεργειών Αναζήτηση στο χώρο των καταστάσεων Αναζήτηση στο χώρο των πλάνων Γράφοι σχεδιασµού! Προτασιακή λογική 5

Γενικά " Ένα συµβολικό πρόβληµα σχεδιασµού µπορεί να µετασχηµατιστεί σε πρόβληµα ικανοποίησης προτάσεων και στη συνέχεια να εφαρµοστούν συστηµατικοί ή στοχαστικοί αλγόριθµοι για την επίλυσή του. Πρόβληµα Κωδικοποίηση Επίλυση Αποκωδικοποίηση " Οι απλές προτάσεις του ισοδύναµου προβλήµατος είναι της µορφής f i και a j, δηλώνοντας αντίστοιχα ότι το γεγονός f ισχύει τη χρονική στιγµή i και η ενέργεια a υπάρχει στο πλάνο-λύση και εκτελείται τη χρονική στιγµή j. Γιάννης Ρεφανίδης 86 Μετασχηµατισµός (1/2) " Ο µετασχηµατισµός βασίζεται στις παρακάτω παρατηρήσεις (χρησιµοποιούµε το παραπάνω παράδειγµα µε τους δύο κύβους): # Η σύζευξη των γεγονότων της αρχικής κατάστασης πρέπει να αληθεύει. " on(b,a) 0 on(a,table) 0 clear(b) 0 # Η σύζευξη των γεγονότων των στόχων πρέπει επίσης να αληθεύει. Για να γράψουµε τη σχετική πρόταση κάνουµε µια υπόθεση σχετικά µε το πόσα βήµατα θα περιέχει το πλάνο λύση. Έστω ότι υποθέτουµε 2 βήµατα. " on(a,b) 2 on(b,table) 2 clear(a) 2 # Οι ενέργειες συνεπάγονται τις προϋποθέσεις τους και τα αποτελέσµατά τους. Για παράδειγµα: " move-a-from-table-to-b 1 on(a,table) 1 clear(a) 1 clear(b) 1 on(a,b) 2 clear(a) 2 on(a,table) 2 clear(b) 2 Β Α Αρχική κατάσταση Α Β Τελική κατάσταση Γιάννης Ρεφανίδης 87 6

Μετασχηµατισµός (2/2) " (συνέχεια...) # Ενέργειες ενός επιπέδου που είναι αµοιβαία αποκλειόµενες µεταξύ τους δεν µπορούν να εκτελεστούν ταυτόχρονα. " move-a-from-table-to-b 1 move-β-from-table-to-α 1 # Κάθε γεγονός ενός επιπέδου (εκτός του επιπέδου 0) συνεπάγεται τη διάζευξη όλων των ενεργειών του προηγούµενου επιπέδου που το επιτυγχάνουν (συµπεριλαµβανοµένων των ενεργειών διατήρησης). " on(b,a) 2 move-b-from-table-to-a 1 (noop on(b,a)) 1 Β Α Αρχική κατάσταση Α Β Τελική κατάσταση Γιάννης Ρεφανίδης 88 Επίλυση προβληµάτων ικανοποίησης προτάσεων " Ηλύση ενός προβλήµατος ικανοποίησης προτάσεων είναι η ανάθεση µιας τιµής (αληθές ή ψευδές) σε όλες τις απλές προτάσεις που εµφανίζονται στο πρόβληµα, έτσι ώστε όλες οι προτάσεις του µετασχηµατισµένου προβλήµατος να αληθεύουν. " ύο κατηγορίες µεθόδων επίλυσης: # Συστηµατικές (αλγόριθµος DPLL) # Στοχαστικές (αλγόριθµοι GSAT, WALKSAT) Γιάννης Ρεφανίδης 89 7

Σχεδιασµός και εκτέλεση πλάνων στον πραγµατικό κόσµο Οι διαφάνειες αυτής της ενότητας βασίζονται στο βιβλίο Artificial Intelligence: A modern approach 2η έκδοση, των Stuart Russel και Peter Norvig.! Πόροι Ιεραρχικός σχεδιασµός Μη-αιτιοκρατικά πεδία Σχεδιασµός ενεργειών υπό συνθήκη Παρακολούθηση εκτέλεσης Συνεχής σχεδιασµός ενεργειών Ενέργειες µε διάρκεια " Στην αναπαράσταση STRIPS δεν γνωρίζουµε τη διάρκεια κάθε ενέργειας και άρα δεν µπορούµε να συλλογιστούµε για το πότε θα ξεκινήσει η εκτέλεσή της. " Σε πραγµατικά προβλήµατα ωστόσο µας ενδιαφέρει να προσδιορίσουµε ένα χρονοδιάγραµµα το οποίο να ελαχιστοποιεί το συνολικό χρόνο που απαιτείται για την ολοκλήρωση όλων των ενεργειών, ικανοποιώντας ταυτόχρονα τους περιορισµούς ως προς τους πόρους. " Ο πιο απλός τρόπος εισαγωγής του χρόνου σε ένα πρόβληµα σχεδιασµού είναι η προσθήκη ενός πεδίου διάρκειας στον ορισµό κάθε ενέργειας. " Στην απλούστερη περίπτωση το πεδίο αυτό θα έχει µια σταθερή τιµή. Γιάννης Ρεφανίδης 91 8

Παράδειγµα (1/2) " Έστω ένα απλοποιηµένο πρόβληµα συναρµολόγησης της µηχανής ενός αυτοκινήτου, το οποίο απαιτεί πρώτα να µπει η µηχανή, µετά οι τροχοί και τέλος να γίνει ο έλεγχος. " Έχουµε τρεις ενέργειες: # Όνοµα ενέργειας: AddEngine(e, c, d) " Προϋποθέσεις: Engine(e, c, d ), Chassis(c) " Αποτελέσµατα: EngineIn(c) " ιάρκεια: Duration(d) # Όνοµα ενέργειας: AddWheels(w, c, d) " Προϋποθέσεις: Wheels(w, c, d), Chassis(c), EngineIn(c) " Αποτελέσµατα: WheelsOn(c) " ιάρκεια: Duration(d) Γιάννης Ρεφανίδης 92 Παράδειγµα (2/2) " (συνέχεια...) # Όνοµα ενέργειας: Inspect(c) " Προϋποθέσεις: EngineIn(c), WheelsOn(c), Chassis(c) " Αποτελέσµατα: Done(c) " ιάρκεια: Duration(10min) " Αρχική κατάσταση: # Chassis(C1), Chassis(C2), Engine(E1, C1, 30min), Engine(E2, C2, 60min), Wheels(W1, C1, 30min), Wheels(W2, C2, 15min) " Στόχοι: # Done(C1), Done(C2) Γιάννης Ρεφανίδης 93 9

Μέθοδος του κρίσιµου µονοπατιού (1/2) " Το πρόβληµα µε τις µηχανές µπορεί να λυθεί πολύ εύκολα από έναν σχεδιαστή χώρου πλάνων. " Ορίζουµε κρίσιµο µονοπάτι σε ένα µερικώς διατεταγµένο πλάνο τη γραµµικά διατεταγµένη ακολουθία ενεργειών που έχει τη µεγαλύτερη διάρκεια. # Οι ενέργειες του κρίσιµου µονοπατιού καθορίζουν την ελάχιστη διάρκεια εκτέλεσης του πλάνου. " Για κάθε µία από τις ενέργειες που δεν ανήκουν στο κρίσιµο µονοπάτι µπορούν να οριστούν ο νωρίτερος και ο αργότερος χρόνος έναρξης εκτέλεσης (ES και LS αντίστοιχα). " Η ποσότητα LS(a)-ES(a) ονοµάζεται περιθώριο (slack) της ενέργειας a. Γιάννης Ρεφανίδης 94 Μέθοδος του κρίσιµου µονοπατιού (2/2) " Για τις ενέργειες εκείνες που δεν είναι διατεταγµένες µετά από άλλες ενέργειες ορίζουµε ES(a)=0. " Για τις ενέργειες εκείνες που δεν είναι διατεταγµένες πριν από άλλες ορίζουµε LS(a)=διάρκεια κρίσιµου µονοπατιού duration(a). " Στη συνέχεια υπολογίζουµε τα ES και LS όλων των ενεργειών από τις ακόλουθες σχέσεις: # ES(b)=max a<b [ ES(a)+duration(a) ] # LS(a)=min a<b [ LS(b)-duration(a) ] " Η πολυπλοκότητα του αλγορίθµου κρίσιµου µονοπατιού είναι Ο(Νb), όπου Ν το πλήθος των ενεργειών στο µη-γραµµικό πλάνο και b το µέσο πλήθος των σχέσεων διατάξης στις οποίες συµµετέχει κάθε ενέργεια. Γιάννης Ρεφανίδης 95 10

[0,15] [30,45] [60,75] [0,0] AddEngine1 30 AddWheels1 30 Inspect1 10 [85,85] Start Finish [0,0] [60,60] [75,75] Μη γραµµικό πλάνο AddEngine2 60 AddWheels2 15 Inspect2 10 Χρονοδιάγραµµα AddWheels1 AddEngine1 Inspect1 AddEngine2 Inspect2 AddWheels2 0 10 20 30 40 50 60 70 80 90 Γιάννης Ρεφανίδης 96 Πόροι " Ο χρόνος είναι µια ειδική περίπτωση πόρου, ο οποίος µπορεί να διαµοιράζεται µεταξύ όλων των ενεργειών ταυτόχρονα. " Στα πραγµατικά προβλήµατα υπάρχουν και άλλοι πόροι που δεν είναι διαµοιράσιµοι, " Στο παράδειγµα µε τις µηχανές, ας υποθέσουµε ότι υπάρχει ένα µόνο βαρούλκο για την ανύψωση της µηχανής, ένας σταθµός τοποθέτησης τροχών και δύο ελεγκτές. # Όλοι οι πόροι του προβλήµατος είναι επαναχρησιµοποιήσιµοι (reusable resources). " Σε αυτή την περίπτωση, ο ελάχιστος χρόνος εκτέλεσης του πλάνου γίνεται 115 λεπτά. Γιάννης Ρεφανίδης 97 11

Παράδειγµα " Οι ενέργειες του πλάνου έχουν οµαδοποιηθεί σε γραµµές, ανάλογα µε το ποιον πόρο χρησιµοποιούν. EngineHoists(1) AddEngine1 AddEngine2 WheelStations(1) AddWheels1 AddWheels2 Inspectors(2) Inspect1 Inspect2 0 10 20 30 40 50 60 70 80 90 100 110 120 " Ο συνολικός χρόνος εκτέλεσης θα ήταν µεγαλύτερος, εάν επιλέγαµε να τοποθετήσουµε τη µηχανή πρώτα στο δεύτερο όχηµα. Γιάννης Ρεφανίδης 98 Πολυπλοκότητα " Η ύπαρξη επαναχρησιµοποιήσιµων πόρων αυξάνει κατακόρυφα την πολυπλοκότητα εύρεσης του καλύτερου δυνατού χρονοδιαγράµµατος, το οποίο πλέον είναι NP-hard. " Χρησιµοποιούνται πλέον ευρετικές µέθοδοι. Γιάννης Ρεφανίδης 99 12

Σχεδιασµός και Χρονοπρογραµµατισµός " Τόσο στην πρώτη περίπτωση όπου λάβαµε υπόψη µόνο τη διάρκεια, όσο και στη δυσκολότερη µε τους πόρους, θεωρήσαµε ότι έχουµε ένα δεδοµένο µη-γραµµικό πλάνο και αποµένει να βρούµε την τοποθέτηση των ενεργειών στο χρόνο. " Υιοθετήσαµε δηλαδή το µοντέλο «πρώτα σχεδιασµός και µετά χρονοπρογραµµατισµός». " Ακόµη και αν, στη φάση του χρονοπρογραµµατισµού, βρούµε το καλύτερο χρονοδιάγραµµα, δεν µπορούµε να γνωρίζουµε εάν δεν θα βρίσκαµε ακόµη καλύτερο χρονοδιάγραµµα εάν είχαµε αρχικά βρει διαφορετικό µη-γραµµικό πλάνο. " Μια διαφορετική προσέγγιση είναι η ενοποίηση του σχεδισµού µε τον χρονοπρογραµµατισµό ενεργειών. # Ήδη υπάρχουν θετικά αποτελέσµατα σε µια τέτοια ενοποίηση µε χρήση σχεδιασµού στο χώρο των πλάνων. Γιάννης Ρεφανίδης 100 Σχεδιασµός και εκτέλεση πλάνων στον πραγµατικό κόσµο Πόροι! Ιεραρχικός σχεδιασµός Μη-αιτιοκρατικά πεδία Σχεδιασµός ενεργειών υπό συνθήκη Παρακολούθηση εκτέλεσης Συνεχής σχεδιασµός ενεργειών 13

Αναπαράσταση ενεργειών (1/4) " Οιεραρχικός σχεδιασµός χρησιµοποιεί γενικές περιγραφές ενεργειών/εργασιών, που µπορούν να αναλυθούν σε µερικώς διατεταγµένα πλάνα πιο συγκεκριµένων ενεργειών. " Για παράδειγµα, έστω το πρόβληµα του χτισίµατος ενός σπιτιού. " Η γενική εργασία BuildHouse µπορεί να αναλυθεί σε επιµέρους εργασίες όπως έκδοση άδειας (GetPermit), συµφωνία µε εργολάγο (HireBuilder), κτίσιµο (Construction) και πληρωµή του εργολάβου (PayBuilder). Γιάννης Ρεφανίδης 102 Αναπαράσταση ενεργειών (2/4) " Ηανάλυση της ενέργειας BuildHouse. Land Build House House decomposes to Start Land Money Get Permit Hire Builder Construction Pay Builder House Money L Finish Γιάννης Ρεφανίδης 103 14

Αναπαράσταση ενεργειών (3/4) " Οι επιµέρους ενέργειες του πλάνου στο οποίο αναλύεται η BuildHouse έχουν προϋποθέσεις εκτέλεσης. " Κάποιες από αυτές ικανοποιούνται από άλλες ενέργειες του πλάνου, κάποιες άλλες όµως όχι. " Οι προϋποθέσεις που δεν ικανοποιούνται από ενέργειες του πλάνου είναι εξωτερικές προϋποθέσεις της ενέργειας BuildHouse. # Στο παράδειγµα είναι οι Land και Money. " Παρόµοια, τα αποτελέσµατα των ενεργειών του πλάνου τα οποία παραµένουν και µετά την εκτέλεσή του ονοµάζονται εξωτερικά αποτελέσµατα. " Οι εξωτερικές προϋποθέσεις και τα εξωτερικά αποτελέσµατα του πλάνου µπορεί να θεωρηθούν ότι είναι οι προϋποθέσεις και τα αποτελέσµατα της γενικής ενέργειας BuildHouse. Γιάννης Ρεφανίδης 104 Αναπαράσταση ενεργειών (4/4) " Μια γενική ενέργεια, όπως η BuildHouse, µπορεί να έχει περισσότερα από ένα πλάνα µε τα οποία υλοποείται. " Κάθε ένα από τα πλάνα αυτά µπορεί να έχει διαφορετικές εξωτερικές προϋποθέσεις και αποτελέσµατα. " Σε αυτή την περίπτωση ορίζουµε ως εξωτερικές προϋποθέσεις και αποτελέσµατα της γενικής ενέργειας την τοµή των εξωτερικών προϋποθέσεων και αποτελεσµάτων αντίστοιχα όλων των πλάνων µε τα οποία µπορεί να υλοποιηθεί η γενική ενέργεια. " Ένα υποπλάνο µπορεί και αυτό να περιλαµβάνει γενικές ενέργειες. " Το σύνολο όλων των γενικών ενεργειών και των υλοποιήσεων του αποτελεί τη βιβλιοθήκη πλάνων. Γιάννης Ρεφανίδης 105 15

Αλγόριθµος σχεδιασµού (1/3) " Οιεραρχικός σχεδιασµός µπορεί να θεωρηθεί ως γενίκευση του σχεδιασµού ενεργειών στο χώρο των πλάνων. " Ο απλός αλγόριθµος POP επιλέγει σε κάθε επανάληψη έναν στόχο (προϋπόθεση ενέργειας) και προσπαθεί να τον ικανοποιήσει χρησιµοποιώντας/εισάγοντας άλλες ενέργειες ή από τα γεγονότα της αρχικής κατάστασης. " Ένας ιεραρχικός αλγόριθµος POP θα έχει σε κάθε επανάληψη την επιπλέον επιλογή να αντικαταστήσει µια γενική ενέργεια µε ένα πλάνο που την υλοποιεί. # Σε αυτή την περίπτωση θα πρέπει να διαγραφούν οι σχέσεις διάταξης και οι αιτιολογικοί σύνδεσµοι που αφορούν την γενική ενέργεια που αντικαταστάσθηκε και να δηµιουργηθούν νέες σχέσεις διάταξης και αιτιολογικοί σύνδεσµοι για τις νέες ενέργειες. Γιάννης Ρεφανίδης 106 Αλγόριθµος σχεδιασµού (2/3) " Παράδειγµα αντικατάστασης γενικής ενέργειας από πλάνο. Start Money Buy Land Land Build House House Finish Start Money Buy Land Land Get Permit Hire Builder Construction Pay Builder Money House Finish GoodCredit Get Loan Γιάννης Ρεφανίδης 107 16

Αλγόριθµος σχεδιασµού (3/3) " Κατά την αντικατάσταση µιας γενικής ενέργειας από ένα υποπλάνο, είναι δυνατόν κάποιες από τις ενέργειες του υποπλάνου να υπάρχουν ήδη στο τρέχον πλάνο. Σε αυτή την περίπτωση καλό είναι να εξετάζεται µήπως δεν είναι απαραίτητο να εισαχθούν για δεύτερη φορά. " Υπάρχει επίσης περίπτωση ένα πρόβληµα που υπάρχει σε ένα «γενικό» πλάνο, όπως π.χ. απειλές, να λυθεί όταν οι γενικές ενέργειες αντικατασταθούν από ειδικότερα πλάνα. " Αυτό έχει ως αποτέλεσµα γενικά πλάνα τα οποία είναι ασυνεπή (δεν υπάρχει κανείς τρόπος να επιλυθούν οι απειλές) να διορθώνονται όταν οι γενικές ενέργειες αντικατασταθούν από ειδικότερες. # Το πρόβληµα οφείλεται στο γεγονός ότι οι προϋποθέσεις και τα αποτελέσµατα των γενικών ενεργειών εµφανίζονται σαν να ισχύουν καθόλη τη διάρκεια εκτέλεσής τους, κάτι που δεν συµβαίνει απαραίτητα στα πλάνα που τις υλοποιούν. Γιάννης Ρεφανίδης 108 Παρατηρήσεις " Οιεραρχικός σχεδιασµός ενεργειών µπορεί να αυξήσει κατά πολύ την αποτελεσµατικότητα/απόδοση των συστηµάτων σχεδιασµού. " Απδεικνύεται ότι όσο λιγότερα αλλά µεγαλύτερα πλάνα ανά γενική ενέργεια έχουµε στη βάση πλάνων, τόσο ευκολότερη είναι η επίλυση προβληµάτων σχεδιασµού. # Ουσιαστικά τα πλάνα που υλοποιούν τις γενικές ενέργειες θυµίζουν τις γνωστές µακροεντολές. " Το πρόβληµα όµως είναι ότι στις περισσότερες περιπτώσεις δεν είναι εφικτό να περιγράψουµε τη γνώση µας για ένα πρόβληµα µε γενικές ενέργειες που αναλύονται σε µικρό αριθµό πλάνων. " Αν το επιχειρήσουµε καταλήγουµε συνήθως σε τεράστιους αριθµούς γενικών ενεργειών. Γιάννης Ρεφανίδης 109 17

Σχεδιασµός και εκτέλεση πλάνων στον πραγµατικό κόσµο Πόροι Ιεραρχικός σχεδιασµός! Μη-αιτιοκρατικά πεδία Σχεδιασµός ενεργειών υπό συνθήκη Παρακολούθηση εκτέλεσης και επανασχεδιασµός Συνεχής σχεδιασµός ενεργειών Μη αιτιοκρατικά πεδία σχεδιασµού " Στον κλασικό σχεδιασµό ο κόσµος θεώρείται πλήρως παρατηρήσιµος, στατικός και αιτιοκρατικός. # Ο πράκτορας σχεδιασµού µπορεί πρώτα να κατασκευάσει το πλάνο και στη συνέχεια να το εκτελέσει µε κλειστά µάτια. " Ωστόσο στην πραγµατικότητα η γνώση µας για τον κόσµο είναι πάντα ατελής και εσφαλµένη. " Τέσσερις προσεγγίσεις αντιµετώπισης της µη-αιτιοκρατίας: # Σύµµορφος σχεδιασµός ενεργειών # Σχεδιασµός ενεργειών υπό συνθήκη # Παρακολούθηση εκτέλεσης και επανασχεδιασµός # Συνεχής σχεδιασµός Γιάννης Ρεφανίδης 111 18

Παράδειγµα " Έστω ότι έχουµε δύο κουτιά µπογιάς, ένα κόκκινο και ένα µπλε, ένα τραπέζι και µια καρέκλα και στόχος µας είναι το τραπέζι και η καρέκλα να απόκτήσουν το ίδιο χρώµα. " Θεωρούµε ότι ο πράκτορας σχεδιασµού δεν γνωρίζει το αρχικό χρώµα του τραπεζιού και της καρέκλας, ωστόσο έχει τη δυνατότητα να προσθέσει στο πλάνο αισθητήριες ενέργειες (sensing actions) για να ανιχνεύει τα χρώµατα. " Ένας πράκτορας κλασικού σχεδιασµού ενεργειών δεν θα µπορούσε να λύσει αυτό το πρόβληµα. Γιάννης Ρεφανίδης 112 Σύµµορφος σχεδιασµός ενεργειών " Οσύµµορφος σχεδιασµός ενεργειών (conformant planning) ή σχεδιασµός χωρίς αισθητήρες (sensorless planning) προσπαθεί να λύσει προβλήµατα σχεδιασµού ενεργειών χωρίς να χρησιµοποιήσει αισθητήριες ενέργειες. " Η λογική του βασίζεται στον εξαναγκασµό (coercion), δηλαδή στην εκτέλεση ενεργειών που εξαναγκάζουν το περιβάλλον να µεταβεί σε συγκεκριµένες καταστάσεις. " Στο τρέχον παράδειγµα, ένα το πλάνο που θα παρήγαγε ένας πράκτορας σύµµορφου σχεδιασµού ενεργειών θα ήταν να ανοίξει οποιοδήποτε κουτί µπογιά και να βάψει µε αυτό και τα δύο έπιπλα. " ΠΡΟΣΟΧΗ: Ο εξαναγκασµός δεν είναι πάντα εφικτός. Γιάννης Ρεφανίδης 113 19

Σχεδιασµός ενεργειών υπό συνθήκη " Ένας πράκτορας σχεδιασµού ενεργειών υπό συνθήκη θα παρήγαγε ένα πλάνο µε διακλαδώσεις. " Κάθε διακλάδωση δηµιουργείται από τα εναλλακτικά αποτελέσµατα µιας αισθητήριας ενέργειας. " Στο παράδειγµα µε τα έπιπλα: # Αρχικά αισθάνεται το χρώµα των επίπλων. Εάν είναι το ίδιο, σταµατά. # Αλλιώς αισθάνεται τα χρώµατα των κουτιών µε τις µπογιές. Εάν βρει ένα κουτί µε χρώµα ίδιο µε ένα έπιπλο, βάφει και το άλλο έπιπλο µε αυτό το χρώµα. # Εάν δεν βρει κουτί µε το ίδιο χρώµα, επιλέγει ένα χρώµα στην τύχη και βάφει και τα δύο έπιπλα µε αυτό το χρώµα. Γιάννης Ρεφανίδης 114 Αναπαράσταση ελλειπούς γνώσης (1/2) " Ηελλειπής γνώση µπορεί να προέρχεται είτε από άγνοια της αρχικής κατάστασης του κόσµου, είτε από µη-αιτιοκρατία στα αποτελέσµατα των ενεργειών. " Η άγνοια της κατάστασης του κόσµου συνήθως παριστάνεται µε καταστάσεις πεποίθησης (belief states). " Μια κατάσταση πεποίθησης είναι το σύνολο εκείνων των καταστάσεων που είναι συµβατές µε τη γνώση µας για τον κόσµο. Γιάννης Ρεφανίδης 115 20

Αναπαράσταση ελλειπούς γνώσης (2/2) " Υπάρχουν δύο τρόποι περιγραφής καταστάσεων πεποίθησης: # Απαρίθµηση των συγκεκριµένων καταστάσεων που τις αποτελούν. Αν υποθέσουµε ότι µια κατάσταση καθορίζεται από n προτάσεις, κάθε µία από τις οποίες είναι αληθής ή ψευδής, υπάρχουν 2 n διαφορετικές καταστάσεις και άρα 2 2n διαφορετικές καταστάσεις πεποίθησης. " Τα δυαδικά διαγράµµατα απόφασης (Binary decision diagrams, BDDs) είναι ο πιο γνωστός και αποδοτικός τρόπος αναπαράστασης συνόλων καταστάσεων. # Προτάσεις γνώσης, δηλαδή προτάσεις της µορφής: " Knows(Color(Table, Blue)) : Γνωρίζουµε ότι το χρώµα του τραπεζιού είναι µπλε. " Knows( Color(Chair, Red)) : Γνωρίζουµε ότι το χρώµα της καρέκλας δεν είναι κόκκινο. # Οι προτάσεις γνώσης δεν είναι ικανές να περιγράψουν όλες τις καταστάσεις πεποίθησης. Ωστόσο είναι πιο απλές στο χειρισµό τους και θα τις χρησιµοποιήσουµε στις διαφάνειες που ακολουθούν. Γιάννης Ρεφανίδης 116 Αναπαράσταση αιτιοκρατικών ενεργειών " Έστω ότι η ενέργεια Paint_table(c), η οποία βάφει το τραπέζι µε το χρώµα c, είναι αιτιοκρατική, δηλαδή το βάψιµο πάντα επιτυγχάνει. # Ενέργεια: Paint_table(c) # Προϋποθέσεις: { HaveCan(c) } # Αποτελέσµατα: { Knows(Color(Table,c)) v when Color(c1) v c1 c : Knows( Color(Table,c1)) } " Θεωρούµε ότι η προσθήκη µιας πρότασης της µορφής Knows(P) διαγράφει αυτόµατα την πρόταση Knows( P), εφόσον τέτοια υπήρχε. " Βλέπουµε ότι η ενέργεια λειτουργεί και επιδρά στις προτάσεις γνώσης. # Οι προϋποθέσεις των ενεργειών δεν χρειάζεται να γράφονται ως προτάσεις γνώσης, µιας και ούτως ή άλλως ο πράκτορας θα εξετάσει την αλήθεια τους στις προτάσεις γνώσης. Γιάννης Ρεφανίδης 117 21

Αναπαράσταση µη-αιτιοκρατικών ενεργειών " Ας υποθέσουµε ότι η ενέργεια που βάφει το τραπέζι δεν έχει δεδοµένη επιτυχία. # Υπάρχει δηλαδή περίπτωση ένα µέρος του τραπεζιού να µην βαφεί, οπότε θεωρούµε ότι το τραπέζι δεν έχει κανένα χρώµα. " Η µη-αιτιοκρατία στα αποτελέσµατα των ενεργειών µπορεί να αναπαρασταθεί µε διάζευξη: # Ενέργεια: Paint_table(c) # Λίστα προϋποθέσεων: { HaveCan(c) } # Αποτελέσµατα: { Knows(Color(Table,c)) w Knows( Color(Table,c)) } " Παραπάνω θεωρήσαµε ότιοπράκτοραςµπορεί και αισθάνεται το χρώµα του τραπεζιού µετά το βάψιµο. Εάν δεν συνέβαινε αυτό, η λίστα προσθήκης θα ήταν κενή. Γιάννης Ρεφανίδης 118 Αναπαράσταση αισθητηρίων ενεργειών " Θεωρώντας ότι η γνώση του πράκτορα περιέχει προτάσεις γνώσης, µπορούµε να µοντελοποιήσουµε τις αισθητήριες ενέργειες. " Για παράδειγµα, µια ενέργεια που αισθάνεται το χρώµα του τραπεζιού θα µπορούσε να ορισθεί ως εξής: # Ενέργεια: Sense_table_color # Προϋποθέσεις: { Knows(Color(Table,_)) } # Αποτελέσµατα: { when Color(Table, Red) : Knows(Color(Table, Red)) v Knows( Color(Table, Blue)), when Color(Table, Blue) : Knows(Color(Table, Blue)) v Knows( Color(Table, Red)) } " Η προϋπόθεση µπορεί να ερµηνευτεί ότι δεν γνωρίζουµε κανένα γεγονός της µορφής Color(Table, _). Γιάννης Ρεφανίδης 119 22

Αλγόριθµος αναζήτησης (1/2) " Τόσο οι µη-αιτιοκρατικές ενέργειες, όσο και οι αισθητήριες ενέργειες, δηµιουργούν εναλλακτικά ενδεχόµενα της κατάστασης/εξέλιξης του πραγµατικού κόσµου. " Ένα πλάνο επιτυγχάνει τους στόχους όταν αυτό συµβαίνει για όλα τα εναλλακτικά ενδεχόµενα. " Η µορφή του δένδρου αναζήτησης είναι ένα AND-OR δένδρο, το οποίο: # Στη ρίζα του έχει την αρχική κατάσταση πεποίθησης. # Στα επίπεδά του εναλλάσσονται κόµβοι καταστάσεων και κόµβοι ενεργειών. # Τα παιδιά κάθε κατάστασης είναι όλες οι εφαρµόσιµες ενέργειες στην κατάσταση αυτή. # Τα παιδιά µιας ενέργειας είναι όλες οι εναλλακτικές καταστάσεις που µπορούν να προκύψουν από την εφαρµογή της ενέργειας. Γιάννης Ρεφανίδης 120 Αλγόριθµος αναζήτησης (2/2) " Μια λύση στο πρόβληµα της αναζήτησης είναι ένα υποδένδρο του AND-OR δένδρου, το οποίο: # Περιλαµβάνει τη ρίζα. # Για κάθε κόµβο κατάστασης περιλαµβάνει τουλάχιστον µία ενέργειαπαιδί. # Για κάθε κόµβο ενέργειας περιλαµβάνεί όλες τις καταστάσεις παιδιά. # Όλα τα φύλλα του δένδρου είναι καταστάσεις στις οποίες ισχύουν οι στόχοι. " Μπορεί να χρησιµοποιηθεί οποιοσδήποτε αλγόριθµος αναζήτησης (κατά βάθος, κατά πλάτος, ευρετικός κλπ) για τη διάσχιση του AND- OR δένδρου. Γιάννης Ρεφανίδης 121 23

Παρατηρήσεις " Εκτός από µια διάσχιση του χώρου των καταστάσεων πεποίθησης προς τα εµπρός, υπάρχουν υλοποιήσεις και µε χρήση αλγορίθµων αναζήτησης στο χώρο των πλάνων, µε διάσχιση του χώρου καταστάσεων προς τα πίσω. " Σε κάθε περίπτωση, µερικά από τα κρίσιµα θέµατα είναι τα εξής: # Ανίχνευση και αντιµετώπιση κύκλων: Κύκλοι δηµιουργούνται συνήθως από αποτυχηµένες εκτελέσεις ενεργειών, οι οποίες πρέπει να ξαναεκτελεστούν. # Συγχώνευση κλαδιών. Πολλές φορές διαφορετικά µονοπάτια οδηγούν σε ταυτόσηµες καταστάσεις πεποίθησης. Οι καταστάσεις αυτές θα πρέπει να ανιχνεύουνται και να συγχωνεύονται, ώστε να µην επιλύεται το ίδιο υπο-πρόβληµα πολλές φορές. Γιάννης Ρεφανίδης 122 Παρακολούθηση εκτέλεσης και επανασχεδιασµός (1/2) " Ένας πράκτορας επανασχεδιασµού παρακολουθεί την εκτέλεση του πλάνου και ειδικότερα εάν τα αποτέλεσµατα των ενεργειών είναι τα αναµενόµενα. " Εάν δεν είναι, τροποποιεί το πλάνο, ώστε να επιτυγχάνει τους στόχους από τη νέα κατάσταση. # Για παράδειγµα, εάν το βάψιµο ενός επίπλου αφήσει κάποια περιοχή του άβαφη, ο πράκτορας επανασχεδιασµού µπορεί να αποφασίσει να ξαναβάψει το έπιπλο. " Οι πράκτορες επανασχεδιασµού έχουν την ευχέρεια να µην δηµιουργούν εξαρχής πλήρη πλάνα, αφήνονοντας κάποια ενδεχόµενα ακάλυπτα, και καλύπτοντάς τα µόνο εφόσον προκύψουν πραγµατικά. Γιάννης Ρεφανίδης 123 24

Παρακολούθηση εκτέλεσης και επανασχεδιασµός (2/2) " ύο εκδοχές παρακολούθησης εκτέλεσης: # Παρακολούθηση ενεργειών: Ελέγχουµε µόνο την δυνατότητα εκτέλεσης της επόµενης ενέργειας. # Παρακολούθηση πλάνου: Ελέγχουµε σε κάθε βήµα τη δυνατότητα εκτέλεσης ολόκληρου του εναποµείναντος πλάνου. " Σε µερικώς παρατηρήσιµα περιβάλλοντα, η παρακολούθηση εκτέλεσης πρέπει να γίνει µε αισθητήριες ενέργειες, γεγονός που την καθιστά δαπανηρή. " Ο επανασχεδιασµός συνήθως προσπαθεί να προσαρµόσει το υπάρχον πλάνο στις νέες συνθήκες, π.χ. βρίσκοντας ένα πλάνο επιδιόρθωσης που µας επαναφέρει σε µια από τις καταστάσεις του αρχικού πλάνου. Γιάννης Ρεφανίδης 124 Συνεχής σχεδιασµός ενεργειών (1/2) " Ένας πράκτορας συνεχούς σχεδιασµού ενεργειών λειτουργεί συνέχεια, λαµβάνοντας ανά πάσα στιγµή νέους στόχους και τροποποιώντας τα πλάνα του έτσι ώστε να επιτυγχάνουν τόσο τους παλιούς όσο και τους νέους στόχους. # Για παράδειγµα, εάν προστεθεί ο στόχος να φάµε γεύµα στο τραπέζι, θα πρέπει να αναβληθεί ο στόχος του βαψίµατος. " Ουσιαστικά συνδυάζει έναν πράκτορα σχεδιασµού ενεργειών µε έναν πράκτορα παρακολούθησης εκτέλεσης. " Ο πράκτορας µπορεί να δεχθεί στόχους ανά πάσα στιγµή. Γιάννης Ρεφανίδης 125 25

Συνεχής σχεδιασµός ενεργειών (2/2) " Οσυνεχής σχεδιασµός ενεργειών υλοποιείται πολύ φυσικά µε αναζήτηση στο χώρο των πλάνων. " Ο πράκτορας αναζητά συνεχώς σφάλµατα στο µερικό πλάνο και τα διορθώνει. Τα σφάλµατα µπορεί να είναι: # Ανοιχτές προϋποθέσεις. # Απειλές # Μη υποστηριζόµενοι σύνδεσµοι λόγω εξωτερικών αλλαγών στην τρέχουσα κατάσταση. # Πλεονάζουσες ενέργειες (π.χ. ύστερα από ικανοποίηση των αποτελεσµάτων τους από εξωτερικούς παράγοντες). " Αφού διορθώσει όλα τα σφάλµατα, ο πράκτορας µπορεί να αρχίσει να εκτελεί ενέργειες. Γιάννης Ρεφανίδης 126 26