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

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

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

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

Αλγόριθµοι Ευριστικής Αναζήτησης

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

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Διαχείριση Έργων Πληροφορικής Ικανοποίηση Περιορισμών (Constraint Satisfaction)

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

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

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

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

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

Μεταβλητες: Q, NSW, V, T, SA, WA, NT. Πεδίο Ορισμού: Για κάθε μεταβλητη το ίδιο. D i ={R, G, B} όπου i= Q, NSW,., NT.

(50 μον.) πάντοτε Διατυπώστε

Μαθηματικά των Υπολογιστών και των Αποφάσεων Τεχνητή Νοημοσύνη 1η Σειρά Ασκήσεων

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

===========================================================================

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

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

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

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

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

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

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

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

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

Επίλυση Προβλημάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσματα της νοημοσύνης.

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

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

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

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

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

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

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

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

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Για παράδειγμα η αρχική και η τελική κατάσταση αναπαριστώνται ως εξής: (ένα λίτρο)

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

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ. Κεφάλαιο 3 Μορφοποίηση Προβλημάτων Ακέραιου Προγραμματισμού

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

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

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

max 17x x 2 υπό 10x 1 + 7x 2 40 x 1 + x 2 5 x 1, x 2 0.

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

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

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

3.7 Παραδείγματα Μεθόδου Simplex

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

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

Προβλήματα Μεταφορών (Transportation)

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

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

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

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

Μη γράφετε στο πίσω μέρος της σελίδας

Θεωρία Λήψης Αποφάσεων

ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (1) ΣΤΡΑΤΗΓΙΚΗ Ή ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ

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

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

Μη γράφετε στο πίσω μέρος της σελίδας

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

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

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

ΚΕΦΑΛΑΙΟ 12: Λογικός Προγραμματισμός με Περιορισμούς

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

2 η ΕΝΟΤΗΤΑ ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Θέμα 1: Robbie και Αναζήτηση

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

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

Ακέραιος Γραμμικός Προγραμματισμός

ΗΥ360 Αρχεία και Βάσεις εδοµένων

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

Παραλλαγές του Προβλήματος Μεταφοράς Το Πρόβλημα Μεταφόρτωσης και το Πρόβλημα Αναθέσεων Γεωργία Φουτσιτζή ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Ακέραιος Γραμμικός Προγραμματισμός

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες

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

Αριθμητική Ανάλυση και Εφαρμογές

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

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

Στοχαστικές Στρατηγικές

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

Transcript:

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

Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης Παιχνίδια δύο αντιπάλων Ικανοποίηση Περιορισμών 2

Ικανοποίηση περιορισμών (constraint satisfaction problem) Προβλήματα που αναπαριστώνται από: Ένα σύνολο n μεταβλητών V 1, V 2, V 3, V n, Ένα σύνολο n πεδίων τιμών D 1,...D n, που αντιστοιχούν σε κάθε μεταβλητή έτσι ώστε V 1 D 1, V n D n και γενικά V i D i, και Ένα σύνολο σχέσεων (περιορισμών) C 1, C 2,...C m όπου C i (V k,...,v m ) μια σχέση μεταξύ των μεταβλητών του προβλήματος π.χ. V 1 < V 2, V 2 V 3.. 3

Λύση Προβλήματος Περιορισμών Λύση αποτελεί μια ανάθεση τιμών στις μεταβλητές του προβλήματος, τέτοια ώστε να ικανοποιούνται οι περιορισμοί, δηλαδή: Είδη τιμών των μεταβλητών: V 1 = d 1, V 2 = d 2,... V n = d n Περιορισμοί που αφορούν τα πεδία των μεταβλητών: dd 1 d 2 D 2... d i D n Περιορισμοί του προβλήματος: C 1 C 2...C m 4

Ικανοποίηση περιορισμών Είδη προβλημάτων: Προβλήματα ικανοποίησης περιορισμών όταν τα πεδία τιμών των μεταβλητών παίρνουν διακριτές τιμές Προβλήματα επίλυσης περιορισμών όταν τα πεδία τιμών των μεταβλητών παίρνουν συνεχείς τιμές Ανάλογα με το πόσες μεταβλητές περιλαμβάνει ένας περιορισμός χαρακτηρίζεται ως: μοναδιαίος (unary) όταν περιλαμβάνει μια μεταβλητή, δυαδικός (binary) όταν περιλαμβάνει δύο μεταβλητές ή ανώτερης τάξης (higher order) όταν περιλαμβάνει 5 περισσότερες.

