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

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

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

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

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

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

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

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

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

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

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

Προγραµµατισµός Ι (ΗΥ120)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχήµα 3.1: Εισαγωγή shift register σε βρόγχο for-loop.

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

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

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

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

Κεφάλαιο 10 ο Υποπρογράµµατα

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

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

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

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

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

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

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

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

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

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

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

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

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

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

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

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

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

Σηµειώσεις στις σειρές

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

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

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

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

4. Αναδροµικός τύπος Είναι ο τύπος που συσχετίζει δύο ή περισσότερους γενικούς όρους µιας ακολουθίας

Πολλαπλή παλινδρόµηση. Μάθηµα 3 ο

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

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

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

P-Μiner : ιαχείριση Πυλών Καταλόγων (Portals) µε Υποστήριξη ιαδικασιών Εξόρυξης εδοµένων Χρήσης

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

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

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

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

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

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

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

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

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

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

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

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

οµή δικτύου ΣΧΗΜΑ 8.1

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

ιαµέριση - Partitioning

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

Γραµµικός Προγραµµατισµός - Μέθοδος Simplex

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

ΠΡΟΒΛΗΜΑΤΑ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ

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

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

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

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

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

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

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

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

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

Σχήµα 4.1: Εισαγωγή βρόγχου while-loop.

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

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

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

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

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

Βασική Εφικτή Λύση. Βασική Εφικτή Λύση

Transcript:

Σχεδιασµός Ενεργειών! Γενικά Αναπαράσταση STRIPS Αναζήτηση στο χώρο των καταστάσεων Αναζήτηση στο χώρο των πλάνων ιάφορες τεχνικές Γενικά (1/2) " Σχεδιασµός ενεργειών (planning) είναι η εύρεση µιας ακολουθίας ενεργειών (πλάνο, plan), οι οποίες αν εφαρµοσθούν σε µια δεδοµένη αρχική κατάσταση, προκαλούν την επίτευξη προκαθορισµένων στόχων: " Μεταφορά φορτίων " Πλοήγηση " Στρατηγική " Επενδύσεις " Το πρόγραµµα εκείνο, το οποίο, δοθέντος ενός προβλήµατος σχεδιασµού ενεργειών (planning problem), βρίσκει ένα πλάνο-λύση του προβλήµατος, ονοµάζεται σύστηµα σχεδιασµού (planning system) ή σχεδιαστής (planner). " Χαρακτηριστικά των προβληµάτων σχεδιασµού ενεργειών: " Υψηλή πολυπλοκότητα " Μεγάλοι χώροι και χρόνοι αναζήτησης Γιάννης Ρεφανίδης 2 1

Γενικά (2/2) " Τα προβλήµατα σχεδιασµού ενεργειών µπορούν να λυθούν µε τους γνωστούς αλγορίθµους αναζήτησης. " Ωστόσο, λόγω της µεγάλης πολυπλοκότητάς τους, έχουν αναπτυχθεί (και συνεχίζουν να αναπτύσσονται) εξειδικευµένες τεχνικές, όπως: " Μη-γραµµικός σχεδιασµός (non-linear planning) " Ιεραρχικός σχεδιασµός (hierarchical planning) " Σχεδιασµός βασισµένος σε γράφους (graph-based planning) " Σχεδιασµός βασισµένος σε περιπτώσεις (case-based planning) " Βασικά θέµατα: " Αναπαράσταση των προβληµάτων " Εξελιγµένες τεχνικές αντιµετώπισης των προβληµάτων σχεδιασµού " Εκτέλεση των πλάνων και αντιµετώπιση απρόβλεπτων καταστάσεων Γιάννης Ρεφανίδης 3 Σχεδιασµός Ενεργειών Γενικά! Αναπαράσταση STRIPS Αναζήτηση στο χώρο των καταστάσεων Αναζήτηση στο χώρο των πλάνων ιάφορες τεχνικές 2

Προβλήµατα σχεδιασµού " Ένα πρόβληµα σχεδιασµού ορίζεται από τρεις περιγραφές: " Περιγραφή της αρχικής κατάστασης του κόσµου Initial. " εν είναι υποχρεωτικά πλήρης. " Περιγραφή των στόχων Goals, που πρέπει να επιτευχθούν. " Περιγραφή των διαθέσιµων ενεργειών Actions που µπορούν να εκτελεστούν, προκειµένου να επιτευχθούν οι στόχοι " Λύση σε ένα πρόβληµα σχεδιασµού ενεργειών είναι ένα σύνολο ενεργειών, µερικώς διατεταγµένων, οι οποίες εάν εκτελεστούν στην αρχική κατάσταση οδηγούν σε µια νέα κατάσταση όπου ισχύουν οι στόχοι. Γιάννης Ρεφανίδης 5 Αναπαράσταση STRIPS " Ηαναπαράσταση STRIPS (STanford Research Institute Planning System) είναι η πιο απλή αναπαράσταση που χρησιµοποιείται σε προβλήµατα σχεδιασµού ενεργειών. " Χρονολογείται από το 1971. " Ισοδυναµεί µε την προτασιακή λογική. " Οι καταστάσεις και οι στόχοι είναι λίστες γεγονότων. " Οι ενέργειες ορίζονται από τις προϋποθέσεις εφαρµογής τους και από τις αλλαγές που επιφέρουν στον κόσµο του προβλήµατος. Γιάννης Ρεφανίδης 6 3

