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

Σχετικά έγγραφα
Σχεδιασµός Ενεργειών

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

ΚΕΦΑΛΑΙΟ 15 Βασικές Αρχές και Τεχνικές Σχεδιασµού

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

Κεφάλαιο 17. Μελέτη Περιπτώσεων Συστηµάτων Σχεδιασµού. Τεχνητή Νοηµοσύνη - Β' Έκδοση

Σχεδιασμός & Χρονοπρογραμματισμός Ενεργειών

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

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

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

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

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

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

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

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

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

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

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

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

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

Ατοµική ιπλωµατική Εργασία ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΙ ΠΡΟΤΑΣΙΑΚΩΝ ΕΠΙΛΥΤΩΝ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΡΑΣΗΣ. Ελένη Προξένου ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Χαράλαμπος Κοπτίδης ΠΕΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

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

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

Θέματα Μεταγλωττιστών

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

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

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

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

Επιµέλεια Θοδωρής Πιερράτος

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

Περιγραφή Προβλημάτων

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

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

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Τεχνητή Νοημοσύνη. Ενότητα 6: Σχεδιασμός Ενεργειών

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

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

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

Ο Αλγόριθµος της Simplex

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

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

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν

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

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

Μοντελοποίηση προβληµάτων

(d) 2 2 => 4 : OXI (Η προτασιακή λογική δεν περιλαμβάνει για άτομα καθαρούς αριθμούς)

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

Περιεχόµενα. ΜΕΡΟΣ Α: Επίλυση Προβληµάτων... 17

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

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

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

Περιεχόμενα. Περιεχόμενα

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

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

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

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

Πληροφορική 2. Αλγόριθμοι

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

Λύσεις Σειράς Ασκήσεων 5

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

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

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

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

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

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

διεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t)

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

n true false if t then t else t u t t b t emptylist cons t t t t λx.t u ::= head tail isempty

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μη γράφετε στο πίσω μέρος της σελίδας

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Ανάλυση της Ορθότητας Προγραμμάτων

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

Ανάλυση της Ορθότητας Προγραμμάτων

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

Ανάπτυξη συστήματος ελέγχου εγκυρότητας προβλημάτων Σχεδιασμού μέσω Υπηρεσιών Ιστού και Οπτικοποίησης Πληροφορίας

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΟΓΙΚΗΣ

Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3)

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

Αλγόριθµοι Οπισθοδρόµησης

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

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

Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη)

Transcript:

Σχεδιασµός Ενεργειών! Σχεδιασµός είναι η εύρεση µιας ακολουθίας ενεργειών, οι οποίες αν εφαρµοσθούν σε µια δεδοµένη αρχική κατάσταση, προκαλούν την επίτευξη προκαθορισµένων στόχων. # Μεταφορά φορτίων # Πλοήγηση # Στρατηγική # Επενδύσεις! Προβλήµατα σχεδιασµού # Υψηλή πολυπλοκότητα # Μεγάλοιχώροικαιχρόνοιαναζήτησης! Βασικά θέµατα # Αναπαράσταση των προβληµάτων # Εξελιγµένες τεχνικές αντιµετώπισης των προβληµάτων σχεδιασµού # Εκτέλεση των πλάνων και αντιµετώπιση απρόβλεπτων καταστάσεων

Αναπαράσταση Προβληµάτων Το Μοντέλο STRIPS! Ένα πρόβληµα σχεδιασµού ορίζεται από τρεις περιγραφές: # Η περιγραφή της αρχικής κατάστασης του κόσµου Initial. εν είναι υποχρεωτικά πλήρης. # Η περιγραφή των στόχων Goals, που πρέπει να επιτευχθούν. # Η περιγραφή των διαθέσιµων ενεργειών Actions που µπορούν να εκτελεστούν, προκειµένου να επιτευχθούν οι στόχοι! Το µοντέλο STRIPS (Stanford Research Institute Planning System) # Αδιαίρετες ενέργειες (indivisible actions) # Προκαθορισµένα αποτελέσµατα (deterministic effects) # Πλήρης γνώση (omniscience) # Υπόθεση κλειστού συστήµατος (closed world assumption) # Στατικός κόσµος (static world)

