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



Σχετικά έγγραφα
ΙΚΑΝΟΠΟΙΗΣΗ ΠΕΡΙΟΡΙΣΜΩΝ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Χρονοπρογραµµατισµός Ωρολόγιου Προγράµµατος Μαθηµάτων Πανεπιστηµιακού

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

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

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

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

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

ΤΟ ΠΡΟΒΛΗΜΑ ΤΗΣ ΚΑΤΑΡΤΙΣΗΣ ΩΡΟΛΟΓΙΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ: ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΣΤΟ ΣΥΣΤΗΜΑ ECL i PS e

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 2. Περιγραφή Προβληµάτων και Αναζήτηση Λύσης. Τεχνητή Νοηµοσύνη - Β' Έκδοση

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

Αλγόριθµοι CSPs Κώδικας. Μάθηµα Τεχνητής Νοηµοσύνης ΥΣ02 Χειµερινό εξάµηνο

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

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

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

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

Κεφάλαιο 5. Αλγόριθµοι Αναζήτησης σε Παίγνια ύο Αντιπάλων. Τεχνητή Νοηµοσύνη - Β' Έκδοση

Το µαθηµατικό µοντέλο του Υδρονοµέα

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

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

Heapsort Using Multiple Heaps

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Αναστασία Παπαρρίζου. Επιβλέπων Καθηγητής: Κώστας Στεργίου Τριμελής Επιτροπή: Κώστας Στεργίου, Νικόλαος Σαμαράς, Μανώλης Κουμπαράκης

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

Μοντελοποίηση προβληµάτων

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

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

Αλγόριθμοι Τυφλής Αναζήτησης

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

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

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΜΑΘΗΜΑ 2 ΑΝΑΠΑΡΑΣΤΑΣΗ - ΤΕΧΝΙΚΕΣ ΤΝ (1)

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

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

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

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

max c 1 x 1 + c 2 x c n x n υπό a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b 2 a m1 x 1 + a m2 x a mn x n b m

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

Δομές Δεδομένων και Αλγόριθμοι

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

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

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

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

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

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

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

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

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

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

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

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

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

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

