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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

o AND o IF o SUMPRODUCT

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

x=l ηλαδή η ενέργεια είναι µία συνάρτηση της συνάρτησης . Στα µαθηµατικά, η συνάρτηση µίας συνάρτησης ονοµάζεται συναρτησιακό (functional).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

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

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

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

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

Γραµµική Αλγεβρα Ι. Ενότητα: ιανυσµατικοί χώροι. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

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) +

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

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

HY118- ιακριτά Μαθηµατικά

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Κεφάλαιο 4. Λογική Σχεδίαση

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

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

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

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

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

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

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

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

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

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

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

ΠΟΛΥΩΝΥΜΙΚΕΣ - ΡΗΤΕΣ ΑΝΙΣΩΣΕΙΣ P x = x+ 2 4 x x 3x x x x 3x

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

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

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

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

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

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

Σειρά Προβλημάτων 1 Λύσεις

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

HY118- ιακριτά Μαθηµατικά. Παράδειγµα. Από τα συµπεράσµατα στις υποθέσεις Αποδείξεις - Θεωρία συνόλων. Από τις υποθέσεις στα συµπεράσµατα...

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Σχόλιο. Παρατηρήσεις. Παρατηρήσεις. p q p. , p1 p2

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

HY118- ιακριτά Μαθηµατικά

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

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

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

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

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