Ορισµός καταστάσεων A Α Αρχική κατάσταση Τελική κατάσταση " Αρχική κατάσταση: " { lock(a), lock(), lock(), On(A,Table), On(,A), On(,Table), lear(), lear() } " Στόχοι: " { On(,), On(A,) } " εν είναι απαραίτητο οι στόχοι να είναι µια πλήρης περιγραφή κατάστασης. Γιάννης Ρεφανίδης 7 Αναπαράσταση Ενεργειών (1/3) " Μια ενέργεια (action) a περιγράφεται από τρεις λίστες γεγονότων: " Λίστα προϋποθέσεων (Precondition list, Pre(a)) " Τα γεγονότα που πρέπει να περιλαµβάνονται σε µια κατάσταση, ώστε η ενέργεια να είναι εφαρµόσιµη στην κατάσταση αυτή. " Λίστα προσθήκης (Add list, Add(a)) " Τα γεγονότα που προσθέτει η ενέργεια στη νέα κατάσταση. " Λίστα διαγραφής (Delete list, Del(a)) " Τα γεγονότα της τρέχουσας κατάστασης που δε συµπεριλαµβάνονται στη νέα. " Για τη λίστα διαγραφής πρέπει να ισχύει Del(a) Pre(a). Γιάννης Ρεφανίδης 8 4

Αναπαράσταση Ενεργειών (2/3) A Α Αρχική κατάσταση Τελική κατάσταση " Στον κόσµο των τριών κύβων, οι ενέργειες είναι όλες οι µετακινήσεις κάθε κύβου (3 κύβοι), από τις τρεις δυνατές θέσεις που αυτός µπορεί να βρεθεί (πάνω στους δύο άλλους κύβους ή πάνω στο τραπέζι) στις 2 κάθε φορά νέες θέσεις που µπορεί να πάει. " 18 συνολικά ενέργειες Γιάννης Ρεφανίδης 9 Αναπαράσταση Ενεργειών (3/3) " Για παράδειγµα, έστω η ενέργεια: " Move from_a_to_table " η οποία µετακινεί τον κύβο από την αρχική του θέση πάνω στον κύβο Α στην νέα του θέση απευθείας πάνω στο τραπέζι. " Οι τρεις λίστες ορισµού της παραπάνω ενέργειας είναι οι εξής: " Λίστα προϋποθέσεων: { lock(), lock(α), lear(), On(,A) } " Λίστα προσθήκης: { lear(a), On(,Table) } " Λίστα διαγραφής: { On(,A) } Γιάννης Ρεφανίδης 10 5

Εφαρµογή Ενεργειών (1/2) " Για να είναι εφαρµόσιµη µια ενέργεια 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 Γιάννης Ρεφανίδης 11 Εφαρµογή Ενεργειών (2/2) A " Έστω η κατάσταση του σχήµατος: " S = { lock(a), lock(), lock(), On(A,Table), On(,A), On(,Table), lear(), lear() } " Η ενέργεια a=move from_a_to_table είναι εφαρµόσιµη στην παραπάνω κατάσταση γιατί ισχύει: " Pre(a)= { lock(α), lock(), lear(), On(,A) } S " Η νέα κατάσταση που προκύπτει ορίζεται από το παρακάτω σύνολο: " S' = { lock(a), lock(), lock(), On(A,Table), On(,Table), On(,Table), lear(), lear(), lear(a) } Γιάννης Ρεφανίδης 12 6

Σχήµατα ενεργειών (1/3) " Ηαπαρίθµηση όλων των ενεργειών ενός προβλήµατος, µιαςπρος-µία, δεν είναι βολική όταν υπάρχουν πολλά αντικείµενα στο πρόβληµα. " Για παράδειγµα, στο πρόβληµα µε τους 3 κύβους υπήρχαν 18 ενέργειες. " Εάν είχαµε 10 κύβους, οι ενέργειες θα ήταν 900. " Για το σκοπό, κατά την περιγραφή ενός προβλήµατος οµαδοποιούµε τις ενέργειες που είναι σε σχετικές µεταξύ τους, χρησιµοποιώντας σχήµατα ενεργειών (action schemas). " Ένα σχήµα ενέργειας διαφέρει από τον ορισµό ενεργειών που είδαµε κατά το ότι χρησιµοποιεί παραµέτρους για να αναφέρεται στα αντικείµενα του προβλήµατος. Γιάννης Ρεφανίδης 13 Σχήµατα ενεργειών (2/3) " Στο πρόβληµα των κύβων µπορεί κανείς να δει ότι αρκούν τρία σχήµατα ενεργειών για την περιγραφή όλων των απλών ενεργειών: " Μετέφερε έναν κύβο x από το τραπέζι πάνω σε έναν άλλο κύβο y. " Μετέφερε έναν κύβο x από την αρχική του θέση πάνω σε έναν άλλο κύβο y στο τραπέζι. " Μετέφερε έναν κύβο x από την αρχική του θέση πάνω σε έναν άλλο κύβο y στη νέα του θέση πάνω στον κύβο z. " Η κατάληξη στα παραπάνω τρία σχήµατα ενεργειών έγινε οµαδοποιώντας τις απλές ενέργειες µε κριτήριο να έχουν "όµοιες" προϋποθέσεις και αποτελέσµατα. Γιάννης Ρεφανίδης 14 7