Παράδειγμα Προβλήματος Ικανοποίησης Περιορισμών Έστω ότι πρέπει να ορισθεί η σειρά με την οποία θα εισαχθούν τα προϊόντα Α, Β, C, D μέσα σε ένα βιομηχανικό μύλο. Λόγω κάποιων παρασκευαστικών παραμέτρων του τελικού προϊόντος, το προϊόν Α πρέπει να εισαχθεί στο μύλο μετά από το D, το C πριν από το Β, και το Β πριν από το Α. 6

Ικανοποίηση περιορισμών -Παράδειγμα Παράδειγμα: σειρά εκτέλεσης εργασιών A, B, C, D σε ένα εργοστάσιο V A, V B, V C, V D {1, 2, 3, 4}: η σειρά κάθε εργασίας V A V B, V A V C, V A V D, V Β V C, V B V D, V C V D (έτσι ώστε να μην πάρουν δύο προϊόντα την ίδια σειρά) V A > V D, V C < V B, V B < V A (η Α αφού γίνει η D, η C πριν γίνει η Β, η Β πριν γίνει η Α) και το πρόβλημα έχει τις ακόλουθες τρεις δυνατές λύσεις: V Α = 4, V Β = 2, V ΓC = 1, V D = 3 ηλαδή η σειρά είναι: C, Β, D, Α V Α = 4, V Β = 3, V C = 1, V D = 2 ηλαδή η σειρά είναι: C, D, Β, Α V Α = 4, V Β = 3, V C = 2, V D = 1 ηλαδή η σειρά είναι: D, C, Β, Α 7

Χρήση κλασικών αλγορίθμων Τα προβλήματα ικανοποίησης περιορισμών μπορούν να αναπαρασταθούν με χώρο αναζήτησης. κατάσταση: περιλαμβάνει τις μεταβλητές, δεν έχουν όλες τιμές. μεταβάσεις: ανάθεση τιμής σε κάποια μεταβλητή. Άρα μπορούν να χρησιμοποιηθούν οι προηγούμενοι αλγόριθμοι αναζήτησης. Όμως το μεγάλο μέγεθος του χώρου αναζήτησης κάνει συχνά μη πρακτική τη χρήση αυτών των αλγορίθμων. Έχουν προταθεί ειδικοί αλγόριθμοι για προβλήματα ικανοποίησης περιορισμών. 8

Παραγωγή και δοκιμή Μια γεννήτρια παράγει υποψήφιες λύσεις και ελέγχουμε αν παραβιάζουν περιορισμούς (ελέγχει αν οι λύσεις ικανοποιούν τους περιορισμούς). Η μέθοδος παράγει διαδοχικά τις ακόλουθες λύσεις: V A = 1, V B = 1, V C = 1, V D = 1 V A = 1, V B = 1, V C = 1, V D = 2 Ο ελεγκτής ελέγχει τις παραγόμενες λύσεις απορρίπτοντας όσες δεν ικανοποιούν τους περιορισμούς. Αν η γεννήτρια χρησιμοποιεί ως πληροφορία ότι το προϊόν Α παρασκευάζεται πάντα τελευταίο, παράγει μόνο τις λύσεις στις οποίες η τιμή της μεταβλητής V A είναι 4: V Α = 4, V Β = 1, V C, = 1, V D = 1 V Α = 4, V Β = 2, V C, = 1, V D = 1 Οι πιθανές λύσεις μειώνονται έτσι από 4 4 = 256 που ήταν στην 9 προηγούμενη περίπτωση σε 4 3 = 64.

Παραγωγή και δοκιμή Απλές γνώσεις του προβλήματος μπορούν να ενσωματωθούν στη γεννήτρια (ενήμερη γεννήτρια) π.χ. πάντα διαφορετικές τιμές μεταβλητών. Απλή μέθοδος αλλά συνήθως μη αποδοτική σε προβλήματα ικανοποίησης περιορισμών (μεγάλος αριθμός υποψηφίων λύσεων). Ο κλασικός αλγόριθμος Παραγωγής και οκιμής έχει τεράστιο χώρο αναζήτησης οπότε έχουν προταθεί οι αλγόριθμοι επιδιόρθωσης: Αναρρίχηση λόφου Ευριστικός Αλγόριθμος ελαχίστων συγκρούσεων 10

