Συνέπεια Τόξου (Arc Consistency)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Έστω πίνακας Α χιλίων θέσεων που περιέχει πραγματικούς αριθμούς
Advertisements

1. Να γραφτεί αλγόριθμος που θα υπολογίζει το ελάχιστο πλήθος (χαρτο)νομισμάτων που απαιτούνται για τη συμπλήρωση ενός συγκεκριμένου ποσού. Για παράδειγμα.
(READ – WRITE) ΚΑΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ (INTEGER,REAL,CHAR)
Κεφάλαιο Τμηματικός προγραμματισμός
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Αλγόριθμοι Αναζήτησης
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Δομές Δεδομένων - Δυαδικά Δένδρα (binary trees)
TEMPLATES STANDARD TEMPLATE LIBRARY ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ C Evangelos Theodoridis.
Προβλήματα Ικανοποίησης Περιορισμών
Διάλεξη 16: Πρόβλημα Συμφωνίας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων, Σημασιολογικές Ενέργειες.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
PL/SQL.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος α
Αλγόριθμοι Αναζήτησης
Entity-Relationship Παραδείγματα Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Φροντιστήριο 1 Δαμιανός Χατζηαντωνίου.
1 ΕΝΤΟΛΕΣ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ ΘΕΣΗ ΣΗΜΕΙΟΥΘΕΣΗ ΣΗΜΕΙΟΥ ΑΠΟΣΤΑΣΗΑΠΟΣΤΑΣΗ ΕΜΒΑΔΟΝΕΜΒΑΔΟΝ.
Δομές Δεδομένων στο Λ.Π.. Λίστες Λίστα είναι ένας όρος –Οι όροι αυτοί ορίζονται με τη βοήθεια μιας συνάρτησης: [ ] σταθερά για κενή λίστα – nil [t1| l]
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
Αλγόριθμοι CSPs – Κώδικας Μάθημα Τεχνητής Νοημοσύνης ΥΣ02 Χειμερινό εξάμηνο
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
A Balanced Tree Structure for Peer-to-Peer Networks
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (μΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
Ζαγκαρέτος Λεωνίδας ΑΕΜ: 607 Ραφαηλίδης Δημήτρης ΑΕΜ: 656
Probabilistically Checkable Proofs Theorem (PCP THEOREM) Ομιλητής Ασημακόπουλος (Ευ)Άγγελος.
ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-1 Πίνακας Συμβόλων Πίνακας συμβόλων: δομή δεδομένων που χρησιμοποιείται για την αποθήκευση διαφόρων πληροφοριών.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ - ΣΥΝΑΡΤΗΣΕΙΣ) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα Πολιτισμικής Τεχνολογίας.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Διπλωματική Εργασία Πειραματική Αξιολόγηση της Μοναδιαίας Οκνηρής Συνέπειας Τόξου (Singleton Lazy Arc Consistency) Ιωαννίδης Γιώργος (ΑΕΜ: 491)
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ Παπαευσταθίου Γιάννης1 Clock generation.
Βασικά στοιχεία της Java
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
ΔΠΘ-ΤΜΗΜΑ ΜΠΔ: ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ 1 Εισαγωγή στη γλώσσα Προγραμματισμού C ΠΙΝΑΚΕΣ (arrays)
Δομές Επανάληψης ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΧΟΧΟΛΗΣ ΔΙΟΝΥΣΙΟΣ.
Βάσεις Δεδομένων Ι 4η διάλεξη
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Δυναμικός Κατακερματισμός
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Προβλήματα Ικανοποίησης Περιορισμών
Ενισχυτική διδασκαλία
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Σειριακή ή Γραμμική Αναζήτηση 1.Μοναδικό Κλειδί (key)
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
[Μονοδιάστατοι πίνακες]
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Συνέπεια Τόξου (Arc Consistency) Προβλήματα Ικανοποίησης Περιορισμών Εργασία 2 Συνέπεια Τόξου (Arc Consistency) ΤΜΗΜΑ ΜΠΕΣ