Σχήµατα ενεργειών (3/3) " Για παράδειγµα, το πρώτο από τα σχήµατα ενεργειών που αναφέρθηκαν στην προηγούµενη διαφάνεια, µπορεί να οριστεί ως εξής: " Όνοµα ενέργειας: move_to_table(x,y) " Λίστα προϋποθέσεων: { lock(x), lock(y), lear(x), On(x,y) } " Λίστα προσθήκης: { lear(y), On(x,Table) } " Λίστα διαγραφής: { On(x,y) } Γιάννης Ρεφανίδης 15 Επεκτάσεις της αναπαράστασης STRIPS (1/4) " Η αναπαράσταση STRIPS είναι ανεπαρκής για αναπαράσταση (και επίλυση) προβληµάτων του πραγµατικού κόσµου, γιατί κάνει πολύ αυστηρές παραδοχές: " Αδιαίρετες ενέργειες (indivisible actions): Οι ενέργειες εκτελούνται στιγµιαία, και τίποτα δεν µπορεί να συµβεί κατά τη διάρκεια της εκτέλεσής τους. " Προκαθορισµένα αποτελέσµατα (deterministic effects): Τα αποτελέσµατα των ενεργειών είναι γνωστά εκ των προτέρων. " Πλήρης γνώση (omniscience): Γνωρίζουµε τα πάντα για την τρέχουσα κατάσταση. " Υπόθεση κλειστού συστήµατος (closed world assumption): Το πλήθος των αντικειµένων του προβλήµατος είναι πεπερασµένο και σταθερό. " Στατικός κόσµος (static world): Ο µεταβάλλεται µόνο µέσω των αποτελεσµάτων των δικών µας ενεργειών. Γιάννης Ρεφανίδης 16 8

Επεκτάσεις της αναπαράστασης STRIPS (2/4) " Έχουν γίνει διάφορες επεκτάσεις της αναπαράστασης, κάθε µια από τις οποίες απαιτεί και διαφορετικούς (και πιο πολύπλοκους) αλγορίθµους σχεδιασµού ενεργειών. Αυτές αφορούν: " Αναπαράσταση χρόνου: Ενέργειες µε διάρκεια, προϋποθέσεις και αποτελέσµατα που (πρέπει να) ισχύουν σε συγκεκριµένα χρονική διαστήµατα κατά τη διάρκεια της ενέργειας (ή και µετά), στόχοι που πρέπει να επιτευχθούν σε συγκεκριµένες (διαφορετικές µεταξύ τους) χρονικές στιγµές κλπ. " Σχεδιασµός στο χρόνο (Temporal planning) " Πιθανότητες: Αποτελέσµατα τα οποία εµφανίζονται µε συγκεκριµένη πιθανότητα, στόχοι που θέλουµε να επιτευχθούν µε συγκεκριµένη πιθανότητα κλπ. " Σχεδιασµός µε πιθανότητες (Probabilistic planning) " Σχεδιασµός µε πολλαπλά ενδεχόµενα (ontigency planning) Γιάννης Ρεφανίδης 17 Επεκτάσεις της αναπαράστασης STRIPS (3/4) " Γενικές ενέργειες (abstract actions): Ενέργειες οι οποίες δεν είναι άµεσα εκτελέσιµες αλλά πρέπει να αναλυθούν σε απλούστερες ενέργειες " Ιεραρχικός σχεδιασµός (Hierarchical planning) " Πόροι (Resources): Οι ενέργειες δεσµεύουν/καταναλώνουν πόρους κατά την εκτέλεσή τους. Περιορισµοί στους πόρους επιβάλλουν περιορισµούς στην ταυτόχρονη εκτέλεση των ενεργειών ή/και στη συνολική κατανάλωση πόρων. Συνήθως είναι επιθυµητή η βελτιστοποίηση των παραγόµενων πλάνων ως προς κάποια συνάρτηση αξιολόγησης. " Σχεδιασµός µε πόρους (Resource planning) Γιάννης Ρεφανίδης 18 9

Επεκτάσεις της αναπαράστασης STRIPS (4/4) " Συνεχείς µεταβολές: Αποτελέσµατα που είναι µια συνεχή µεταβολή για κάποιο χρονικό διάστηµα, όπως π.χ. το άδειασµα µιας πισίνας. " εν υπάρχει αποτελεσµατική αντιµετώπιση τέτοιων προβληµάτων. " Συνεργατικά αποτελέσµατα (Synergatic effects): Σε προβλήµατα όπου υπάρχουν πολλοί δρώντες πράκτορες (agents), ενδέχεται το συνδυασµένο αποτέλεσµα της ταυτόχρονης εκτέλεσης δύο ενεργειών από δύο διαφορετικούς πράκτορες (agents) να είναι διαφορετικό από την ξεχωριστή εκτέλεση των ενεργειών (π.χ. σήκωµα ενός τραπεζιού από τις δύο άκρες). " Σχεδιασµός µε πολλούς πράκτορες (Multi-agent planning) Γιάννης Ρεφανίδης 19 Αναπαράσταση πλάνων (1/4) " Στην γενική περίπτωση, ένα πλάνο αποτελείται από ένα σύνολο ενεργειών και κάποιες σχέσεις διάταξης µεταξύ τους. " Πλάνα στα οποία οι ενέργειες είναι πλήρως διατεταγµένες µεταξύ τους ονοµάζονται γραµµικά πλάνα (linear plans). " Πλάνα στα οποία οι ενέργειες είναι µερικώς διατεταγµένες µεταξύ τους ονοµάζονται µη-γραµµικά πλάνα (non-linear plans). " Για παράδειγµα, σε µια λύση του προβλήµατος του να ντυθεί κανείς, υπάρχουν ενέργειες που έχουν σχέση διάταξης µεταξύ τους, όπως να φορέσει κανείς πρώτα την κάλτσα και µετά το παπούτσι, και ενέργειες οι οποίες δεν έχουν σχέση διάταξης µεταξύ τους, όπως συµβαίνει µε τιςε ενέργειες που αφορούν δύο διαφορετικά παπούτσια. Γιάννης Ρεφανίδης 20 10