Αναρρίχηση Λόφου για επιδιόρθωση 1. Ανέθεσε στις μεταβλητές τυχαίες τιμές από τα πεδία τιμών τους. 2. Αν οι τιμές των μεταβλητών δεν παραβιάζουν τους περιορισμούς του προβλήματος τότε επέστρεψε τις τιμές αυτές ως λύση. 3. Εξέτασε για κάθε μεταβλητή όλες τις δυνατές τιμές που μπορεί να πάρει. i. Αν κάποια από τις τιμές που εξετάστηκαν ελαχιστοποιεί το πλήθος των περιορισμών που παραβιάζονται, ανέθεσε την τιμή της στην αντίστοιχη μεταβλητή και επέστρεψε στο βήμα 2. ii. Αν δε υπάρχει τιμή που να ελαχιστοποιεί το πλήθος των περιορισμών, τότε επέστρεψε στο βήμα 1 (τοπικό ελάχιστο αλγόριθμος ξεκινά από μια νέα τυχαία ανάθεση τιμών). Μειονεκτήματα: Εξετάζει ένα μεγάλο πλήθος "γειτονικών" καταστάσεων πριν επιλέξει την επόμενη τιμή η οποία θα μεταβληθεί, και 11 Μπορεί να "πέσει" σε τοπικό ελάχιστο, (όπου καμιά μεταβολή στις τιμές δε δίνει καλύτερη λύση.)

Ευριστικός αλγόριθμος ελαχίστων συγκρούσεων (min conflicts heuristic) 1. Ανάθεσε στις μεταβλητές τυχαίες τιμές από τα πεδία τιμών τους. 2. Αν οι τιμές δεν παραβιάζουν τους περιορισμούς, επίστρεψε τις τιμές και σταμάτα. 3. Εξέτασε για μια τυχαία μεταβλητή όλες τις δυνατές τιμές της. Αν κάποια τιμή μειώνει το πλήθος των περιορισμών που παραβιάζονται, κράτα αυτήν την τιμή. Αν δεν υπάρχει τέτοια τιμή, διάλεξε μια νέα τιμή που να διατηρεί τον ίδιο αριθμό περιορισμών. Αν δεν υπάρχει ούτε τέτοια τιμή, άφησε την παλιά. 4. Επίστρεψε στο βήμα 2. 12

Ευρεστικός Αλγόριθμος ελαχίστων συγκρούσεων Ο αλγόριθμος ξεκινά από μια τυχαία ανάθεση τιμών και μεταβάλλει την τιμής μιας μεταβλητής έτσι ώστε η νέα τιμή να παραβιάζει λιγότερους περιορισμούς. Η μεταβλητή επιλέγεται τυχαία, από το σύνολο των μεταβλητών που είναι σε σύγκρουση με τους περιορισμούς Εξετάζει μικρό αριθμό γειτονικών κόμβων σε κάθε επανάληψη. Πρόβλημα εγκλωβισμού σε τοπικό ελάχιστο. Αποτελεί παράδειγμα αλγορίθμου επιδιόρθωσης. 13

Κλασσικοί Αλγόριθμοι Αναζήτησης Οι αλγόριθμοι αναζήτησης που παρουσιάστηκαν σε προηγούμενες ενότητες είναι δυνατό να χρησιμοποιηθούν και για την επίλυση των προβλημάτων ικανοποίησης περιορισμών. Αλγόριθμοι Ελέγχου Συνέπειας Για κάθε περιορισμό αφαίρεσε από τα πεδία τιμών των μεταβλητών τις τιμές εκείνες που δεν μπορούν να συμμετέχουν στην τελική λύση. Στο μειωμένο χώρο αναζήτησης που προκύπτει από το προηγούμενο βήμα εφάρμοσε έναν κλασσικό αλγόριθμο αναζήτησης για να βρεθεί η λύση. Σε κάθε βήμα (ανάθεση τιμής) αυτής της αναζήτησης εφάρμοσε ξανά τον αλγόριθμο ελέγχου συνέπειας έτσι ώστε να αφαιρεθούν τυχόν τιμές από τα πεδία των μεταβλητών οι οποίες δεν μπορούν να συμμετέχουν στην14 λύση.

Παράδειγμα Προβλήματος Ικανοποίησης Περιορισμών Έστω ότι πρέπει να ορισθεί η σειρά με την οποία θα εισαχθούν τα προϊόντα Α, Β, C, D μέσα σε ένα βιομηχανικό μύλο. Λόγω κάποιων παρασκευαστικών παραμέτρων του τελικού προϊόντος, το προϊόν Α πρέπει να εισαχθεί στο μύλο μετά από το D, το C πριν από το Β, και το Β πριν από το Α. 15