Αναπαράσταση Καταστάσεων! Στο µοντέλο STRIPS οι καταστάσεις ορίζονται σαν σύνολα από συγκεκριµένα γεγονότα (ή προτάσεις) που αληθεύουν. A C Α B B C # Αρχική κατάσταση: Αρχική κατάσταση Τελική κατάσταση block(a) block(b) block(c) on(a,table) on(c,a) on(b,table) clear(b) clear(c) # Τελική κατάσταση: on(b,c) on(a,b)

Μειονεκτήµατα της Αναπαράστασης STRIPS! Επιτρέπει την αναπαράσταση στόχων επίτευξης (goals of attainment).! εν επιτρέπει την αναπαράσταση στόχων διατήρησης (preservation goals).! εναναφέρειτοχρόνοκατάτονοποίοισχύουνταγεγονότα.! εν µπορεί να περιγράψει συνεχείς µεταβολές.! Θεωρεί πλήρη βεβαιότητα για την ισχύ των γεγονότων.! εν είναι πλήρης.

Αναπαράσταση Ενεργειών (1/2)! Μια ενέργεια (action) a περιγράφεται µε τρεις λίστες γεγονότων: # Λίστα προϋποθέσεων (Precondition list, Pre(a)) Τα γεγονότα που πρέπει να περιλαµβάνονται σε µια κατάσταση, ώστε η ενέργεια να είναι εφαρµόσιµη στην κατάσταση αυτή. # Λίστα προσθήκης (Add list, Add(a)) Τα γεγονότα που προσθέτει η ενέργεια στη νέα κατάσταση. # Λίστα διαγραφής (Delete list, Del(a)) Τα γεγονότα της τρέχουσας κατάστασης που δε συµπεριλαµβάνονται στη νέα. Για τη λίστα διαγραφής πρέπει να ισχύει Del(a) Pre(a). move_c_from_a_to_table Όνοµα µετακίνηση του κύβου C από τον κύβο Α στο τραπέζι Λίστα προϋποθέσεων Λίστα προσθήκης Λίστα διαγραφής block(a), block(c), clear(c), on(c,a) clear(a), on(c,table) on(c,a)

Αναπαράσταση Ενεργειών (2/2) Όνοµα Λίστα προϋποθέσεων Λίστα προσθήκης Λίστα διαγραφής move_x_from_y_to_table(x,y) µετακίνηση ενός κύβου Χ από τον κύβο Υ στο τραπέζι block(χ), block(υ), clear(χ), on(χ,y) clear(υ), on(χ,table) on(χ,υ)! Γιαναείναιεφαρµόσιµη µια ενέργεια a σε µια κατάσταση S πρέπει να ισχύει: # Pre(a) S! Η κατάσταση που προκύπτει µετά την εφαρµογή της ενέργειας a στην κατάσταση S ορίζεται ως: # S '=result(s,a) =S - Del(a) Add(a)! Επαγωγικά µπορεί να οριστεί η κατάσταση που προκύπτει µετά την εφαρµογή µιας ακολουθίας ενεργειών a 1, a 2,..., a N σε µια κατάσταση S ως εξής: # S '=result(s, a 1, a 2,..., a N )=res( res(s, a 1, a 2,..., a N-1 ), a N ) Προϋπόθεση: Κάθε ενέργεια a i είναι εφαρµόσιµη στην κατάσταση result(s, a 1, a 2,..., a i-1 ), για κάθε i=1, 2,..., N

Αναπαράσταση πλάνων ιαγραµµατική αναπαράσταση (1/2)! ιαγραµµατική αναπαράσταση ενέργειας move_block_to_table(c, a) block(c) block(a) on(c,a) clear(c) - on(c,a) + on(c,table)! ιαγραµµατική αναπαράσταση πλάνου µε δίκτυοενεργειών move_c_from_a_to_table block(c) block(a) on(c,a) clear(c) - on(c,a) + on(c,table) + clear(a) move_b_from_table_to_c block(b) block(c) on(table,b) clear(b) clear(c) - on(table,b) - clear(c) + on(b,c) move_a_from_table_to_b block(a) block(b) on(table,a) clear(a) clear(b) - on(table,a) -clear(b) + on(a,b)