Αναπαράσταση πλάνων (2/4) " Σε πιο σύνθετες αναπαραστάσεις, όπου εµπεριέχεται και ο χρόνος, µπορεί κάθε ενέργεια να συνοδεύεται και από µια χρονική στιγµή (ή χρονικό διάστηµα) κατά την οποία (ή εντός του οποίου) πρέπει να ξεκινήσει η εκτέλεσή της. " Τα πλάνα µπορούν να αναπαρασταθούν γραφικά µε διάφορους τρόπους. " Αναπαράσταση µίας ενέργειας, µε τις προϋποθέσεις και τα αποτελέσµατα: move_block_to_table(c, a) block(c) block(a) on(c,a) clear(c) - on(c,a) + on(c,table) + clear(a) Γιάννης Ρεφανίδης 21 Αναπαράσταση πλάνων (3/4) " Αναπαράσταση γραµµικού πλάνου τριών ενεργειών: move from_a_to_table block(c) block(a) on(c,a) clear(c) - on(c,a) + on(c,table) + clear(a) move from_table_to_ block(b) block(c) on(table,b) clear(b) clear(c) - on(table,b) - clear(c) + on(b,c) move_a_from_table_to_ block(a) - on(table,a) block(b) - clear(b) on(table,a) + on(a,b) clear(a) clear(b) Γιάννης Ρεφανίδης 22 11

Αναπαράσταση πλάνων (4/4) " Εναλλακτική αναπαράσταση πλάνων µε ραβδόγραµµα και χρονικές αναφορές (Gantt harts): Χρόνος σε ώρες 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) Γιάννης Ρεφανίδης 23 Σχεδιασµός Ενεργειών Γενικά Αναπαράσταση STRIPS! Αναζήτηση στο χώρο των καταστάσεων Αναζήτηση στο χώρο των πλάνων ιάφορες τεχνικές 12

Γενικά " Ως χώρο καταστάσεων έχουµε ορίσει το σύνολο όλων των καταστάσεων ενός προβλήµατος αναζήτησης. " Το πρόβληµα του σχεδιασµού ενεργειών µπορεί να θεωρηθεί ως ένα κλασσικό πρόβληµα αναζήτησης και να λυθεί µε τους γνωστούς αλγορίθµους αναζήτησης που έχουµε δει. " Για µικρά σχετικά προβλήµατα κάτι τέτοιο είναι εφικτό, ειδικά όταν υπάρχει καλή ευριστική συνάρτηση. Γιάννης Ρεφανίδης 25 Παράδειγµα " Οχώρος καταστάσεων για το πρόβληµα των τριών κύβων. " Μπορεί κανείς να ακολουθήσει δύο κατευθύνσεις για την επίλυση του προβλήµατος: " Από την αρχική κατάσταση προς τους στόχους (ορθή διάσχιση, progression). " Από τους στόχους προς την αρχική κατάσταση (ανάστροφη διάσχιση, regression). Α Α Α A Α Α A Α Α Α Α Α A Γιάννης Ρεφανίδης 26 13

Ανάστροφη διάσχιση (1/2) " Ηανάστροφη διάσχιση λειτουργεί ως εξής: " Προσπαθεί να βρει µία (ή περισσότερες) ενέργεια τα αποτελέσµατα της οποίας να είναι οι στόχοι. " Η ενέργεια αυτή θα είναι η τελευταία στο πλάνο που θα δηµιουργηθεί. " Στη συνέχεια θεωρεί ως νέους στόχους τις προϋποθέσεις αυτής της ενέργειας και προσπαθεί να βρεί νέες ενέργειες οι οποίες να επιτυγχάνουν τους νέους στόχους. " Η διαδικασία τερµατίζει όταν κάποια στιγµή οι προϋποθέσεις των νέων ενεργειών ικανοποιούνται από την αρχική κατάσταση του προβλήµατος. Γιάννης Ρεφανίδης 27 Παράδειγµα (1/3) " A Έστω για παράδειγµα η αρχική κατάσταση που φαίνεται στο σχήµα: " S = { lock(a), lock(), lock(), On(,Table), On(,), On(A,), lear(a) } " και έστω ότι στόχος να κατεβεί ο κύβος Β στο τραπέζι: " on(, Table) " Ο στόχος δεν είναι µια πλήρης περιγραφή κατάστασης, µιας και δεν αναφέρεται πού βρίσκονται οι υπόλοιποι κύβοι. " Ξεκινάµε ψάχνοντας µια ενέργεια που πετυχαίνει τον στόχο και έστω ότι επιλέγουµε τυχαία την move from to_table (είµαστε τυχεροί...). Γιάννης Ρεφανίδης 28 14

Παράδειγµα (2/3) " Ηενέργεια move from to_table πετυχαίνει το στόχο, αλλά θέτει ως νέους στόχους τις προϋποθέσεις της: " on(,), clear() " Για ευκολία στην περιγραφή δεν βάζουµε στους νέους στόχους τα "στατικά" γεγονότα block() και block(), µιας και αυτά είναι σίγουρο ότι θα "επαληθευτούν" από την αρχική κατάσταση. " Έστω ότι επιλέγουµε τυχαία πάλι την ενέργεια move_a_from to_table (και πάλι είµαστε τυχεροί...). " Η νέα ενέργεια αυτή πετυχαίνει τον στόχο clear(), όχι όµως τον στόχο on(,). " Ο στόχος on(,) µαζί µε τις προϋποθέσεις της νέας ενέργειας αποτελούν τους νέους στόχους: " on(,), on(a,), clear(a) Γιάννης Ρεφανίδης 29 Παράδειγµα (3/3) " Οι νέοι στόχοι υπάρχουν όλοι στην αρχική κατάσταση, έτσι το πρόβληµα έχει λυθεί και το πλάνο-λύση είναι το: " move_a_from to_table " move from to_table " Στο παράδειγµα επιλέξαµε σκόπιµα απευθείας τις "σωστές" ενέργειες. " Εάν επιλέγαµε άλλες, ενδεχοµένως να καταλήγαµε σε αδιέξοδο ή να βρίσκαµε λύσεις µε περισσότερα βήµατα. " Γενικά, η σειρά µε την οποία επιλέγονται οι ενέργειες καθορίζεται από τον αλγόριθµο αναζήτησης. " Μπορούν να εφαρµοστούν όλοι οι γνωστοί αλγόριθµοι αναζήτησης (δεν έχει σηµασία που διασχίζουµε το χώρο αναζήτησης "ανάστροφα"). " Σε περίπτωση χρήσης ευριστικού αλγορίθµου αναζήτησης, η χρήση µιας καλής ευριστικής συνάρτησης είναι πολύ χρήσιµη. Γιάννης Ρεφανίδης 30 15

