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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση

Ανάπτυξη Συστήµατος Σχεδιασµού Ενεργειών µε την Γλώσσα JAVA

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

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

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

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

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

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

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

ΕΠΛ 434: Λογικός Προγραμματισμός και Τεχνητή Νοημοσύνη

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

1.2 Jason BDI Αρχιτεκτονική

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

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

Δ Ι Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ Γ Α Σ Ι Α

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση

ΠΡΟΣΟΜΟΙΩΣΗ. Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο.

Τεχνητή Νοημοσύνη. Σχεδιασμός Ενεργειών. Ιώαννης Βλαχάβας Τμήμα Πληροφορικής ΑΠΘ

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

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

Τεχνητή Νοημοσύνη ΙΙ Εαρινό Εξάμηνο Εργασία ΙΙ: Σχεδιασμός Ημερομηνία Παράδοσης: 26 Μαρτίου 2012

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

Σύνθεση διαδικτυακών υπηρεσιών με χρήση τεχνικών σχεδιασμού ενεργειών

Μαρία Κουμή ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

HY118-Διακριτά Μαθηματικά

Υπάρχουν διάφοροι ορισμοί. Η οντολογία (ontology), ως μια τυποποιημένη περιγραφή ενός συγκεκριμένου τομέα γνώσης η οποία πρέπει να είναι αποδεκτή από

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 02 & 03. Δρ. Γεώργιος Χρ. Μακρής

Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ

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

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

Διαγράμματα Κλάσεων στη Σχεδίαση

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

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

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

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

Πληροφορική ΙΙ Θεματική Ενότητα 5

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

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

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

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 7: Διαγράμματα Καταστάσεων

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων.

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 01 & 02. Δρ. Γεώργιος Χρ. Μακρής

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

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

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

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

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

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

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Σχεσιακό Μοντέλο Δεδομένων

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Μαθηματική Λογική και Λογικός Προγραμματισμός

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

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

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Σχεδιασµός Ανάπτυξη Οντολογίας

Πρόβλημα 29 / σελίδα 28

Λειτουργικά Συστήματα (Λ/Σ)

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Transcript:

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών Σχεδιασμός & Χρονοπρογραμματισμός Ενεργειών Χειμερινό Εξάμηνο 2006-2007

Κεφάλαιο 2 Αναπαράσταση Προβλημάτων Σχεδιασμού Εισαγωγή Αναπαράσταση Προβλημάτων -STRIPS ΗΓλώσσαPDDL Παραδείγματα Αναπαράστασης Προβλημάτων Αναπαράσταση Πλάνων

Εισαγωγή Ένα πρόβλημα σχεδιασμού ορίζεται από 3 περιγραφές <I,G,A> I: αρχική κατάσταση του κόσμου Initial state G: στόχοι Goals, που πρέπει να επιτευχθούν Δεν είναι υποχρεωτικά πλήρης. (πολλές τελικές καταστάσεις) A: ενέργειες Actions που μπορεί να εκτελέσει ο πράκτορας Μορφή αναπαράστασης των περιγραφών: Μεγάλο φάσμα γλωσσών, Η εκφραστικότητα μιας γλώσσας είναι αντιστρόφως ανάλογη με την ευκολία επίλυσης του προβλήματος από τους σχεδιαστές Παραδείγματα: προτασιακή λογική (δεν μπορεί να εκφράσει γενικότητα) κατηγορηματική λογική πρώτης τάξης (δεν μπορεί να περιγράψει ενέργειες με μη προκαθορισμένα αποτελέσματα)

Κεφάλαιο 2 Αναπαράσταση Προβλημάτων Σχεδιασμού Εισαγωγή Αναπαράσταση Προβλημάτων -STRIPS ΗΓλώσσαPDDL Παραδείγματα Αναπαράστασης Προβλημάτων Αναπαράσταση Πλάνων