Συνέπεια Τόξου (Arc Consistency) Μια μεταβλητή X είναι arc consistent αν για κάθε άλλη μεταβλητή Y ισχύει το εξής: Για κάθε τιμή a της Χ υπάρχει τουλάχιστον μια τιμή b της Υ τέτοια ώστε η a και b να είναι συμβατές Τότε λέμε ότι η a υποστηρίζει (supports) την b Ένας αλγόριθμος που εφαρμόζει arc consistency σβήνει τιμές από το πεδίο ορισμού μιας μεταβλητής όταν αυτές δεν υποστηρίζονται από καμία τιμή σε μια άλλη μεταβλητή Είναι η πιο ευρέως διαδεδομένη τεχνική συνέπειας (απομακρύνει αρκετές τιμές με χαμηλό κόστος) Επεξεργάζεται έναν-έναν τους δυαδικούς περιορισμού a b c a b c a b c X Y Z ΤΜΗΜΑ ΜΠΕΣ

Εργασία 2 - Arc Consistency Υλοποιήστε πρόγραμμα που εφαρμόζει συνέπεια τόξου σε δυαδικά προβλήματα ικανοποίησης περιορισμών χρησιμοποιώντας τον αλγόριθμο AC-3 Τα προβλήματα ικανοποίησης περιορισμών που θα σας απασχολήσουν ανήκουν στην κατηγορία των radio links frequency assignment problems (RLFAPs) στόχος σε ένα τέτοιο πρόβλημα είναι να ανατεθούν συχνότητες σε ένα σύνολο ραδιοφωνικών πομπών έτσι ώστε να μην υπάρχουν παρεμβολές ανάμεσα τους Υπάρχουν δύο είδη δυαδικών περιορισμών: |x - y| > a x - y = a ,όπου a μια σταθερά ΤΜΗΜΑ ΜΠΕΣ

