ΠΛΗ 405 Τεχνητή Νοηµοσύνη Ικανο οίηση Περιορισµών Constraint Satisfaction Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης
Ε ανάληψη Το ική αναζήτηση αναρρίχηση λόφων προσοµοιωµένη ανόπτηση γενετικοί αλγόριθµοι
Σήµερα Προβλήµατα ικανο οίησης εριορισµών ορισµός και χαρακτηριστικά Ε ίλυση ροβληµάτων ικανο οίησης εριορισµών αναζήτηση µε υπαναχώρηση τοπική αναζήτηση οµή ροβληµάτων ανεξάρτητα υποπροβλήµατα δένδρα περιορισµών αφαίρεση µεταβλητών αποσύνθεση δένδρου
Προβλήµατα Ικανο οίησης Περιορισµών Constraint Satisfaction Problems
Πρόβληµα Ικανο οίησης Περιορισµών Ορισµός µεταβλητές: X 1, X 2,, X n, (µη κενά) πεδία τιµών: D 1, D 2, D n περιορισµοί: C 1, C 2,, C m επιτρεπτοί συνδυασµοί τιµών σε υποσύνολα µεταβλητών ανάθεση τιµών: {X i = v i, X j = v j, } µερική ή πλήρης συνεπής ανάθεση: δεν παραβιάζεται κανένας περιορισµός λύση: πλήρης και συνεπής ανάθεση Ε έκταση βελτιστοποίηση αντικειµενικής συνάρτησης
Παράδειγµα: Χρωµατισµός Χάρτη Χάρτης Αυστραλίας Γράφηµα Περιορισµών
Παράδειγµα: Χρωµατισµός Χάρτη Μεταβλητές WA, NT, Q, NSW, V, SA, T Πεδία τιµών {κόκκινο, ράσινο, µ λε} για όλες τις µεταβλητές Περιορισµοί οι γειτονικές περιοχές να µην έχουν το ίδιο χρώµα αναπαραστάση µε απαρίθµηση επιτρεπτών συνδυασµών: { (κόκκινο, ράσινο), (κόκκινο, µ λε), ( ράσινο, κόκκινο), ( ράσινο, µ λε), (µ λε, κόκκινο), (µ λε, ράσινο) } αναπαραστάση µε ειδική σηµειογραφία: WA NT,... Λύση (µία α ό ολλές) WA= κόκκινο, NT= ράσινο, Q= κόκκινο, NSW= ράσινο, V=κόκκινο, SA=µ λε, T= ράσινο
Χρησιµότητα Πλεονεκτήµατα γενική τυπική γλώσσα αναπαράστασης αλγόριθµοι γενικής χρήσης αξιοποίηση της δοµής των προβληµάτων Εφαρµογές χρονοδροµολόγηση εργασιών κατάρτιση προγράµµατος σπουδών και ανάθεση µαθηµάτων ωρολόγιο πρόγραµµα του πολυτεχνείου χρωµατισµός γράφων διαµόρφωση υλικού
Ικανο οίηση Περιορισµών ως Αναζήτηση Ι Καταστάσεις µερικές ή πλήρεις αναθέσεις τιµών σε µεταβλητές αρχική κατάσταση: κενή ανάθεση τιµών Συνάρτηση διαδοχής ανάθεση τιµής που δεν συγκρούεται µε προηγούµενες αναθέσεις Κατάσταση στόχου πλήρης ανάθεση τιµών στις µεταβλητές Κόστος διαδροµής αδιάφορο (λύση ανεξάρτητη της διαδροµής) Αλγόριθµος αναζήτηση πρώτα σε βάθος (µέγιστο βάθος = n)
Ικανο οίηση Περιορισµών ως Αναζήτηση ΙΙ Καταστάσεις πλήρεις αναθέσεις τιµών σε µεταβλητές αρχική κατάσταση: τυχαία ανάθεση τιµών (πιθανές συγκρούσεις) Το ικές κινήσεις νέα ανάθεση τιµής σε κάποια µεταβλητή για µείωση συγκρούσεων Κατάσταση στόχου συνεπής ανάθεση τιµών στις µεταβλητές Κόστος διαδροµής αδιάφορο (λύση ανεξάρτητη της διαδροµής) Αλγόριθµος τοπική αναζήτηση
Χαρακτηριστικά Προβληµάτων ιατύ ωση αυξητική (αναζήτηση πρώτα κατά βάθος) πλήρεις καταστάσεις (τοπική αναζήτηση) Μεταβλητές και εδία διακριτές / συνεχείς µεταβλητές πεπερασµένα / άπειρα πεδία ορισµού Περιορισµοί µοναδιαίοι / δυαδικοί / ανώτερης τάξης περιορισµοί προτίµησης (soft constraints) αναγωγή σε βελτιστοποίηση µε βάρη
Περιορισµοί Ανώτερης Τάξης Κρυπταριθµητικός γρίφος Υπεργράφηµα περιορισµών Πρόβληµα F, T, U, W, R, O D ={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } X 1, X 2, X 3 D ={ 0, 1 } Περιορισµοί Alldiff(F, T, U, W, R, O) O + O = R + 10 X 1 X 1 + W + W = U + 10 X 2 X 2 + T + T = O + 10 X 3 X 3 = F
Αναζήτηση µε Υ αναχώρηση Backtracking Search
Αντιµεταθετικότητα και Υ αναχώρηση Τυφλή αναζήτηση αναζήτηση πρώτα κατά βάθος b = nd, (n-1)d, (n-2)d,... n!d n φύλλα, όµως µόνο d n αναθέσεις! Αντιµεταθετικότητα (commutativity) η σειρά των ενεργειών (αναθέσεων) δεν επηρεάζει το αποτέλεσµα ανάθεση σε µία µόνο µεταβλητή ανά επίπεδο b=d d n φύλλα Αναζήτηση µε υ αναχώρηση αναζήτηση πρώτα κατά βάθος ανάθεση σε µία µόνο µεταβλητή ανά επίπεδο υπαναχώρηση όταν κάποια µεταβλητή δεν έχει νόµιµες τιµές
Παράδειγµα
Αλγόριθµος Υ αναχώρησης
Βελτιώσεις Συµβατική αναζήτηση χρήση ευρετικών συναρτήσεων αξιοποίηση γνώσης ειδικής για το πρόβληµα Προβλήµατα ικανο οίησης εριορισµών χρήση γενικών µεθόδων σε ποια µεταβλητή θα γίνει η επόµενη ανάθεση; µε ποια σειρά θα ανατεθούν οι νόµιµες τιµές; ποιες οι συνέπειες της τρέχουσας ανάθεσης για τις άλλες µεταβλητές; πώς µπορεί να ανιχνευθεί πρώιµα µια σίγουρη αποτυχία; πώς αποφεύγονται επαναλαµβανόµενες αποτυχίες; πώς µπορούµε να αξιοποιήσουµε τη δοµή του προβλήµατος;
Προτεραιότητα Μεταβλητών και Τιµών var SELECT-UNASSIGNED-VARIABLE(VARIABLES[csp],assignment,csp) Ε ιλογή µεταβλητής: η ιο εριορισµένη ευρετικός µηχανισµός ελάχιστων εναποµενουσών τιµών (minimum remaining values, MRV) ευρετικός µηχανισµός βαθµού (degree heuristic) for each value in ORDER-DOMAIN-VALUES(var, assignment, csp) do Ε ιλογή τιµής: η λιγότερο εριοριστική ευρετικός µηχανισµός της λιγότερο δεσµευτικής τιµής (least-constraining value, LCV)
Ελάχιστες Ενα οµείνασες Τιµές Ευρετικός µηχανισµός κανόνας: διάλεξε τη µεταβλητή µε τις λιγότερες νόµιµες τιµές γνωστός και ως µηχανισµός της «πιο δεσµευµένης µεταβλητής» γνωστός και ως ανάθεση «πρώτα στην αποτυχία» επιχειρεί να ανιχνεύσει πρώιµα µια πιθανή αποτυχία
Ευρετικός Μηχανισµός Βαθµού Ευρετικός µηχανισµός κανόνας: διάλεξε τη µεταβλητή ου εµ λέκεται στο µεγαλύτερο αριθµό εριορισµών ως ρος τις άλλες ελεύθερες µεταβλητές σχετίζεται µε το βαθµό των κόµβων στο γράφηµα περιορισµών επιχειρεί να µειώσει τον παράγοντα διακλάδωσης δίνει επιλογή σε περίπτωση ίσου πλήθους νοµίµων τιµών
Λιγότερο εσµευτική Τιµή Ευρετικός µηχανισµός κανόνας: διάλεξε µια τιµή για την µεταβλητή ου α οκλείει τις λιγότερες ε ιλογές για τις γειτονικές ελεύθερες µεταβλητές επιχειρεί να επιτρέψει τη µέγιστη δυνατή ευελιξία στη συνέχεια χρήσιµος όταν ζητούµε µία µόνο λύση, όχι όλες τις λύσεις
Πρώιµος Έλεγχος (Forward Checking) κανόνας: κατά την ανάθεση τιµής σε µια µεταβλητή X, ελέγχουµε τις µεταβλητές ου συνδέονται µε την Χ και αφαιρούµε τιµές α ό τα εδία τους διάδοση πληροφορίας από δεσµευµένες σε ελεύθερες µεταβλητές καλύτερη αξιοποίηση των περιορισµών
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {1,2,3,4} X2 {1,2,3,4} 1 2 3 4 X3 {1,2,3,4} X4 {1,2,3,4} [Οι διαφάνειες αυτές είναι από το µάθηµα CMSC 421 του B.J. Dorr]
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {1,2,3,4} X2 {1,2,3,4} 1 2 3 4 X3 {1,2,3,4} X4 {1,2,3,4}
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {1,2,3,4} X2 {,,3,4} 1 2 3 4 X3 {,2,,4} X4 {,2,3, }
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {1,2,3,4} X2 {,,3,4} 1 2 3 4 X3 {,2,,4} X4 {,2,3, }
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {1,2,3,4} X2 {,,3,4} 1 2 3 4 X3 {,,, } X4 {,2,3, }
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {,2,3,4} X2 {1,2,3,4} 1 2 3 4 X3 {1,2,3,4} X4 {1,2,3,4}
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {,2,3,4} X2 {,,,4} 1 2 3 4 X3 {1,,3, } X4 {1,,3,4}
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {,2,3,4} X2 {,,,4} 1 2 3 4 X3 {1,,3, } X4 {1,,3,4}
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {,2,3,4} X2 {,,,4} 1 2 3 4 X3 {1,,, } X4 {1,,3, }
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {,2,3,4} X2 {,,,4} 1 2 3 4 X3 {1,,, } X4 {1,,3, }
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {,2,3,4} X2 {,,,4} 1 2 3 4 X3 {1,,, } X4 {,,3, }
Παράδειγµα: 4-Queens Problem 1 2 3 4 X1 {,2,3,4} X2 {,,,4} 1 2 3 4 X3 {1,,, } X4 {,,3, }
ιάδοση Περιορισµών (Constraint Propagation) αναδροµική επέκταση πρώιµου ελέγχου στις µεταβλητές, για τις οποίες υπήρξε διαγραφή τιµής σε συνδεόµενη µε αυτές µεταβλητή Συνέ εια τόξου (arc consistency, 2-consistency) το τόξο X Y (από τον δυϊκό περιορισµό X-Y) είναι συνεπές αν για κάθε τιµή του X υπάρχει κά οια νόµιµη τιµή του Y τιµές της X που οδηγούν σε 2-ασυνέπεια διαγράφονται k-συνέ εια (k-consistency) για οποιαδήποτε ανάθεση τιµών σε κάποιο σύνολο k-1 µεταβλητών υπάρχει κάποια νόµιµη τιµή για την k-οστή µεταβλητή ισχυρή k-συνέ εια (strong k-consistency) k-συνέπεια και (k-1)-συνέπεια και (k-2)-συνέπεια... και 1-συνέπεια
Παράδειγµα: Συνέ εια Τόξου
Αλγόριθµος Συνέ ειας Τόξου
Ειδικοί εριορισµοί Περιορισµός αµοιβαίου α οκλεισµού (AllDiff) καταµέτρηση πλήθους διαφορετικών τιµών των µεταβλητών AllDiff(NT, SA, Q) ασυνεπής µε {WA=κόκκινο, NSW=κόκκινο} Περιορισµός όρων (resource constraint, atmost) atmost(m,x 1,X 2,...,X n ) : X 1 + X 2 +... + X n m π.χ. atmost(10,a,b,c,d): αν κάθε µεταβλητή έχει πεδίο {3,4,5,6}, το πρόβληµα είναι ασυνεπές αν κάθε µεταβλητή έχει πεδίο {2,3,4,5,6}, µπορούν να διαγραφούν οι τιµές 5 και 6 ιάδοση φραγµάτων (bound propagation) συνέπεια ως προς τα άνω και κάτω φράγµατα
Υ αναχώρηση µε άλµα (backjumping) Σύνολο συγκρούσεων (conflict set) για κάθε µεταβλητή Υ, είναι το σύνολο των µεταβλητών στις οποίες έχουν ανατεθεί τιµές, και συνδέονται µε την Υ µέσω περιορισµών (κατασκευάζεται κατά τον πρώιµο έλεγχο) Μέθοδοι υ αναχώρησης α ό µεταβλητή Y χρονολογική υπαναχώρηση στην πιο πρόσφατη µεταβλητή (προηγούµενη της Υ) υπαναχώρηση µε άλµα στην πιο πρόσφατη µεταβλητή του συνόλου συγκρούσεων της Υ Παράδειγµα {Q = κόκκινο, NSW = ράσινο, V = µ λε, T = κόκκινο} τρέχων βήµα: ανάθεση τιµής στην SA σύνολο συγκρούσεων της SA :{Q, NSW, V}
Το ική Aναζήτηση για CSPs Local Search for CSPs
Το ική Αναζήτηση για CSPs Καταστάσεις πλήρης ανάθεση τιµών σε µεταβλητές πιθανή παραβίαση περιορισµών Το ικές κινήσεις ανάθεση νέας τιµής σε κάποια µεταβλητή Ε ιλογές µεταβλητή: τυχαία επιλογή µεταξύ των µεταβλητών που εµπλέκονται σε συγκρούσεις τιµή: ελάχιστες συγκρούσεις (minimum conflict) τιµή για την οποία προκύπτει ο ελάχιστος αριθµός συ γκρούσεων
Αλγόριθµος Ελαχίστων Συγκρούσεων function MIN-CONFLICTS(csp, max_steps) returns solution or failure inputs: csp, a constraint satisfaction problem max_steps, the number of steps allowed before giving up current an initial complete assignment for csp for i = 1 to max_steps do if current is a solution for csp then return current var a randomly chosen, conflicted variable from VARIABLES[csp] value the value v for var that minimizes CONFLICTS(var,v,current,csp) set var = value in current return faiilure
Παράδειγµα: Πρόβληµα Βασιλισσών Χαρακτηριστικά ιδιαίτερα αποτελεσµατική µέθοδος (αν και όχι πλήρης) 1,000,000,000 βασίλισσες σε 50 βήµατα! χρονοπρογραµµατισµός Hubble από 3 εβδοµάδες σε 10 λεπτά ελάχιστες συγκρούσεις: κατάλληλη και για online προβλήµατα
οµή Προβληµάτων Problem Structure
Μορφές ροβληµάτων Ανεξάρτητα υ ο ροβλήµατα µπορούν να λυθούν ανεξάρτητα συνεκτικές συνιστώσες γράφου συνολική λύση: ένωση υπολύσεων εκθετική πολυπλοκότητα ως προς το µέγιστο υποπρόβληµα Ακυκλικά γραφήµατα εριορισµών δοµή δένδρου επίλυση σε δύο περάσµατα γραµµική πολυπλοκότητα ως προς τον αριθµό των µεταβλητών
Αλγόριθµος για ένδρα Περιορισµών επιλογή µιας οποιαδήποτε µεταβλητής ως ρίζας του δένδρου διάταξη των µεταβλητών από τη ρίζα προς τα φύλλα, ώστε ο γονέας κάθε κόµβου του δένδρου να προηγείται στη διάταξη ονοµασία µεταβλητών από ρίζα προς φύλλα: X 1,, X n για τις τιµές j από το n µέχρι το 2 έλεγχος συνέπειας τόξου στο τόξο (X i, X j ), όπου X i ο γονέας της X j, για τις τιµές j από το 1 µέχρι το n ανάθεση στην X j µιας τιµής που είναι συνεπής µε την τιµή του γονέα της X i
Μετατρο ή σε ένδρα Περιορισµών I Αφαίρεση µεταβλητών σύνολο µεταβλητών, που αν αφαιρεθούν, προκύπτει δένδρο σύνολο αποκοπής κύκλων (cycle cutset)
Αλγόριθµος Αφαίρεσης Μεταβλητών Αλγόριθµος ορισµός του συνόλου αποκοπής κύκλων S για κάθε συνεπή ανάθεση τιµών στις µεταβλητές του S απαλοιφή από τα πεδία ορισµού των υπόλοιπων µεταβλητών όλων των τιµών που είναι ασυνεπείς µε την ανάθεση τιµών στο S επίλυση του εναποµείναντος προβλήµατος (δένδρο περι ορισµών) αν βρεθεί λύση, αυτή επιστρέφεται µαζί µε την ανάθεση τιµών του S Πολυ λοκότητα εκθετική ως προς το µέγεθος του συνόλου αποκοπής κύκλων εύρεση του ελαχίστου συνόλου αποκοπής κύκλων: NP-δύσκολη λύση: προσεγγιστικοί αλγόριθµοι (cutset conditioning)
Μετατρο ή σε ένδρα Περιορισµών II Α οσύνθεση δένδρου (tree decomposition) µετατροπή σε δένδρο συνδεδεµένων υποπροβληµάτων
Α οσύνθεση ένδρου Κανόνες α οσύνθεσης κάθε µεταβλητή εµφανίζεται σε ένα τουλάχιστον υποπρόβληµα αν δύο µεταβλητές συνδέονταν µε περιορισµό, πρέπει να βρίσκονται µαζί (και ο περιορισµός) σε τουλάχιστον ένα από τα υποπροβλήµατα αν µία µεταβλητή εµφανίζεται σε δύο υποπροβλήµατα, πρέπει να εµφανίζεται και σε κάθε υποπρόβληµα στη διαδροµή που τα συνδέει Εύρεση λύσης επίλυση υποπροβληµάτων και επίλυση δένδρου υπερ-µεταβλητών πεδία ορισµού: λύσεις των υποπροβληµάτων (συνεπείς αναθέσεις τιµών) περιορισµοί: γειτονικές λύσεις πρέπει να συµφωνούν στις κοινές µεταβλητές Πολυ λοκότητα αποσύνθεση µε ελάχιστο πλάτος δένδρου (tree width): NP-δύσκολο
Σύγγραµµα Ενότητες 5.1 5.5 Μελέτη