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

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

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

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

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

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

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

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

Επίλυση Προβλημάτων με Χρωματισμό. Αλέξανδρος Γ. Συγκελάκης

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

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

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

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

HY Λογική Διδάσκων: Δ. Πλεξουσάκης

Φροντιστήριο 11 Λύσεις

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

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

Πληρότητα της μεθόδου επίλυσης

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

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

ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης. Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012

7 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

9. Κόκκινα-Μαύρα Δέντρα

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Το κείμενο που ακολουθεί αποτελεί επεξεργασία του πρωτότυπου κειμένου του Α. Κάστωρ για την επίλυση των παραδειγμάτων κρίσιμης αλυσίδας που

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Παραδείγματα (1 ο σετ) Διανυσματικοί Χώροι

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

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

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

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

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

Λύσεις 4ης Σειράς Ασκήσεων

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

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

Παραδείγματα (2) Διανυσματικοί Χώροι

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

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

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

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

4.4 Το πρόβλημα του ελάχιστου ζευγνύοντος δένδρου

4.3 Ορθότητα και Πληρότητα

Ασκήσεις ανακεφαλαίωσης στο μάθημα Τεχνητή Νοημοσύνη

Παραδείγματα Διανυσματικοί Χώροι Ι. Λυχναρόπουλος

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)

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

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

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

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

Λύσεις 1ης Ομάδας Ασκήσεων

Μεθοδολογία Επίλυσης Προβλημάτων ============================================================================ Π. Κυράνας - Κ.

Ασκήσεις στους Γράφους. 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

Κατανεμημένα Συστήματα Ι

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

Κεφάλαιο 1: Κίνηση και γεωμετρικά σχήματα

Μονοτονία - Ακρότατα Αντίστροφη Συνάρτηση

Κατανεμημένα Συστήματα Ι


21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

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

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

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


u v 4 w G 2 G 1 u v w x y z 4

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

Chapter 9: NP-Complete Problems

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

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

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

ΕΠΙΛΥΣΗ ΕΚΦΥΛΙΣΜΕΝΩΝ ΚΑΙ ΓΕΝΙΚΩΝ ΓΡΑΜΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ. 4.1 Επίλυση Εκφυλισμένων Γραμμικών Προβλημάτων

Άσκηση 2: Λαβύρινθοι και ρομπότ Α. (Σχεδιασμός χώρου καταστάσεων) Ενδεικτική επίλυση

f(x) = και στην συνέχεια

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

Οδηγίες για το CABRI - GEOMETRY II Μωυσιάδης Πολυχρόνης - Δόρτσιος Κώστας

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

1.3 Συστήματα γραμμικών εξισώσεων με ιδιομορφίες

Το Κ2 είναι ένα παιχνίδι για 1 έως 5 παίκτες, ηλικίας 8 ετών και άνω, με διάρκεια περίπου 60 λεπτά.

ΛΥΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ ΣΤΟ 2 ο ΚΕΦΑΛΑΙΟ

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

Θεωρία Γραφημάτων 10η Διάλεξη

με Τέλος πάντων, έστω ότι ξεκινάει ένα άλλο υποθετικό σενάριο που απλά δεν διευκρινίζεται. Για το i) θα έχουμε , 2

Απαλλακτική Εργασία Γραφικά & Εικονική Πραγματικότητα. Παπαπαύλου Χρήστος ΑΜ: 6609


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

4. ΔΙΚΤΥΑ

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

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

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

Αλγόριθμοι για ανάθεση συχνοτήτων και έλεγχο αποδοχής κλήσεων σε κυψελικά ασύρματα δίκτυα. (μέρος ΙΙ)

... a b c d. b d a c

Κατακερματισμός (Hashing)

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

Αλγόριθμοι για ανάθεση συχνοτήτων και έλεγχο αποδοχής κλήσεων σε κυψελικά ασύρματα δίκτυα

Transcript:

ΑΣΚΗΣΗ 1 Α. (50 μον.) Σας δίνεται ο ακόλουθος γράφος, το οποίο πρέπει να χρωματίσετε χρησιμοποιώντας 3 χρώματα (R,G,B), ώστε δύο γειτονικές κορυφές να μην έχουν το ίδιο χρώμα. Θεωρείστε ότι ο χρωματισμός γίνεται πάντοτε με την εξής σειρά: σειρά Q, NSW, V, T, SA, WA, NT Διατυπώστε το παραπάνω ως πρόβλημα ικανοποίησης περιορισμών. Επιλύστε το πρόβλημα με 1. υπαναχώρηση (οπισθοδρόμηση) με άλμα, και 2. πρώιμο έλεγχο (διάδοση περιορισμών) και υπαναχώρηση (οπισθοδρόμηση) 3. τοπική αναζήτηση (mean conflicts ) Δείξτε τα επίπεδα του δέντρου αναζήτησης ανά μεταβλητή με τη σειρά που εξετάζονται. Στην άσκηση μας ζητείται να χρησιμοποιήσουμε τα 3 χρώματα (R,G,B) που αντιστοιχούν σε κόκκινο, πράσινο, μπλε, για να χρωματίσουμε όλους τους κόμβους, χωρίς να έχουν 2 γειτονικοί το ίδιο χρώμα. Το πρόβλημα αυτό μπορεί να διατυπωθεί ως ένα πρόβλημα ικανοποίησης περιορισμών, στο οποίο θα ορίσουμε τις κατάλληλες μεταβλητές, τα domain τους ( πεδία τιμών) και τον γράφο περιορισμών. Ορίζουμε τον κάθε κόμβο να αποτελεί μία ξεχωριστή μεταβλητή, άρα θα έχουμε συνολικά 7 μεταβλητές ( όσοι και οι κόμβοι), οι οποίες είναι οι Q, NSW, V, T, SA, WA, NT. Τα domains τους θα είναι για όλες τα ίδια και θα αποτελούνται από τα χρώματα που μας δίνονται να τις χρωματίσουμε. DQ = DNSW = DV = DT = DSA =DWA = DNT = {R, G, B} Σύμφωνα με την εκφώνηση μπορούμε να αποδώσουμε τους εξής περιορισμούς: WA NT, WA SA, SA Q, SA V, SA NT, V NSW, NSW Q, Q NT, SA NSW Παρατηρούμε ότι στο σύνολο έχουμε 9 περιορισμούς, όσες και οι ακμές του αρχικού γράφου. Η μόνη μεταβλητή που δεν συμμετέχει στους περιορισμούς είναι η T, αφού δεν συνδέεται με καμία άλλη στον γράφο.