Το Μοντέλο Strips Χρησιμοποιήθηκε από τον σχεδιαστή STRIPS (Stanford Research Institute Planning System) Το πιο χρησιμοποιημένο μοντέλο περιγραφής προβλημάτων σχεδιασμού. Προτάθηκε το 1971, από τους Fikes και Nilsson, για την καθοδήγηση ενός μικρού ρομπότ (Shakey) Γνώρισε μεγάλη απήχηση, κυρίως λόγω της απλότητας και της φυσικότητας του. Έχει στοιχεία προτασιακής λογικής και είναι κατάλληλο για προβλήματα όπου δεν εμφανίζεται αβεβαιότητα. Ακολουθήθηκε από πολλές επεκτάσεις με πιο πλούσιες εκφραστικές δυνατότητες (π.χ. χρονικοί περιορισμοί)

Μοντέλο STRIPS (Παραδοχές) Αδιαίρετες ενέργειες (indivisible actions): Δεν ενδιαφέρει η κατάσταση του κόσμου κατά τη διάρκεια εκτέλεσης μιας ενέργειας, παρά μόνο στην αρχή και στο τέλος αυτής. Επίσης δεν είναι δυνατή η διακοπή της εκτέλεσης μιας ενέργειας πριν την ολοκλήρωση της. Προκαθορισμένα αποτελέσματα (deterministic effects): Δεν υπάρχει καμιά αβεβαιότητα όσον αφορά τα αποτελέσματα της εφαρμογής μιας ενέργειας, τα οποία είναι γνωστά εκ των προτέρων. Πλήρης γνώση (omniscience): Το σύστημα σχεδιασμού έχει πλήρη γνώση για την τρέχουσα κατάσταση του κόσμου αλλά και για τις δικές του δυνατότητες. Υπόθεση κλειστού συστήματος (closed world assumption): Δεν υπάρχει δυνατότητα προσθήκης νέων ή διαγραφής υπαρχόντων αντικειμένων από τον κόσμο του συστήματος. Στατικός κόσμος (static world): Ο κόσμος αλλάζει μόνο από τις ενέργειες του συστήματος σχεδιασμού και όχι από μόνος του ούτε από τις ενέργειες κάποιας άλλης οντότητας.

Αναπαράσταση Καταστάσεων Στο μοντέλο Strips οι καταστάσεις ορίζονται σαν σύνολα από συγκεκριμένα γεγονότα (facts) που αληθεύουν. Παράδειγμα: a c a 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) Αρχική κατάσταση Τελική κατάσταση

Μειονεκτήματα Δεν αναφέρει το χρόνο κατά τον οποίο ισχύουν τα γεγονότα θα χρειαζόταν χρονικοί προσδιορισμοί για κάθε γεγονός Δεν μπορεί να περιγράψει συνεχείς μεταβολές Θεωρεί πλήρη βεβαιότητα για την ισχύ των γεγονότων Για παράδειγμα, το γεγονός "Ο κύβοςc βρίσκεται πάνω στον κύβο A" θα μπορούσε να ισχύει με βεβαιότητα 80%. Ηβεβαιότητατωνγεγονότωνθαμπορούσεναοριστείμεσυντελεστές Δεν είναι πλήρης Δεν περιέχει γνώση για όλες τις παραμέτρους του προβλήματος αλλά μόνο για αυτές που θεωρείται ότι σχετίζονται με τη λύση του Για παράδειγμα, στην περιγραφή της αρχικής κατάστασης δεν δηλώνονται τα χρώματα των κύβων ούτε η εξωτερική θερμοκρασία Τα γεγονότα που συμπεριλαμβάνονται στην αναπαράσταση ενός προβλήματος αποτελούν το πλαίσιό του (frame)