Αναπαράσταση πλάνων ιαγραµµατική αναπαράσταση (2/2)! ιαγραµµατική αναπαράσταση πλάνου µε ραβδόγραµµα Χρόνος σε ώρες 1 2 3 4 5 6 7 8 9 load_truck(truck1, package1, center1) move_truck(truck1, center1, airport1, city1) unload_truck(truck1, package1, airport1) fly_airplane(plane1, airport2, airport1)! Γραµµικό πλάνο (linear plan) είναι αυτό στο οποίο υπάρχει αυστηρή διαδοχή των ενεργειών.! Μη-γραµµικό πλάνο (non-linear plan) είναι αυτό στο οποίο δεν υπάρχει αυστηρή διαδοχή ενεργειών, αλλά υπάρχει η δυνατότητα δύο ενέργειες να εκτελούνται παράλληλα, µε µερική ή ολική χρονική αλληλοεπικάλυψη.

Σχεδιασµός µε Αναζήτηση στο Χώρο των Καταστάσεων! υνατότητα άµεσης εφαρµογής όλων των γνωστών αλγορίθµων τυφλής αλλά και ευριστικής αναζήτησης. B C Α Α B C B C Α C B A B Α C C B Α B C A Α C B C B Α C Α B C Α B B Α C C A B

Κατεύθυνση ιάσχισης του Χώρου των Καταστάσεων! Ορθή διάσχιση (progression) # Η αναζήτηση στο χώρο των καταστάσεων πραγµατοποιείται ξεκινώντας από την αρχική κατάσταση και προχωρώντας προς µια τελική.! Ανάστροφη διάσχιση (regression) # Η διάσχιση γίνεται από τους στόχους προς την αρχική κατάσταση. # Τεχνική ανάλυσης των µέσων και των στόχων (means-ends analysis): Επικεντρώνεται στην εύρεση εκείνων των ενεργειών (µέσων) που επιτυγχάνουν τους στόχους.

Ανάστροφη ιάσχιση! Επιλέγεται µια ενέργεια, έστω a, τέτοια ώστε κανένα από τα γεγονότα που αυτή διαγράφει να µην εµφανίζεται στην τελική κατάσταση, ενώ πρέπει να εµφανίζεται τουλάχιστον ένα από τα γεγονότα που αυτή προσθέτει. # Del(a) Goals= και Add(a) Goals! Ύστερα από την εφαρµογή της ενέργειας, το σύνολο των στόχων αναθεωρείται σε ένα νέο σύνολο, το οποίο ισούται µε: # Goals' = Pre(a) Goals - Add(a)! Η διαδικασία εφαρµόζεται επαναληπτικά στο νέο σύνολο στόχων, µέχρις ότου βρεθεί ένα σύνολο που να είναι υποσύνολο της αρχικής κατάστασης.! Ένα σύνολο στόχων είναι αδιέξοδο σε δύο περιπτώσεις: # Όταν περιέχει έστω και ένα γεγονός, γιατοοποίοδενυπάρχεικαµία ενέργεια που να το προσθέτει. # Όταν περιέχει µια οµάδα γεγονότων, τα οποία είναι ασύµβατα µεταξύ τους.

Σχεδιασµός µεαναζήτηση στο Χώρο των Πλάνων! Το µέτωπο αναζήτησης και το κλειστό σύνολο δεν περιέχουν καταστάσεις, αλλά ηµιτελή πλάνα, τα οποία δεν αντιστοιχούν σε συγκεκριµένες καταστάσεις.! Τα ηµιτελή πλάνα είναι σύνολα από ενέργειες, όχι απαραίτητα συγκεκριµένες και όχι απαραίτητα πλήρως διατεταγµένες στο χρόνο.! Λύση αποτελεί η εύρεση ενός πλάνου του οποίου οι ενέργειες είναι συγκεκριµένες και για τις οποίες υπάρχει µια τουλάχιστον έγκυρη και πλήρης διάταξή τους στο χρόνο.! Η αναζήτηση στο χώρο των πλάνων ξεκινά από ένα κενό πλάνο ενώ η λύση που επιστρέφεται είναι το πλάνο του τελικού κόµβου.! Αρχή της ελάχιστης δέσµευσης (least commitment principle): Οι ενέργειες δεν τοποθετούνται σε συγκεκριµένες θέσεις στο χρόνο και οι µεταβλητές τους δε δεσµεύονται σε συγκεκριµένες τιµές αντικειµένων, εφόσον δε συντρέχει λόγος για κάτι τέτοιο.