Μπορούμε να σχεδιάσουμε τον αντίστοιχο γράφο περιορισμών, στον οποίο θα απεικονίζονται οι μεταβλητές ως κόμβοι και οι κατευθυνόμενες ακμές θα αναπαριστούν τον περιορισμό NT Q WA SA NSW V T

Στο 1 ο ερώτημα μας ζητείται να λύσουμε το πρόβλημα με χρήση του αλγορίθμου υπαναχώρησης με άλμα. Ο αλγόριθμος λειτουργεί όπως ο κατά βάθος, καθώς προχωράμε στο επόμενο επίπεδο αναπτύσσουμε τον αριστερότερο κόμβο του δέντρου. Σε κάθε επίπεδο ανατίθεται τιμή σε μία μεταβλητή, και σε κάθε μεταβλητή αντιστοιχεί ένα διάστημα σύγκρουσης σ={..}. Σε αυτό το διάστημα μπαίνει η μεταβλητή που «εμποδίζει» την εκάστοτε μεταβλητή να πάρει μία συγκεκριμένη τιμή ( λόγω περιορισμών). Η σειρά με την οποία θα αποδώσουμε τιμές στις μεταβλητές είναι αύτη που έχει δοθεί στην εκφώνηση: Q, NSW, V, T, SA, WA, NT. Αρχική Κατάσταση Q = G Q =B επίπεδο Q Στο επίπεδο 1 αποδώσαμε τιμές στην μεταβλητή Q, και εφόσον ο κατά βάθος επεκτείνει τον αριστερότερο κόμβο θα συνεχίσουμε με την τιμή. Αρχική Κατάσταση Q = G Q =B επίπεδο Q NSW = R NSW = B επίπεδο NSW Στο 2 ο επίπεδο έχουμε αναθέσει τιμές στην NSW, και θα προεκτείνουμε τον αριστερότερο κόμβο.

Παρατηρούμε όμως ότι λόγω περιορισμών Q NSW, άρα ο αλγόριθμος θα επεκτείνει τον δεύτερο κόμβο από αριστερά, ο όποιος δεν αντιτίθεται σε κάποιον περιορισμό. Επίσης, θα προσθέσει στο διάστημα σύγκρουσης της NSW τη μεταβλητή Q, σnsw={q}. Αρχική Κατάσταση Q = G Q =B επίπεδο Q NSW = R NSW = B σnsw={q} NWS = G V = G NWS = G V = B επίπεδο V T = G T = B επίπεδο T H μεταβλητή V βάσει περιορισμών πρέπει να είναι διαφορετική από την NSW, κάτι το οποίο ισχύει καθώς με την επέκταση του αριστερότερου κόμβου οι τιμές που αποδίδονται είναι διαφορετικές. Στο επόμενο επίπεδο βρίσκεται η μεταβλητή Τ, η οποία δεν συμμετέχει καθόλου στους περιορισμούς, οπότε θα επεκτείνουμε τον αριστερότερο κόμβο. Συνεχίζουμε με την επέκταση της μεταβλητής SA

Αρχική Κατάσταση Q = G Q =B επίπεδο Q NSW = R NSW = B σnsw={q} NWS = G V = G NWS = G V = B επίπεδο V T = G T = B επίπεδο T SA = R SA = G επίπεδο SA Μόλις επεκτείνουμε τον αριστερότερο κόμβο, παρατηρούμε ότι λόγω του περιορισμού SA Q και SA V, η τιμή R δεν μπορεί να αποδοθεί στην SA. Αντίστοιχα ο δεύτερος κόμβος δεν μπορεί να

επεκταθεί, λόγω του περιορισμού SA NSW. O αλγόριθμος θα επεκτείνει τον τρίτο κόμβο και στο σύνολο σύγκρουσης της SA θα ενταχθούν οι μεταβλητές V, NSW, Q. σsa= {V, NSW, Q}. Η τιμή που θα αποδοθεί στην SA είναι η Β. επίπεδο T SA = R SA = G σsa= {V, NSW, Q} WA = R WA = G WA = B επίπεδο WA Στην WA μεταβλητή θα αποδώσουμε την τιμή R, καθώς στην SA έχει αποδοθεί η τιμή B, οπότε ο περιορισμός WA SA ισχύει.