Αναπαράσταση Ενεργειών (1/2) Μια ενέργεια a περιγράφεται με τρεις λίστες γεγονότων: Λίστα προϋποθέσεων (Precondition list, Pre(a)) Τα γεγονότα που πρέπει να περιλαμβάνονται σε μια κατάσταση, ώστε η ενέργεια να είναι εφαρμόσιμη στην κατάσταση αυτή. Λίστα προσθήκης (Add list, Add(a)) Τα γεγονότα που προσθέτει η ενέργεια στη νέα κατάσταση. Λίστα διαγραφής (Delete list, Del(a)) Τα γεγονότα της τρέχουσας κατάστασης που δε συμπεριλαμβάνονται στη νέα. Del(a) Pre(a), Pre(a) Add(a) =, Del(a) Add(a) =

Εφαρμογή Ενεργειών Για να είναι εφαρμόσιμη μια ενέργεια a σε μια κατάσταση S θα πρέπει: Pre(a) S Η κατάσταση S' που προκύπτει μετά την εφαρμογή της ενέργειας a στην κατάσταση S δίνεται από τον τύπο: S'=res(S,a)=S-Del(a) Add(a) Η κατάσταση S που προκύπτει μετά την εφαρμογή μιας ακολουθίας ενεργειών a 1, a 2,..., a N στην S: S'=res(S, a 1,a 2,..,a N )= res(res(s, a 1,a 2,..,a N-1 ),a N )

Σχεδιασμός Ενεργειών Παράδειγμα C C A B A B S ontable (A) ontable(b) on(c,a) clear(c) clear(b) move_c_from_a_to_b Precs Del clear(c) clear(b) clear(b) on(c,a) on(c,a) Add clear(a) on(c,b) S ontable (A) ontable(b) on(c,a) clear(c) clear(b) on(c,b) clear(a)

Τελεστές αντί Ενεργειών Λόγω του μεγάλου αριθμού ενεργειών στα συνήθη προβλήματα, προτιμάται η χρήση τελεστών Οι τελεστές (operators) ή σχήματα ενεργειών (action schemata) χρησιμοποιούν μεταβλητές και αποτελούν γενικές περιγραφές ομάδων ενεργειών Οι ενέργειες μπορούν να παραχθούν από τους τελεστές, δεσμεύοντας τις μεταβλητές σε συγκεκριμένες τιμές Π.χ. Στο πρόβλημα των κύβων, ένας τελεστής θα μπορούσε να μοντελοποιεί την μετακίνηση κύβων προς το τραπέζι move_to_table (X,Y) Precs clear(x) on(x,y) Del on(x,y) Add clear(y) on_table(x)

Κεφάλαιο 2 Αναπαράσταση Προβλημάτων Σχεδιασμού Εισαγωγή Αναπαράσταση Προβλημάτων -STRIPS Η Γλώσσα PDDL Παραδείγματα Αναπαράστασης Προβλημάτων Αναπαράσταση Πλάνων

Η γλώσσα PDDL Αποτελεί το πρότυπο για την περιγραφή προβλημάτων σχεδιασμού Δημιουργήθηκε το 1998 επεκτείνοντας το μοντέλο STRIPS Αποτελέσματα υπό συνθήκη Δυναμικά σύμπαντα Αξιώματα διαφόρων επιπέδων Περιορισμούς ασφαλείας Ιεραρχίες Προβλημάτων Ακολουθήθηκε πρόσφατα (2003) από τη 2η έκδοσημε επεκτάσεις για Χρόνο Αριθμητικά μεγέθη Πόρους

Πεδία και Προβλήματα Βασικό Χαρακτηριστικό της PDDL είναι ο διαχωρισμός σε Πεδία (Domains): Αφαιρετικές περιγραφές των κοινών στοιχείων που υπάρχουν σε μια οικογένεια προβλημάτων Προβλήματα (Problems): Ορισμός των τιμών του συγκεκριμένου στιγμιότυπου Πλεονεκτήματα διαχωρισμού Ευκολότερη περιγραφή λόγω ιεραρχικής προσέγγισης Επαναχρησιμοποίηση δομών Γρήγορη περιγραφή πολλαπλών παρόμοιων προβλημάτων Αποφυγή επαναλήψεων

