Γλώσσες περιορισμών

30
1 Γλώσσες περιορισμών Γλώσσες περιορισμών Τι είναι οι περιορισμοί(constraints)? Μοντελοποίηση περιορισμών Επίλυση περιορισμών Δένδρα περιορισμών Άλλες περιοχές περιορισμών Properties of constraint solving

Upload: reed-gamble

Post on 15-Mar-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Γλώσσες περιορισμών. Τι είναι οι περιορισμοί( constraints)? Μοντελοποίηση περιορισμών Επίλυση περιορισμών Δένδρα περιορισμών Άλλες περιοχές περιορισμών Properties of constraint solving. Περιορισμοί. Μεταβλητές: αποθήκευση τιμών. Συναρτησιακά σύμβολα : αντιστοίχιση τιμών σε τιμές. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Γλώσσες περιορισμών

1

Γλώσσες περιορισμώνΓλώσσες περιορισμών

Τι είναι οι περιορισμοί(constraints)? Μοντελοποίηση περιορισμών Επίλυση περιορισμών Δένδρα περιορισμών Άλλες περιοχές περιορισμών Properties of constraint solving

Page 2: Γλώσσες περιορισμών

2

ΠεριορισμοίΠεριορισμοίΜεταβλητές: αποθήκευση τιμών

X Y Z L U List, , , , ,3 21

Συναρτησιακά σύμβολα: αντιστοίχιση τιμών σε τιμές

Σχεσιακά σύμβολα: σχέσεις μεταξύ τιμών

, , , ,sin,cos,||

, ,

Page 3: Γλώσσες περιορισμών

3

ΠεριορισμοίΠεριορισμοί

XX Y

42 9

Στοιχειώδης περιορισμοί : σχέσεις περιορισμών με ορίσματα

Περιορισμοί: συνένωση στοιχειωδών περιορισμών

X X Y Y 3 4

unary

binary

Page 4: Γλώσσες περιορισμών

4

ΙκανοποιησιμότηταΙκανοποιησιμότητα

Αποτίμηση: ανάθεση τιμών στις μεταβλητές

{ , , }( ) ( )

X Y ZX Y

3 4 22 3 2 4 11

Επίλυση: αποτίμηση που ικανοποιεί τους περιορισμούς

( )( )X Y X

true

3 1

3 3 4 3 1

Page 5: Γλώσσες περιορισμών

5

ΙκανοποιησιμότηταΙκανοποιησιμότητα

Ικανοποίησιμη: ο περιορισμός έχει λύση

Μη ικανοποίησιμη : ο περιορισμός δεν έχει λύση

X Y XX Y X Y

3 13 1 6

ικανοποιήσιμη

Μη ικανοποιήσιμη

Page 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

Page 7: Γλώσσες περιορισμών

7

Ισοδυναμία περιορισμώνΙσοδυναμία περιορισμών

Δύο διαφορετικοί περιορισμοί μπορεί να αναπαριστούν την ίδια πληροφορία

X XX Y Y X

X Y Y X Y X

0 01 2 2 11 2 1 3

Δύο περιοριμοί είναι ισοδύναμοι όταν έχουν το ίδιο σύνολο λύσεων

Page 8: Γλώσσες περιορισμών

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

Page 9: Γλώσσες περιορισμών

9

Ικανοποίηση περιορισμώνΙκανοποίηση περιορισμών

Δοθέντος ενός περιορισμού C έχουμε δύο ερωτήσεις ικανοποίησιμη: έχει λύση; επίλυση: δώσε μου μία λύση, εάν υπάρχει;

Το πρώτο είναι πιο βασικό Ένα σύστημα επίλυσης περιορισμών

απαντάει το ερώτημα της ικανοποιησιμότητας

Page 10: Γλώσσες περιορισμών

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

Page 11: Γλώσσες περιορισμών

11

Generate & TestGenerate & Test Πιθανώς; η πιο γενική μέθοδος επίλυσης Αλγόριθμος:

generate labellingtest ικανοποιησιμότητας

Μειονεκτήματα: Βελτιώσεις:blind generator smart generator

--> local searchαργή εξαγωγή έλεγχος κατά την εξαγωγήασυνεπειών --> backtracking

Page 12: Γλώσσες περιορισμών

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

Page 13: Γλώσσες περιορισμών

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

Page 14: Γλώσσες περιορισμών

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

Page 15: Γλώσσες περιορισμών

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

Page 16: Γλώσσες περιορισμών

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

Page 17: Γλώσσες περιορισμών

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