σsa= {V, NSW, Q} WA = R WA = G WA = B επίπεδο WA WA = R WA = R WA = R NT = R NT = G NT = B επίπεδο NT Για την μεταβλητή NT έχω τους εξής περιορισμούς: WA NT, SA NT και Q NT. Άρα η τιμή που θα της αποδοθεί είναι η G. Τελικά, η λύση που προκύπτει από τον αλγόριθμο υπαναχώρησης με άλμα είναι η εξής: Q=R, NSW=G,, T=R, SA=B, WA=R, NT=G Στο 2 ο ερώτημα μας ζητείται να επιλύσουμε το πρόβλημα με πρώιμο έλεγχο (διάδοση περιορισμών) και υπαναχώρηση. Ο τρόπος που λειτουργεί ο αλγόριθμος πρώιμου ελέγχου είναι ο εξής : μόλις μία μεταβλητή πάρει μία τιμή τότε κάνω έλεγχο arc consistency για εκείνες τις μεταβλητές που σχετίζονται με την μεταβλητή που μόλις της αποδόθηκε τιμή. Αν κάποιο domain αδειάσει, αυτό σημαίνει ότι για τη συγκεκριμένη τιμή της μεταβλητής που έκανα arc consistency, δεν υπάρχει λύση, επομένως θα ξανακάνω την ίδια διαδικασία για κάποια άλλη τιμή. Η σειρά με την οποία διαλέγω τιμές ακολουθεί την λογική του κατά βάθος αλγόριθμου, πρώτα δηλαδή στον αριστερότερο κόμβο.

Αρχική Κατάσταση Q = G Q =B επίπεδο Q Αρχικά θα επιλέξω την και κάνω έλεγχο για τα domains των μεταβλητών που συσχετίζονται με την Q. Αυτές είναι οι NSW, SA, NT. Επομένως τα domains τους θα είναι DNSW=DSA=DNT={G,B}. Η τιμή G έχει αφαιρεθεί καθώς έχει αποδοθεί στην Q. Συνεχίζουμε με το επόμενο επίπεδο, όπου είναι η μεταβλητή NSW Αρχική Κατάσταση Q = G Q =B επίπεδο Q NSW = B επίπεδο NSW Αποδίδεται η τιμή G στην NSW.H NSW συνδέεται με τις μεταβλητές Q,SA,V. Οι αλλαγές στα domains τους είναι οι εξής: DV={R,B} αφαιρέθηκε η τιμή G λόγω της NSW DSA={B} πριν ήταν {G,B} και αφαιρέθηκε η τιμή G λόγω της NSW. Συνεχίζουμε με την ανάθεση τιμής στην μεταβλητή V.

Αρχική Κατάσταση Q = G Q =B επίπεδο Q NSW = B επίπεδο NSW V=B επίπεδο V Συνεχίζω με ανάθεση τιμών στην μεταβλητή T, η οποία δεν εμπλέκεται στους περιορισμούς, επομένως θα παραμείνουν τα domains όλων ως έχουν. επίπεδο NSW V=B επίπεδο V Τ=R Τ=G Τ=B επίπεδο T

Συνεχίζουμε με την επόμενη μεταβλητή, την SA. Το domain της περιέχει μόνο την τιμή B. επίπεδο NSW V=B επίπεδο V Τ=R Τ=G Τ=B επίπεδο T Τ=R επίπεδο SA Οι μεταβλητές που σχετίζονται με την SA είναι οι WA, NT, NSW, V. Tα domains που προκύπτουν είναι τα εξής: DNT={G} DWA={R,G}. Συνεχίζουμε με την WA

επίπεδο T Τ=R επίπεδο SA Τ=R Τ=R WA=R επίπεδο WA Η WA συνορεύει με τις NT,SA. To domain της NT δεν θα αλλάξει διότι η τιμή R της WA δεν επηρεάζει την τιμή G, η οποία είναι η μόνη που περιέχεται στο domain. Επομένως το τελικό δέντρο είναι το εξής WA=G

Αρχική Κατάσταση Q = G Q =B επίπεδο Q NSW = B επίπεδο NSW V=B επίπεδο Τ=R Τ=G Τ=B επίπεδο T Τ=R επίπεδο SA Τ=R WA=R Τ=R WA=G

επίπεδο WA Τ=R WA=R NT = G επίπεδο ΝΤ Η τελική λύση του FC είναι η εξής:,,, T = R,, WA = R, NT = G O παρακάτω πίνακας απεικονίζει τις αλλαγές των domains σε κάθε ανάθεση τιμής. Q NSW V T SA WA NT R, G, B R, G, B R, G, B R, G, B R, G, B R, G, B R, G, B Q=R NSW=G T=R SA=B WA=R NT=G R G, B R, G, B R, G, B G, B R, G, B G, B R G R, B R, G, B B R, G, B G, B R G R R, G, B B R, G, B G R G R R B R, G, B G R G R R B R, G G R G R R B R G R G R R B R G Στο 3 ο ερώτημα μας ζητείται να λύσουμε το πρόβλημα με χρήση του αλγορίθμου τοπικής αναζήτησης (min conflicts). O min conflicts είναι αλγόριθμος τοπικής αναζήτησης, έχει την ίδια λογική του hill climbing. Αρχικά, αναθέτουμε μία τιμή σε όλες τις μεταβλητές. Η ανάθεση αυτή μπορεί να γίνει είτε τυχαία, είτε με βάση κάποια ευριστική. Σίγουρα, κάποιοι περιορισμοί θα παραβιάζονται. Στη συνέχεια, αυτό που προσπαθούμε να κάνουμε είναι να βελτιώνουμε τη θέση μας. Σε ένα πρόβλημα ικανοποίησης περιορισμών (CSP), βελτίωση αποτελεί η κατάσταση στην οποία παραβιάζονται λιγότεροι περιορισμοί από την προηγούμενη.