Αλγόριθμοι Ελέγχου Συνέπειας Παράδειγμα (1/3) V Α V Β (C1) V Β V Γ (C4) V Α > V (C7) V Α V Γ (C2) V Β V (C5) V Γ < V Β (C8) V Α V (C3) V Γ V (C6) V Β < V Α (C9) Τα πεδία τιμών των μεταβλητών: V Α {1,2,3,4} V Β {1,2,3,4} V Γ {1,2,3,4} V {1,2,3,4} Λόγω C9 (V Β < V Α ), η μεταβλητή V Β δε μπορεί σε καμιά περίπτωση να πάρει την τιμή 4, αλλά ούτε και η V Α να πάρει την τιμή 1: V Α {2,3,4} V Β {1,2,3} V Γ {1,2,3,4} V {1,2,3,4} 16

Αλγόριθμοι Ελέγχου Συνέπειας Παράδειγμα (2/3) Λόγω V Γ < V Β (C8), η V Γ δεν μπορεί να πάρει την τιμή 3 ούτε και την τιμή 4, ενώ η V Β δε μπορεί να πάρει την τιμή 1: V Α {2,3,4} V Β {2,3} V Γ {1,2} V {1,2,3,4} Λόγω V Α > V (C7) η V δεν μπορεί να πάρει την τιμή 4: V Α {2,3,4} V Β {2,3} V Γ {1,2} V {1,2,3} 17

Αλγόριθμοι Ελέγχου Συνέπειας Παράδειγμα (3/3) Το πεδίο της V Β έχει μεταβληθεί, οπότε ο περιορισμός C9 πρέπει να επανεξεταστεί. Λόγω του V Β < V Α (C9) δεν μπορεί να υπάρχει η τιμή 2 στο πεδίο της V Α : V Α {3,4} V Β {2,3} V Γ {1,2} V {1,2,3} Τώρα οι πιθανοί συνδυασμοί γίνονται 2223=24, σε σχέση με τους 256 που υπήρχαν αρχικά. Ο γράφος που προκύπτει ονομάζεται γράφος περιορισμών (constraint graph). 18

Γράφος Περιορισμών Η προηγούμενη διαδικασία είναι η βάση των αλγορίθμων ελέγχου συνέπειας (consistency check algorithms). Οι αλγόριθμοι που εντάσσονται στην παραπάνω κατηγορία ονομάζονται συνήθως αλγόριθμοι συνέπειας τόξου (Arc Consistency- AC). Περιορισμοί: V Α > V V Γ < V Β V Β < V Α 19

Ο αλγόριθμος AC3 (1/2) Έστω οι μεταβλητές V 1, V 2,..V n με τιμές d 1, d 2,,d n από τα πεδία τιμών των μεταβλητών D 1, D 2,,D n (d 1 D 1, d 2 D 2, d n D n) και ένα σύνολο περιορισμών C(V i,v j ) για τις μεταβλητές αυτές, οι οποίοι αναπαριστώνται ως τόξα (V i,v j ). Για συντομία, κάθε τόξο (V i,v j ) αναφέρεται ως (i,j). 1. Επανέλαβε τα ακόλουθα βήματα μέχρι το Q να γίνει κενό: 2. Επέλεξε ένα τόξο (i,j) και διέγραψε το από το Q 3. Για κάθε τιμή d i του πεδίου της μεταβλητής V i έλεγξε αν υπάρχει τουλάχιστον μία τιμή d j του πεδίου της μεταβλητής V j τέτοια ώστε να ικανοποιεί το περιορισμό C(V i,v j ) που αντιστοιχεί στο τοξο (i, j). 4. Αν δεν υπάρχει τέτοια τιμή d j τότε αφαίρεσε την τιμή d i από το πεδίο τιμών της V i. Αν το πεδίο τιμών της V i είναι κενό τότε τερμάτισε με αποτυχία. 5. Αν έχει μεταβληθεί το πεδίο τιμών της V i τότε πρόσθεσε στο σύνολο Q όλατατόξα(k,i), που αντιστοιχούν στους περιορισμούς C(V k,v i ), για k i. 20