Εργασία 2 - Arc Consistency Το σύνολο των RLFAP προβλημάτων στα οποία θα τεστάρετε τον αλγόριθμο σας βρίσκονται στο αρχείο RLFAPs.rar (http://www.icsd.aegean.gr/lecturers/konsterg/teaching/AI/AI.html) τα προβλήματα έχουν ονόματα όπως scen3-f11 και graph8-f10. Για κάθε πρόβλημα υπάρχουν 3 αρχεία με ονόματα όπως dom3-f11, var3-f11, ctr3-11 τα οποία περιέχουν τα πεδία τιμών, τις μεταβλητές, και τους περιορισμούς του προβλήματος αντίστοιχα. Το πρόγραμμα σας πρέπει να διαβάζει τα 3 αρχεία και να αποθηκεύει τις μεταβλητές με τα πεδία τιμών τους και τους περιορισμούς σε κατάλληλες δομές δεδομένων Σε κάθε αρχείο dom στην πρώτη γραμμή αναγράφεται το πλήθος x των διαφορετικών πεδίων τιμών που υπάρχουν. Σε κάθε μια από τις x επόμενες γραμμές δίνεται ένα πεδίο τιμών. Ο πρώτος αριθμός είναι ο αύξων αριθμός, μετά ακολουθεί το πλήθος των τιμών, και ακολουθούν οι τιμές. Π.χ: 4 6 142 170 240 380 408 478 τιμές 5ο πεδίο τιμών πλήθος τιμών ΤΜΗΜΑ ΜΠΕΣ

Εργασία 2 - Arc Consistency Σε κάθε αρχείο var στην πρώτη γραμμή αναγράφεται το πλήθος n των μεταβλητών που υπάρχουν στο πρόβλημα. Σε κάθε μια από τις n επόμενες γραμμές δίνεται o αύξων αριθμός της μεταβλητής και το πεδίο τιμών της. Π.χ: 680 0 0 1 0 2 0 3 0 4 1 5 0 6 0 7 0 ... Υπάρχουν 680 μεταβλητές. Η μεταβλητή 0 έχει πεδίο τιμών τύπου 0 (βλέπε dom αρχείο). H μεταβλητή 4 έχει πεδίο τιμών τύπου 1, κτλ. ΤΜΗΜΑ ΜΠΕΣ

Εργασία 2 - Arc Consistency Σε κάθε αρχείο ctr στην πρώτη γραμμή αναγράφεται το πλήθος e των περιορισμών που υπάρχουν στο πρόβλημα. Σε κάθε μια από τις e επόμενες γραμμές δίνεται ένας περιορισμός. για κάθε περιορισμό οι δύο πρώτοι αριθμοί είναι οι μεταβλητές που συμμετέχουν στον περιορισμό, το επόμενο σύμβολο είναι ο τύπος του περιορισμού (> ή =) και τέλος δίνεται η σταθερά. Π.χ. 5 378 > 247 σταθερά ο περιορισμός είναι τύπου > συμμετέχουν οι μεταβλητές 5 και 378 Ο περιορισμός είναι ο |x5 – x378| > 247 ΤΜΗΜΑ ΜΠΕΣ

Εργασία 2 - Arc Consistency Το πρόγραμμα σας πρέπει να δέχεται ως είσοδο από τον χρήστη το όνομα ενός RLFA προβλήματος, να διαβάζει τα κατάλληλα αρχεία, και να εφαρμόζει arc consistency στο πρόβλημα. πρέπει να μπορεί να το κάνει αυτό για όλα τα RLFAPs που σας δίνονται Αφού ολοκληρωθεί η εφαρμογή του arc consistency σε ένα πρόβλημα πρέπει να τυπώνεται το πλήθος των τιμών που διαγράφηκαν συνολικά. Σε περίπτωση που διαγραφούν όλες οι τιμές από το πεδίο τιμών μιας μεταβλητής πρέπει να τυπώνεται μήνυμα που ενημερώνει ότι το πρόβλημα δεν έχει λύση. Η υλοποίηση μπορεί να γίνει σε μια γλώσσα όπως η Java, η C, και η C++ σε ομάδες ως και δύο ατόμων. Προθεσμία παράδοσης άσκησης: 17/12/2008. Τρόπος παράδοσης: με υποχρεωτική παρουσίαση σε οποιοδήποτε εργαστήριο μέχρι τις 17/12 και με email στο konsterg@aegean.gr ΤΜΗΜΑ ΜΠΕΣ

Ο Arc Consistency Αλγόριθμος AC-3 procedure AC-3(a CSP) Insert in S all the (directed) arcs of the problem; while S not empty do select and remove an arc (x,y) from S; REVISE(x,y) if REVISE(x,y) deleted at least one value from the domain of x then add to S the set of all arcs (z,x) of the problem (the ones that go into x); procedure REVISE (x,y) for each value a in domain of x that has not been deleted do for each value b in the domain of y that has not been deleted if the pair (a,b) is consistent with respect to the constraint (x,y) then break; if no value of y is consistent with a then delete a from the domain of x; ΤΜΗΜΑ ΜΠΕΣ

Θέματα Υλοποίησης Η δομή S μπορεί να υλοποιηθεί ως stack ή (καλύτερα) ως queue Αρχικά στην S εισάγονται όλα τα κατευθυνόμενα τόξα Αυτό σημαίνει ότι για έναν περιορισμό (x,y) θα εισαχθούν στην S τόσο το τόξο (x,y) όσο και το (y,x) Γιατί γίνεται αυτό? Τι άλλες δομές δεδομένων χρειάζεστε? Για κάθε μεταβλητή έναν (δυναμικό) πίνακα όπου κρατάτε τις τιμές της Ένα δυσδιάστατο (n*n) πίνακα constraints για τους περιορισμούς αν στη θέση constraints[i][j] υπάρχει 0 σημαίνει ότι δεν υπάρχει περιορισμός ανάμεσα στις xi και xj. Αν υπάρχει 1 σημαίνει ότι υπάρχει περιορισμός |xi – xj| > a. Αν υπάρχει 2 τότε υπάρχει περιορισμός |xi – xj| = a Προσοχή στη συμμετρία του πίνακα! ΤΜΗΜΑ ΜΠΕΣ