Αυτό που κάνουμε είναι να αλλάξουμε την τιμή μίας μεταβλητής, με τέτοιο τρόπο ώστε να παραβιάζονται όσο το δυνατόν λιγότεροι περιορισμοί. Η διαδικασία αυτή επαναλαμβάνεται έως ότου δεν παραβιάζεται κανένας περιορισμός. Αυτό σημαίνει ότι ο αλγόριθμος έχει βρει λύση. Οι αλγόριθμοι τοπικής αναζήτησης μπορούν να βρεθούν σε 2 καταστάσεις, εκείνη του τοπικού μέγιστου και εκείνη του οροπεδίου. Σε περίπτωση που παραβιάζεται ένας αριθμός περιορισμών, και οποιαδήποτε νέα ανάθεση οδηγεί σε αριθμό παραβιάσεων μεγαλύτερου αυτού της τωρινής κατάστασης, τότε ο αλγόριθμος βρίσκεται σε τοπικό μέγιστο. Σε περίπτωση που οποιαδήποτε αλλαγή ανάθεσης τιμής μας επιστρέφει τον ίδιο αριθμό συγκρούσεων, σημαίνει ότι ο αλγόριθμος βρίσκεται σε οροπέδιο. Τότε, οι μέθοδοι που χρησιμοποιούμε είναι οι εξής : Random walk (επιλογή τυχαίας κίνησης) Tabu search Για την επίλυση του προβλήματος αρχικά θα αναθέσουμε μία τυχαία τιμή για όλες τις μεταβλητές, έστω λοιπόν ότι τις χρωματίζουμε όλες κόκκινες, οπότε ισχύει: Q=NSW=R=V=T=SA=WA=NT=R Ο τρόπος με τον οποίο θα επιλέξει την μεταβλητή στην οποία θα κάνει την νέα ανάθεση είναι ο εξής: Επιλέγει κάθε φορά εκείνη που συμμετέχει στους περισσότερους περιορισμούς. Η λογική είναι σχετικά απλή και θα αναλυθεί με βάση τον γράφο: NT 1 2 Q WA 3 4 5 SA 7 6 NSW 8 9 V T

Στην αρχική ανάθεση παραβιάζονται και οι 9 περιορισμοί. Αν αλλάξει την τιμή της μεταβλητής SA, η οποία συνδέεται με 5 κόμβους, που σημαίνει ότι συμμετέχει σε 5 περιορισμούς, τότε θα παραβιάζονται πλέον 9-5=4 NT 1 2 Q WA 3 SA NSW 4 V T Οποιαδήποτε άλλη ανάθεση τιμής σε οποιαδήποτε άλλη μεταβλητή οδηγεί σε περισσότερες παραβιάσεις, επομένως ο αλγόριθμος θα επιλέξει αυτήν την ανάθεση. Οι 4 περιορισμοί που παραβιάζονται είναι οι εξής: WA NT, NT Q, Q NSW, NSW V Συνεχίζει με την ίδια λογική, παρατηρεί ότι οι μεταβλητές NT, Q, NSW έχουν ίσο αριθμό ακμών και μεγαλύτερο σε σχέση με τις WA, V, T. Άρα, οποιαδήποτε αλλαγή ανάθεσης τιμής ενός εκ των τριών, έχει ως αποτέλεσμα μια κατάσταση με λιγότερους περιορισμούς να παραβιάζονται. Έστω ότι ο αλγόριθμος επιλέγει την NSW. Θα της δώσει την τιμή Β, καθώς η SA = G και Q,.

NT 1 2 Q WA SA NSW V T Στην κατάσταση αυτή παραβιάζονται 2 περιορισμοί ( NT WA και NT Q), ενώ στην προηγούμενη παραβιάζονταν 4. Συνεχίζει με την ίδια λογική και επιλέγει να αλλάξει την ανάθεση τιμής στην NT, διότι αυτή συμμετέχει και στους 2 περιορισμούς που παραβιάζονται. Της αναθέτει την τιμή Β, διότι οι γειτονικές της WA,Q = R και SA = G. WA NT Q SA NSW V T