Ο αλγόριθμος AC3 (1/2) Χαρακτηριστικά του αλγορίθμου AC-3: Προϋποθέτει ότι οι περιορισμοί αφορούν μόνο δύο μεταβλητές, είναι δηλαδή δυαδικοί περιορισμοί (binary constraints). Οι μοναδιαίοι περιορισμοί που εμφανίζονται στα προβλήματα περιορισμών αντιμετωπίζονται από τον αλγόριθμο ελέγχου συνέπειας κόμβου (node consistency). Για να επιλυθεί ένα πρόβλημα περιορισμών θα πρέπει να χρησιμοποιηθούν αλγόριθμοι ελέγχου συνέπειας τόξου σε συνδυασμό με κάποιον αλγόριθμο αναζήτησης για να βρεθεί η τελική λύση. Βελτιώσεις: Η αρχή της συντομότερης αποτυχίας (first fail principle). 21

Παράδειγμα Μετά την εφαρμογή των περιορισμών απομένουν οι ακόλουθες τιμές στα πεδία των μεταβλητών: V Α {3,4},V Β {2,3},V Γ {1,2},V {1,2,3} 22

Κ- συνέπεια Ένας γράφος περιορισμών είναι Κ-συνεπής (Kconsistent) εάν για κάθε Κ-1 μεταβλητές που ικανοποιούν τους περιορισμούς υπάρχει μια μεταβλητή Κ με τέτοιο πεδίο ώστε να ικανοποιούνται ταυτόχρονα όλοι τους οι περιορισμοί που συνδέουν τις Κ μεταβλητές. Ένας γράφος είναι ισχυρά Κ-συνεπής (strongly K- consistent) εάν για κάθε L K, είναι L-συνεπής. Σε ένα γράφο με Ν κόμβους, εάν εξασφαλισθεί ότι ο γράφος είναι ισχυρά Ν-συνεπής διαγράφονται όλες οι μη αποδεκτές τιμές από τα πεδία των μεταβλητών, όποτε η λύση μπορεί να βρεθεί χωρίς αναζήτηση. 23

Κ- συνέπεια Παράδειγμα Συνθήκη μη απειλής μεταξύ των βασιλισσών: Όλες οι βασίλισσες πρέπει να είναι σε διαφορετική γραμμή: i, j: Q j Q i. Ισχύουν οι περιορισμοί: Q j Q j+n + n για n>1 και n+j 8 Q j Q j+n -n για n>1 και n+j 8 24

Γραφική αναπαράσταση των περιορισμών (1/2) Ανάθεση τιμής στην πρώτη βασίλισσα Ανάθεση τιμών στις δύο πρώτες βασίλισσες 25

Γραφική αναπαράσταση των περιορισμών (2/2) Ανάθεση τιμής που δεν οδηγεί σε λύση Λύση στο πρόβλημα των 8 βασιλισσών 26

Πρόβλημα Το πρόβληµα των κανιβάλων και των ιεραποστόλων υπάρχουν αρχικά τρεις κανίβαλοι και τρεις ιεραπόστολοι στην αριστερή όχθη του ποταµού. Στόχος µας είναι να µεταφέρουµε µε τη βάρκα όλους τους ανθρώπους στη δεξιά όχθη. Η βάρκα χωρά το πολύ δύο άτοµα και δεν µπορεί να µετακινηθεί χωρίς επιβάτες. εν πρέπει ποτέ οαριθµός των κανιβάλων σε κάποια όχθη να υπερβεί τον αριθµό των ιεραποστόλων στην ίδια όχθη. Οι δυνατές κινήσεις σε κάθε κατάσταση είναι η µετακίνηση ενός ήδύο ανθρώπων µε τη βάρκα στην απέναντι όχθη. Λύση είναι κάθε ακολουθία κινήσεων που πετυχαίνει τον επιθυµητό στόχο. Το κόστος µιας λύσης είναι ο συνολικός αριθµός µετακινήσεων της βάρκας. (α) Χρησιµοποιώντας την τεχνική αφαίρεσης περιορισµών, κατασκευάστε δύο αποδεκτές ευριστικές συναρτήσεις h1 και h2, ώστε η h1 να κυριαρχεί επί της h2. Γράψτε τους τύπους των h1(s) και h2(s), όπου s η κατάσταση του χώρου αναζήτησης που αξιολογείται, και εξηγήστε πώς προκύπτουν οι τύποι και γιατί η h1(s) κυριαρχεί επί της h2(s). Μπορείτε να καλέσετε n το συνολικό αριθµό ανθρώπων που βρίσκονται στην αριστερή όχθη στην κατάσταση s. Υπόδειξη: Σε µία κατάσταση η βάρκα µπορεί να βρίσκεται είτε στην αριστερή είτε στη δεξιά όχθη. Ίσως χρειαστεί να δώσετε διαφορετικούς τύπους για κάθε µία από τις δύο περιπτώσεις. h1(s) και πώς προκύπτει: h2(s) και πώς προκύπτει: Η h1(s) κυριαρχεί της h2(s) επειδή.. 27