Page 18: Γλώσσες περιορισμών

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

???

Page 19: Γλώσσες περιορισμών

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

Page 20: Γλώσσες περιορισμών

20

Ικανοποίηση περιορισμώνΙκανοποίηση περιορισμών

Η απλή προσέγγιση δεν δουλεύει για προβλήματα του πραγματικού κόσμου

Μία πιο έξυπνη έκδοση χρησιμοποιείται για περιορισμούς με πεπερασμένο πεδίο ορισμού

Gauss-Jordan σχήμα απαλοιφής

Page 21: Γλώσσες περιορισμών

21

Gauss-Jordan σχήμα Gauss-Jordan σχήμα απαλοιφήςαπαλοιφής

Επιλογή εξίσωσης c από C Ξαναγράψε c στη μορφή x = e Αντικατέστησε το x παντού στη C με e Επανέλαβε μέχρι

όλες οι εξισώσεις να είναι της μορφής x = e η μια εξίσωση είναι ισοδύναμη με d = 0 (d != 0)

Επέστρεψε True στην πρώτη περίπτωση αλλιώς False

Page 22: Γλώσσες περιορισμών

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

Page 23: Γλώσσες περιορισμών

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

Επίλυση μορφής: περιορισμοί αυτής της μορφής είναι ικανοποιήσιμοι

Page 24: Γλώσσες περιορισμών

24

Επίλυση μορφήςΕπίλυση μορφής

Μη παραμετρικές μεταβλητές: εμφανίζονται στα αριστερά μιας εξίσωσης.

Παραμετρικές μεταβλητές: εμφανίζονται στα δεξιά μιας εξίσωσης.

Επίλυση: επιλογή παραμερικών τιμών και καθορισμός των μη παραμετρικών

X ZY

31

Z 4 XY

4 3 11

Page 25: Γλώσσες περιορισμών

25

ΠηγέςΠηγές

Τεχνητή Νοημοσύνη Scene Labelling

Λογικός Προγραμματισμός unification --> constraint solving

Γραφικές αλληλεπιδράσεις Sketchpad ThingLab

Επιχειρησιακή Έρευνα NP-hard combinatorial problems

Page 26: Γλώσσες περιορισμών

26

ΕφαρμογέςΕφαρμογές Προβλήματα Ανάθεσης

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

κατάλογος νοσοκόμων ανάθεση πληρομάτων πτήσεων

διαχείριση και διαμόρφωση δικτύων σχεδιασμός καλοδίωσης σε τηλεπικοινωνιακά δίκτυα βέλτιστη τοποθέτητση σταθμών σε ασύρματα δίκτυα

μοριακή βιολογία DNA ακολουθίας

αναλογικός και ψηφιακός σχεδιασμός κυκλωμάτων

Page 27: Γλώσσες περιορισμών

27

Εφαρμογές σε Εφαρμογές σε ΧρονοδιαγράμματαΧρονοδιαγράμματα

η πιο επιτυχής περιοχή εφαρμογών χρονοδιάγραμμα παραγωγής σχεδιασμός παραγωγής αεροπλάνων (Dassault Aviation)

Page 28: Γλώσσες περιορισμών

28

ΜειονεκτήματαΜειονεκτήματα

NP-hard προβλήματα μη προβλέψιμη συμπεριφορά σταθερότητα μοντελοποίησης πολύ ψηλό επίπεδο (νέοι περιορισμοί, επιλυτές)

πολύ χαμηλό επίπεδο (μοντελοποίηση)

πολύ τοπικό μη αυξητικοί (rescheduling)

αδυναμία συνεργασίας επιλυτών

Page 29: Γλώσσες περιορισμών

29

ΠλεονεκτήματαΠλεονεκτήματα επεξηγηματική φύση

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

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

σκοπούς θεμελιώδης σημασιολογία

καθαρές και κομψές γλώσσες βασίζεται στο λογικό προγραμματισμό

ποικίλλες εφαρμογές αρκετή επιτυχία σε διάφορους τομείς

Page 30: Γλώσσες περιορισμών

30

ΚατευθύνσειςΚατευθύνσεις μοντελοποίηση

καθολικούς περιορισμούς (όλοι διαφορετικοί) μοντελοποίηση γλωσσών (Numerica, VisOpt)

κατανοητή μελέτη οπτικοποίηση, αποτελεσματικό debugging

υβριδικοί αλγόριθμοι συνεργασία επιλυτών παραλληλισμός multi-agent τεχνολογία