Στην κατάσταση αυτή δεν παραβιάζεται κανένας περιορισμός, επομένως ο αλγόριθμος βρήκε λύση. ΑΣΚΗΣΗ 2 (50 μον.) Μια εταιρεία με 12 τμήματα θα εγκατασταθεί σε νέο κτίριο 3 ορόφων, ο κάθε ένας από τους οποίος έχει χωρητικότητα 40 γραφείων. Οι απαιτήσεις των τμημάτων σε γραφεία είναι η ακόλουθη: Τμήμα Τ1 Τ2 Τ3 Τ4 Τ5 Τ6 Τ7 Τ8 Τ9 Τ10 Τ11 Τ12 Γραφεία 9 6 11 13 9 12 11 11 7 10 11 10 Επιπλέον των παραπάνω περιορισμών, θα πρέπει τα τμήματα στα παρακάτω ζεύγη να βρίσκονται στον ίδιο όροφο (Τ1,Τ3), (Τ2,Τ4), (Τ8,Τ9). 1. Να περιγραφεί το παραπάνω πρόβλημα ως πρόβλημα επίλυσης περιορισμών 2. Εφαρμόστε συνέπεια κόμβου και τόξου και στα πεδία ορισμού που προκύπτουν, εφαρμόστε τους παρακάτω αλγορίθμους πρώιμο έλεγχο και υπαναχώρηση (οπισθοδρόμηση) Διατήρησης συνέπειας τόξων (MAC) Δείξτε τα επίπεδα του δέντρου αναζήτησης ανά μεταβλητή με τη σειρά που εξετάζονται. Στην άσκηση αυτή το πρώτο πράγμα που ζητείται είναι να περιγραφεί το πρόβλημα ως πρόβλημα επίλυσης περιορισμών. Τα προβλήματα αυτά προσδιορίζονται από τις μεταβλητές τους, τα domains τους και τους περιορισμούς τους. Από την εκφώνηση της άσκησης μπορούμε να βγάλουμε συμπεράσματα για το ποιες θα είναι οι μεταβλητές του προβλήματος, θα προσπαθήσουμε να προσδιορίσουμε όλους τους περιορισμούς που κρύβονται και θα καταλήξουμε στο ποια θα είναι τελικά τα domain τους. Ως μεταβλητές του προβλήματος θα ορίσουμε τους ορόφους του κτιρίου, τους οποίους συμβολίζουμε με Oi, όπου i=1,2,3, αντίστοιχα για τον 1 ο,2 ο,3 ο, όροφο. Στον κάθε όροφο ανήκουν κάποια τμήματα, τα οποία συμβολίζουμε με Ti, όπου i=1,,12, αντίστοιχα για το 1 ο έως και το 12 ο τμήμα. Από την εκφώνηση μας δίνεται ότι ο κάθε όροφος χωράει συνολικά 40 τμήματα. Εφόσον λοιπόν το κτίριο διαθέτει 3 ορόφους, αυτό σημαίνει ότι η συνολική χωρητικότητα γραφείων είναι 40*3=120 σε όλο το κτίριο. Όμως, αυτό το οποίο πρέπει να παρατηρήσουμε είναι ότι αν προσθέσουμε τα 12 τμήματα, θα βρούμε τον συνολικό αριθμό γραφείων που μας ζητείται να χωρέσουμε στο κτίριο. Δηλαδή, Τ1+Τ2+Τ3+Τ4+Τ5+Τ6+Τ7+Τ8+Τ9+Τ10+Τ11+Τ12=9+6+11+13+9+12+11+11+7+10+11+10=120

Με βάση την προηγούμενη πρόταση εύκολα καταλήγουμε στο συμπέρασμα ότι για να λυθεί το πρόβλημα πρέπει υποχρεωτικά όλοι οι όροφοι να γεμίσουν. Αν έστω και ένας δεν γεμίσει με 40 γραφεία, τότε το πρόβλημα δεν θα έχει λύση. Οπότε ο πρώτος περιορισμός του προβλήματος είναι Οi=40. Ένας άλλος περιορισμός που μας δίνεται είναι τα ζευγάρια που πρέπει οπωσδήποτε να τοποθετηθούν μαζί στον ίδιο όροφο, τα οποία είναι : (T1,T3), (T2,T4), (T8,T9) Αυτό που πρέπει να αναρωτηθούμε είναι το πόσα τμήματα πρέπει να περιλαμβάνει ο κάθε όροφος. Η λογική είναι πολύ απλή. Όπως διατυπώθηκε παραπάνω πρέπει ο κάθε όροφος να αποτελείται από 40 γραφεία. Θα βρούμε πόσοι είναι οι συνδυασμοί τμημάτων ( βάση τον αριθμό των γραφείων που περιέχει το καθένα) που δίνουν αποτέλεσμα 40. Οι σχέση τμημάτων - γραφείων φαίνεται από αυτόν τον πίνακα Τμήμα Τ1 Τ2 Τ3 Τ4 Τ5 Τ6 Τ7 Τ8 Τ9 Τ10 Τ11 Τ12 Γραφεία 9 6 11 13 9 12 11 11 7 10 11 10 Εύκολα συμπεραίνουμε ότι δεν μπορούμε να τοποθετήσουμε 1 τμήμα μόνο του σε έναν όροφο, διότι όλα τους είναι κάτω από 40. Αντίστοιχα, το ίδιο ισχυριζόμαστε και για τα ζευγάρια, όλοι οι δυνατοί συνδυασμοί 2 τμημάτων δίνουν ως αποτέλεσμα αριθμό γραφείων μικρότερο του 40. Επομένως δεν μπορούμε να τοποθετήσουμε 2 τμήματα μόνο σε έναν όροφο. Θα ελέγξουμε για το αν μπορούμε να τοποθετήσουμε 3 τμήματα. Ας υποθέσουμε ότι παίρνουμε την 2 αδα Τ1,Τ3. Παρατηρούμε ότι αν προσθέσουμε οποιοδήποτε άλλο τμήμα σε αυτήν την 2 αδα, δεν μας δίνει τον αριθμό 40, αλλά κάποιο μικρότερο. Το ίδιο ισχύει για οποιαδήποτε 2 αδα. Ας πάρουμε την δυάδα που δίνει το μεγαλύτερο δυνατό μέγιστο, δηλαδή την Τ4,Τ6. Αυτή δίνει στο σύνολο 25 γραφεία. Το αμέσως επόμενο μεγαλύτερο τμήμα είναι εκείνο που έχει 11 γραφεία, οπότε η μεγαλύτερη δυνατή 3αδα που μπορεί να δημιουργηθεί είναι αυτή με συνολικό αριθμό 36 γραφείων. Επομένως απορρίπτω την περίπτωση να είναι 3 τα τμήματα σε έναν όροφο. Όσον αφορά τους συνδυασμούς 4 αδων θα δείξουμε ότι δεν ισχύει το ίδιο. Ένα παράδειγμα είναι ο συνδυασμός Τ1,Τ3,Τ5,Τ7. Ο συνδυασμός αυτός δίνει ως αποτέλεσμα 40 γραφεία συνολικά, το οποίο είναι επιθυμητό αποτέλεσμα. Ένας όροφος όπως τυπώσαμε παραπάνω πρέπει να δέχεται συνδυασμούς τμημάτων με συνολικό αποτέλεσμα 40 γραφεία. Επειδή έχουμε 3 ορόφους και 12 τμήματα, ισχυρίζομαι με βάση τα παραπάνω ότι θα πρέπει ο κάθε όροφος να αποτελείται από 4 τμήματα. Αυτός ο ισχυρισμός είναι απόρροια όλων των παραπάνω, διότι μπορώ να τοποθετήσω από 4 και πάνω τμήματα αλλά όχι 5, καθώς αν τοποθετούσα σε έναν όροφο 5, μετά θα έπρεπε να χωρέσω 7 στους άλλους 2 ορόφους αλλά και να τους γεμίσω. Αυτό σημαίνει πως κάποιος όροφος θα γέμιζε με λιγότερο από 4 τμήματα, κάτι το οποίο είναι αδύνατο όπως περιγράφθηκε παραπάνω.