Απάντηση (α) Αφαιρούμε τον περιορισμό της αριθμητικής σχέσης κανιβάλων ιεραποστόλων. h 1 (s)=2(n-1)-1, όταν η βάρκα είναι αριστερά και n>1 h 1 (s)=1, όταν η βάρκα είναι αριστερά και n=1 h 1 (s)=2n, όταν η βάρκα είναι δεξιά Αφαιρώντας τον περιορισμό της χωρητικότητας της βάρκας. h 2 (s)=1, όταν η βάρκα είναι αριστερά h 2 (s)=2, όταν η βάρκα είναι δεξιά Η h 1 κυριαρχεί της h 2 γιατί για κάθε s έχουμε h 2 (s) h 1 (s) 28

Πρόβλημα Χρησιµοποιούµε τον αλγόριθµο Α* µε ευριστική συνάρτηση την h1. Συµπληρώστε το παρακάτω δέντρο αναζήτησης µε τα παιδιά της ρίζας. Κυκλώστε το παιδί της ρίζας που αποφασίζει να επεκτείνει πρώτα ο Α*. Συµπληρώστε στο δέντρο τους κόµβους που προκύπτουν από αυτή την επέκταση. Κυκλώστε τον κόµβο που αποφασίζει να επεκτείνει κατόπιν ο Α* (δεν χρειάζεται να συµπληρώσετε τα νέα παιδιά, αν δεν υπάρχουν ήδη στο διάγραµµα). Κάτω από κάθε κόµβο να φαίνονται τα µέτρα που χρησιµοποιεί ο Α* για να αποφασίσει ποιον κόµβο θα επεκτείνει στη συνέχεια. 29

Απάντηση (β) 3Κ, 3Ι, β 0Κ, 0Ι 1η επέκταση 2Κ, 3Ι 1 Κ, 0Ι, β h 1 = 10, f = 11 3Κ, 2Ι 0Κ, 1Ι, β h 1 = 10, f = 11 2Κ, 2Ι 1Ι, 1Κ, β h 1 = 8, f = 9 1Κ, 3Ι 2Κ, 0Ι, β h 1 = 8, f = 9 2η επέκταση 3Κ, 1Ι 0Κ, 2Ι, β h 1 = 8, f = 9 2K, 3Ι, β 1Κ, 0Ι h 1 = 7, f = 9 3K, 3Ι, β 0Κ, 0Ι h 1 = 9, f = 11 30

Πρόβλημα (γ) Γιατί οι ευριστικές συναρτήσεις που προκύπτουν µε αφαίρεση περιορισµών είναι αποδεκτές; (δ) Θα βρει ο Α* πρώτα τη βέλτιστη λύση αν χρησιµοποιήσουµε οποιαδήποτε από τις h1 και h2; Γιατί; (ε) Υπενθυµίζεται ότι αν το κόστος κάθε µετάβασης µεταξύ καταστάσεων είναι θετικό, οι ευριστικές συναρτήσεις που προκύπτουν µε αφαίρεση περιορισµών είναι και συνεπείς. Τι µας προσφέρει η χρήση συνεπούς ευριστικής συνάρτησης όταν χρησιµοποιούµε κλειστό σύνολο µε τον Α*; (στ) Θεωρήστε την περίπτωση όπου το κόστος κάθε µεταβάσεως µεταξύ καταστάσεων είναι θετικός αριθµός. Αν ένα πρόβληµα έχει λύση και καµία κατάσταση δεν έχει άπειρα παιδιά, είναι δυνατόν ο Α* να µην βρει τη λύση; 31

Απάντηση (γ,δ,ε,στ) γ) Γιατί αποτελούν το ακριβές βέλτιστο κόστος όταν αγνοούνται κάποιοι περιορισμοί του αρχικού προβλήματος. δ) Ναι, γιατί ο Α* είναι βέλτιστος όταν χρησιμοποιείται αποδεκτή ευριστική. ε) Με συνεπή h, ο Α* παραμένει βέλτιστος και όταν χρησιμοποιούμε κλειστό σύνολο. στ) Όχι γιατί Α* είναι πλήρης αν το b είναι πεπερασμένο και το κόστος κάθε μετάβασης είναι >0. 32