Αναπαράσταση Μη-Γραµµικών Πλάνων! Ένα µη-γραµµικό πλάνο µε συγκεκριµένες ενέργειες ορίζεται ως µια τριάδα, (A,O,L), όπου: # A είναι ένα σύνολο ενεργειών # O είναι ένα σύνολο περιορισµών διάταξης (ordering constraints) # L ένα σύνολο αιτιολογικών συνδέσεων (causal links)! Για παράδειγµα, εάν A={a 1, a 2, a 3 }, τότε ένα πιθανό σύνολο περιορισµών διάταξης θα ήταν το O={a 1 <a 3, a 2 <a 3 }. # Το παραπάνω σύνολο περιορισµών διάταξης είναι συµβατό µε τις πλήρεις διατάξεις a 1 <a 2 <a 3 αλλά και a 2 <a 1 <a 3.

Αιτιολογικές Συνδέσεις (1/2)! Ένας µη-γραµµικός σχεδιαστής πρέπει να διατηρεί πληροφορίες σχετικά µε τους λόγους για τους οποίους µια ενέργεια εισήλθε στο πλάνο, και µάλιστα σε µια συγκεκριµένη θέση.! Μια αιτιολογική σύνδεση είναι µια δοµή µε τρίαπεδία: δύο δείκτες σε ενέργειες του πλάνου, έστω a p και a c, και ένα γεγονός p. # Το γεγονός p ανήκει τόσο στη λίστα προσθήκης της ενέργειας a p, όσο και στη λίστα προϋποθέσεων της ενέργειας a c. p a. # Μια αιτιολογική σύνδεση συµβολίζεται ως p c # Η ενέργεια a p ονοµάζεται παραγωγός (producer) της σύνδεσης, ενώ η ενέργεια a c ονοµάζεται καταναλωτής (consumer) της σύνδεσης. # Το L είναι το σύνολο όλων των αιτιολογικών συνδέσεων ενός πλάνου. a

Αιτιολογικές Συνδέσεις (2/2)! Μια αιτιολογική σύνδεση δηλώνει ότι κατά το χρονικό διάστηµα µεταξύ της εκτέλεσης της ενέργειας a p και της ενέργειας a c, το γεγονός p αληθεύει συνεχώς. # Για κάθε αιτιολογική σύνδεση της µορφής p a p ac του συνόλου L, ο περιορισµός διάταξης a p <a c εισάγεται στο σύνολο O! ιαγραµµατική αναπαράσταση αιτιολογικής σύνδεσης a p a c +p p

Απειλές (Threats) (1/2) p! Έστω µια αιτιολογική σύνδεση a p ac και µια τρίτη ενέργεια a t A. Λέµε ότιη p ενέργεια a t αποτελεί απειλή για την αιτιολογική σύνδεση a p ac, εάν: # το σύνολο O {a p <a t <a c } είναι συνεπές, και # p Del(a t )! Μια απειλή αντιµετωπίζεται µε δύο τρόπους: # προβιβασµό (promotion) # υποβιβασµό (demotion)

Απειλές (Threats) (2/2) a p a c +p p a t -p a p a c a t +p p -p a t a p a c -p +p p

Μη Γραµµικά Πλάνα! Ένα µη-γραµµικό πλάνο λέγεται πλήρες (complete), όταν: # Κάθε ενέργεια που εµφανίζεται είτε σε κάποια αιτιολογική σύνδεση του συνόλου L ήσε κάποιον περιορισµό διάταξης του συνόλου O, αναφέρεται επίσης στο σύνολο των ενεργειών A. # Για κάθε ενέργεια a A και για κάθε προϋπόθεση p Pre(a), υπάρχει µια αιτιολογική p σύνδεση της µορφής b a στο σύνολο L, όπου b A. P # Αν το πλάνο περιέχει µία αιτιολογική σύνδεση b a και µια ενέργεια c που την απειλεί, στο σύνολο O υπάρχει είτε η διάταξη c<b ήηa<c.! Μία τοπολογική διάταξη (topological sort) ενός µη-γραµµικού πλάνου είναι µία γραµµική ακολουθία των ενεργειών του, τέτοια ώστε: # Η πρώτη ενέργεια στην ακολουθία είναι η START. # Η τελευταία ενέργεια στην ακολουθία είναι η FINISH. p # Για κάθε αιτιολογική σύνδεση b a, ηενέργειαb προηγείται της ενέργειας a. # Για κάθε περιορισµό διάταξηςb<a του συνόλου O, ηενέργειαb προηγείται της a.