Πεδία Στην περιγραφή των πεδίων σχεδιασμού περιλαμβάνονται οι ορισμοί των: Οντοτήτων (entities) ή κλάσεων (classes) που υπάρχουν στον κόσμο Π.χ. Άνθρωποι, Εργαλεία, Αντικείμενα (π.χ. κύβοι) Σχέσεων (Relations) ή κατηγορημάτων (predicates) ανάμεσα στις οντότητες Δηλώνουν ιδιότητες ή καταστάσεις των οντοτήτων (π.χ. On(B,A)) Κάθε οντότητα μεταφράζεται αυτόματα και σε μοναδιαία σχέση Τελεστών (Operators) που αποτελούνται από: Όνομα τελεστή, π.χ. Στρέψε_Βραχίονα, Μετακίνησε Παραμέτρους, που αντιστοιχούν στις επηρεαζόμενες οντότητες Λίστα Προϋποθέσεων Λίστα Διαγραφής Λίστα Προσθήκης

Προβλήματα Στην περιγραφή των προβλημάτων σχεδιασμού περιλαμβάνονται: Τα ονόματα των αντικειμένων που υπάρχουν στον πρόβλημα Ηπλήρηςπεριγραφήτηςαρχικής κατάστασης του κόσμου. Οι καταστάσεις αποτελούν λίστες γεγονότων: Στατικά γεγονότα: Ισχύουν σε όλες τις καταστάσεις του προβλήματος και περιγράφουν στατική γνώση (π.χ. City(Thessaloniki)) Δυναμικά γεγονότα: Αυτά μπορούν να διαγράφονται και να προστίθενται δυναμικά μέσω των ενεργειών (π.χ. at(truck1,thessaloniki)) Οι στόχοι του προβλήματος. Αποτελούνται μόνο από δυναμικά γεγονότα, τα οποία δεν αποτελούν οπωσδήποτε πλήρη πειγραφή κατάστασης

Κεφάλαιο 2 Αναπαράσταση Προβλημάτων Σχεδιασμού Εισαγωγή Αναπαράσταση Προβλημάτων -STRIPS ΗΓλώσσαPDDL Παραδείγματα Αναπαράστασης Προβλημάτων Αναπαράσταση Πλάνων

Παράδειγμα 1 - Gripper Στην οικογένεια του Gripper υπάρχουν ρομπότ που μετακινούνται σε ένα χώρο που περιλαμβάνει δωμάτια τα οποία συνδέονται όλα μεταξύ τους Στα δωμάτια υπάρχουν κάποιες μπάλες τις οποίες τα ρομπότ πρέπει να μεταφέρουν στις επιθυμητές τοποθεσίες (δωμάτια) Κάθε ρομπότ διαθέτει k βραχίονες, οπότε το πολύ k είναι και οι μπάλες που μπορεί να κρατάει ανά πάσα στιγμή. Τα δωμάτια μοντελοποιούνται ως σημεία

Κωδικοποίηση του πεδίου Gripper Οι οντότητες στο πεδίο Gripper είναι: Ρομπότ (Robot) Μπάλα (Ball) Δωμάτιο (Room) Βραχίονας (Gripper) Οι σχέσεις: Βρίσκεται (at) που συνδέει το Ρομπότ με το Δωμάτιο Βρίσκεται (at) που συνδέει τη Μπάλα με το Δωμάτιο Κρατά (has) που συνδέει τον Βραχίονα με την Μπάλα Ελεύθερος (free) που αναφέρεται στον Βραχίονα Ανήκει (belongs) που ορίζει σε ποιο ρομπότ ανήκει ο βραχίονας Οι τελεστές: Move (R, X, Y) robot(r) room(x) room(y) at(r,x) - at(r,x) + at(r,y) robot(r) gripper(g) belongs(g,r) ball(b) room(x) at(r,x) at(b,x) free(g) Pick_ball (R,G,B,X) - at(b,x) - free(r) + has(r,b) Drop_ball (R,G,B,X) robot(r) gripper(g) belongs(g,r) ball(b) room(x) at(r,x) has(r,b) - has(r,b) + at(b,x) + free(g)