Ανάστροφη διάσχιση (2/2) " Μπορούµε να ορίσουµε αυστηρά την ανάστροφη διάσχιση ως εξής: " Έστω Goals το τρέχον σύνολο των στόχων. " Η ενέργεια a που επιλέγεται σε κάθε βήµα πρέπει να πληρεί τις παρακάτω προϋποθέσεις: " Del(a) Goals= και Add(a) Goals " Το νέο σύνολο των στόχων G' ορίζεται ως εξής: " Goals' = Pre(a) Goals - Add(a) " Τα πλάνα που παράγει η ανάστροφη διάσχιση είναι γραµµικά, αφού υπάρχει πλήρης διάταξη µεταξύ των ενεργειών τους. " Η ανάστροφη διάσχιση είναι ιδιαιτέρως αποτελεσµατική, σε σχέση µε την ορθή διάσχιση, σε προβλήµατα µε λίγους στόχους, οι οποίοι µάλιστα δεν αποτελούν πλήρη περιγραφή κατάστασης. Γιάννης Ρεφανίδης 31 Σχεδιασµός Ενεργειών Γενικά Αναπαράσταση STRIPS Αναζήτηση στο χώρο των καταστάσεων! Αναζήτηση στο χώρο των πλάνων ιάφορες τεχνικές 16

Γενικά (1/2) " Οσχεδιασµός στο χώρο των πλάνων είναι επέκταση της ανάστροφης διάσχισης, µε δύο βελτιώσεις: " Οι ενέργειες ενός πλάνου (ηµιτελούς ή ακόµη και ολοκληρωµένου) δεν είναι πλήρως διατεταγµένες µεταξύ τους. " Ειδικότερα, οι ενέργεις που εισέρχονται σε ένα πλάνο δεν µπαίνουν πάντα σε συγκεκριµένη θέση σε αυτό (π.χ. στην αρχή του όσον αφορά την ανάστροφη διάσχιση), αλλά µπορούν να αφεθούν χωρίς πλήρη διάταξη. " Οι ενέργειες ενός ηµιτελούς πλάνου δεν είναι πλήρως καθορισµένες, αλλά µπορεί να περιέχουν παραµέτρους που δεν έχουν πάρει (δεσµευτεί σε) συγκεκριµένες τιµές. " Ωστόσο στα ολοκληρωµένα πλάνα όλες οι παράµετροι που εµφανίζονται στις ενέργειες πρέπει να έχουν πάρει τιµές. Γιάννης Ρεφανίδης 33 Γενικά (2/2) " Ονοµάζεται "σχεδιασµός στο χώρο των πλάνων" επειδή κατά την αναζήτηση έχουµε µερικώς ορισµένα πλάνα, τα οποία δεν αντιστοιχούν σε συγκεκριµένες καταστάσεις. " Το µέτωπο αναζήτησης και το κλειστό σύνολο δεν περιέχουν καταστάσεις, αλλά ηµιτελή πλάνα. " Η αρχική κατάσταση της αναζήτησης είναι ένα κενό πλάνο. " Λύση αποτελεί η εύρεση ενός πλάνου του οποίου οι ενέργειες είναι συγκεκριµένες και για τις οποίες υπάρχει µια τουλάχιστον έγκυρη και πλήρης διάταξή τους στο χρόνο. Γιάννης Ρεφανίδης 34 17

Αρχή της Ελάχιστης έσµευσης " Οσχεδιασµός στο χώρο των πλάνων χαρακτηρίζεται από την αρχή της ελάχιστης δέσµευσης (least commitment principle), σύµφωνα µε την οποία: " Οι ενέργειες δεν τοποθετούνται σε συγκεκριµένες θέσεις στο χρόνο και οι παράµετροί τους δε δεσµεύονται σε συγκεκριµένες τιµές αντικειµένων, εφόσον δε συντρέχει λόγος για κάτι τέτοιο. " Η εφαρµογή της παραπάνω αρχής έχει ως αποτέλεσµα πολύ µικρότερους χώρους αναζήτησης και άρα πιο αποτελεσµατική επίλυση των προβληµάτων σχεδιασµού. " Το µειονέκτηµα της υιοθέτησης της παραπάνω αρχής είναι ότι τα µερικώς ορισµένα πλάνα δεν αντιστοιχούν σε συγκεκριµένες καταστάσεις, µε αποτέλεσµα να είναι δυσκολότερη η κατασκευή ευριστικών συναρτήσεων, µιας και οι περισσότερες από αυτές βασίζονται στον υπολογισµό αποστάσεων µεταξύ καταστάσεων. Γιάννης Ρεφανίδης 35 Αναπαράσταση Μη-Γραµµικών Πλάνων " Ένα µη-γραµµικό πλάνο µε συγκεκριµένες ενέργειες (όπου δηλαδή όλες οι παράµετροι έχουν πάρει τιµές) ορίζεται ως µια τριάδα, (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. Γιάννης Ρεφανίδης 36 18