Επίσης, ένας ακόμα περιορισμός που υπονοεί το πρόβλημα είναι ότι κάθε τμήμα πρέπει να εισάγεται σε κάποιον όροφο μία φορά. Το πεδίο ορισμού των μεταβλητών θα είναι συνδυασμοί από τετράδες. Αυτές θα είναι της μορφής: DOi = (T1,T2,T3,T4), (T1,T2,T3,T5), (T1,T2,T3,T6),, (T9,T10,T11,T12). Ο γράφος περιορισμών θα μπορούσε να αποδοθεί με αυτό το σχήμα: O 1 O 2 O 3 Οι μεταβλητές Ο1,Ο2,Ο3 συνδέονται με τον εξής περιορισμό: ένα τμήμα που έχει εισέλθει σε κάποιον από τους 3 ορόφους δεν μπορεί να εισέλθει το ίδιο σε άλλον. Από αυτό το σύνολο εφαρμόζω συνέπεια κόμβου. Η συνέπεια κόμβου ( node consistency) είναι μία τεχνική στα CSP προβλήματα και εφαρμόζεται στο πεδίο ορισμού κάθε μεταβλητής ξεχωριστά. Αυτό που κάνει είναι να ελέγχει αν κάθε τιμή του domain είναι συνεπής με κάθε μοναδιαίο περιορισμό του προβλήματος. Σύμφωνα με τους περιορισμούς, ο κάθε όροφος πρέπει να γεμίσει με 40 γραφεία και επίσης τα ζευγάρια Τ1,Τ3 και Τ2,Τ4 και Τ8,Τ9 πρέπει να είναι μαζί, προκύπτουν οι εξής δυνατές τετράδες: (T1,T3,T5,T7) = 9+11+9+11 = 40 (T1,T3,T5,T11) = 9+11+9+11 = 40 (T1,T3,T10,T12) = 9+11+10+10 = 40 (T2,T4,T5,T6) = 6+13+9+12 = 40 (T2,T4,T7,T10) = 6+13+11+10 = 40 (T2,T4,T7,T12) = 6+13+11+10 = 40 (T2,T4,T11,T10) = 6+13+11+10 = 40 (T2,T4,T11,T12) = 6+13+11+10 = 40 (T8,T9,T6,T10) =11+7+12+10 = 40 (T8,T9,T6,T12) = 11+7+12+10 = 40

(T8,T9,T7,T11) = 11+7+11+11 = 40 (T5,T7,T10,T12) = 9+11+10+10 = 40 (T5,T10,T11,T12) = 9+10+11+10 = 40 Επομένως μετά την εφαρμογή συνέπειας κόμβου προκύπτουν 13 δυνατές τετράδες. Η άσκηση μας ζητάει να εφαρμόσουμε συνέπεια τόξου (arc consistency). Η συνέπεια τόξου αφαιρεί τις τιμές του domain που δεν έχουν υποστήριξη (δεν είναι συμβατές) με τις τιμές του domain της μεταβλητής που συνδέονται με κάποιον περιορισμό. Στο παράδειγμά μας, το domain της κάθε μεταβλητής αποτελείται από 13 τιμές, και εφαρμόζοντας συνέπεια τόξου μία τιμή θα είναι συμβατή με κάποια άλλη αν δεν περιέχεται κανένα κοινό τμήμα. ΕΛΕΓΧΟΣ Ο1 Ο2 Εδώ θα γίνει έλεγχος μία προς μία οι τιμές του Ο1 ως προς τη συμβατότητα με το Ο2. Η τιμή (T1,T3,T5,T7) είναι συμβατή με την (T2,T4,T11,T10). Η τιμή (T1,T3,T5,T11) είναι συμβατή με την (T2,T4,T7,T10). Η τιμή (T1,T3,T10,T12) είναι συμβατή με την (T2,T4,T5,T6). Η τιμή (T2,T4,T5,T6) είναι συμβατή με την (T8,T9,T7,T11). Η τιμή (T2,T4,T7,T10) είναι συμβατή με την (T1,T3,T5,T11). Η τιμή (T2,T4,T7,T12) είναι συμβατή με την (T1,T3,T5,T11). Η τιμή (T2,T4,T11,T10) είναι συμβατή με την (T1,T3,T5,T7). Η τιμή (T2,T4,T11,T12) είναι συμβατή με την (T1,T3,T5,T7). Η τιμή (T8,T9,T6,T10) είναι συμβατή με την (T1,T3,T5,T7). Η τιμή (T8,T9,T6,T12) είναι συμβατή με την (T1,T3,T5,T7). Η τιμή (T8,T9,T7,T11) είναι συμβατή με την (T2,T4,T5,T6). Η τιμή (T5,T7,T10,T12) δεν είναι συμβατή με καμία τιμή. Η τιμή (T5,T10,T11,T12) δεν είναι συμβατή με καμία τιμή. Επομένως, οι τιμές που διαγράφονται από το DΟ1 είναι οι (T5,T7,T10,T12),(T5,T10,T11,T12). Στη συνέχεια θα γίνει έλεγχος από την Ο2 στην Ο1 Έλεγχος Ο2 Ο1 Το ίδιο ισχύει αν κάνουμε έλεγχο από το Ο2 Ο1. Η τιμή (T1,T3,T5,T7) είναι συμβατή με την (T2,T4,T11,T10). Η τιμή (T1,T3,T5,T11) είναι συμβατή με την (T2,T4,T7,T10).