ΈΡΕΥΝΑ ΜΕΤΑΒΛΗΤΗΣ ΓΕΙΤΟΝΙΑΣ (Variable Neighborhood Search - VNS) VNS) (Variable Neighborhood Search -

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

«Ανάπτυξη συστήματος υποβοήθησης παραγωγής ωρολογίου προγράμματος με γραφικό περιβάλλον διεπαφής με το χρήστη» της Ροδακινιά Αρίστης Α.Μ.

Περιεχόμενα Πρόλογος 1. Εισαγωγή 2. Τα Βασικά Μέρη ενός Προγράμματος Prolog

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

Χαρακτηριστικά, οµή και Λειτουργία Συστηµάτων Γνώσης

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

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

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

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

ΣΥΣΤHΜΑΤΑ ΑΠΟΦAΣΕΩΝ ΣΤΗΝ ΠΑΡΑΓΩΓH

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

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

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

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


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

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

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

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

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

Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΤΗΣ ΕΝΤΑΞΗΣ ΜΟΝΑ ΩΝ ΠΑΡΑΓΩΓΗΣ

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

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

Δυναµικός Προγραµµατισµός (ΔΠ)

Ο Αλγόριθµος της Simplex

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

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

ΤΣΑΝΤΑΣ ΝΙΚΟΣ 11/26/2007. Νίκος Τσάντας Τμήμα Μαθηματικών Πανεπιστημίου Πατρών, Ακαδημαϊκό έτος Δικτυωτή Ανάλυση

Transcript:

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

Ικανοποίηση Περιορισµών Ένα πρόβληµα ικανοποίησης περιορισµών (constraint satisfaction problem αποτελείται από: Ένα σύνολο n µεταβλητών V 1, V 2,...,V n, Ένα σύνολο n πεδίων τιµών D 1,...D n, που αντιστοιχούν σε κάθε µεταβλητή έτσι ώστε V i D i, και Ένα σύνολο σχέσεων (περιορισµών) C 1, C 2,...C m όπου C i (V k,...,v m ) µια σχέση µεταξύ των µεταβλητών του προβλήµατος. Ανάλογα µε το πόσες µεταβλητές περιλαµβάνει ένας περιορισµός χαρακτηρίζεται ως: µοναδιαίος (unary) δυαδικός (binary) ανώτερης τάξης (higher order) Τεχνητή Νοηµοσύνη, B' Έκδοση 2

Λύση Προβλήµατος Περιορισµών Λύση αποτελεί µια ανάθεση τιµών στις µεταβλητές του προβλήµατος, τέτοια ώστε να ικανοποιούνται οι περιορισµοί, δηλαδή: Περιορισµοί που αφορούν τα πεδία των µεταβλητών Περιορισµοί του προβλήµατος V 1 = d 1, V 2 = d 2,... V n = d n d D 1 d 2 D 2... d i D n C 1 C 2... C m Τα προβλήµατα ικανοποίησης περιορισµών χαρακτηρίζονται από µεγάλο αριθµό µεταβλητών και πιθανών τιµών (πεδίων) Φαινόµενο της συνδυαστικής έκρηξης (combinatorial explosion). Απαιτείται µείωση του χώρου αναζήτησης. Τεχνητή Νοηµοσύνη, B' Έκδοση 3

Παράδειγµα Προβλήµατος Ικανοποίησης Περιορισµών Σειρά µε την οποία θα εισαχθούν τα προϊόντα Α, Β, Γ, µέσα σε ένα βιοµηχανικό µύλο. Το προϊόν Α πρέπει να εισαχθεί στο µύλο µετά από το, το Γ πριν από το Β, και το Β πριν από το Α. V Α V Β και V Α V Γ και V Α V έτσι ώστε να µην πάρουν V Β V Γ και V Β V και V Γ V δύο προϊόντα την ίδια σειρά V Α > V το προϊόν Α µετά από το V Γ < V Β το προϊόν Γ πριν από το Β V Β < V Α το προϊόν Β πριν από το Α Τρεις δυνατές λύσεις: V Α = 4, V Β = 2, V Γ, = 1, V = 3 ηλαδή η σειρά είναι: Γ, Β,, Α V Α = 4, V Β = 3, V Γ, = 1, V = 2 ηλαδή η σειρά είναι: Γ,, Β, Α V Α = 4, V Β = 3, V Γ, = 2, V = 1 ηλαδή η σειρά είναι:, Γ, Β, Α Τεχνητή Νοηµοσύνη, B' Έκδοση 4

Γεννήτρια λύσεων και ελεγκτής. Η γεννήτρια λύσεων παράγει λύσεις: V Α = 1, V Β = 1, V Γ, = 1, V = 1 V Α = 1, V Β = 1, V Γ, = 1, V = 2 Παραγωγή και οκιµή... V Α = 4, V Β = 4, V Γ, = 4, V = 4 Ο ελεγκτής ελέγχει τις παραγόµενες λύσεις. Αν η γεννήτρια χρησιµοποιεί ως πληροφορία ότι το προϊόν Α παρασκευάζεται πάντα τελευταίο, παράγει µόνο τις λύσεις: V Α = 4, V Β = 1, V Γ, = 1, V = 1 V Α = 4, V Β = 2, V Γ, = 1, V = 1... V Α = 4, V Β = 4, V Γ, = 4, V = 4 Μείωση πιθανών λύσεων από 4 4 = 256 αντί 4 3 = 64. Τεχνητή Νοηµοσύνη, B' Έκδοση 5

Αλγόριθµοι Επιδιόρθωσης Στον κλασικό αλγόριθµο παραγωγής και δοκιµής εξετάζεται ένας µεγάλος χώρος αναζήτησης. Πρόταση νέων αλγορίθµων οι οποίοι προσπαθούν να βελτιώσουν µια προτεινόµενη λύση σταδιακά. Αλγόριθµοι επιδιόρθωσης (repair algorithms). Αναρρίχηση λόφου (hill-climbing) Ευριστικός αλγόριθµος των ελαχίστων συγκρούσεων (min conflicts heuristic) Οι αλγόριθµοι επιδιόρθωσης έχουν εφαρµοστεί µε µεγάλη επιτυχία. Τεχνητή Νοηµοσύνη, B' Έκδοση 6

Αναρρίχηση Λόφου (Hill-Climbing) Αλγόριθµος επιδιόρθωσης HC: 1. Ανέθεσε στις µεταβλητές τυχαίες τιµές από τα πεδία τιµών τους. 2. Αν οι τιµές των µεταβλητών δεν παραβιάζουν τους περιορισµούς του προβλήµατος τότε επέστρεψε τις τιµές αυτές ως λύση. 3. Εξέτασε για κάθε µεταβλητή όλες τις δυνατές τιµές που µπορεί να πάρει. i. Αν κάποια από τις τιµές που εξετάστηκαν ελαχιστοποιεί το πλήθος των περιορισµών που παραβιάζονται, ανέθεσε την τιµή της στην αντίστοιχη µεταβλητή και επέστρεψε στο βήµα 2. ii. Αν δε υπάρχει τιµή που να ελαχιστοποιεί το πλήθος των περιορισµών, τότε επέστρεψε στο βήµα 1 (τοπικό ελάχιστο ο αλγόριθµος ξεκινά από µια νέα τυχαία ανάθεση τιµών). Εξετάζει ένα µεγάλο πλήθος "γειτονικών" καταστάσεων. Μπορεί να "πέσει" σε τοπικό ελάχιστο. Τεχνητή Νοηµοσύνη, B' Έκδοση 7

Ευριστικός αλγόριθµος των ελαχίστων συγκρούσεων Min conflicts heuristic Ο αλγόριθµος ξεκινά από µια τυχαία ανάθεση τιµών και µεταβάλλει την τιµή µιας µεταβλητής έτσι ώστε η νέα τιµή να παραβιάζει λιγότερους περιορισµούς. 1. Ανέθεσε στις µεταβλητές τυχαίες τιµές από τα πεδία τιµών τους. 2. Αν οι τιµές των µεταβλητών δεν παραβιάζουν τους περιορισµούς του προβλήµατος τότε επέστρεψε τις τιµές αυτές ως λύση. 3. Εξέτασε για µια τυχαία µεταβλητή όλες τις δυνατές τιµές που µπορεί να πάρει. i. Αν κάποια από τις τιµές για τη µεταβλητή που εξετάστηκαν µειώνει το πλήθος των περιορισµών που παραβιάζονται, ανέθεσε την τιµή της στη µεταβλητή. ii. Αν δεν υπάρχει τιµή που να µειώνει το πλήθος των περιορισµών που παραβιάζονται, τότε επέλεξε µια τιµή που να διατηρεί τον ίδιο αριθµό περιορισµών. iii. Αν δεν υπάρχει ούτε τέτοια τιµή, τότε άφησε την τιµή της εξεταζόµενης µεταβλητής. 4. Επέστρεψε στο βήµα 2. Ο αλγόριθµος δεν εξετάζει µεγάλο πλήθος γειτονικών κόµβων. ιατηρεί το πρόβληµα του εγκλωβισµού σε κάποιο τοπικό ελάχιστο. Τεχνητή Νοηµοσύνη, B' Έκδοση 8

Κλασικοί Αλγόριθµοι Αναζήτησης Οι κλασικοί αλγόριθµοι αναζήτησης είναι δυνατό να χρησιµοποιηθούν και για την επίλυση των προβληµάτων ικανοποίησης περιορισµών. Αναπαράσταση Μια κατάσταση αποτελείται από τις µεταβλητές του προβλήµατος. Υπάρχει ένας µόνο τελεστής, ο οποίος αντιστοιχεί στην ανάθεση µιας τιµής σε µια µηδεσµευµένη µεταβλητή (µεταβλητή στην οποία δεν έχει ανατεθεί τιµή). Αρχική κατάσταση: όλες οι µεταβλητές είναι µη-δεσµευµένες. Τελική κατάσταση: ελέγχεται αν έχει γίνει ανάθεση τιµών σε όλες τις µεταβλητές, καθώς επίσης και αν ικανοποιούνται όλοι οι περιορισµοί του προβλήµατος. Επίλυση µε: Κλασικούς αλγορίθµους αναζήτησης. Κλασικούς ευριστικούς αλγορίθµους αναζήτησης Τεχνητή Νοηµοσύνη, B' Έκδοση 9

Ευριστικοί Αλγόριθµοι στο Πρόβληµα Ικανοποίησης Περιορισµών Εφαρµόζονται οι κλασικοί ευριστικοί αλγόριθµοι αναζήτησης Αλγόριθµος αναζήτησης πρώτα στο καλύτερο (Best First) Αρχή της συντοµότερης αποτυχίας (first fail principle). Σε περίπτωση ισοπαλίας επιλέγεται η µεταβλητή που συµµετέχει σε περισσότερους περιορισµούς (most constraint principle). Βελτίωση έναντι των τυφλών αλγορίθµων αναζήτησης. εν επιλύουν σε ικανοποιητικό χρόνο προβλήµατα µεγάλου µεγέθους. Μη-εκµετάλλευση της πληροφορίας των περιορισµών. (a posteriori έλεγχος) A posteriori έλεγχος + συνδυαστική έκρηξη = εξαιρετικά χρονοβόρα επίλυση προβληµάτων. Τεχνητή Νοηµοσύνη, B' Έκδοση 10

Αλγόριθµοι Ελέγχου Συνέπειας Εκµετάλλευση πληροφορίας που υπάρχει στους περιορισµούς για µείωση του χώρου αναζήτησης. Α priori έλεγχος συνέπειας τιµών. Βασική ιδέα των αλγορίθµων της κατηγορίας: Απαλοιφή από τα αρχικά πεδία των µεταβλητών εκείνων των τιµών οι οποίες δεν µπορούν να συµµετέχουν στην τελική λύση. Έλεγχος συνέπειας (consistency check) ιαγραφή από το πεδίο κάθε µεταβλητής εκείνων των τιµών οι οποίες είναι ασυνεπείς ως προς κάποιο περιορισµό. Αναφέρονται και ως αλγόριθµοι διήθησης τιµών (filtering algorithms). Τεχνητή Νοηµοσύνη, B' Έκδοση 11

Παράδειγµα Απαλοιφής τιµών από τα πεδία των Μεταβλητών (1/2) Πρόβληµα σειράς παρασκευής των προϊόντων για ένα βιοµηχανικό µύλο. Οι περιορισµοί είναι: 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 Α {2,3,4} V Β {1,2,3} V Γ {1,2,3,4} V {1,2,3,4} Τεχνητή Νοηµοσύνη, B' Έκδοση 12

Παράδειγµα Απαλοιφής τιµών από τα πεδία των Μεταβλητών (2/2) Λόγω V Γ < V Β (C8): V Α {2,3,4} V Β {2,3} V Γ {1,2} V {1,2,3,4} Λόγω V Α > V (C7): V Α {2,3,4} V Β {2,3} V Γ {1,2} V {1,2,3} Λόγω του V Β < V Α (C9): V Α {3,4} V Β {2,3} V Γ {1,2} V {1,2,3} Οι πιθανοί συνδυασµοί γίνονται 2 2 2 3=24, από 256 που υπήρχαν αρχικά. Τεχνητή Νοηµοσύνη, B' Έκδοση 13

Γράφος Περιορισµών Το πρόβληµα αναπαρίσταται ως γράφος (γράφος περιορισµών - constraint graph). τα τόξα (arcs) αναπαριστούν περιορισµούς οι κόµβοι (nodes) που αναπαριστούν τις µεταβλητές. Περιορισµοί: V Α > V V Γ < V Β V Β < V Α Τεχνητή Νοηµοσύνη, B' Έκδοση 14

Αλγόριθµοι συνέπειας/διήθησης τιµών Βαθµός συνέπειας (degree of consistency). Πόσες ασυνεπείς τιµές αφαιρούν από τα πεδία Βαθµός συνέπειας είναι αντιστρόφως ανάλογος µε τον απαιτούµενο χρόνο εκτέλεσης. Αλγόριθµος συνέπειας κόµβου (Node Consistency). Μοναδιαίοι περιορισµοί. Αλγόριθµοι συνέπειας τόξου (Arc Consistency-AC), υαδικοί περιορισµοί ιάφοροι αλγόριθµοι συνέπειας τόξου, όπως οι AC-3, AC-4, AC-5, AC-6, κλπ, Η δυσκολία που παρουσιάζουν οι αλγόριθµοι της κατηγορίας: ιαγραφή µιας τιµής οδηγεί σε αλλαγές στα πεδία άλλων µεταβλητών. Μετά από κάθε διαγραφή ασυνεπούς τιµής πρέπει να επανεξεταστούν τα πεδία των "άµεσα" συνδεδεµένων µεταβλητών Αλγόριθµοι συνέπειας µονοπατιού (path consistency algorithms). Υψηλό υπολογιστικό κόστος. Υπάρχουν και άλλες κατηγορίες αλγορίθµων συνέπειας, ιάδοση περιορισµών (constraint propagation). Τεχνητή Νοηµοσύνη, B' Έκδοση 15

Ο Αλγόριθµος AC3 Ο απλούστερος αλγόριθµος συνέπειας τόξου είναι ο AC3. Έστω οι µεταβλητές 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). Επανέλαβε τα ακόλουθα βήµατα µέχρι το Q να γίνει κενό: 1. Επέλεξε ένα τόξο (i,j) και διέγραψε το από το Q 2. Για κάθε τιµή d i του πεδίου της µεταβλητής V i έλεγξε αν υπάρχει τουλάχιστον µία τιµή d j του πεδίου της µεταβλητής V j τέτοια ώστε να ικανοποιεί το περιορισµό C(V i,v j ) που αντιστοιχεί στο τοξο (i, j). 3. Αν δεν υπάρχει τέτοια τιµή d j τότε αφαίρεσε την τιµή d i από το πεδίο τιµών της V i. Αν το πεδίο τιµών της V i είναι κενό τότε τερµάτισε µε αποτυχία. 4. Αν έχει µεταβληθεί το πεδίο τιµών της V i τότε πρόσθεσε στο σύνολο Q όλα τα τόξα (k,i), που αντιστοιχούν στους περιορισµούς C(V k,v i ), για k i. Τεχνητή Νοηµοσύνη, B' Έκδοση 16

Χαρακτηριστικά του αλγορίθµου AC-3 Προϋποθέτει δυαδικούς περιορισµούς. Μετασχηµατισµός σε πρόβληµα δυαδικών περιορισµών (binarization). Μη-πληρότητα Στο προηγούµενο παράδειγµα στο πεδίο τιµών της µεταβλητής V Α παρέµεινε η τιµή 3: VΑ {3,4} VΒ {2,3} VΓ {1,2} V {1,2,3} Οι αλγόριθµοι συνέπειας τόξου δεν απαλείφουν όλες τις ασυνεπείς τιµές. Επίλυση προβλήµατος περιορισµών = αλγόριθµοι ελέγχου συνέπειας τόξου σε συνδυασµό µε αλγόριθµο αναζήτησης. Τεχνητή Νοηµοσύνη, B' Έκδοση 17

Εξασφάλιση Λύσης Χωρίς Αναζήτηση Είναι δυνατό να βρεθεί λύση µε χρήση µόνο αλγορίθµων ελέγχου συνέπειας; Κ-συνέπεια Ένας γράφος περιορισµών είναι Κ-συνεπής (K-consistent) εάν για κάθε Κ-1 µεταβλητές που ικανοποιούν τους περιορισµούς υπάρχει µια µεταβλητή Κ µε τέτοιο πεδίο ώστε να ικανοποιούνται ταυτόχρονα όλοι τους οι περιορισµοί που συνδέουν τις Κ µεταβλητές. Ένας γράφος είναι ισχυρά Κ-συνεπής (strongly K- consistent) εάν για κάθε L K, είναι L-συνεπής. Ο αλγόριθµος συνέπειας κόµβου εξασφαλίζει ότι ο γράφος είναι ισχυρά 1-συνεπής. Οι αλγόριθµοι συνέπειας τόξου εξασφαλίζουν ισχυρή 2-συνεπεία. Προφανώς σε ένα γράφο µε Ν κόµβους, εάν εξασφαλισθεί ότι ο γράφος είναι ισχυρά Ν-συνεπής: Λύση χωρίς αναζήτηση. Υψηλό υπολογιστικό κόστος εφαρµογής για Κ>2. Τεχνητή Νοηµοσύνη, B' Έκδοση 18

Συνδυάζοντας Αναζήτηση και Αλγορίθµους ιήθησης Τιµών Συνδυασµός αλγορίθµων διήθησης και αναζήτησης καθώς: Αλγόριθµοι συνέπειας: µη-πλήρεις αλλά αποδοτικοί. Κλασικοί αλγόριθµοι αναζήτησης: πλήρεις/µη-αποδοτικοί. Βασική ιδέα των αλγορίθµων της κατηγορίας: Μείωση του χώρου αναζήτησης µε την χρήση ενός αλγορίθµου συνέπειας πριν από κάθε βήµα ανάθεσης τιµών (a priori pruning). Έτσι η λύση µπορεί να βρεθεί σε σηµαντικά µικρότερο χρόνο µε κάποιον κλασικό αλγόριθµο αναζήτησης. Υπάρχουν τρεις βασικοί τρόποι. ιαφέρουν στο βαθµό ελέγχου των πεδίων των µεταβλητών σε κάθε βήµα. Πριν την εκκίνηση της διαδικασίας αναζήτησης εφαρµόζεται ένας αλγόριθµος συνέπειας. Τεχνητή Νοηµοσύνη, B' Έκδοση 19

Συνδυασµοί ιήθησης και Αναζήτησης Λύσης Ο προοπτικός έλεγχος (forward checking) Απαλείφει τιµές από τα πεδία των µη-δεσµευµένων µεταβλητών που συνδέονται άµεσα µε περιορισµούς µε την µεταβλητή στην οποία µόλις ανατέθηκε τιµή. Παραµένει µεγάλος αριθµός ασυνεπών τιµών στα πεδία, Χαµηλό υπολογιστικό κόστος κάθε βήµατος. Ο αλγόριθµος έγκαιρης µερικής εξέτασης (Partial Look Αhead) Κατευθυντική συνέπεια (directional consistency) σε κάθε βήµα. Παραµένουν στα πεδία των µεταβλητών µη συνεπείς τιµές. Ο αλγόριθµος έγκαιρης πλήρους εξέτασης (Full Look Ahead) ή διατήρησης συνέπειας τόξου (Maintaining Arc Consistency - MAC). Πλήρης συνέπεια τόξου σε κάθε βήµα. Αφαιρεί το µεγαλύτερο αριθµό ασυνεπών τιµών από τους τρεις. Υψηλό υπολογιστικό κόστος Τεχνητή Νοηµοσύνη, B' Έκδοση 20

Αλγόριθµος ιατήρησης Συνέπειας Τόξου Ο ολοκληρωµένος αλγόριθµος διατήρησης συνέπειας τόξου για την επίλυση προβληµάτων περιορισµών είναι: 1. Για κάθε περιορισµό αφαίρεσε από τα πεδία τιµών των µεταβλητών τις τιµές εκείνες που δεν µπορούν να συµµετέχουν στην τελική λύση µε ένα αλγόριθµο ελέγχου συνέπειας. 2. Στο µειωµένο χώρο αναζήτησης που προκύπτει από το προηγούµενο βήµα εφάρµοσε έναν κλασικό αλγόριθµο αναζήτησης για να βρεθεί η λύση. Σε κάθε βήµα (ανάθεση τιµής) αυτής της αναζήτησης εφάρµοσε ξανά τον αλγόριθµο ελέγχου συνέπειας έτσι ώστε να αφαιρεθούν τυχόν τιµές από τα πεδία των µεταβλητών οι οποίες δεν µπορούν να συµµετέχουν στην λύση. Τεχνητή Νοηµοσύνη, B' Έκδοση 21

Πρόβληµα Βιοµηχανικού Μύλου Μετά την εφαρµογή των περιορισµών αποµένουν οι ακόλουθες τιµές στα πεδία των µεταβλητών: V Α {3,4},V Β {2,3},V Γ {1,2},V {1,2,3} Σε κάθε βήµα εφαρµόζεται έλεγχος συνέπειας. ένδρο αναζήτησης. V Α {3,4} V Β {2,3} V Γ {1,2} V {1,2,3} V Α = 3 V Α = 4 Περιορισµοί V Γ V V Β V V Γ <V Β V Α >V V Α =3 V Β {2,3} V Γ {1,2} V {1,2,3} V Α = 4 V Β {2,3} V Γ {1,2} V {1,2,3} Αποτυχία V Β = 2 V Β = 3 Περιορισµοί V Γ V V Β V V Γ < V Β V Α = 4 V Β = 2 V Γ {1,2} V {1,2,3} V Α = 4 V Β = 3 V Γ {1,2} V {1,2,3} Περιορισµοί V Β V Λύση V Α = 4 V Β = 2 V Γ = 1 V = 3 V Γ = 1 V Γ = 2 Περιορισµοί V Γ V V Β V V Α = 4 V Β = 3 V Γ = 1 V {1,2,3} V Α = 4 V Β = 3 V Γ = 2 V {1,2,3} Περιορισµοί V Γ V V Β V Λύση V Α = 4 V Β = 3 V Γ = 1 V = 2 Λύση V Α = 4 V Β = 3 V Γ = 2 V = 1 Τεχνητή Νοηµοσύνη, B' Έκδοση 22

Το Πρόβληµα των Ν-Βασιλισσών (1/3) Κλασικό παράδειγµα προβλήµατος περιορισµών. Το πρόβληµα απαιτεί να τοποθετηθούν 8 βασίλισσες σε µια σκακιέρα 8x8 χωρίς να απειλούν η µια την άλλη. Το πρόβληµα ορίζεται και για περισσότερες των 8 βασιλισσών Η δυσκολία στην επίλυσή του αυξάνει εκθετικά. Χρησιµοποιείται για την µέτρηση της απόδοσης αλγορίθµων ικανοποίησης περιορισµών. Συνθήκη µη απειλής µεταξύ των βασιλισσών: Όλες οι βασίλισσες πρέπει να είναι σε διαφορετική γραµµή: 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 Σχηµατική αναπαράσταση περιορισµών µε δύο βασίλισσες στην σκακιέρα. 1 2 3 4 5 Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 Q 8 6 7 8 Τεχνητή Νοηµοσύνη, B' Έκδοση 23

Το Πρόβληµα των Ν-Βασιλισσών (2/3) Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 Q 8 1 2 3 Ανάθεση τιµής στην πρώτη βασίλισσα 4 5 6 7 8 Ανάθεση τιµών στις δύο πρώτες βασίλισσες 1 2 3 4 5 6 7 8 Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 Q 8 Τεχνητή Νοηµοσύνη, B' Έκδοση 24

Το Πρόβληµα των Ν-Βασιλισσών (3/3) Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 Q 8 1 2 3 Ανάθεση τιµών που δεν οδηγεί σε λύση 4 5 6 7 8 Λύση στο πρόβληµα των 8 βασιλισσών 1 2 3 4 5 6 7 8 Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 Q 8 Τεχνητή Νοηµοσύνη, B' Έκδοση 25

Λογικός Προγραµµατισµός µε Περιορισµούς ηµιουργία µιας νέας "σχολής" προγραµµατισµού, του προγραµµατισµού µε περιορισµούς (constraint programming). Λογικός Προγραµµατισµός µε Περιορισµούς (Constraint Logic Programming - CLP), Επέκταση των γλωσσών λογικού προγραµµατισµού (π.χ. PROLOG). Παράδειγµα τέτοιου συστήµατος είναι το CHIP µε πλήθος βιοµηχανικών εφαρµογών: σύνταξη ωρολογίου προγράµµατος για την κατανοµή ωρών εργασίας σε νοσοκοµείo (GYMNASTE, στο νοσοκοµείο BLINGY), σχεδιασµό ενεργειών (planning) για την οργάνωση γραµµών παραγωγής στην αεροπορική βιοµηχανία (PLANE στη DASSAULT), κτλ. Άλλες ιδιαίτερα διαδεδοµένες γλώσσες που υποστηρίζουν προγραµµατισµό µε περιορισµούς είναι η SICSTUS, ECLIPSE PROLOG, η ΟZ και η gnu-prolog, κλπ Πλέον οι περισσότερες εκδόσεις της γλώσσας PROLOG υποστηρίζουν σε µεγαλύτερο ή µικρότερο βαθµό την νέα αυτή σχολή προγραµµατισµού. Τεχνητή Νοηµοσύνη, B' Έκδοση 26