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

Post on 15-Mar-2016

25 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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 τεχνολογία

top related