Αιτιολογικοί Σύνδεσµοι (1/2) " Ένας µη-γραµµικός σχεδιαστής πρέπει να διατηρεί πληροφορίες σχετικά µε τους λόγους για τους οποίους µια ενέργεια εισήλθε στο πλάνο. Αυτό επιτυγχάνεται µε τους αιτιολογικούς συνδέσµους. " Ένας αιτιολογικός σύνδεσµος είναι µια δοµή µε τρία πεδία: δύο δείκτες σε ενέργειες του πλάνου, έστω a p και a c, και ένα γεγονός p. " Το γεγονός p ανήκει τόσο στη λίστα προσθήκης της ενέργειας a p, όσο και στη λίστα προϋποθέσεων της ενέργειας a c. p " Ένας αιτιολογικός σύνδεσµος συµβολίζεται ως a. p ac " Η ενέργεια a p ονοµάζεται παραγωγός (producer) του συνδέσµου, ενώ η ενέργεια a c ονοµάζεται καταναλωτής (consumer) του συνδέσµου. " Το L είναι το σύνολο όλων των αιτιολογικών συνδέσµων ενός πλάνου. Γιάννης Ρεφανίδης 37 Αιτιολογικοί Σύνδεσµοι (2/2) " Ένας αιτιολογικός σύνδεσµος δηλώνει ότι κατά το χρονικό διάστηµα µεταξύ της εκτέλεσης της ενέργειας a p και της ενέργειας a c, το γεγονός p αληθεύει συνεχώς. " Για κάθε αιτιολογικό σύνδεσµο της µορφής του συνόλου L, ο περιορισµός διάταξης a p <a c εισάγεται στο σύνολο O. " ιαγραµµατική αναπαράσταση αιτιολογικού σύνδεσµου: a p a c + p p Γιάννης Ρεφανίδης 38 19

Απειλές (1/2) " Έστω ένας αιτιολογικός σύνδεσµος και µια τρίτη ενέργεια a t A. Λέµε ότι η ενέργεια a t αποτελεί απειλή (threat) για τον αιτιολογικό σύνδεσµο p a, εάν: p ac " το σύνολο O {a p <a t <a c } είναι συνεπές, και " p Del(a t ) " Μια απειλή αντιµετωπίζεται µε δύο τρόπους: " προβιβασµό (promotion): Η ενέργεια a t τοποθετείται πριν την a p. " υποβιβασµό (demotion): Η ενέργεια a t τοποθετείται µετά την a c. Γιάννης Ρεφανίδης 39 Απειλές (2/2) " Υποβιβασµός " Απειλή a p a c a t ap + p p ac + p p -p at " Προβιβασµός -p a t a p a c -p + p p Γιάννης Ρεφανίδης 40 20

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

Παράδειγµα (1/3) Α A Αρχική κατάσταση Τελική κατάσταση " 1ο βήµα START on(c,a) clear(b) clear(c) on(a,table) on(b,table) move--from-table-to- clear(b) clear(c) on(b,table) -clear(c) - on(b,table) + on(b,c) END on(b,c) on(a,b) Γιάννης Ρεφανίδης 43 Παράδειγµα (2/3) " 3ο βήµα Α A Αρχική κατάσταση Τελική κατάσταση START on(c,a), clear(b) clear(c) on(a,table) on(b,table) move--from-table-to- 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) - on(a, table) clear(α) - clear(b) on(α table) + on(a, b) Γιάννης Ρεφανίδης 44 22

Παράδειγµα (3/3) " Τελικό πλάνο Α A Αρχική κατάσταση Τελική κατάσταση START on(c,a) clear(c) on(a,table) clear(b) on(b,table) move--from-a-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--from-table-to- clear(c) clear(b) on(b,table) -clear(c) -on(b,table) +on(b,c) Γιάννης Ρεφανίδης 45 Μη-Συγκεκριµένες Ενέργειες (1/4) " Στο προηγούµενο παράδειγµα οι ενέργειες που εισήλθαν στο πλάνο ήταν εξαρχής συγκεκριµένες, δηλ. όλες οι παράµετροί τους είχαν πάρει τιµές. " Μπορούµε ωστόσο να εισάγουµε ενέργειες σε ένα πλάνο, χωρίς να δίνουµε εξαρχής τιµές σε όλες τις παραµέτρους τους. " Αυτό έχει ως αποτέλεσµα την περαιτέρω µείωση του χώρου αναζήτησης. Γιάννης Ρεφανίδης 46 23

Μη-Συγκεκριµένες Ενέργειες (2/4) " Για παράδειγµα, έστω η αρχική κατάσταση του διπλανού σχήµατος: " { lock(a), lock(), lock(), On(,Table), On(,), On(A,), lear(a) } " και έστω ο µοναδικός στόχος: " on(,table) " Οι συγκεκριµένες ενέργειες που πετυχαίνουν τον στόχο είναι οι: " move_to_table(,): " move_to_table(,a): " Από την άλλη, υπάρχει µόνο µία µη-συγκεκριµένη ενέργεια που πετυχαίνει το στόχο: " move_to_table(,x): Γιάννης Ρεφανίδης 47 A Μη-Συγκεκριµένες Ενέργειες (3/4) " Ηενέργεια move_to_table(,x) έχει ως προϋπoθέσεις τα γεγονότα: " { On(,x), clear() } " Επιλέγοντας στη συνέχεια την ενέργεια move_to_table(y,): " Αποτελέσµατα: { On(y, Table), lear() } " Προϋποθέσεις: { On(y, ), lear(y) } " Οι νέοι στόχοι που µένει να επιτευχθούν είναι οι: " { On(,x), On(y, ), lear(y) } " Οι νέοι αυτοί στόχοι ικανοποιούνται όµως από την αρχική κατάσταση, εφόσον θέσουµε x= και y=a. " Άρα η λύση στο πρόβληµα είναι το πλάνο: " move_to_table(a,), move_to_table(,) Γιάννης Ρεφανίδης 48 24

