ΠΛΗ 405 Τεχνητή Νοηµοσύνη Σύγχρονοι Αλγόριθµοι Σχεδιασµού Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης
Ε ανάληψη Σχεδιασµός το πρόβληµα του σχεδιασµού γλώσσα αναπαράστασης παραδείγµατα προβληµάτων σχεδιασµού Σχεδιασµός στο χώρο των καταστάσεων διατύπωση ως αναζήτηση ευρετικές συναρτήσεις Σχεδιασµός στο χώρο των λάνων σχεδιασµός µερικής διάταξης διατύπωση ως αναζήτηση Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 2
Σήµερα Γραφήµατα σχεδιασµού δοµή δεδοµένων για κατασκευή ευρετικών συναρτήσεων Ο αλγόριθµος GraphPlan εξαγωγή πλάνων από γραφήµατα σχεδιασµού O αλγόριθµος SATPlan σχεδιασµός µέσω ικανοποιησιµότητας Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 3
Γραφήµατα Σχεδιασµού Plan Graphs
Γραφήµατα Σχεδιασµού (Plan Graphs) Γράφηµα σχεδιασµού ειδική δοµή δεδοµένων που παρέχει πολύ καλές εκτιµήσεις µπορεί να χρησιµοποιηθεί ως ευρετική συνάρτηση για αναζήτηση µπορεί να συνδυαστεί µε τον εξειδικευµένο αλγόριθµο GraphPlan λειτουργεί µόνο για προτασιακά προβλήµατα σχεδιασµού οµή ακολουθία ε ι έδων (levels) τα χρονικά βήµατα του πλάνου κάθε επίπεδο έχει ένα σύνολο λεκτικών και µετά ένα σύνολο ενεργειών λεκτικά που θα µπορούσαν να είναι αληθή στο εν λόγω βήµα ανάλογα µε τις ενέργειες στα προηγούµενα βήµατα ενέργειες που θα µπορούσαν να είναι εφαρµόσιµες στο εν λόγω βήµα ανάλογα µε τα αληθή λεκτικά στο τρέχον βήµα εκτίµηση: ο αριθµός των βηµάτων για να επιτευχθεί ένα λεκτικό Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 5
Init( ΠΛΗ 405 Τεχνητή Νοηµοσύνη 2006 Γράφηµα Σχεδιασµού Παράδειγµα Αρχική κατάσταση Στόχος Κατοχή(Κέικ) ) Goal( Κατοχή(Κέικ) Φαγωµένο(Κέικ) ) ενέργεια διατήρησης Ενέργειες Action( Φάγωµα(Κέικ) Προϋποθέσεις: Κατοχή(Κέικ) Επιδράσεις: Κατοχή(Κέικ) Φαγωµένο(Κέικ) ) Action( Ψήσιµο(Κέικ) Προϋποθέσεις: Κατοχή(Κέικ) Επιδράσεις: Κατοχή(Κέικ) ) (persistence action) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 6
Σχέσεις Αµοιβαίου Α οκλεισµού (Mutual Exclusive Relations mutex) αµοιβαίος αποκλεισµός: συνύπαρξη συγκρουόµενων λεκτικών Μεταξύ ενεργειών ασυνε είς ε ιδράσεις (inconsistent effects) η µία ενέργεια αναιρεί την επίδραση της άλλης αρεµβολή (interference) µία επίδραση µιας ενέργειας είναι άρνηση της προϋπόθεσης µιας άλλης ανταγωνιζόµενες ανάγκες (competing needs) µία προϋπόθεση µιας ενέργειας είναι ασύµβατη µε µία προϋπόθεση µιας άλλης Μεταξύ λεκτικών το ένα λεκτικό είναι άρνηση του άλλου ασυνε ής υ οστήριξη (inconsistent support) κάθε δυνατό ζεύγος που επιτυγχάνει τα δύο λεκτικά είναι αµοιβαία αποκλειόµενο Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 7
Κατασκευή Γραφήµατος Σχεδιασµού Αρχικο οίηση επίπεδο 0: αρχική κατάσταση σύνολο λεκτικών Ε ανάληψη ανά ε ί εδο δηµιουργία συνόλου λεκτικών επιδράσεις συνόλου ενεργειών προηγούµενου επιπέδου διατήρηση συνόλου λεκτικών προηγούµενου επιπέδου εύρεση αµοιβαίων αποκλεισµών µεταξύ λεκτικών δηµιουργία συνόλου ενεργειών εφαρµόσιµες ενέργειες µε βάση το σύνολο λεκτικών το υ τρέχοντος επιπέδου ενέργειες διατήρησης συνόλου λεκτικών του τρέχοντος επιπέδου εύρεση αµοιβαίων αποκλεισµών µεταξύ ενεργειών Τερµατισµός (level off) δύο διαδοχικά επίπεδα είναι ταυτόσηµα πολυωνυµική πολυπλοκότητα! Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 8
Γραφήµατα Σχεδιασµού ως Ευρετικοί Μηχανισµοί Παρατήρηση ένα λεκτικό που δεν εµφανίζεται στο τελικό επίπεδο του γραφήµατος δεν µπορεί να επιτευχθεί από κανένα πλάνο! Κόστος ε ίτευξης λεκτικού ο αριθµός του επιπέδου όπου εµφανίζεται για πρώτη φορά Σειριακό γράφηµα σχεδιασµού (serial planning graph) επιτρέπεται µόνο µία ενέργεια ανά επίπεδο (εκτός διατήρησης) σχέσεις αµοιβαίου αποκλεισµού µεταξύ ζευγών ενεργειών Ευρετική συνάρτηση για λεκτικά το κόστος επίτευξης λεκτικού στο σειριακό γράφηµα σχεδιασµού παραδεκτή ευρετική συνάρτηση για µεµονωµένους υποστόχους Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 9
Γραφήµατα Σχεδιασµού ως Ευρετικοί Μηχανισµοί ευρετικοί µηχανισµοί για στόχους (σύζευξη υποστόχων) Συνάρτηση µεγίστου ε ι έδου (max level) το µέγιστο από τα κόστη επιπέδου των υποστόχων παραδεκτή συνάρτηση, όχι ιδιαίτερα ακριβής Συνάρτηση αθροίσµατος ε ι έδων (level sum) το άθροισµα του κόστους επιπέδου των υποστόχων µη παραδεκτή συνάρτηση, ακριβής σε αποσυνθέσιµα προβλήµατα Συνάρτηση ε ι έδου συνόλου (set level) επίπεδο εµφάνισης όλων των υποστόχων χωρίς mutex µεταξύ τους παραδεκτή συνάρτηση, ακριβής όταν υπάρχουν αλληλεπιδράσεις Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 0
Γραφήµατα Σχεδιασµού ως Χαλάρωση Γράφηµα σχεδιασµού χαλαρό πρόβληµα σχεδιασµού, επιλύσιµο αποδοτικά τι σηµαίνει η εµφάνιση του λεκτικού g στο επίπεδο S i ; Ιδεατή ερµηνεία εξασφάλιση ότι υπάρχει πλάνο µε i επίπεδα που επιτυγχάνει το g εξασφάλιση ότι αν δεν εµφανίζεται το g δεν υπάρχει πλάνο Ερµηνεία γραφήµατος σχεδιασµού ύπαρξη πλάνου χωρίς «ψεγάδια» που πιθανόν επιτυγχάνει το g εξασφάλιση ότι αν δεν εµφανίζεται το g δεν υπάρχει πλάνο Προφανή «ψεγάδια» σχέσεις αµοιβαίου αποκλεισµού (ανάλογο του 2-consistency) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα
Ο Αλγόριθµος GraphPlan
Ο Αλγόριθµος GraphPlan Blum and Furst (995) επαναληπτική δηµιουργία επιπέδων έως ότου βρεθούν όλα τα λεκτικά του στόχου χωρίς αµοιβαίους αποκλεισµούς µεταξύ τους εάν βρεθούν, εξαγωγή του ιθανού πλάνου από το γράφηµα function GRAPHPLAN(problem) return solution or failure graph INITIAL-PLANNING-GRAPH(problem) goals GOALS[problem] loop do if goals all non-mutex in last level of graph then do solution EXTRACT-SOLUTION(graph, goals, LENGTH(graph)) if solution failure then return solution else if NO-SOLUTION-POSSIBLE(graph) then return failure graph EXPAND-GRAPH(graph, problem) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 3
GraphPlan Παράδειγµα Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 4
GraphPlan Εξαγωγή Πλάνου Συνάρτηση Extract-Solution Boolean πρόβληµα ικανοποίησης περιορισµών (CSP) µεταβλητές = ενέργειες, τιµές = {εντός πλάνου, εκτός πλάνου} επίλυση είτε µε µεθόδους CSP, είτε µε αναζήτηση Extract-Solution ως αναζήτηση αρχική κατάσταση: τελευταίο επίπεδο S n µε τους στόχους προβλήµατος ενέργειες διαθέσιµες σε µια κατάσταση στο επίπεδο S i επιλογή υποσυνόλου ενεργειών από το A i- που καλύπτουν τους στόχους χωρίς αµοιβαίους αποκλεισµούς, χωρίς αµοιβαία αποκλειόµενες προϋποθέσεις διάδοχη κατάσταση στο S i- : στόχοι = οι προϋποθέσεις του υποσυνόλου λύση=κατάσταση στο S 0 όπου ικανοποιούνται όλοι οι υποστόχοι κόστος βήµατος = Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 5
Τερµατισµός του GraphPlan Ιδιότητες γραφήµατος σχεδιασµού τα λεκτικά αυξάνουν µονοτονικά οι ενέργειες αυξάνουν µονοτονικά οι αµοιβαίοι αποκλεισµοί µειώνονται µονοτονικά Τερµατισµός αλγορίθµου εάν ένα λεκτικό δεν εµφανιστεί, τότε δεν υπάρχει λύση εάν δύο λεκτικά στόχου είναι αµοιβαία αποκλειόµενα, τότε δεν υπάρχει λύση εάν δεν συµβεί τίποτα από τα παραπάνω αλλά δεν βρεθεί λύση, πρέπει να «επεκτείνουµε» το γράφηµα και να ξαναδοκιµάσουµε, για πεπερασµένο αριθµό φορών Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 6
Σχεδιασµός µε Προτασιακή Λογική Planning with Propositional Logic
Σχεδιασµός µε Προτασιακή Λογική Ιδέα αναγωγή του σχεδιασµού σε ικανοποιησιµότητα (SAT) αρχική κατάσταση εριγραφές όλων των δυνατών ενεργειών στόχος ικανοποιήσιµη πρόταση: υπάρχει πλάνο πλάνο: µεταβλητές ενεργειών µε τιµή Αληθής µη ικανοποιήσιµο πρόταση: δεν υπάρχει πλάνο χρήση σύγχρονων αλγορίθµων για έλεγχο ικανοποιησιµότητας Κωδικο οίηση σε CNF αρχική κατάσταση 0 στόχος Ν αξιώµατα διάδοχης κατάστασης αξιώµατα ροϋ οθέσεων αξιώµατα α οκλεισµού Ν : το επιτρεπτό µήκος του πλάνου Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 8
Κωδικο οίηση σε Προτασιακή Λογική Πρόβληµα Έστω αεροπλάνα P και P 2 στα αεροδρόµια ATH και CHQ. Ο στόχος είναι να ανταλλάξουν θέσεις και η µοναδική ενέργεια είναι η Πτήση(p, x, y). Αναζητούµε πλάνο µε µήκος 0,, 2, 3,... Αρχική κατάσταση Σε(P, ATH) 0 Σε(P 2, CHQ) 0 Σε(P, CHQ) 0 Σε(P 2, ATH) 0 Στόχος µήκος 0: Σε(P, CHQ) 0 Σε(P 2, ATH) 0 µήκος : Σε(P, CHQ) Σε(P 2, ATH) µήκος 2:... Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 9
Κωδικο οίηση σε Προτασιακή Λογική Αξιώµατα διάδοχης κατάστασης Σε(P, CHQ) ( Σε(P, CHQ) 0 (Πτήση(P, CHQ, ATH) 0 Σε(P, CHQ) 0 ) ) ( Πτήση(P, ATH, CHQ) 0 Σε(P, ATH) 0 ) Σε(P, CHQ) 2... Αξιώµατα ροϋ οθέσεων (precondition axioms) Πτήση(P, CHQ, ATH) 0 Σε(P, CHQ) 0 Πτήση(P, CHQ, ATH)... Αξιώµατα α οκλεισµού ενεργειών (action exclusion) ( Πτήση(P 2, CHQ, ATH) 0 Πτήση(P 2, CHQ, HER) 0 )... Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 20
Ο Αλγόριθµος SatPlan Kautz and Selman (992) function SATPLAN(problem, T max ) return solution or failure inputs: problem, a planning problem T max, an upper limit to the plan length for T= 0 to T max do cnf, mapping TRANSLATE-TO_SAT(problem, T) assignment SAT-SOLVER(cnf) if assignment is not NULL then return EXTRACT-SOLUTION(assignment, mapping) return failure Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 2
Πολυ λοκότητα Προτασιακών Κωδικο οιήσεων Πλήθος ροτασιακών συµβόλων εκθετικά αυξανόµενο πλήθος προτασιακών συµβόλων Τ Αερο λάνα Αεροδρόµια 2 γενικότερα, T Ενέργειες Αντικείµενα Ρ ιαίρεση συµβόλων (symbol splitting) Πτήση(P, ATH, CHQ) 0 Πτήση (P ) 0, Πτήση 2 (ATH) 0, Πτήση 3 (CHQ) 0 Πλήθος ροτασιακών συµβόλων T Ενέργειες Ρ Αντικείµενα Μειονέκτηµα η διαίρεση συµβόλων δεν επιτρέπει τις παράλληλες ενέργειες Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 22
Μελέτη Σύγγραµµα Ενότητα.4.6 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 23