Κωδικοποίηση ενός προβλήματος Gripper Έστω το διπλανό πρόβλημα όπου: Tορομπότέχει2 βραχίονες (left, right), Kινείται σε ένα χώρο 3 δωματίων (room1, room2, room3) Yπάρχουν 2 μπάλες (ball1, ball2) Αντικείμενα: Robot1,Ball1,Ball2,Room1,Room2,Room3,Left,Right Αρχική Κατάσταση I = {robot(robot1),room(room1),room(room2),room(room3), ball(ball1),ball(ball2),gripper(left),gripper(right), belongs(left,robot1),belongs(right,robot1),at(robot1,room1), at(ball1,room2),at(ball2,room3),free(left),free(right)} Στόχοι G = {at(ball1,room1), at(ball2,room1)}

Παράδειγμα 2 - Εφοδιαστική Στην οικογένεια της Εφοδιαστικής (Logistics) υπάρχει ένα σύνολο από πόλεις, όπου κάθε μία αποτελείται από ορισμένα σημεία. Στονχάρτηαυτόυπάρχουνορισμέναπακέταπουπρέπεινα μεταφερθούν στον προορισμό τους Για τις μεταφορές χρησιμοποιείται ένας στόλος από φορτηγά και αεροσκάφη Τα φορτηγά έχουν άπειρη χωρητικότητα και μπορούν να μετακινούνται ανάμεσα στα σημεία της ίδιας πόλης Τα αεροσκάφη έχουν επίσης άπειρη χωρητικότητα και μπορούν να μετακινούνται μόνο ανάμεσα στα σημεία που έχουν οριστεί ως αεροδρόμια

Κωδικοποίηση του πεδίου της Εφοδιαστικής (1/2) Οντότητες: Πόλη (City) Σημείο (Location) Φορτηγό (Truck) Αεροσκάφος (Airplane) Πακέτο (Package) Σχέσεις: Airport(Location): Το σημείο είναι αεροδρόμιο In_city(Location,City): Το σημείο ανήκει στην πόλη In(Package,Truck): Το πακέτο βρίσκεται στο φορτηγό In(Package,Airplane): Το πακέτο βρίσκεται στο αεροσκάφος At(Package,Location): Το πακέτο βρίσκεται στο σημείο At(Truck,Location): Το φορτηγό βρίσκεται στο σημείο At(Airplane,Location): Το αεροσκάφος βρίσκεται στο σημείο

Κωδικοποίηση του πεδίου της Εφοδιαστικής (2/2) Τελεστές: Drive(T,From,To,C) truck(t) location(from) location(to) city(c) in-city(from, C) in-city(to,c) at(t,from) package(o) plane(p) location(l) at(o,l) at(p,l) - at(t,from) + at(t,to) Load_plane(O,P,L) - at(o,l) + in(o,p) airplane(p) airport(from) airport(to) at (P,From) Unload_plane(O,P,L) package(o) plane(p) location(l) in(o,p) at(p,l) Fly(P,From,To) - at(p,from) + at(p,to) - in(o,p) + at(o,l) package(o) truck(t) location(l) at(o,l) at(t,l) Load_truck(O,T,L) - at(o,l) + in(o,t) Unload_truck(O,T,L) package(o) truck(t) location(l) in(o,t) at(t,l) - in(o,t) + at(o,l)

Ένα πρόβλημα Εφοδιαστικής Αρχική Κατάσταση Ι={package(P1),package(P2),truck(Tru1),truck(Tru2), truck(tru3),city(athens),city(milan),city(thessaloniki), location(omonoia),location(venizelos),,airport(venizelos), airport(malpensa),airport(macedonia),airplane(plane), In-city(Omonoia,Athens),In-city(Venizelos,Athens),.., at(plane,venizelos),at(tru1,venizelos),at(tru2,railway), at(tru3,toumpa),at(p1,neapoli),at(p2,malpensa)} Στόχοι G={at(P1,Omonoia),at(P2,Railway)} Omonoia Athens Venizelos Malpensa Railway Macedonia Toumpa Neapoli Milan Thessaloniki