Η τιμή (T1,T3,T10,T12) είναι συμβατή με την (T2,T4,T5,T6). Η τιμή (T2,T4,T5,T6) είναι συμβατή με την (T8,T9,T7,T11). Η τιμή (T2,T4,T7,T10) είναι συμβατή με την (T1,T3,T5,T11). Η τιμή (T2,T4,T7,T12) είναι συμβατή με την (T1,T3,T5,T11). Η τιμή (T2,T4,T11,T10) είναι συμβατή με την (T1,T3,T5,T7). Η τιμή (T2,T4,T11,T12) είναι συμβατή με την (T1,T3,T5,T7). Η τιμή (T8,T9,T6,T10) είναι συμβατή με την (T1,T3,T5,T7). Η τιμή (T8,T9,T6,T12) είναι συμβατή με την (T1,T3,T5,T7). Η τιμή (T8,T9,T7,T11) είναι συμβατή με την (T2,T4,T5,T6). Η τιμή (T5,T7,T10,T12) δεν είναι συμβατή με καμία τιμή. Η τιμή (T5,T10,T11,T12) δεν είναι συμβατή με καμία τιμή. Επομένως οι τιμές (T5,T7,T10,T12), (T5,T10,T11,T12) διαγράφονται από το DO2 Επειδή DO1 =DO2 =DO3 ότι δείξαμε θα ισχύει και για την μεταβλητή Ο3. Άρα, στο παράδειγμα η συνέπεια τόξου κλαδεύει τις τιμές {(T5,T7,T10,T12), (T5,T10,T11,T12)}. Στη συνέχεια γίνεται εφαρμογή του αλγορίθμου πρώιμου ελέγχου (Forward Checking) O 1 = T 1, T 3, T 5, T 7 O 1 = T 1, T 3, T 5, T 11 O 1 = T 1, T 3, T 10, T 12 O 1 = T 2, T 4, T 5, T 6 O 1 = T 2, T 4, T 7, T 10 **Λόγω χώρου δεν αναγράφονται και οι 11 τιμές επίπεδο Ο1 Σαν πρώτο βήμα έχει γίνει η ανάθεση της τιμής (T1, T3, T5, T7) στην μεταβλητή Ο1. Ο FC θα κάνει arc consistency στις επόμενες μεταβλητές, δηλαδή εκείνες που η Ο1 συνδέεται μέσω περιορισμού. Επομένως θα ελέγξω ποιες τιμές του domain της Ο2 και της Ο3 είναι συμβατές με την (Τ1,Τ3,Τ5,Τ7) Τελικά προκύπτει ότι DO2=DO3={(T2,T4,T11,T10), (T2,T4,T11,T10), (T8,T9,T6,T10), (T8,T9,T6,T12)} Στη συνέχεια θα αποδοθεί τιμή στην μεταβλητή Ο2

O 1 = T 1, T 3, T 5, T 7 επίπεδο Ο1 O 2 = T 2, T 4, T 11, T 10 O 2 = T 2, T 4, T 11, T 12 O 2 = T 8, T 9, T 6, T 10 O 2 = T 8, T 9, T 6, T 12 επίπεδο Ο2 Η τιμή που έχει αποδοθεί στην Ο2 είναι η (Τ2,Τ4,Τ11,Τ10). Τώρα θα γίνει έλεγχος συνέπειας τόξου στη μεταβλητή Ο3. Το domain της Ο3 είναι {(T2,T4,T11,T10), (T2,T4,T11,T12), (T8,T9,T6,T10), (T8,T9,T6,T12)}. Η συμβατή τιμή με την (Τ2,Τ4,Τ11,Τ10) είναι μόνο η (T8,T9,T6,T12). Άρα προκύπτει ότι DO3 = {(T8,T9,T6,T12)} Η τιμή που θα αποδοθεί στην Ο3 θα είναι η (T8,T9,T6,T12). O 1 = T 1, T 3, T 5, T 7 επίπεδο Ο1 O 2 = T 2, T 4, T 11, T 10 O 2 = T 2, T 4, T 11, T 12 O 2 = T 8, T 9, T 6, T 10 O 2 = T 8, T 9, T 6, T 12 επίπεδο Ο2 Ο3=Τ8,Τ9,Τ6,Τ12 επίπεδο Ο3 Τελικά ο FC βρήκε λύση, η οποία είναι η: O1 = {(T1,T3,T5,T7)} O2 = {(T2,T4,T11,T10)} O3 = {(T8,T9,T6,T12)}