Αλγόριθµος Παραγωγής Μερικώς ιατεταγµένων Πλάνων Αλγόριθµος POP( (A, O, L), Agenda) 1. Εάν Agenda=, επέστρεψε το πλάνο (A, O, L). 2. Έστω (q, a need ) ένα στοιχείο της Agenda (προφανώς ισχύει a need A και q Pre(a need )). 3. Έστω a add µια ενέργεια, τέτοια ώστε q Add(a add ). Ηενέργειααυτήµπορεί είτε να είναι µια από τις ενέργειες του συνόλου A, τέτοια ώστε να µπορεί να διαταχθεί χρονικά πριν από την a need, ήναείναιµια νέα ενέργεια. Εάν δεν υπάρχει τέτοια ενέργεια, τότε επέστρεψε αποτυχία. Θέσε L'=L {a add q a need }, O'=O {a add <a need }. Εάν η ενέργεια a add είναι µια νέα ενέργεια, τότε A'=A {a add } και O'=O {START<a add <FINISH}, ειδάλλως A'=A. 4. Θέσε Agenda'=Agenda-{ q,a need }. Εάν η ενέργεια a add ήταν µια νέα ενέργεια, τότε για κάθε q i Pre(a add ) πρόσθεσε το στοιχείο q i,a add στην Agenda'. 5. Για κάθε ενέργεια a t A', η οποία µπορεί να αποτελέσει απειλή για κάποια αιτιολογική σύνδεση a p q a c L', υπολόγισε το νέο σύνολο περιορισµών διάταξης O', επιλέγοντας µια από τις παρακάτω δύο σχέσεις, ελέγχοντας ώστε το σύνολο O' να είναι συνεπές: O'=O {a t <a p } O'=O {a c <a t } Εάν σε καµία από τις παραπάνω δύο περιπτώσεις το σύνολο O' είναι συνεπές, επέστρεψε αποτυχία. 6. POP( (A', O', L'), Agenda')

Παράδειγµα (1/3)! Πρόβληµα A C Α B B C Αρχική κατάσταση Τελική κατάσταση! 1 ο Βήµα START move-b-from-table-to-c END on(c,a) clear(b) clear(c) on(a,table) on(b,table) clear(b) clear(c) on(b,table) - clear(c) - on(b,table) + on(b,c) on(b,c) on(a,b)

Παράδειγµα (2/3)! 3 ο βήµα START on(c,a), clear(b) clear(c) on(a,table) on(b,table) move-b-from-table-to-c clear(b) clear(c) on(b,table) -clear(c) - on(b,table) +on(b,c) END on(b,c) on(a,b) move-α-from-table-to-β clear(b) clear(α) on(α table) -on(a,table) -clear(b) +on(a,b)

Παράδειγµα (3/3)! Τελικό πλάνο START move-c-from-a-table on(c,a) clear(c) on(a,table) clear(b) on(b,table) on(c,a) -on(c,a) clear(c) +clear(a) +on(c,table) move-α-from-table-to-β clear(a) clear(b) on(a,table) -clear(b) - on(a,table) + on(a,b) END on(a,b) on(b,c) move-b-from-table-to-c clear(c) clear(b) on(b,table) -clear(c) -on(b,table) +on(b,c)

Χρήση Μη-Συγκεκριµένων Ενεργειών! Κατά την επιλογή µιας ενέργειας δεσµεύονται µόνο οι µεταβλητές αυτής που είναι απαραίτητες για την ενοποίηση ενός γεγονότος που η ενέργεια παράγει µε την αντίστοιχη µη υποστηριζόµενη προϋπόθεση µιαςάλληςενέργειας.! Επιτρέπονται δύο είδη περιορισµών δέσµευσης (binding constraints): # Οι περιορισµοί κοινού προσδιορισµού (codesignation constraints) της µορφής?x=?y ή?x=c. # Οι περιορισµοί µη-κοινού προσδιορισµού (non-codesignation constraints), της µορφής?x?y ή?x c.! Τα προβλήµατα ορίζονται ως µια τετράδα συνόλων (A, O, L, B), όπου: # Το σύνολο A περιέχει σχήµατα ενεργειών # Το σύνολο B περιέχει περιορισµούς δέσµευσης.! Οι απειλές µπορούν να αντιµετωπίζονται µε την εισαγωγή στο σύνολο B κατάλληλων περιορισµών µη-κοινού προσδιορισµού.

Σχεδιασµός Βασισµένος σε Γράφους Γράφος σχεδιασµού (1/2)! Ο γράφος σχεδιασµού αποτελείται από αριθµηµένα επίπεδα κόµβων # Κόµβοι των γεγονότων ή προτάσεων (fact nodes ή proposition nodes), στα άρτια επίπεδα. # Κόµβοι των ενεργειών (action nodes), στα περιττά επίπεδα! Το επίπεδο µε αριθµό 0 περιλαµβάνει έναν κόµβο για κάθε γεγονός της αρχικής κατάστασης.! Επαναλαµβανόµενη εναλλαγή δύο φάσεων: # Επέκταση του γράφου (graph expansion): Επεκτείνει προοδευτικά στο χρόνο το γράφο σχεδιασµού (planning graph), µέχρις ότου είτε βρεθεί ένα πλάνο-λύση ή ικανοποιηθεί µια αναγκαία (αλλά όχι ικανή) συνθήκη για τη µη-ύπαρξη πλάνου. # Εξαγωγή λύσης (solution extraction): Αναζήτηση µε κατεύθυνση προς-τα-πίσω µέσα στο γράφο σχεδιασµού, µε σκοπότηνεύρεσηενόςπλάνου-λύσης του προβλήµατος.

Σχεδιασµός Βασισµένος σε Γράφους Γράφος σχεδιασµού (2/2)! Οι ακµές συνδέουν: # Τα γεγονότα ενός επιπέδου µε τις ενέργειες του επόµενου επιπέδου που τα έχουν ως προϋποθέσεις. # Τις ενέργειες ενός επιπέδου µε τα γεγονότα των λιστών προσθήκης αυτών στο επόµενο επίπεδο.! Ενέργειες διατήρησης # Συµβολίζονται µε noop (no-operator) 0 2i 2i+1 2i+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 ), τα οποία είναι αµοιβαία αποκλειόµενα (ανταγωνιστικές απαιτήσεις competing needs). # ύο γεγονότα στο επίπεδο i είναι αµοιβαία αποκλειόµενα, εάν όλες οι ενέργειες στο επίπεδο i-1, συµπεριλαµβανοµένων των ενεργειών noop, που επιτυγχάνουν αυτά τα γεγονότα είναι µεταξύ τους αµοιβαίως αποκλειόµενες (ασύµβατη υποστήριξη inconsistent support).

Παράδειγµα Β Α Αρχική κατάσταση Α Β Τελική κατάσταση 0 1 2 3 4 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)

