1
Γλώσσες περιορισμώνΓλώσσες περιορισμών
Τι είναι οι περιορισμοί(constraints)? Μοντελοποίηση περιορισμών Επίλυση περιορισμών Δένδρα περιορισμών Άλλες περιοχές περιορισμών Properties of constraint solving
2
ΠεριορισμοίΠεριορισμοίΜεταβλητές: αποθήκευση τιμών
X Y Z L U List, , , , ,3 21
Συναρτησιακά σύμβολα: αντιστοίχιση τιμών σε τιμές
Σχεσιακά σύμβολα: σχέσεις μεταξύ τιμών
, , , ,sin,cos,||
, ,
3
ΠεριορισμοίΠεριορισμοί
XX Y
42 9
Στοιχειώδης περιορισμοί : σχέσεις περιορισμών με ορίσματα
Περιορισμοί: συνένωση στοιχειωδών περιορισμών
X X Y Y 3 4
unary
binary
4
ΙκανοποιησιμότηταΙκανοποιησιμότητα
Αποτίμηση: ανάθεση τιμών στις μεταβλητές
{ , , }( ) ( )
X Y ZX Y
3 4 22 3 2 4 11
Επίλυση: αποτίμηση που ικανοποιεί τους περιορισμούς
( )( )X Y X
true
3 1
3 3 4 3 1
5
ΙκανοποιησιμότηταΙκανοποιησιμότητα
Ικανοποίησιμη: ο περιορισμός έχει λύση
Μη ικανοποίησιμη : ο περιορισμός δεν έχει λύση
X Y XX Y X Y
3 13 1 6
ικανοποιήσιμη
Μη ικανοποιήσιμη
6
Σύνταξη περιορισμώνΣύνταξη περιορισμών
Οι περιορισμοί είναι συμβολοσειρές Οι αγκύλες δεν επηρεάζουν (δεν τις
χρησιμοποιούμε)
Η σειρά επηρεάζει
Μερικοί αλγόριθμοι εξαρτώνται από την σειρά
( ) ( )X Y Z X Y Z 0 1 2 0 1 2
X Y Z Y Z X 0 1 2 1 2 0
7
Ισοδυναμία περιορισμώνΙσοδυναμία περιορισμών
Δύο διαφορετικοί περιορισμοί μπορεί να αναπαριστούν την ίδια πληροφορία
X XX Y Y X
X Y Y X Y X
0 01 2 2 11 2 1 3
Δύο περιοριμοί είναι ισοδύναμοι όταν έχουν το ίδιο σύνολο λύσεων
8
Μοντελοποίηση χρησιμοποιώντας Μοντελοποίηση χρησιμοποιώντας περιορισμούςπεριορισμούς
Οι περιορισμοί περιγράφουν ιδεατές συμπεριφορές αντικειμένων στον πραγματικό κόσμο
II1
I2
V+
--3_
+
--
V1V2
--
R1 R2
V I RV I RV VV VV VI I I
I I I
1 1 12 2 2
1 02 0
1 2 01 2 0
1 2 0
9
Ικανοποίηση περιορισμώνΙκανοποίηση περιορισμών
Δοθέντος ενός περιορισμού C έχουμε δύο ερωτήσεις ικανοποίησιμη: έχει λύση; επίλυση: δώσε μου μία λύση, εάν υπάρχει;
Το πρώτο είναι πιο βασικό Ένα σύστημα επίλυσης περιορισμών
απαντάει το ερώτημα της ικανοποιησιμότητας
10
Ικανοποίηση περιορισμώνΙκανοποίηση περιορισμών
Πως απαντάμε την ερώτηση; Απλή προσέγγιση: αποτίμηση όλων των
πιιθανών τιμών(genarate & test)X YX Y falseX Y falseX Y false
{ , }{ , }{ , }
1 11 21 3
X YX Y falseX Y true
X Y falseX Y trueX Y true
{ , }{ , }
{ , }{ , }{ , }
1 12 1
2 23 13 2
11
Generate & TestGenerate & Test Πιθανώς; η πιο γενική μέθοδος επίλυσης Αλγόριθμος:
generate labellingtest ικανοποιησιμότητας
Μειονεκτήματα: Βελτιώσεις:blind generator smart generator
--> local searchαργή εξαγωγή έλεγχος κατά την εξαγωγήασυνεπειών --> backtracking
12
Backtracking (BT)Backtracking (BT)
incrementally extends a partial solution towards a complete solution
Algorithm:assign value to variablecheck consistencyuntil all variables labelled
Drawbacks: thrashing redundant work late detection of conflict
Systematic Search Methods
A
C
B
1
1
1
1
2
2
A = D, B D, A+C < 4
1
2
D21
1
13
GT & BT - ExampleGT & BT - Example
Problem:X::{1,2}, Y::{1,2}, Z::{1,2} X = Y, X Z, Y > Z
generate & test backtracking
X Y Z test1 1 1 fail1 1 2 fail1 2 1 fail1 2 2 fail2 1 1 fail2 1 2 fail2 2 1 passed
X Y Z test1 1 1 fail
2 fail2 fail
2 1 fail2 1 passed
Systematic Search Methods
14
Consistency TechniquesConsistency Techniques
removing inconsistent values from variables’ domains graph representation of the CSP
binary and unary constraints only (no problem!) nodes = variables edges = constraints
node consistency (NC) arc consistency (AC) path consistency (PC) (strong) k-consistency
A
BC
A>5
AB
A<C
B=C
15
Arc Consistency (AC)Arc Consistency (AC)
the most widely used consistency technique (good simplification/performance ratio)
deals with individual binary constraints
repeated revisions of arcs AC-3, AC-4, Directional AC
Consistency Techniques
a
b
c
a
b
cX Y
a
b
cZ
16
AC - ExampleAC - Example
Problem:X::{1,2}, Y::{1,2}, Z::{1,2} X = Y, X Z, Y > Z1 2
1 2
1 2
1 2
1 2
1 2
Consistency Techniques
X
Y
Z
X
Y
Z
17
Is AC enough?Is AC enough?
empty domain => no solution cardinality of all domains is 1 => solution Problem:
X::{1,2}, Y::{1,2}, Z::{1,2} X Y, X Z, Y Z
1 2
1 2
1 2
Consistency Techniques
X
YZ
18
Path Consistency (PC)Path Consistency (PC)
consistency along the path only
checking paths of length 2 is enough Plus/Minus
+ detects more inconsistencies than AC- extensional representation of constraints- changes in graph connectivity
Directional PC, Restricted PC
Consistency Techniques
V0 V1
V3V2 V4 V5
???
19
K -consistencyK -consistency
K-consistency consistent valuation o (K-1) variables can be extended to
K-th variable strong K-consistency
J-consistency for each JK
NC strong 1-consistency AC strong 2-consistency PC strong 3-consistency
Consistency Techniques
20
Ικανοποίηση περιορισμώνΙκανοποίηση περιορισμών
Η απλή προσέγγιση δεν δουλεύει για προβλήματα του πραγματικού κόσμου
Μία πιο έξυπνη έκδοση χρησιμοποιείται για περιορισμούς με πεπερασμένο πεδίο ορισμού
Gauss-Jordan σχήμα απαλοιφής
21
Gauss-Jordan σχήμα Gauss-Jordan σχήμα απαλοιφήςαπαλοιφής
Επιλογή εξίσωσης c από C Ξαναγράψε c στη μορφή x = e Αντικατέστησε το x παντού στη C με e Επανέλαβε μέχρι
όλες οι εξισώσεις να είναι της μορφής x = e η μια εξίσωση είναι ισοδύναμη με d = 0 (d != 0)
Επέστρεψε True στην πρώτη περίπτωση αλλιώς False
22
Gauss-Jordan Gauss-Jordan ΠαράδειγμαΠαράδειγμα 1 11 2
35
X Y ZZ XX Y Z
Αντικατάστησε X με 2Y+Z-1
X Y ZZ Y Z
Y Z Y Z
2 12 1 3
2 1 5
Αντικατάστησε Y με -1X ZY
Z Z
2 11
2 1 1 5
1 2 X Y Z
2 2Y
4 5
Επέστρεψε false
23
Gauss-Jordan Example 2Gauss-Jordan Example 21 2
3
X Y ZZ X
Αντικατάστησε X με 2Y+Z-1
X Y ZZ Y Z
2 12 1 3
Αντικατάστησε Y με -1
X ZY
31
1 2 X Y Z
2 2Y
Επίλυση μορφής: περιορισμοί αυτής της μορφής είναι ικανοποιήσιμοι
24
Επίλυση μορφήςΕπίλυση μορφής
Μη παραμετρικές μεταβλητές: εμφανίζονται στα αριστερά μιας εξίσωσης.
Παραμετρικές μεταβλητές: εμφανίζονται στα δεξιά μιας εξίσωσης.
Επίλυση: επιλογή παραμερικών τιμών και καθορισμός των μη παραμετρικών
X ZY
31
Z 4 XY
4 3 11
25
ΠηγέςΠηγές
Τεχνητή Νοημοσύνη Scene Labelling
Λογικός Προγραμματισμός unification --> constraint solving
Γραφικές αλληλεπιδράσεις Sketchpad ThingLab
Επιχειρησιακή Έρευνα NP-hard combinatorial problems
26
ΕφαρμογέςΕφαρμογές Προβλήματα Ανάθεσης
τοποθεσία κατασκευής αεροδρόμιων αγκυροβόλιο πλοίου προσωπική ανάθεση
κατάλογος νοσοκόμων ανάθεση πληρομάτων πτήσεων
διαχείριση και διαμόρφωση δικτύων σχεδιασμός καλοδίωσης σε τηλεπικοινωνιακά δίκτυα βέλτιστη τοποθέτητση σταθμών σε ασύρματα δίκτυα
μοριακή βιολογία DNA ακολουθίας
αναλογικός και ψηφιακός σχεδιασμός κυκλωμάτων
27
Εφαρμογές σε Εφαρμογές σε ΧρονοδιαγράμματαΧρονοδιαγράμματα
η πιο επιτυχής περιοχή εφαρμογών χρονοδιάγραμμα παραγωγής σχεδιασμός παραγωγής αεροπλάνων (Dassault Aviation)
28
ΜειονεκτήματαΜειονεκτήματα
NP-hard προβλήματα μη προβλέψιμη συμπεριφορά σταθερότητα μοντελοποίησης πολύ ψηλό επίπεδο (νέοι περιορισμοί, επιλυτές)
πολύ χαμηλό επίπεδο (μοντελοποίηση)
πολύ τοπικό μη αυξητικοί (rescheduling)
αδυναμία συνεργασίας επιλυτών
29
ΠλεονεκτήματαΠλεονεκτήματα επεξηγηματική φύση
επικέντρωση του ενδιαφέρον στη περιγραφή του προβλήματος και όχι στην επίλυσή του
αποτελεσματική επίλυση προβλημάτων ενοποίηση αλγορίθμων που χρησιμοποιούνται για ειδικούς
σκοπούς θεμελιώδης σημασιολογία
καθαρές και κομψές γλώσσες βασίζεται στο λογικό προγραμματισμό
ποικίλλες εφαρμογές αρκετή επιτυχία σε διάφορους τομείς
30
ΚατευθύνσειςΚατευθύνσεις μοντελοποίηση
καθολικούς περιορισμούς (όλοι διαφορετικοί) μοντελοποίηση γλωσσών (Numerica, VisOpt)
κατανοητή μελέτη οπτικοποίηση, αποτελεσματικό debugging
υβριδικοί αλγόριθμοι συνεργασία επιλυτών παραλληλισμός multi-agent τεχνολογία