Στη συνέχεια η άσκηση μας ζητεί να εφαρμοστεί ο MAC αλγόριθμος. Ο MAC λειτουργεί με την λογική του κατά βάθος, αναθέτοντας την αριστερότερη τιμή στην μεταβλητή, και μετά την ανάθεση, εφαρμόζει συνέπεια τόξου σε όλες τις μεταβλητές του προβλήματος. Στο πρώτο βήμα θα γίνει ανάθεση της τιμής Τ1,Τ3,Τ5,Τ7 στην μεταβλητή Ο1 O 1 = T 1, T 3, T 5, T 7 O 1 = T 1, T 3, T 5, T 11 O 1 = T 1, T 3, T 10, T 12 O 1 = T 2, T 4, T 5, T 6 O 1 = T 2, T 4, T 7, T 10 **Λόγω χώρου δεν αναγράφονται και οι 11 τιμές επίπεδο Ο1 Έπειτα, ο αλγόριθμος θα εφαρμόσει συνέπεια τόξου σε όλες τις μεταβλητές δηλαδή θα γίνει έλεγχος των ζευγαριών Ο1,Ο2 και Ο1,Ο3 και Ο2,Ο3. Έλεγχος Ο1 Ο2 Όπως και στον FC που αναλύθηκε παραπάνω, το αποτέλεσμα των πεδίων ορισμού της μεταβλητής Ο2 θα είναι το εξής: DO2 = {(T2,T4,T11,T10), (T2,T4,T11,T12), (T8,T9,T6,T10), (T8,T9,T6,T12)} Έλεγχος Ο1 Ο3 Το ίδιο domain θα ισχύει και για την μεταβλητή Ο3, αφού το πεδίο ορισμού της είναι το ίδιο με αυτό της Ο2, οπότε DO3 = {(T2,T4,T11,T10), (T2,T4,T11,T12), (T8,T9,T6,T10), (T8,T9,T6,T12)} Έλεγχος Ο2 Ο3 Αρχικά, θα εξεταστεί η συμβατότητα κάθε τιμής της Ο2 ως προς της τιμές της μεταβλητής Ο3. Η τιμή (T2,T4,T11,T10) είναι συμβατή με την (T8,T9,T6,T12). Η τιμή (T2,T4,T11,T12) είναι συμβατή με την (T8,T9,T6,T10). Η τιμή (T8,T9,T6,T10) είναι συμβατή με την (T2,T4,T11,T12). Η τιμή (T8,T9,T6,T12) είναι συμβατή με την (T2,T4,T11,T10). Τα ίδια συμπεράσματα θα προκύψουν αν κάνω έλεγχο συμβατότητας κάθε τιμής της Ο3 ως προς τις τιμές της Ο2. Στο δεύτερο επίπεδο θα αποδοθεί η τιμή (T2,T4,T11,T10) στην μεταβλητή Ο2

O 1 = T 1, T 3, T 5, T 7 επίπεδο Ο1 O 2 = T 2, T 4, T 11, T 10 O 2 = T 2, T 4, T 11, T 12 O 2 = T 8, T 9, T 6, T 10 O 2 = T 8, T 9, T 6, T 12 επίπεδο Ο2 Τώρα θα γίνει συνέπεια τόξου στις μεταβλητές Ο2,Ο3. Έλεγχος Ο2 Ο3 Η τιμή (T2,T4,T11,T10) της Ο2 είναι συμβατή με την τιμή (Τ8,Τ9,Τ6,Τ12) της Ο3 Έλεγχος Ο3 Ο2 Η τιμή (T2,T4,T11,T10) της Ο3 δεν είναι συμβατή με την τιμή (T2,T4,T11,T10) της Ο2. Η τιμή (T2,T4,T11,T12) της Ο3 δεν είναι συμβατή με την τιμή (T2,T4,T11,T10) της Ο2. Η τιμή (T8,T9,T6,T10) της Ο3 δεν είναι συμβατή με την τιμή (T2,T4,T11,T10) της Ο2. Η τιμή (T8,T9,T6,T12) της Ο3 είναι συμβατή με την τιμή (T2,T4,T11,T10) της Ο2. Επομένως, προκύπτει ότι DO3 = {( T8,T9,T6,T12)}. O αλγόριθμος στη συνέχεια θα αποδόσει την τιμή (T8,T9,T6,T12) στην μεταβλητή Ο3 O 1 = T 1, T 3, T 5, T 7 επίπεδο Ο1 O 2 = T 2, T 4, T 11, T 10 O 2 = T 2, T 4, T 11, T 12 O 2 = T 8, T 9, T 6, T 10 O 2 = T 8, T 9, T 6, T 12 επίπεδο Ο2 Ο3=Τ8,Τ9,Τ6,Τ12 επίπεδο Ο3 Τελικά, η λύση του mac είναι η εξής:

O1={ Τ1,Τ3,Τ5,Τ7 } O2={ (T2,T4,T11,T10)} O3={ (T8,T9,T6,T12)}