Εξαγωγή λύσης! Ξεκινά µόλις σε κάποιο επίπεδο γεγονότων i εµφανιστούν όλα τα γεγονότα των στόχων, χωρίς καµιά σχέση αµοιβαίου αποκλεισµού µεταξύ τους. # Αναγκαία αλλά όχι ικανή συνθήκη για την ύπαρξη πλάνου.! Τα γεγονότα των στόχων πρέπει να υποστηριχθούν από µη αµοιβαία αποκλειόµενες ενέργειες του προηγούµενου επιπέδου.! Αναδροµικά, οι προϋποθέσεις των ενεργειών αυτών πρέπει να υποστηριχθούν από µη αµοιβαία αποκλειόµενες ενέργειες του προηγούµενού τους επιπέδου, µέχρι να φθάσουµε στο πρώτο επίπεδο.! Εάν δεν βρεθεί τέτοιο πλάνο, ογράφοςεπεκτείνεταικατά2 ακόµη επίπεδα και η διαδικασία επαναλαµβάνεται.! Συνθήκη τερµατισµού είναι η εύρεση δύο εντελώς ίδιων επιπέδων γεγονότων.

ΟΣχεδιασµός σαν Πρόβληµα Ικανοποίησης Προτάσεων Πρόβληµα Κωδικοποίηση Επίλυση Αποκωδικοποίηση! Υπόθεση σχετικά µε τοναριθµό τωνβηµάτων του πλάνου-λύσης.! Κωδικοποίηση σαν πρόβληµα ικανοποίησης προτάσεων σε µορφή σύζευξης διαζεύξεων (conjunctive normal form, CNF).! Επίλυση µε στοχαστικές ή συστηµατικές µεθόδους.! Εάν δεν βρεθεί λύση, επαναλαµβάνεται η διαδικασία για µεγαλύτερο αριθµό βηµάτων.