Κεφάλαιο 2 Αναπαράσταση Προβλημάτων Σχεδιασμού Εισαγωγή Αναπαράσταση Προβλημάτων -STRIPS ΗΓλώσσαPDDL Παραδείγματα Αναπαράστασης Προβλημάτων Αναπαράσταση Πλάνων

Αναπαράσταση Πλάνων Μία ακολουθία ενεργειών που παράγεται από ένα πρόβλημα σχεδιασμού P=<I,G,A> ονομάζεται πλάνο (plan) Ένα πλάνο αναπαριστάται ως μία δυάδα <Αs,C>, όπου: As = <A 1,A 2,..,A L >, A k A είναι μία λίστα με ενέργειες C είναι μία λίστα με περιορισμούς διάταξης στο As Ανάλογα με τους περιορισμούς διάταξης, ένα πλάνο λέγεται: Γραμμικό (Linear) αν ορίζεται σειριακή ακολουθία εκτέλεσης στο As Παράλληλο (Parallel) ήμη-γραμμικό αν επιτρέπεται η ταυτόχρονη εκτέλεση δύο ή περισσοτέρων ενεργειών Τα πλάνα που εφαρμόζονται στην I ονομάζονται έγκυρα (valid) Ένα έγκυρο πλάνο που πετυχαίνει το G αποτελεί λύση του P Ένα πρόβλημα σχεδιασμού μπορεί να έχει μία ή περισσότερες ή καμία λύση, οπότε χαρακτηρίζεται ως άλυτο (unsolvable).

Διαγραμματική Αναπαράσταση Πλάνων Ι Ένα πρόβλημα με τρεις κύβους C Α B A B C Αρχική κατάσταση Τελική κατάσταση Ένα πλάνο λύση για το παραπάνω πρόβλημα με μορφή δικτύου ενεργειών 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)

Διαγραμματική Αναπαράσταση Πλάνων ΙΙ Διαγραμματική αναπαράσταση πλάνου με ραβδόγραμμα (Gantt bar chart) Χρόνος σε ώρες 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)

Παράδειγμα Ένα πλάνο τριών ενεργειών, το οποίο μετακινεί το φορτίο package1 από τη θέση loc1_1 στη θέση loc1_2, με χρήση του φορτηγού truck1. load_truck(package1,truck1,loc1_1) move_truck(truck1,loc1_1, loc1_2,city1) unload_truck(package1,truck1,loc1_2) truck(truck1) package(package1) location(loc1_1) at(truck1,loc1_1) at(package1,loc1_1) - at(package1,loc1_1) + in(packag1,truck1) truck(truck1) location(loc1_1) location(loc1_2) city(city1) at_city(loc1_1,city1) at_city(loc1_2,city1) at(truck1,loc1_1) - at(truck1,loc1_1) + at(truck1,loc1_2) truck(truck1) package(package1) location(loc1_2) at(truck1,loc1_2) in(package1,truck1) - in(packag1,truck1) + at(package1,loc1_2) Στατικά Γεγονότα truck(truck1), truck(truck2) package(package1) location(loc1_1), location(loc1_2), location(loc2_1), location(loc2_2) at_city(loc1_1, city1), at_city(loc1_2, city1) at_city(loc2_1, city2), at_city(loc2_2, city2) plane(plane1) airport(loc1_2), airport(loc2_2) Δυναμικά Γεγονότα at(truck1,loc1_1) at(package1,loc1_1) Δυναμικά Γεγονότα at(truck1,loc1_1) in(package1,truck1) Δυναμικά Γεγονότα at(truck1,loc1_2) in(package1,truck1) Δυναμικά Γεγονότα at(truck1,loc1_2) at(package1,loc1_2)