Μη-Συγκεκριµένες Ενέργειες (4/4) " Εάν δεν είχαµε χρησιµοποιήσει µη-συγκεκριµένες ενέργειες, θα έπρεπε, στη χειρότερη περίπτωση, να ελέγξουµε όλους τους συνδυασµούς συγκεκριµένων ενεργειών, µέχρι να βρούµε ένα πλάνο λύση. " Στην περίπτωση µη-συγκεκριµένων ενεργειών, ενδέχεται να δηµιουργηθούν "απειλές" (threats) και από παραµέτρους ενεργειών που δεν έχουν πάρει τιµή. " Τέτοιες απειλές µπορούν να αντιµετωπιστούν, πέρα από τις τεχνικές του προβιβασµού και του υποβιβασµού, και µε τον περιορισµό των τιµών που µπορούν να πάρουν οι παράµετροι αυτοί. Γιάννης Ρεφανίδης 49 Σχεδιασµός Ενεργειών Γενικά Αναπαράσταση STRIPS Αναζήτηση στο χώρο των καταστάσεων Αναζήτηση στο χώρο των πλάνων! ιάφορες τεχνικές 25

Σχεδιασµός στο χρόνο (1/2) " Μέχρι τώρα αγνοήσαµε το γεγονός ότι οι ενέργειες µπορεί να έχουν διάρκεια. " Μπορούµε να προσαρµόσουµε το µη-γραµµικό σχεδιασµό για ενέργειες µε διάρκεια ως εξής: " Σε κάθε ενέργεια διάρκειας d αντιστοιχούµε ένα χρονικό παράθυρο [EST, LST], µέσα στο οποίο η ενέργεια πρέπει να ξεκινήσει την εκτέλεσή της. [EST, LST] " EST=Earliest Start Time " LST=Latest Start Time Ενέργεια Προϋποθέσεις ιάρκεια: D Αποτελέσµατα Γιάννης Ρεφανίδης 51 Σχεδιασµός στο χρόνο (2/2) " Για δύο ενέργειες 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) " Ο αλγόριθµος παραγωγής µη-γραµµικών πλάνων αρχικοποιείται θέτοντας την πρώτη ενέργεια του πλάνου να ξεκινήσει να εκτελείται στο διάστηµα [0, t max -d], όπου t max ο χρόνος κατά τον οποίο απαιτούµε να έχει ολοκληρωθεί η εκτέλεση του πλάνου. Γιάννης Ρεφανίδης 52 26

Ιεραρχικός Σχεδιασµός (1/3) " Στον ιεραρχικό σχεδιασµό υπάρχουν ενέργειες σε διάφορα επίπεδα λεπτοµέρειας. " Κάθε ενέργεια έχει τις προϋποθέσεις της και τα αποτελέσµατά της. " Οι ενέργειες των ανωτέρων (γενικότερων) επιπέδων έχουν γενικότερες προϋποθέσεις και αποτελέσµατα. " Όλες οι ενέργειες, εκτός από αυτές των κατώτερων επιπέδων, συνοδεύονται και από έναν ή περισσότερους τρόπους ανάλυσής τους σε λεπτοµερέστερες ενέργειες. " Ένας ιεραρχικός σχεδιαστής κατασκευάζει πλάνα χρησιµοποιώντας πρώτα γενικές ενέργειες, τις οποίες προοδευτικά αντικαθιστά µε ειδικότερες ενέργειες, µέχρι να βρει ένα πλάνο που να αποτελείται από άµεσα εκτελέσιµες ενέργειες και να επιτυγχάνει τους στόχους. Γιάννης Ρεφανίδης 53 Ιεραρχικός Σχεδιασµός (2/3) " Στην απλούστερη περίπτωση ένας ιεραρχικός σχεδιαστής κατασκευάζει ολοκληρωµένα πλάνα στα διάφορα επίπεδα λεπτοµέρειας, ξεκινώντας πρώτα από τα γενικότερα επίπεδα. " Η κατασκευή ενός πλάνου σε ένα γενικό επίπεδο πραγµατοποιείται µε τις γνωστές τεχνικές σχεδιασµού ενεργειών. " Κάθε πλάνο ενός επιπέδου χρησιµεύει ως "σκελετός" για την δηµιουργία ενός πλάνου στο αµέσως ειδικότερο επίπεδο. " Στην περίπτωση που η κατασκευή πλάνου-λύσης σε κάποιο επίπεδο αποτύχει, γίνεται αναθέωρηση του αµέσως γενικότερου πλάνου. Γιάννης Ρεφανίδης 54 27

