39
Principles of Constraint Programming Krzysztof R. Apt Chapter 2 Constraint Satisfaction Problems: Examples

PrinciplesofConstraint Programming KrzysztofR.Apt Chapter2 ...jlee/courses/csc5240/notes/ch2-sli.pdf · 2007. 1. 19. · TheCompositionTable,part2 starts started-by during contains

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

  • Principles of ConstraintProgramming

    Krzysztof R. Apt

    Chapter 2Constraint Satisfaction Problems:

    Examples

  • Objectives

    •Define formallyConstraint SatisfactionProblems (CSP),

    •Modeling: representation of a problem asa CSP.

    • Clarify various aspects of modeling:

    – in general several natural representationsexist,

    – some representations straightforward, somenon-trivial,

    – some representations rely on a “background”theory.

    • Show the generality of the notion of a CSP.

    1

  • Constraint Satisfaction Problems (CSP)

    Given:

    •Variables Y := y1, . . ., yk,

    •Domains D1, . . ., Dk,

    Constraint C on Y : subset of D1×. . .×Dk.

    Given:

    •Variables x1, . . ., xn,

    •Domains D1, . . ., Dn,

    Constraint Satisfaction Problem (CSP):

    {C ;x1 ∈ D1, . . ., xn ∈ Dn}

    C – constraints, each on a subsequence of x1, . . ., xn.

    (d1, . . ., dn) ∈ D1 × . . . × Dn is a solutionto

    {C ;x1 ∈ D1, . . ., xn ∈ Dn}

    if for every constraint C ∈ C on xi1, . . ., xim(di1, . . ., dim) ∈ C.

    2

  • Example: SEND + MORE = MONEY

    Replace each letter by a different digit so that

    SEND

    + MOREMONEY

    is a correct sum.

    Unique solution:

    9567+ 108510652

    Variables: S, E, N, D, M, O, R, Y ,

    Domains:[1..9] for S, M ,[0..9] for E, N, D, O, R, Y .

    3

  • Alternatives forEquality Constraints

    1. 1 equality constraint.

    1000 · S + 100 · E + 10 · N + D+ 1000 · M + 100 · O + 10 · R + E

    = 10000 · M + 1000 · O + 100 · N + 10 · E + Y

    2. 5 equality constraints.

    Use “carry” variables C1, . . ., C4 ∈ [0..1]:

    D + E = 10 · C1 + Y,C1 + N + R = 10 · C2 + E,C2 + E + O = 10 · C3 + N,C3 + S + M = 10 · C4 + O,C4 = M.

    4

  • Alternatives forDisequality Constraints

    1. 28 disequality constraints.

    x 6= y for x, y ∈ {S, E, N, D, M, O, R, Y },x ≺ y.

    2. A single constraint for disequalities.

    For variables x1, . . ., xn with domainsD1, . . ., Dn:all different(x1, . . ., xn):= {(d1, . . ., dn) | di 6= dj for i 6= j}.

    Useall different(S, E, N, D, M, O, R, Y ).

    3. Modeling it as an IP problem.

    For x, y ∈ {S, E, N, D, MO, R, Y } transformx 6= y to

    x− y ≤ 10− 11zx,y,y − x ≤ 11zx,y − 1,

    where zx,y ∈ [0..1].

    Disadvantage: 28 new variables.5

  • N Queens

    Problem Place n queens on the n · n chessboard so that they do not attack each other.

    Variables: x1, . . ., xn,Domains: [1..n],Constraints:For i ∈ [1..n− 1] and j ∈ [i + 1..n]:

    • xi 6= xj (rows),

    • xi − xj 6= i− j

    (South-West – North-East diagonals),

    • xi − xj 6= j − i

    (North-West – South-East diagonals).

    6

  • Zebra Puzzle

    A small street has five differently col-ored houses on it.

    Five men of different nationalities livein these five houses.

    Each man has a different profession,each man likes a different drink, andeach has a different pet animal.

    7

  • Zebra puzzle, ctd

    The Englishman lives in the red house.The Spaniard has a dog.The Japanese is a painter.The Italian drinks tea.The Norwegian lives in the first house on theleft.The owner of the green house drinks coffee.The green house is on the right of the whitehouse.The sculptor breeds snails.The diplomat lives in the yellow house.They drink milk in the middle house.The Norwegian lives next door to the bluehouse.The violinist drinks fruit juice.The fox is in the house next to the doctor’s.The horse is in the house next to the diplo-mat’s.

    Who has the zebra and who drinkswater?

    8

  • Zebra puzzle, ctd

    25 Variables:

    • nationality: english, spaniard, japanese,italian, norwegian,

    • pet: dog, snails, fox, horse, zebra,

    • profession: painter, sculptor, diplomat,violinist, doctor,

    • drink: tea, coffee, milk, juice, water,

    • colour: red, green, white, yellow, blue.

    Domains: [1...5].

    Constraints:

    all different(red,green,white,yellow,blue),

    all different(english, spaniard, japanese, italian,norwegian),

    all different(dog, snails, fox,horse, zebra),

    all different(painter, sculptor,diplomat,violinist,doctor),

    all different(tea, coffee,milk, juice,water).

    9

  • Constraints, ctd

    • The Englishman lives in the red house:

    english = red,

    • The Spaniard has a dog:

    spaniard = dog,

    • The Japanese is a painter:

    japanese = painter,

    • The Italian drinks tea:

    italian = tea,

    • The Norwegian lives in the first house onthe left:

    norwegian = 1,

    • The owner of the green house drinks coffee:

    green = coffee,

    • The green house is on the right of the whitehouse:

    green = white + 1,

    10

  • Constraints, ctd

    • The sculptor breeds snails:

    sculptor = snails,

    • The diplomat lives in the yellow house:

    diplomat = yellow,

    • They drink milk in the middle house:

    milk = 3,

    • The Norwegian lives next door to the bluehouse:

    |norwegian− blue| = 1,

    • The violinist drinks fruit juice:

    violinist = juice,

    • The fox is in the house next to the doctor’s:

    |fox− doctor| = 1,

    • The horse is in the house next to the diplo-mat’s:

    |horse− diplomat| = 1.

    11

  • Crossword Puzzles

    3

    4 5

    6 7

    8

    21

    Fill the crossword grid with the words from:

    • HOSES, LASER, SAILS, SHEET, STEER,

    • HEEL, HIKE, KEEL, KNOT, LINE,

    • AFT, ALE, EEL, LEE, TIE.

    Variables: x1, . . ., x8,

    Domains: x7 ∈ {AFT, ALE, EEL, LEE, TIE}, etc.

    Constraints: one per crossing

    C1,2 := {(HOSES, SAILS), (HOSES, SHEET),(HOSES, STEER), (LASER, SAILS),(LASER, SHEET), (LASER, STEER)} .

    etc.

    12

  • Unique Solution

    1 2 3

    4 5

    6 7

    8

    H O S E S

    S

    E

    EE

    E

    E

    A

    A

    I

    R

    K

    L

    L

    L A

    H

    T

    13

  • Qualitative Temporal Reasoning

    Consider the following problem.

    The meeting ran non-stop the wholeday.

    Each person stayed at the meeting for acontinuous period of time.

    The meeting began while Mr Joneswas present and finished whileMsWhitewas present.

    MsWhite arrived after the meeting hasbegan.

    In turn,Director Smithwas also presentbut he arrived after Jones had left.

    Mr Brown talked to Ms White inpresence of Smith.

    Could possibly Jones and White havetalked during this meeting?

    14

  • 13 Temporal Relations (Allen ’83)

    B met-by A

    A

    A

    A

    B after A

    A finishes B

    B finished-by A

    A equals B

    B contains A

    A

    B

    B

    B

    B

    B

    A

    A

    A

    B

    B

    A during B

    A overlaps B

    B overlapped-by A

    A starts B

    B started-by A

    A meets B

    A before B

    15

  • The Composition Table

    • Consider three events, A, B and C.

    Known: Temporal relations

    – AB between A and B,

    – BC between B and C.

    Question: What is the temporal relationBC between A and C?

    •Allen ’83 defined a 13 × 13 table.

    •Example: if A overlaps B and B is beforeC, then A is before C.

    This yields entry

    allen(overlaps, before, before).

    In total 409 entries.

    16

  • Composition Table, part 1

    before after meets met-by overlaps overl.-by

    before before TEMP before before before beforemeets meetsoverlaps overlapsstarts startsduring during

    after TEMP after during after during afterfinishes finishesafter aftermet-by met-byoverl.-by overl.-by

    meets before after before finishes before overlapsmet-by finished-by startsoverl.-by equals duringstarted-bycontains

    met-by before after starts after during afteroverlaps started-by finishesmeets equals overl.-bycontainsfinished-by

    overlaps before after before overl.-by before R-OVERLAPmet-by started-by meetsoverl.-by contains overlapsstarted-bycontains

    overl.-by before after overlaps after R-OVERLAP aftermeets contains met-byoverlaps finished-by overl.-bycontainsfinished-by

    starts before after before met-by before duringmeets finishesoverlaps overl.-by

    started-by before after overlaps met-by overlaps overl.-bymeets contains containsoverlaps finished-by finished-bycontainsfinished-by

    during before after before after before duringmeets finishesoverlaps afterstarts met-byduring overl.-by

    contains before after overlaps overl.-by overlaps overl.-bymeets met-by contains started-by contains started-byoverlaps overl.-by finished-by contains finished-by containscontains containsfinished-by started-by

    finishes before after meets after overlaps afterstarts met-byduring overl.-by

    finished-by before after meets overl.-by overlaps overl.-bymet-by started-by started-byoverl.-by contains containsstarted-bycontains

    equals before after meets met-by overlaps overl.-by

    17

  • The Composition Table, part 2

    starts started-by during contains finishes finished-by equals

    before before before before before before before beforemeets meetsoverlaps overlapsstarts startsduring during

    after during after during after after after afterfinishes finishesafter aftermet-by met-byoverl.-by overl.-by

    meets meets meets overlaps before overlaps before meetsstarts startsduring during

    met-by during after during after met-by met-by met-byfinishes finishesoverl.-by overl.-by

    overlaps overlaps overlaps overlaps before overlaps before overlapscontains starts meets starts meetsfinished-by during overlaps during overlaps

    containsfinished-by

    overl.-by during after during after overl.-by overl.-by overl.-byfinishes met-by finishes meets started-byoverl.-by overl.-by overl.-by overl.-by contains

    started-bycontains

    starts starts starts during before during before startsstarted-by meets meetsequals overlaps overlaps

    containsfinished-by

    started-by starts started-by during contains overl.-by contains started-bystarted-by finishesequals overl.-by

    during during during during TEMP during before duringfinishes meetsafter overlapsmet-by startsoverl.-by during

    contains overlaps contains R-OVERLAP contains overl.-by contains containscontains containsfinished-by started-by

    finishes during after during after finishes finishes finishesmet-by met-by finished-byoverl.-by overl.-by equals

    started-bycontains

    finished-by overlaps contains overlaps contains finishes finished-by finished-bystarts finished-byduring equals

    equals starts started-by during contains finishes finished-by equals

    18

  • Representation as a CSP

    • 5 events:

    – M (meeting),

    – J (Jones’s presence),

    – B (Brown’s presence),

    – S (Smith’s presence),

    – W (White’s presence).

    • This yields 10 variables, each associated with an ordered pairof events and each with a domain:

    TEMP := {before, after, meets, met-by, overlaps,overlapped-by, starts, started-by, during,

    contains,finishes, finished-by, equals},

    REAL-OVERLAP := TEMP−{before, after, meets, met-by}

    – xJ,M ∈ {overlaps, contains, finished-by},

    – xM,W ∈ {overlaps},

    – xM,S ∈ REAL-OVERLAP,

    – xJ,S ∈ {before},

    – xB,S ∈ REAL-OVERLAP,

    – xB,W ∈ REAL-OVERLAP,

    – xS,W ∈ REAL-OVERLAP,

    – xJ,B, xJ,W, xM,B ∈ TEMP.

    Final question

    Use rather

    – xJ,W ∈ REAL-OVERLAP.Is the above CSP consistent?

    19

  • Constraints

    • allen: the composition table as a ternaryrelation (409 entries).

    • For each ordered triple A,B,C of the eventsa constraintCA,B,C on the variables xA,B, xB,C, xA,C:

    CA,B,C := allen ∩ (DA,B ×DB,C ×DA,C).

    where

    xA,B ∈ DA,B,

    xB,C ∈ DB,C,

    xA,C ∈ DA,C.

    • In total 10 constraints.

    20

  • Qualitative Spatial Reasoning

    Consider the following problem.

    Two houses are connected by a road.The first house is surrounded by itsgarden or is adjacent to its boundarywhile the second house is surroundedby its garden.

    What can we conclude about the relationbetween the second garden and the road?

    21

  • 8 Spatial Relations

    A

    B

    A

    B

    A

    B

    A

    B

    A

    B

    AB

    disjoint(A,B) meet(A,B) equal(A,B)

    covers(A,B)coveredby(B,A)

    contains(A,B)inside(B,A) overlap(A,B)

    RCC8 := {disjoint, meet,equal, covers,coveredby, contains,inside, overlap}.

    22

  • The composition table for RCC8

    disjoint meet equal inside coveredby contains covers overlap

    disjoint RCC8 disjoint disjoint disjoint disjoint disjoint disjoint disjoint

    meet meet meet meet

    inside inside inside inside

    coveredby coveredby coveredby coveredby

    overlap overlap overlap overlap

    meet disjoint disjoint meet inside meet disjoint disjoint disjoint

    meet meet coveredby inside meet meet

    contains equal overlap inside

    covers coveredby coveredby

    overlap covers overlap

    overlap

    equal disjoint meet equal inside coveredby contains covers overlap

    inside disjoint disjoint inside inside inside RCC8 disjoint disjoint

    meet meet

    inside inside

    coveredby coveredby

    overlap overlap

    coveredby disjoint disjoint coveredby inside inside disjoint disjoint disjoint

    meet coveredby meet meet meet

    contains equal overlap

    covers coveredby coveredby

    overlap covers overlap

    overlap

    contains disjoint contains contains equal contains contains contains contains

    meet covers inside covers covers

    contains overlap coveredby overlap overlap

    covers contains

    overlap covers

    overlap

    covers disjoint meet covers inside equal contains contains contains

    meet contains coveredby coveredby covers covers

    contains covers overlap covers overlap

    covers overlap overlap

    overlap

    overlap disjoint disjoint overlap inside inside disjoint disjoint RCC8

    meet meet coveredby coveredby meet meet

    contains contains overlap overlap contains contains

    covers covers covers covers

    overlap overlap overlap overlap

    23

  • Representation as a CSP

    • 5 spatial objects:

    – H1 (house 1),

    – G1 (garden 1),

    – H2 (house 2),

    – G2 (garden 2),

    – R (road).

    • 10 variables with domains, each associatedwith an ordered pair of spatial objects:

    – xH1,G1 ∈ {inside,coveredby},

    – xH2,G2 ∈ {inside},

    – xH1,H2 ∈ {disjoint},

    – xH1,R ∈ {meet},

    – xH2,R ∈ {meet},

    – xG1,G2 ∈ {disjoint,meet},

    – xH1,G2 ∈ {disjoint,meet},

    – xG1,H2 ∈ {disjoint,meet},

    – xG1,R ∈ RCC8,

    – xG2,R ∈ RCC8.

    24

  • Constraints

    • S3: the composition table as a ternary rela-tion (193 triples).

    • For each ordered triple A,B,C of the ob-jects a constraint CA,B,C on the variablesxA,B, xB,C, xA,C:

    CA,B,C := S3 ∩ (DA,B ×DB,C ×DA,C).

    where

    xA,B ∈ DA,B,

    xB,C ∈ DB,C,

    xA,C ∈ DA,C.

    • In total 10 constraints.

    25

  • Analysis of Polyhedral Scenes

    C

    A

    D

    G

    B

    FE

    E

    F

    GH

    I J

    D

    A

    B

    C

    26

  • Four labels

    •+, mark convex edges,

    (takes 270 degrees to rotate)

    • −, mark concave edges,

    (takes 90 degrees to rotate)

    • → and ← mark boundary edges

    (formed by two planes one of which is hid-den).

    Examples

    +

    +

    +

    +

    +

    +−L RA B

    U

    G

    FE

    C

    A

    D

    +

    +

    B+

    27

  • Legal Junctions

    +

    +

    +

    +

    +

    +−

    +

    +

    + +

    +

    − −

    28

  • Representation as a CSP

    Variables: edges,

    Domains: {+,−, → , ←},

    Constraints: junctions.

    Four type of constraints: L, fork, T , and arrow.

    Example:L := {(→ , ← ), (← , → ), (+, → ),

    (← ,+), (−, ← ), (→ ,−)}.

    Cube as a CSP:

    arrow(AC, AE, AB),fork(BA, BF, BD),L(CA, CD),arrow(DG, DC, DB),L(EF, EA),arrow(FE, FG, FB),L(GD, GF ).

    29

  • Representation as a CSP, ctd

    Also needed

    edge := {(+,+), (−,−), (→ , ← ), (← , → )}.

    edge captures the complementary character of→ and ← .

    Nine constraints:

    edge(AB, BA),edge(AC, CA),edge(CD, DC),edge(BD, DB),edge(AE, EA),edge(EF, FE),edge(BF, FB),edge(FG, GF ),edge(DG, GD).

    30

  • Constrained Optimization Problems

    •Given:

    — a CSP

    P := 〈C ; x1 ∈ D1, . . ., xn ∈ Dn〉,

    — a function

    obj : Sol→R

    • (P , obj) a constrained optimization prob-lem (COP).

    •Task: Find a solution d to P for which thevalue obj(d) is optimal (below: maximal).

    31

  • Example: Knapsack Problem

    Given: a knapsack of a fixed volume andn objects, each with a volume and a value.Find a collection of these objects with max-imal total value that fits in the knapsack.

    Representation as a COP:

    Given: knapsack volume v and n objectswith volumes a1, ..., an and values b1, ..., bn.

    Variables: x1, . . ., xn,Domains: {0, 1},Constraint:

    n∑

    i=1ai · xi ≤ v,

    Objective function:n∑

    i=1bi · xi.

    32

  • Example: Golomb Ruler

    •Golomb ruler with m marks: an or-dered sequence of m natural numbers suchthat the distance between any two elementsin this sequence is unique.

    • The largest element of a Golomb ruler is itslength.

    •An optimum Golomb ruler with mmarks: a Golomb ruler with m marks witha minimal length.

    33

  • Optimum Golomb Ruler with 5 marks

    0, 1, 4, 9, 11

    is a Golomb ruler with 5 marks. Indeed, thedistances are:

    • for elements one apart: 1, 3, 5, 2,

    • for elements two apart: 4, 8, 7,

    • for elements three apart: 9, 10,

    • for elements four apart: 11.

    0,1,4,9,11 is an optimum Golomb ruler with 5marks.

    Largest known optimum Golomb ruler has 21marks and is of length 333.

    34

  • Representations as a COP

    Fix m.

    •Pair: two numbers i, j such that

    1 ≤ i < j ≤ m.

    • Pairs i, j and k, l are

    – different if i 6= k or j 6= l,

    – disjoint if i 6= k and j 6= l.

    •Example:

    1,3 and 1,4 are different but not disjoint.

    1,3 and 2,4 are disjoint (and so different).

    Representation 1

    Variables: x1, . . ., xm,Domains: N ,Constraints:

    • xi < xi+1 for i ∈ [1..m− 1],

    • xj − xi 6= xl − xk for all different pairs i, jand k, l.

    Objective function: −xn.

    35

  • Representations as a COP, ctd

    Representation 2

    Constraints:

    • xi < xi+1 for i ∈ [1..m− 1],

    • xj − xi 6= xl − xk for all disjoint pairs i, jand k, l.

    Representation 3

    Variables: x1, . . ., xm, zi,j for each pair i, j,Domains:N for x1, . . ., xm,N \ {0} for zi,j,Constraints:

    • zi,j = xj − xi for each pair i, j,

    • zi,j 6= zk,l for all different pairs i, j and k, l.

    We can replace here “different” by “disjoint”.

    Representation 4

    Replace the disequality constraints by a singleall different constraint on the variables zi,j.

    36

  • Different Representations as CSP

    Less Contrived Examples

    •A Microcode Label Assignment Problem

    – CSP representation: 187 finite integer do-main variables,

    – IP representation: 2024 Boolean variables,

    •A Packing Problem

    – CSP representation: 7 finite integer do-main variables, 2 constraints,

    – IP representation: 42 Boolean variables,18 constraints,

    •A Golf Scheduling Problem

    – CP representation: 176 variables,

    – IP representation 1: 2574 variables,

    – IP representation 2: 592 variables.

    37

  • Objectives

    •Define formallyConstraint SatisfactionProblems (CSP),

    •Modeling: representation of a problem asa CSP.

    • Clarify various aspects of modeling:

    – in general several natural representationsexist,

    – some representations straightforward, somenon-trivial,

    – some representations rely on a “background”theory.

    • Show the generality of the notion of a CSP.

    38