Κωδικοποίηση (1/2)! Η σύζευξη των γεγονότων της αρχικής κατάστασης πρέπει να αληθεύει. on(b,a) 0 on(a,table) 0 clear(b) 0! Η σύζευξη των γεγονότων των στόχων πρέπει επίσης να αληθεύει. on(a,b) 4 on(b,table) 4 clear(a) 4! Οι ενέργειες συνεπάγονται τις προϋποθέσεις τους και τα αποτελέσµατά τους. move-a-from-table-to-b 3 on(a,table) 2 clear(a) 2 clear(b) 2 on(a,b) 4 clear(a) 4 on(a,table) 4 clear(b) 4 # ή ισοδύναµασεµορφή CNF ( move-a-from-table-to-b 3 on(a,table) 2 ) ( move-a-from-table-to-b 3 clear(a) 2 ) ( move-a-from-table-to-b 3 clear(b) 2 ) ( move-a-from-table-to-b 3 on(a,b) 4 ) ( move-a-from-table-to-b 3 clear A) 4 ) ( move-a-from-table-to-b 3 on(a,table) 4 ) ( move-a-from-table-to-b 3 clear(b) 4 )

Κωδικοποίηση (2/2)! Ενέργειες ενός επιπέδου που είναι αµοιβαία αποκλειόµενες µεταξύ τους δεν µπορούν να εκτελεστούν ταυτόχρονα. move-a-from-table-to-b 3 move-β-from-table-to-α 3! Κάθε γεγονός ενός επιπέδου (εκτός του επιπέδου 0) συνεπάγεται τη διάζευξη όλων των ενεργειών του προηγούµενου επιπέδου που το επιτυγχάνουν (συµπεριλαµβανοµένων των ενεργειών διατήρησης). on(b,a) 4 move-b-from-table-to-a 3 (noop on(b,a)) 3 # ή ισοδύναµασεµορφή CNF on(b,a) 4 move-b-from-table-to-a 3 (noop on(b,a)) 3

Συστηµατική Επίλυση Προβληµάτων Ικανοποίησης Προτάσεων Αλγόριθµος DPLL (CNF έκφραση φ) Εάν η φ είναι κενή, επέστρεψε αληθές, αλλιώς εάν υπάρχει πρόταση στη φ που να αποτιµάται ψευδής, επέστρεψε ψευδές, αλλιώς εάν υπάρχει µια καθαρή µεταβλητή Χ στη φ, επέστρεψε DPLL(φ(Χ)), αλλιώς εάν υπάρχει µια µοναδιαία πρόταση {Χ} στη φ, επέστρεψε DPLL(φ(Χ)), αλλιώς επέλεξε µια µεταβλητή Χ που εµφανίζεται στη φ, Εάν DPLL(φ(Χ))=αληθές, επέστρεψε αληθές, αλλιώς επέστρεψε DPLL(φ( Χ)).

Στοχαστική Επίλυση Προβληµάτων Ικανοποίησης Προτάσεων Αλγόριθµος GSAT (CNF έκφραση φ, integer: N restarts, N flips ) Από i=1 µέχρι i=n restarts Έστω Α µια τυχαία ανάθεση τιµών σε όλες τις µεταβλητές της φ. Από j=1 µέχρι i=n flips Εάν η ανάθεση A ικανοποιεί την φ, επέστρεψε αληθές Αλλιώς Έστω X η µεταβλητή εκείνη της φ, της οποίας η αντιστροφή της τιµής δίνει το µεγαλύτερο αριθµό ικανοποιηµένων προτάσεων στην πρόταση φ (σε περίπτωση ύπαρξης πολλών τέτοιων µεταβλητών, επέλεξε µια τυχαία) Τροποποίησε την Α, αντιστρέφοντας την τιµήτηςµεταβλητής Χ. Επέστρεψε ψευδές.

Εκτέλεση Πλάνων! Σε περίπτωση αλλαγής του κόσµου ή αποτυχίας εκτέλεσης µιας ενέργειας, υπάρχουν τρεις δυνατότητες: # Να επαναληφθεί η δηµιουργία του πλάνου µε νέα πλέον δεδοµένα. # Να εκτελεστεί ένα εναλλακτικό πλάνο που είναι εφαρµόσιµο ή το ίδιο πλάνο από διαφορετικό σηµείο του. # Να γίνει τροποποίηση του πλάνου στα σηµεία όπου εµφανίζεται το πρόβληµα Σχεδιαστής ηµιουργία Πλάνου Αναπαράσταση του Κόσµου Πλάνο Νέα δεδοµένα Οργανα Εκτέλεσης Αισθητήρια Οργανα Πραγµατικός Κόσµος