Ιεραρχικός Σχεδιασµός (3/3) " Οιεραρχικός σχεδιασµός επιταχύνει συνήθως κατά πολύ τη διαδικασία σχεδιασµού. " Στην καλύτερη περίπτωση (εφόσον δεν προκύψει αποτυχία δηµιουργίας πλάνου σε κανένα επίπεδο) η πολυπλοκότητά του τείνει να γίνει γραµµική ως προς το µέγεθος των πλάνων. " Στη χειρότερη όµως περίπτωση (π.χ. όταν το πρόβληµα δεν έχει λύση) έχουµε εκθετική πολυπλοκότητα. Γιάννης Ρεφανίδης 55 Παράδειγµα (1/2) " Έστω ότι θέλουµε να δηµιουργήσουµε ένα πλάνο για τη µετακίνησή µας από το σπίτι µας στη Θεσσαλονίκη στο σπίτι µας στην Αθήνα. " Θέλουµε το πλάνο να είναι αρκετά λεπτοµερές, να περιλαµβάνει δηλαδή ενέργειες του στυλ: " πάρε ταξί από το σπίτι στη Θεσσαλονίκη µέχρι το αεροδρόµιο " κάνε check-in " επιβιβάσου στο αεροπλάνο " αποβιβάσου από το αεροπλάνο " πάρε τις βαλίτσες " πάρε λεωφορείο από το αεροδρόµιο µέχρι το Σύνταγµα " πάρε το µετρό Γιάννης Ρεφανίδης 56 28

Παράδειγµα (2/2) " Εάν προσπαθήσουµε να βρούµε το πλάνο χρησιµοποιώντας απευθείας τις εκτελέσιµες ενέργειες, θα καθυστερήσουµε πάρα πολύ λόγω του πολύ µεγάλου πλήθους αυτών των ενεργειών. " Καλύτερα είναι να φτιάξουµε πρώτα ένα γενικό πλάνο, από µηεκτελέσιµες ενέργειες, τις οποίες στη συνέχεια θα προσπαθήσουµε να αναλύσουµε. " Παραδείγµατα προοδευτικά ειδικότερων πλάνων είναι τα εξής: " Πήγαινε στην Αθήνα µε αεροπλάνο " Πήγαινε στο αεροδρόµιο, πέταξε για Αθήνα, πήγαινε στο σπίτι σου. " Ετοίµασε τις βαλίτσες, πάρε ταξί για αεροδρόµιο, κάνε check-in, περίµενε στην αίθουσα αναµονής, επιβιβάσου, αποβιβάσου, κλπ Γιάννης Ρεφανίδης 57 Εκτέλεση πλάνων (1/3) " Σε πολλά προβλήµατα απαιτείται η ταυτόχρονη παραγωγή και εκτέλεση των πλάνων. " π.χ. Πλοήγηση οχήµατος, ροµπότ κλπ. " Υπάρχουν πολλοί λόγοι για τους οποίους η εκτέλεση ενός πλάνου µπορεί να αποτύχει: " Σφάλµα στην εκτέλεση µιας ενέργειας " π.χ. Το ροµπότ προσπαθεί να πιάσει ένα ποτήρι και δεν τα καταφέρνει. " Σφάλµα στην αντίληψή µας για τον κόσµο " π.χ. Κατά την παραγωγή ενός πλάνου θεωρήθηκε ότι µια πόρτα ήταν ανοικτή, ενώ τελικά αυτή είναι κλειδωµένη. " Προσθήκη νέων στόχων " π.χ. κατά την εκτέλεση ενός πλάνου για την επίτευξη ενός στόχου Α ζητείται επιπλέον η επίτευξη και ενός δεύτερου στόχου Β. Γιάννης Ρεφανίδης 58 29

Εκτέλεση πλάνων (2/3) " Ένα σύστηµα που υλοποιεί ταυτόχρονη παραγωγή και εκτέλεση πλάνων έχει την παρακάτω δοµή: Σχεδιαστής ηµιουργία Πλάνου Αναπαράσταση του Κόσµου Πλάνο Νέα δεδοµένα Οργανα Εκτέλεσης Αισθητήρια Οργανα Πραγµατικός Κόσµος Γιάννης Ρεφανίδης 59 Εκτέλεση πλάνων (3/3) " Οι καταστάσεις όπου η εσωτερική αναπαράσταση του κόσµου δεν συµφωνεί µε αυτή που το σύστηµα δέχεται από τα αισθητήρια όργανα αντιµετωπίζονται µε τρεις τρόπους: " ηµιουργία νέου πλάνου από την αρχή µε τα νέα πλέον δεδοµένα. " Εκτέλεση ενός εναλλακτικού πλάνου που είναι εφαρµόσιµο ή του αρχικού πλάνου από διαφορετικό σηµείο του. " Τροποποίηση του αρχικού πλάνου ώστε να προσαρµοστεί στα νέα δεδοµένα. " Στην χειρότερη περίπτωση όλες οι παραπάνω περιπτώσεις είναι το ίδιο πολύπλοκες όσο η δηµιουργία ενός νέου πλάνου εξαρχής. Γιάννης Ρεφανίδης 60 30

Η κατάσταση σήµερα " Στις µέρες µας ο χώρος του σχεδιασµού ενεργειών είναι από τους πιο ενεργούς ερευνητικούς τοµείς στο χώρο της Τεχνητής Νοηµοσύνης. " Οι περισσότερες υλοποιήσεις συστηµάτων σχεδιασµού ενεργειών γίνονται σε πανεπιστηµιακό επίπεδο, κυρίως στην Αµερική, αλλά και στην Ευρώπη. " http://www.planet-noe.org/ " http://scom.hud.ac.uk/planet/repository/ " Οι εµπορικές εφαρµογές περιλαµβάνουν κυρίως προγράµµατα διαχείρισης εργασιών (task schedulers), πολλά από τα οποία δεν έχουν δυνατότητα προγραµµατισµού. " Microsoft Project " Primavera (www.primavera.com) " Sage (www.sage.com) Γιάννης Ρεφανίδης 61 31