for for for for( . */

HY118- ιακριτά Μαθηµατικά

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

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

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

Η έννοια του συναρτησιακού (functional).

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

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

Transcript:

Σχεδιασµός ενεργειών Μέρος 1: ιάρθρωση (1/2)! Περιγραφή προβληµάτων σχεδιασµού ενεργειών " Λογισµός καταστάσεων " Το µοντέλο STRIPS " Η γλώσσα PDDL! Επίλυση συµβολικών προβληµάτων σχεδιασµού ενεργειών " Αναζήτηση στο χώρο των καταστάσεων " Αναζήτηση στο χώρο των πλάνων " Γράφοι σχεδιασµού " Προτασιακή λογική Γιάννης Ρεφανίδης 2 1

Μέρος 1: ιάρθρωση (2/2)! Σχεδιασµός και εκτέλεση πλάνων στον πραγµατικό κόσµο " Πόροι " Ιεραρχικός σχεδιασµός " Μη-αιτιοκρατικά περιβάλλοντα! Σχεδιασµός ενεργειών υπό συνθήκη! Παρακολούθηση εκτέλεσης και επανασχεδιασµός! Συνεχής σχεδιασµός ενεργειών Γιάννης Ρεφανίδης 3 Περιγραφή προβληµάτων σχεδιασµού ενεργειών Λογισµός καταστάσεων Το µοντέλο STRIPS Η γλώσσα PDDL 2

Προβλήµατα σχεδιασµού ενεργειών! Σχεδιασµός ενεργειών (planning) είναι η εύρεση µιας ακολουθίας ενεργειών (πλάνο, plan), οι οποίες αν εφαρµοσθούν σε µια δεδοµένη αρχική κατάσταση, προκαλούν την επίτευξη προκαθορισµένων στόχων: " Μεταφορά φορτίων " Πλοήγηση " Στρατηγική " Επενδύσεις! Το πρόγραµµα εκείνο, το οποίο, δοθέντος ενός προβλήµατος σχεδιασµού ενεργειών (planning problem), βρίσκει ένα πλάνο-λύση του προβλήµατος, ονοµάζεται σύστηµα σχεδιασµού (planning system) ή σχεδιαστής (planner). Γιάννης Ρεφανίδης 5 Ορισµός προβλήµατος! Ένα πρόβληµα σχεδιασµού ορίζεται από τρεις περιγραφές: " Περιγραφή της αρχικής κατάστασης του κόσµου Initial.! εν είναι υποχρεωτικά πλήρης. " Περιγραφή των στόχων Goals, που πρέπει να επιτευχθούν. " Περιγραφή των διαθέσιµων ενεργειών Actions που µπορούν να εκτελεστούν, προκειµένου να επιτευχθούν οι στόχοι! Λύση σε ένα πρόβληµα σχεδιασµού ενεργειών είναι ένα σύνολο ενεργειών, µερικώς διατεταγµένων, οι οποίες εάν εκτελεστούν στην αρχική κατάσταση οδηγούν σε µια νέα κατάσταση όπου ισχύουν οι στόχοι. Γιάννης Ρεφανίδης 6 3

Μοντέλα αναπαράστασης! Υπάρχουν δύο προσεγγίσεις αναπαράστασης προβληµάτων σχεδιασµού ενεργειών: " Ο λογισµός καταστάσεων " Το µοντέλο STRIPS! Ο λογισµός καταστάσεων βασίζεται στην λογική και αποτελεί ιστορικά την πρώτη προσέγγιση στα προβλήµατα σχεδιασµού ενεργειών. " Έχει µεγάλη εκφραστική ικανότητα " Είναι δυσκολότερη η µοντελοποίηση αλλά και η επίλυση των προβληµάτων.! Το µοντέλο STRIPS δηµιουργήθηκε ως µια προσπάθεια αντιµετώπισης των προβληµάτων του λογισµού καταστάσεων. " Έχει µικρότερη εκφραστική ικανότητα. " Είναι ευρέως διαδεδοµένο. Γιάννης Ρεφανίδης 7 Περιγραφή προβληµάτων σχεδιασµού ενεργειών # Λογισµός καταστάσεων Το µοντέλο STRIPS Η γλώσσα PDDL 4

Λογισµός Καταστάσεων (1/4)! Ηλογική πρώτης τάξης παρέχει διάφορους τρόπους αναπαράστασης ενεργειών, ο πιο γνωστός από τους οποίους είναι ο λογισµός καταστάσεων (situation calculus).! Μια κατάσταση αποτελεί το σύνολο των προτάσεων που αληθεύουν ύστερα από την εφαρµογή κάποιας ενέργειας.! Η εφαρµογή µιας ενέργειας έχει ως αποτέλεσµα την αλλαγή της τιµής αληθείας διαφόρων προτάσεων.! Οι καταστάσεις συµβολίζονται µε γράµµατα όπως S 0, S 1, s κλπ.! Κάθε πρόταση θα πρέπει να αναφέρει και την κατάσταση στην οποία αληθεύει. Για παράδειγµα η πρόταση: " Βρίσκεται(Γιώργος, Πανεπιστήµιο, S 1 ) δηλώνει ότι ο Γιώργος βρίσκεται στο Πανεπιστήµιο στην κατάσταση S 1. Γιάννης Ρεφανίδης 9 Λογισµός Καταστάσεων (2/4)! Έστω η ενέργεια Go(m,x,y), η οποία δηλώνει ότι ο άνθρωπος m µετακινείται από µια θέση x σε µια νέα θέση y. " Ο παραπάνω ορισµός ενέργειας µπορεί να συγκεκριµενοποιηθεί µε πολλούς διαφορετικούς τρόπους, ανάλογα µε τις τιµές που θα πάρουν οι µεταβλητές m, x και y.! Για να µπορεί να εφαρµοστεί µια τέτοια ενέργεια σε µια τυχαία κατάσταση s θα πρέπει να ισχύουν κάποιες προϋποθέσεις, όπως για παράδειγµα ότι ο m βρίσκεται ήδη στη θέση x.! Γράφοντας Possible(Go(m,x,y),s) δηλώνουµε ότι η ενέργεια Go(m,x,y) µπορεί να εφαρµοστεί στην κατάσταση s.! Μπορούµε να περιγράψουµε πότε µια ενέργεια είναι εφαρµόσιµη σε µια κατάσταση, χρησιµοποιώντας λογική πρώτης τάξης: " m,x,s,y At(m,x,s) Position(y) Possible(Go(m,x,y),s)! όπου το κατηγόρηµα At(m,x,s) δηλώνει ότι ο άνθρωπος m βρίσκεται στη θέση x στην κατάσταση s. Γιάννης Ρεφανίδης 10 5

Λογισµός Καταστάσεων (3/4)! Χρησιµοποιούµε τησυνάρτηση Results για να περιγράψουµε την νέα κατάσταση που προκύπτει από την εφαρµογή µιας ενέργειας σε µια κατάσταση: " s1=results(a,s)! όπου s η προηγούµενη κατάσταση, a η ενέργεια που εφαρµόστηκε και s1 η νέα κατάσταση. " Σηµείωση: Κάποιοι ερευνητές χρησιµοποιούν το όνοµα Do αντί του ονόµατος Results. Γιάννης Ρεφανίδης 11 Λογισµός Καταστάσεων (4/4)! Για να περιγράψουµε τα αποτελέσµατα της εφαρµογής µιας ενέργειας σε µια κατάσταση, χρησιµοποιούµε προτάσεις της µορφής: " m,x,y,s,s1 Possible(Go(m,x,y),s) s1=results(go(m,x,y),s) At(m,y,s1) " m,x,y,s,s1 Possible(Go(m,x,y),s) s1=results(go(m,x,y),s) At(m,x,s1)! Με τις δύο τελευταίες συνεπαγωγές περιγράψαµε µερικές από τις προτάσεις που ισχύουν στη νέα κατάσταση s1, δηλαδή στην κατάσταση που προκύπτει από την εφαρµογή της ενέργειας Go(m,x,y) στην κατάσταση s. Γιάννης Ρεφανίδης 12 6

Το πρόβληµα του πλαισίου (1/3)! Οι δύο τελευταίες συνεπαγωγές καθόρισαν τη νέα τιµή αληθείας για τις προτάσεις εκείνες, η τιµή αληθείας των οποίων άλλαξε από την s στην s1.! Τι γίνεται όµως µε τις προτάσεις εκείνες, η τιµή αληθείας των οποίων δεν άλλαξε µε την εφαρµογή της ενέργειας; " Για παράδειγµα, έστω Job(m,j,s) το επάγγελµα j του ανθρώπου m στην κατάσταση s, το οποίο δεν άλλαξε κατά την διάρκεια εκτέλεσης της ενέργειας: " Possible(Go(m,x,y),s) Job (m,j,s) s1=results(go(m,x,y),s) Job (m,j,s1)! Συνεπαγωγές σαν τις παραπάνω ονοµάζονται αξιώµατα πλαισίου (frame axioms). Γιάννης Ρεφανίδης 13 Το πρόβληµα του πλαισίου (2/3)! υστυχώς, αξιώµατα πλαισίου πρέπει να γραφούν για κάθε ενέργεια και για όλα τα κατηγορήµατα, η τιµή των οποίων για διάφορες τιµές των παραµέτρων τους δεν επηρρεάζεται από την εφαρµογή της ενέργειας.! Σε ένα πραγµατικό πρόβληµα µε µεγάλο αριθµό κατηγορηµάτων και ενεργειών, το πλήθος των αξιωµάτων πλαισίου είναι τεράστιο (περίπου ίσο µε το γινόµενο των ενεργειών επί των κατηγορηµάτων).! Το πρόβληµα συγγραφής των αξιωµάτων πλαισίου ονοµάζεται πρόβληµα του πλαισίου (frame problem). Γιάννης Ρεφανίδης 14 7

Το πρόβληµα του πλαισίου (3/3)! Ένας τρόπος να περιοριστεί το πλήθος των αξιωµάτων πλαισίου είναι αυτά να γραφούν ως εξής:! Possible(a,s) s1=results(a,s) At(m,y,s1) a=go(m,x,y) (At(m,y,s) a Go(m,y,z))! Η παραπάνω πρόταση μεταφράζεται ως εξής: " Για κάθε ενέργεια a που είναι εφαρμόσιμη στην κατάσταση s και έστω s1 η προκύπτουσακατάσταση, ο άνθρωπος m βρίσκεται στην θέση y στην κατάσταση s1 εφόσον η ενέργεια ήταν της μορφής Go(m,x,y) ή εφόσον ο άνθρωπος βρισκόταν ήδη στη θέση y και η ενέργεια δεν ήταν της μορφής Go(m,y,z).! Με την παραπάνω τεχνική ο αριθµός των αξιωµάτων πλαισίου γίνεται της τάξης µεγέθους του αριθµού των ενεργειών επί το πλήθος των αποτελεσµάτων κάθε ενέργειας. Γιάννης Ρεφανίδης 15 Λογισµός καταστάσεων και χρόνος (1/2)! Στο λογισµό καταστάσεων ο χρόνος δεν αναπαρίσταται άµεσα.! Υπάρχει µια έµµεση αναφορά στο χρόνο, µε την έννοια ότι κάθε κατάσταση εµφανίζεται µετά από την προηγούµενή της.! Με βάση αυτό το σκεπτικό, µπορούν να οριστούν οι τελεστές και ωςεξής: " p : ηλώνει ότι η πρόταση p ισχύει σε όλες τις καταστάσεις από τώρα και για πάντα. " p : ηλώνει ότι η πρόταση p θα ισχύει σε κάποια κατάσταση στο µέλλον.! Για τους τελεστές και ισχύουν οι παρακάτω σχέσεις: " p p " p p Γιάννης Ρεφανίδης 16 8

Λογισµός καταστάσεων και χρόνος (2/2)! Προτάσεις σαν τις προηγούµενες µπορούν να θεωρηθούν και ως στόχοι σε ένα πρόβληµα σχεδιασµού ενεργειών.! Για παράδειγµα, η πρόταση: " At(Γιάννης, Αεροδρόµιο)! µπορεί να θεωρηθεί ως στόχος σε ένα πρόβληµα σχεδιασµού ενεργειών που διατυπώνεται ως εξής: " Βρες µια ακολουθία ενεργειών που να καταλήγει σε µια κατάσταση s, στην οποία να ισχύει η παραπάνω πρόταση.! Παρόµοια, η πρόταση: " Ασφαλής(Γιάννης)! µπορεί να θεωρηθεί ως ένας στόχος διατήτησης, µε την έννοια ότι απαιτούµε σε όλες τις καταστάσεις που θα προκύψουν από την εκτέλεση διαφόρων ενεργειών να ισχύει η παραπάνω πρόταση. Γιάννης Ρεφανίδης 17 Άµεση Αναπαράσταση του Χρόνου! Ολογισµός των καταστάσεων λειτουργεί καλά σε προβλήµατα όπου οι ενέργειες δεν επικαλύπτονται χρονικά.! Όταν οι ενέργειες έχουν διάρκεια και µπορούν να εκτελούνται ταυτόχρονα, τότε ο λογισµός καταστάσεων είναι ανεπαρκής.! Επίσης αδυνατεί να αναπαραστήσει γνώση σε σχέση µε συγκεκριµένες χρονικές στιγµές, όπως π.χ. ο Γιάννης θα είναι στο αεροδρόµιο στις 13:00 αύριο.! Σε τέτοια προβλήµατα, αντί για καταστάσεις χρησιµοποιούνται χρονικές στιγµές (time points) ή/και χρονικά διαστήµατα (temporal intervals).! Για κάθε πρόταση ορίζονται οι χρονικές στιγµές κατά τις οποίες αυτή αλλάζει τιµή ή ισοδύναµα το χρονικό διάστηµα κατά το οποίο αυτή ισχύει. Γιάννης Ρεφανίδης 18 9

Λογισµός των Συµβάντων (1/4)! Ολογισµός των συµβάνων (event calculus) βασίζεται στην ύπαρξη των συµβάντων, τα οποία µπορεί να είναι: " Ενέργειες δικές µας " Ενέργειες άλλων " Συµβάντα χωρίς συγκεκριµένο υποκείµενο (π.χ. "νύχτωσε").! Κάθε συµβάν λαµβάνει χώρα σε µια συγκεκριµένη χρονική στιγµή.! Η φιλοσοφία του λογισµού των συµβάντων είναι η εξής: " Μια τυχαία πρόταση P είναι αληθής τη χρονική στιγµή t, εάν υπάρχει ένα συµβάν e1 που έλαβε χώρα τη χρονική στιγµή t1, τέτοια ώστε t1<t και το οποίο κατέστησε την P αληθή, και δεν υπάρχει κανένα άλλο συµβάν e2 το οποίο να έλαβε χώρα κάποια χρονική στιγµή t2, τέτοια ώστε t1<t2<t και το οποίο να κατέστησε την P ψευδή. Γιάννης Ρεφανίδης 19 Λογισµός των Συµβάντων (2/4)! Αντί για τη συνάρτηση Results του λογισµού καταστάσεων, στο λογισµό συµβάντων χρησιµοποιούνται τα παρακάτω κατηγορήµατα: " Συµβαίνει(e,t): ηλώνει ότι το συµβάν e λαµβάνει χώρα τη χρονική στιγµή t. " Ξεκινά(e,f): ηλώνει ότι το συµβάν e καθιστά την πρόταση f αληθή. " Τερµατίζει(e,f): ηλώνει ότι το συµβάν e καθιστά την πρόταση f ψευδή. Γιάννης Ρεφανίδης 20 10

Λογισµός των Συµβάντων (3/4)! Για παράδειγµα, έστω T(f,t2) η πρόταση που δηλώνει ότι η πρόταση f ισχύει τη χρονική στιγµή t2: " T(f,t2) e,t: Συµβαίνει(e,t) Ξεκινά(e,f) t<t2 ιακόπτεται(f,t,t2)! όπου το κατηγόρηµα ιακόπτεται αληθεύει όταν το γεγονός f παύει να είναι αληθές κάπου µεταξύ των χρονικών στιγµών t και t2, και ορίζεται ως εξής: " ιακόπτεται(f,t,t2) e1,t1: Συµβαίνει(e1,t1) Τερµατίζει(e1,f) t<t1 t1<t2 Γιάννης Ρεφανίδης 21 Λογισµός των Συµβάντων (4/4)! Ολογισµός των συµβάντων µας δίνει τη δυνατότητα να θέτουµε ερωτήσεις και να προσπαθούµε να αποδείξουµε προτάσεις της µορφής: " ιδάσκει(γιάννης, 15:00) " t, t>9:00 t<17:00 At(Γιάννης, Γραφείο,t) " t, At(Γιάννης, Αεροδρόµιο,t)! Οι παραπάνω ερωτήσεις µπορεί να θεωρηθούν και ως επιθυµητές καταστάσεις, οπότε δηµιουργείται το πρόβληµα εύρεσης των ενεργειών που καθιστούν τις παραπάνω προτάσεις αληθείς. Γιάννης Ρεφανίδης 22 11

Αναπαράσταση του χρόνου µε χρονικά διαστήµατα (1/4)! Εκτός από χρονικές στιγµές, για την αναπαράσταση του χρόνου µπορούµε να χρησιµοποιούµε και χρονικά διαστήµατα.! Για το σκοπό αυτό πρέπει να ορίσουµε µερικά επιπλέον κατηγορήµατα και συναρτήσεις: " ιάστηµα(i) : Το αντικείµενο i είναι χρονικό διάστηµα. " Αρχή(i) : Συνάρτηση που αναφέρεται στη χρονική στιγµή της έναρξης του χρονικού διαστήµατος i. " Τέλος(i) : Συνάρτηση που αναφέρεται στη χρονική στιγµή της λήξης του χρονικού διαστήµατος i. " ιάρκεια(i) : Συνάρτηση που επιστρέφει τη διάρκεια του χρονικού διαστήµατος i.! ιάρκεια(i) = Τέλος(i) - Αρχή(i)! Μια χρονική στιγµή µπορεί να θεωρηθεί ως µια ειδική περίπτωση χρονικού διαστήµατος, του οποίου η αρχή και το τέλος συµπίπτουν. Γιάννης Ρεφανίδης 23 Αναπαράσταση του χρόνου µε χρονικά διαστήµατα (2/4)! Μεταξύ χρονικών διαστηµάτων µπορούν να οριστούν διάφορες σχέσεις (κατ' αντιστοιχία των σχέσεων >, <, = και που ισχύουν µεταξύ χρονικών στιγµών), οι οποίες αυξάνουν τις εκφραστικές µας δυνατότητες.! Ειδικότερα, οι σχέσεις που µπορούν να έχουν µεταξύ τους δύο χρονικά διαστήµατα i και j είναι οι εξής: " Επικαλύπτει(i,j) Αρχή(i)<Αρχή(j)<Τέλος(i)<Τέλος(j) " Προηγείται(i,j) Τέλος(i) < Αρχή(j) " Συναντά(i,j) Τέλος(i) = Αρχή(j) " Αρχίζει(i,j) Αρχή(i)=Αρχή(j) Τέλος(i)<Τέλος(j) " Τελειώνει(i,j) Αρχή(i)>Αρχή(j) Τέλος(i)=Τέλος(j) " Στη ιάρκεια(i,j) Αρχή(i)>Αρχή(j) Τέλος(i)<Τέλος(j) " Ισοδυναµεί(i,j) Αρχή(i)=Αρχή(j) Τέλος(i)=Τέλος(j) Γιάννης Ρεφανίδης 24 12

Αναπαράσταση του χρόνου µε χρονικά διαστήµατα (3/4)! Για τις έξι πρώτες από τις παραπάνω σχέσεις µπορούν να οριστούν και οι συµµετρικές τους (κατ' αντιστοιχία της σχέσης > που µπορεί να θεωρηθεί συµµετρική της <) ανεβάζοντας έτσι τον αριθµό των σχέσεων µεταξύ χρονικών διαστηµάτων σε 13.! Στο διπλανό σχήµα φαίνονται γραφικά οι 7 σχέσεις. Γιάννης Ρεφανίδης 25 Αναπαράσταση του χρόνου µε χρονικά διαστήµατα (4/4)! Χρησιµοποιώντας τα χρονικά διαστήµατα και τις µεταξύ τους σχέσεις µπορούµε να γράψουµε προτάσεις σαν την ακόλουθη: " π Πτήση(π) δ,α,β,γ, ιάστηµα(δ) ιάστηµα(α) ιάστηµα(β) ιάστηµα(γ) δ= ιάρκεια_πτήσης(π) α=απογείωση(π) β=κύρια_πτήση(π) γ=προσγείωση(π) Στη_ ιάρκεια(α,δ) Στη_ ιάρκεια(β,δ) Στη_ ιάρκεια(γ,δ) Συναντά(α,β) Συναντά(β,γ) Αρχίζει(α,δ) Τελειώνει(γ,δ) δ α β γ Γιάννης Ρεφανίδης 26 13

Άλλα θέµατα! Παρά τις επεκτάσεις που κάναµε στη λογική πρώτης τάξης µέσω του λογισµού των συµβάντων και των χρονικών διαστηµάτων, υπάρχουν πολλά πράγµατα ακόµη που πρέπει να αντιµετωπισθούν αναφορικά µε το χρόνο. Μερικά από αυτά είναι τα ακόλουθα: " Συµβάντα µε διάρκεια " Ταυτόχρονα συµβάντα! Το αποτέλεσµα της ταυτόχρονης παρουσίας δύο συµβάντων δεν είναι πάντα ισοδύναµο µε αυτό της ξεχωριστής τους εµφάνισης. Για παράδειγµα, δύο άνθρωποι που σηκώνουν ένα τραπέζι ή δύο θεραπευτικές αγωγές που εφαρµόζονται ταυτόχρονα. " Αποτελέσµατα τα οποία εµφανίζονται αργότερα από τη στιγµή που το σχετικό συµβάν έλαβε χώρα.! Εκτόξευση ενός πυραύλου. " Αποτελέσµατα που είναι συνεχείς µεταβολές! Αδειασµα µιας πισίνας Γιάννης Ρεφανίδης 27 Παρατηρήσεις! Στις προηγούµενες διαφάνειες παρουσιάσαµε τον τρόπο περιγραφής προβληµάτων σχεδιασµού ενεργειών µε χρήση λογισµού καταστάσεων.! εν ασχοληθήκαµε καθόλου µε την επίλυση των προβληµάτων σχεδιασµού.! Με δεδοµένο ότι η αναπαράσταση των προβληµάτων βασίστηκε στη λογική, για την επίλυσή τους µπορεί να χρησιµοποιηθεί οποιδήποτε αποδεικτική διαδικασία της λογικής, όπως η απόδειξη, η τεχνική της ανάλυσης κλπ. Γιάννης Ρεφανίδης 28 14

Περιγραφή προβληµάτων σχεδιασµού ενεργειών Λογισµός καταστάσεων # Το µοντέλο STRIPS Η γλώσσα PDDL Αναπαράσταση STRIPS! Η αναπαράσταση STRIPS (STanford Research Institute Planning System) είναι η πιο απλή αναπαράσταση που χρησιµοποιείται σε προβλήµατα σχεδιασµού ενεργειών. " Χρονολογείται από το 1971.! Χρησιµοποιεί προτασιακή λογική. " Οι καταστάσεις και οι στόχοι είναι λίστες γεγονότων. " Οι ενέργειες ορίζονται από τις προϋποθέσεις εφαρµογής τους και από τις αλλαγές που επιφέρουν στον κόσµο του προβλήµατος. Γιάννης Ρεφανίδης 30 15

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

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

Εφαρµογή Ενεργειών (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 )! Προϋπόθεση: Κάθε ενέργεια ai είναι εφαρµόσιµη στην κατάσταση result(s,(a 1, a 2,..., a i-1 )), για κάθε i=1, 2,..., N Γιάννης Ρεφανίδης 35 Εφαρµογή Ενεργειών (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) } Γιάννης Ρεφανίδης 36 18

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

Σχήµατα ενεργειών (3/3)! Για παράδειγµα, το πρώτο από τα σχήµατα ενεργειών που αναφέρθηκαν στην προηγούµενη διαφάνεια, µπορεί να οριστεί ως εξής: " Όνοµα ενέργειας: Move_to_Table(x,y) " Προϋποθέσεις: { lock(x), lock(y), lear(x), On(x,y) } " Αποτελέσµατα: { On(x,y), lear(y), On(x,Table) } Γιάννης Ρεφανίδης 39 Αναπαράσταση πλάνων (1/4)! Στην γενική περίπτωση, ένα πλάνο αποτελείται από ένα σύνολο ενεργειών και κάποιες σχέσεις διάταξης µεταξύ τους.! Πλάνα στα οποία οι ενέργειες είναι πλήρως διατεταγµένες µεταξύ τους ονοµάζονται γραµµικά πλάνα (linear plans).! Πλάνα στα οποία οι ενέργειες είναι µερικώς διατεταγµένες µεταξύ τους ονοµάζονται µη-γραµµικά πλάνα (non-linear plans). " Για παράδειγµα, σε µια λύση του προβλήµατος του να ντυθεί κανείς, υπάρχουν ενέργειες που έχουν σχέση διάταξης µεταξύ τους, όπως να φορέσει κανείς πρώτα την κάλτσα και µετά το παπούτσι, και ενέργειες οι οποίες δεν έχουν σχέση διάταξης µεταξύ τους, όπως συµβαίνει µε τις ενέργειες που αφορούν δύο διαφορετικά παπούτσια. Γιάννης Ρεφανίδης 40 20

Αναπαράσταση πλάνων (2/4)! Σε πιο σύνθετες αναπαραστάσεις, όπου εµπεριέχεται και ο χρόνος, µπορεί κάθε ενέργεια να συνοδεύεται και από µια χρονική στιγµή (ή χρονικό διάστηµα) κατά την οποία (ή εντός του οποίου) πρέπει να ξεκινήσει η εκτέλεσή της.! Τα πλάνα µπορούν να αναπαρασταθούν γραφικά µε διάφορους τρόπους. " Αναπαράσταση µίας ενέργειας, µε τις προϋποθέσεις και τα αποτελέσµατα: move_block_to_table(c, a) block(c) block(a) on(c,a) clear(c) - on(c,a) + on(c,table) Γιάννης Ρεφανίδης 41 Αναπαράσταση πλάνων (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) Γιάννης Ρεφανίδης 42 21

Αναπαράσταση πλάνων (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) Γιάννης Ρεφανίδης 43 Περιορισµοί της αναπαράστασης STRIPS! Η αναπαράσταση STRIPS είναι ανεπαρκής για αναπαράσταση (και επίλυση) προβληµάτων του πραγµατικού κόσµου, γιατί κάνει τις παρακάτω αυθαίρετες παραδοχές: " Αδιαίρετες ενέργειες (indivisible actions): Οι ενέργειες εκτελούνται στιγµιαία, και τίποτα δεν µπορεί να συµβεί κατά τη διάρκεια της εκτέλεσής τους. " Προκαθορισµένα αποτελέσµατα (deterministic effects): Τα αποτελέσµατα των ενεργειών είναι γνωστά εκ των προτέρων. " Πλήρης γνώση (omniscience): Γνωρίζουµε τα πάντα για την τρέχουσα κατάσταση. " Υπόθεση κλειστού συστήµατος (closed world assumption): Το πλήθος των αντικειµένων του προβλήµατος είναι πεπερασµένο και σταθερό. " Στατικός κόσµος (static world): Ο µεταβάλλεται µόνο µέσω των αποτελεσµάτων των δικών µας ενεργειών. Γιάννης Ρεφανίδης 44 22

Περιγραφή προβληµάτων σχεδιασµού ενεργειών Λογισµός καταστάσεων Το µοντέλο STRIPS # Η γλώσσα PDDL Η γλώσσα PDDL (1/3)! Τα τελευταία χρόνια έχει «προτυποποιηθεί» µια σύνταξη του µοντέλου STRIPS, ώστε να είναι ευκολότερη η ανταλλαγή περιγραφών προβληµάτων µεταξύ των ερευνητών.! Η γλώσσα PDDL (Planning Domain Description Language) υποστηρίζει το µοντέλο STRIPS, αλλά και πολλές επεκτάσεις του.! Η σύνταξη της γλώσσας PDDL θυµίζει τη γλώσσα προγραµµατισµού LISP.! Η γλώσσα PDDL έχει χρησιµοποιηθεί στους 3 διεθνείς διαγωνισµούς συστηµάτων σχεδιασµού (1998, 2000 και 2002). Γιάννης Ρεφανίδης 46 23

Η γλώσσα PDDL (2/3)! Περιγραφή πεδίου σχεδιασµού: " define ( domain blocks-strips)! (:requirements :strips)! (:predicates (block?obj) " (table?obj) " (on?obj1?obj2) " (clear?obj)) " (:action MOVE-X-FROM-Y-TO-TALE! :parameters (?obj1?obj2)! :precondition " (and (block?obj1) (block?obj2) (on?obj1?obj2) (clear?obj1))! :effect " (and (not (on?obj1?obj2)) (on?obj1 table) (clear?obj2))) "... Γιάννης Ρεφανίδης 47 Η γλώσσα PDDL (3/3)! Περιγραφή προβλήµατος σχεδιασµού: " (define (problem blocks-1) (:domain blocks-strips)! (:objects blocka block block blockd table)! (:init (block blocka) (block block) (block block) (table table1) (on blocka block) (on block table) (clear blocka) (on block blockd) (on blockd table) (clear block))! (:goal (and (on blocka block) (on block block) (on block blockd) (on blockd table) (clear blocka)))) Γιάννης Ρεφανίδης 48 24

Επίλυση συµβολικών προβληµάτων σχεδιασµού ενεργειών # Αναζήτηση στο χώρο των καταστάσεων Αναζήτηση στο χώρο των πλάνων Γράφοι σχεδιασµού Προτασιακή λογική Γενικά! Ως χώρος καταστάσεων ορίζεται το σύνολο όλων των καταστάσεων ενός προβλήµατος αναζήτησης.! Το πρόβληµα του σχεδιασµού ενεργειών µπορεί να θεωρηθεί ως ένα κλασσικό πρόβληµα αναζήτησης και να λυθεί µε γνωστούς αλγορίθµους αναζήτησης. " Για µικρά σχετικά προβλήµατα κάτι τέτοιο είναι εφικτό, ειδικά όταν υπάρχει καλή ευρετική συνάρτηση. Γιάννης Ρεφανίδης 50 25

Παράδειγµα! Ο χώρος καταστάσεων για το πρόβληµα των τριών κύβων.! Μπορεί κανείς να ακολουθήσει δύο κατευθύνσεις για την επίλυση του προβλήµατος: " Από την αρχική κατάσταση προς τους στόχους (προέλαση, progression). " Από τους στόχους προς την αρχική κατάσταση (οπισθοχώρηση, regression). Α Α Α A Α Α A Α Α Α Α A Α Γιάννης Ρεφανίδης 51 Οπισθοχώρηση (1/2)! Ηοπισθοχώρηση λειτουργεί ως εξής: " Προσπαθεί να βρει µία (ή περισσότερες) ενέργεια τα αποτελέσµατα της οποίας να είναι οι στόχοι. " Η ενέργεια αυτή θα είναι η τελευταία στο πλάνο που θα δηµιουργηθεί. " Στη συνέχεια θεωρεί ως νέους στόχους τις προϋποθέσεις αυτής της ενέργειας και προσπαθεί να βρεί νέες ενέργειες οι οποίες να επιτυγχάνουν τους νέους στόχους. " Η διαδικασία τερµατίζει όταν κάποια στιγµή οι προϋποθέσεις των νέων ενεργειών ικανοποιούνται από την αρχική κατάσταση του προβλήµατος. Γιάννης Ρεφανίδης 52 26

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

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

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

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

Αναπαράσταση Μη-Γραµµικών Πλάνων! Ένα µη-γραµµικό πλάνο µε συγκεκριµένες ενέργειες (όπου δηλαδή όλες οι παράµετροι έχουν πάρει τιµές) ορίζεται ως µια τριάδα, (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. Γιάννης Ρεφανίδης 61 Αιτιολογικοί Σύνδεσµοι (1/2)! Ένας µη-γραµµικός σχεδιαστής πρέπει να διατηρεί πληροφορίες σχετικά µε τους λόγους για τους οποίους µια ενέργεια εισήλθε στο πλάνο. Αυτό επιτυγχάνεται µε τους αιτιολογικούς συνδέσµους.! Ένας αιτιολογικός σύνδεσµος είναι µια δοµή µε τρία πεδία: δύο δείκτες σε ενέργειες του πλάνου, έστω a p και a c, και ένα γεγονός p.! Το γεγονός p ανήκει τόσο στη λίστα προσθήκης της ενέργειας a p, όσο και στη λίστα προϋποθέσεων της ενέργειας a c. p! Ένας αιτιολογικός σύνδεσµος συµβολίζεται ως ap ac.! Η ενέργεια a p ονοµάζεται παραγωγός (producer) του συνδέσµου, ενώ η ενέργεια a c ονοµάζεται καταναλωτής (consumer) του συνδέσµου.! Το L είναι το σύνολο όλων των αιτιολογικών συνδέσµων ενός πλάνου. Γιάννης Ρεφανίδης 62 31

Αιτιολογικοί Σύνδεσµοι (2/2)! Ένας αιτιολογικός σύνδεσµος δηλώνει ότι κατά το χρονικό διάστηµα µεταξύ της εκτέλεσης της ενέργειας a p και της ενέργειας a c, το γεγονός p αληθεύει συνεχώς.! Για κάθε αιτιολογικό σύνδεσµο της µορφής του συνόλου L, ο περιορισµός διάταξης a p <a c εισάγεται στο σύνολο O.! ιαγραµµατική αναπαράσταση αιτιολογικού συνδέσµου: a p a c + p p Γιάννης Ρεφανίδης 63 Απειλές (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. Γιάννης Ρεφανίδης 64 32

Απειλές (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 Γιάννης Ρεφανίδης 65 Πλήρη πλάνα! Ένα µη-γραµµικό πλάνο λέγεται πλήρες (complete), όταν: " Κάθε ενέργεια που εµφανίζεται είτε σε κάποιο αιτιολογικό σύνδεσµο του συνόλου L ή σε κάποιον περιορισµό διάταξης του συνόλου O, αναφέρεται επίσης στο σύνολο των ενεργειών A. " Για κάθε ενέργεια a A και για κάθε προϋπόθεση p Pre(a), υπάρχει ένας αιτιολογικός σύνδεσµος της µορφής p b a στο σύνολο L, όπου b A. p " Αν το πλάνο περιέχει έναν αιτιολογικό σύνδεσµο b a και µια ενέργεια c που τον απειλεί, τότε στο σύνολο O υπάρχει είτε η διάταξη c<b ή η a<c. Γιάννης Ρεφανίδης 66 33

Τοπολογική διάταξη! Μία τοπολογική διάταξη (topological sort) ενός µη-γραµµικού πλάνου είναι µία γραµµική ακολουθία των ενεργειών του, τέτοια ώστε: p " Για κάθε αιτιολογικό σύνδεσµο b a, η ενέργεια b προηγείται της ενέργειας a. " Για κάθε περιορισµό διάταξηςb<a του συνόλου O, η ενέργεια b προηγείται της a. Γιάννης Ρεφανίδης 67 Οαλγόριθµος POP! Οβασικός αλγόριθµος POP (Partial Order Planner) λειτουργεί ως εξής: " ιατηρεί µια λίστα µε όλους τους στόχους που πρέπει να ικανοποιηθούν. Η λίστα αυτή αρχικοποιείται στους αρχικούς στόχους του προβλήµατος. " Σε κάθε επανάληψη προσπαθεί να ικανοποιήσει έναν στόχο, επιλέγοντας µη-αιτιοκρατικά:! µια από τις ενέργειες που υπάρχουν ήδη στο πλάνο και η οποία µπορεί να τοποθετηθεί πριν από το στόχο! ένα από τα γεγονότα της αρχικής κατάστασης! µια νέα ενέργεια " ηµιουργούνται οι απαραίτητοι αιτιολογικοί σύνδεσµοι και σχέσεις διάταξης. " Σε περίπτωση νέας ενέργειας, οι προϋποθέσεις της γίνονται νέοι στόχοι. " Επιλύει µη-αιτοκρατικά τις απειλές που ενδεχοµένως δηµιουργήθηκαν. " Τερµατίζει όταν αδειάσει η λίστα των στόχων. Γιάννης Ρεφανίδης 68 34

Παράδειγµα (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) Γιάννης Ρεφανίδης 69 Παράδειγµα (2/3) A! 2ο και 3ο βήµα Α Αρχική κατάσταση Τελική κατάσταση 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) Γιάννης Ρεφανίδης 70 35

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

Μη-Συγκεκριµένες Ενέργειες (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): A Γιάννης Ρεφανίδης 73 Μη-Συγκεκριµένες Ενέργειες (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(,) Γιάννης Ρεφανίδης 74 37

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