Γραµµικά Πλάνα µε Ανάστροφη ιάσχιση STRIPS add R subtract R R=V2 acc=v1 acc=v1+v2 -(acc=v1) R=V2 acc=v1 acc=v1-v2 -(acc=v1) load R store R R=V acc=v acc=v R=V IS FS acc=c1 reg1=0 reg2=c2 reg3=c3 reg1=(c1-c2)+c3 IS subtract reg2 add reg3 store reg1 FS acc=c1 reg2=c2 reg3=c3 reg1=0 acc=c1 acc=c1-c2 reg2=c2 -(acc=c1) acc=c1-c2 reg3=c3 acc=(c1-c2)+c3 -(acc=c1-c2) acc=(c1-c2)+c3 reg1=(c1-c2)+c3 reg1=(c1-c2)+c3

Ιεραρχικός Σχεδιασµός ABSTRIPS (ABstract STRIPS)! Σε κάθε κατηγόρηµα αποδίδεται µία τιµή σηµαντικότητας (criticality value).! Ο αλγόριθµος του ABSTRIPS είναι ο ίδιος µε αυτόντουstrips, µόνον που κάθε φορά επαναλαµβάνεται για το υποπρόβληµα που προκύπτει εάν από την αρχική κατάσταση, τους στόχους και τις ενέργειες αφαιρεθούν τα γεγονότα µε σηµαντικότητα µικρότερη ενός ορίου.! Σε κάθε επίπεδο σηµαντικότητας ο ABSTRIPS δηµιουργεί ένα αφηρηµένο πλάνο (abstract plan), το οποίο χρησιµοποιείται ως σκελετός για την κατασκευή του πλάνου του αµέσως πιο λεπτοµερούς επιπέδου σηµαντικότητας.

Σχεδιασµός µε ΧρονικέςΣτιγµές DEVISER! Σε κάθε ενέργεια αποδίδεται και ένα χρονικό παράθυρο [EST, LST] που υποδηλώνει: # Το νωρίτερο που µπορεί να αρχίσει η ενέργεια (earliest starting time - EST). # Το αργότερο που µπορεί να αρχίσει η ενέργεια (latest starting time - LST). [EST, LST] Ενέργεια ιάρκεια: D Προϋποθέσεις Αποτελέσµατα! Για δύο ενέργειες a και b, τέτοιες ώστε η ενέργεια a να πρέπει να εκτελεστεί πριν από την ενέργεια b, οι τιµές EST και LST ανανεώνονται σύµφωνα µε τους τύπους: # EST(b) = max( EST(b), EST(a) + DUR(a) ) # LST(a) = min( LST(a), LST(b) - DUR(a) )! Σε κάθε βήµα πρέπει να τηρούνται οι εξής περιορισµοί: # EST(a) + DUR(a) EST(b) # LST(a) + DUR(a) LST(b)

Σχεδιασµός µε Χρονικά ιαστήµατα! Οι ενέργειες περιέχουν και τους περιορισµούς των χρονικών διαστηµάτων κάτω από τους οποίους πρέπει να ισχύουν οι προϋποθέσεις και τα αποτελέσµατά τους. # Ορισµός ενέργειας stack(x,y) stack(x,y) clear(y) clear(x) on(x,y) # Αναπαράσταση πλάνου λύσης B A C pickup(b) holding(b) putdown(b) clear(a) clear(c) clear(b) pickup(a) holding(a) putdown(a) Α B C ΑΡΧΙΚΗ ΚΑΤΑΣΤΑΣΗ ΤΕΛΙΚΗ ΚΑΤΑΣΤΑΣΗ

Αλληλεπίδραση ηµιουργίας και Εκτέλεσης Πλάνων IPEM (Integrated Plan Execution & Monitoring) Αισθητήρες Μνήµη Μηχανισµοί δράσης Ηµιτελές πλάνο Χρονοπρογραµ- µατιστής Κανόνες επιδιόρθωσης IF σφάλµα THEN διόρθωσε! Ο κύκλος λειτουργίας του συστήµατος IPEM είναι: # Επανέλαβε: 1) Βρεςόλατασφάλµατα του ηµιτελούς πλάνου. 2) ιάλεξε το σφάλµα µε την υψηλότερη προτεραιότητα. 3) Σύµφωνα µε τον αντίστοιχο κανόνα κάνε την επιδιόρθωση....