Chapter 20: Working with Implications Helmut Simonis Cork - - PowerPoint PPT Presentation

chapter 20 working with implications
SMART_READER_LITE
LIVE PREVIEW

Chapter 20: Working with Implications Helmut Simonis Cork - - PowerPoint PPT Presentation

Problem Program Improvements Chapter 20: Working with Implications Helmut Simonis Cork Constraint Computation Centre Computer Science Department University College Cork Ireland ECLiPSe ELearning Overview Helmut Simonis Shikaku 1


slide-1
SLIDE 1

Problem Program Improvements

Chapter 20: Working with Implications

Helmut Simonis

Cork Constraint Computation Centre Computer Science Department University College Cork Ireland

ECLiPSe ELearning

Overview Helmut Simonis Shikaku 1

slide-2
SLIDE 2

Problem Program Improvements

Licence

This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. To view a copy of this license, visit http: //creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Helmut Simonis Shikaku 2

slide-3
SLIDE 3

Problem Program Improvements

Outline

1

Problem

2

Program

3

Improvements

Helmut Simonis Shikaku 3

slide-4
SLIDE 4

Problem Program Improvements

What we want to introduce

Solving a placement problem without specialized constraints Decomposition into pattern generation and set partitioning Using implications to propagate information

Helmut Simonis Shikaku 4

slide-5
SLIDE 5

Problem Program Improvements

Outline

1

Problem

2

Program

3

Improvements

Helmut Simonis Shikaku 5

slide-6
SLIDE 6

Problem Program Improvements

Problem Definition

Shikaku The puzzle is played in a given recti-linear grid. Some grid cells contain numbers. The task is to partition the grid area into rectangular rooms satisfying the conditions:

1

Each room contains exactly one number.

2

The area of the room is equal to the number in it.

4 9 3 4 12 8 6 8 6 8 6 5 12 9 4 9 3 4 12 8 6 8 6 8 6 5 12 9

Helmut Simonis Shikaku 6

slide-7
SLIDE 7

Problem Program Improvements

Solution Approaches

The right way The wrong way

Helmut Simonis Shikaku 7

slide-8
SLIDE 8

Problem Program Improvements

The Right Way (I)

Using one geost constraint (Carlsson, Beldiceanu et al.) Each room is an object with fixed surface Shapes defined by Width × Height = Surface Each room has x, y position and size w, h Each room must contain cell with hint Rooms must fit into given space Rooms do not overlap

Helmut Simonis Shikaku 8

slide-9
SLIDE 9

Problem Program Improvements

The Right Way (II)

Using regular (Lagerkvist, Pesant) 0/1 Variables xijk cell (i, j) belongs to room k Each cell must belong to exactly one room (equality) Use regular expression to describe possible shapes Disjunction of possible placements One regular constraint for each room Possible to combine regular expressions for multiple rooms

Helmut Simonis Shikaku 9

slide-10
SLIDE 10

Problem Program Improvements

The Right Way (III)

SMT?

Helmut Simonis Shikaku 10

slide-11
SLIDE 11

Problem Program Improvements

The Wrong Way (Naive)

Each room k has position xk, yk and size wk,hk Room k has fixed surface Sk = wk ∗ hk Room k contains fixed hint at Uk, Vk

xk ≤ Uk < xk + wk yk ≤ Vk < yk + hk

Any rooms k and l do not overlap

Helmut Simonis Shikaku 11

slide-12
SLIDE 12

Problem Program Improvements

Expressing Non-Overlap with Disjunctive

X2, Y2 W2 H2 X1, Y1 W1 H1

left X2 ≥ X1 + W1 Y1 ≥ Y2 + H2 above X1 ≥ X2 + W2 right Y2 ≥ Y1 + H1 below

Helmut Simonis Shikaku 12

slide-13
SLIDE 13

Problem Program Improvements

Problems

Weak propagation Width and Height not in sync Estimate for room surface much too low Disjunctive does not propagate much

Helmut Simonis Shikaku 13

slide-14
SLIDE 14

Problem Program Improvements

Idea

Problem decomposition

Phase 1: Generate possible placement pattern for each room Phase 2: Pick exactly one pattern for each room

Helmut Simonis Shikaku 14

slide-15
SLIDE 15

Problem Program Improvements

Phase 1: Pattern Generation

Solve with finite domains For each room, solve

Each room k has position xk, yk and size wk,hk Room k has fixed surface Sk = wk ∗ hk Room k contains fixed hint at Uk, Vk

xk ≤ Uk < xk + wk yk ≤ Vk < yk + hk

All other hints are outside the room

Expressed as negation of inside

Find all solutions

Helmut Simonis Shikaku 15

slide-16
SLIDE 16

Problem Program Improvements

Phase 1 Results

Possible placements for each room 1 ≤ p ≤ Pk Position xkp, ykp, size wkp,hkp Predicate q(k,p,i,j) pattern p of room k contains cell (i, j)

Helmut Simonis Shikaku 16

slide-17
SLIDE 17

Problem Program Improvements

Phase 2: Set Partitioning

0/1 integer variable zkp if pattern p is used for room k Select one pattern per room Cover every cell with exactly one pattern Constrain all variables which belong to pattern which contain cell

Helmut Simonis Shikaku 17

slide-18
SLIDE 18

Problem Program Improvements

Model Phase 2

solve zkp ∈ {0, 1} ∀k ∈ K :

  • 1≤p≤Pk

zkp = 1 ∀(i, j) ∈ Rect :

  • {k,p|q(k,p,i,j)}

zkp = 1

Helmut Simonis Shikaku 18

slide-19
SLIDE 19

Problem Program Improvements

Model Phase 2

solve zkp ∈ {0, 1} ∀k ∈ K :

  • 1≤p≤Pk

zkp = 1 ∀(i, j) ∈ Rect :

  • {k,p|q(k,p,i,j)}

zkp = 1 The first set of equations is subsumed by the second

Helmut Simonis Shikaku 19

slide-20
SLIDE 20

Problem Program Improvements

Intuition Behind Constraints

If only one pattern remains possible for a room, this must be chosen If a pattern is selected for a room, no other pattern can be selected Every cell must be covered by a pattern If a pattern covering some cell is selected, no other pattern covering the same cell may be selected

Helmut Simonis Shikaku 20

slide-21
SLIDE 21

Problem Program Improvements

Outline

1

Problem

2

Program

3

Improvements

Helmut Simonis Shikaku 21

slide-22
SLIDE 22

Problem Program Improvements

Top Level

:-module(pure). :-export(top/0). :-use_module(structures). :-use_module(data). :-use_module(utility). :-lib(ic). top:- data(Set,Nr,Grade,X,Y,Matrix), solve(Set,Nr,Grade,X,Y,Matrix).

Helmut Simonis Shikaku 22

slide-23
SLIDE 23

Problem Program Improvements

Structure Definitions

:-module(structures). :-export struct(hint(i,j,n,d)). :-export struct(rectangle(x,y,w,h, n, % size of rectangle k, % hint nr, links alternative rectangles cnt, % id of rectangle var % 0/1 variable, design used )). :-export struct(overlap(point,cnt,k,var)).

Helmut Simonis Shikaku 23

slide-24
SLIDE 24

Problem Program Improvements

Sample Data

:-module(data). :-export(data/6). data(’nikoli-web’ ,0 ,easy,10 ,10 , []( [](x ,8 ,4 ,x ,x ,x ,x ,4 ,x ,x ), [](x ,x ,x ,x ,x ,x ,x ,6 ,x ,x ), [](x ,x ,x ,3 ,3 ,x ,x ,x ,x ,x ), [](x ,x ,x ,x ,x ,x ,2 ,x ,x ,x ), [](5 ,4 ,x ,x ,x ,x ,2 ,x ,x ,x ), [](x ,x ,x ,9 ,x ,x ,x ,x ,6 ,7 ), [](x ,x ,x ,8 ,x ,x ,x ,x ,x ,x ), [](x ,x ,x ,x ,x ,4 ,5 ,x ,x ,x ), [](x ,x ,4 ,x ,x ,x ,x ,x ,x ,x ), [](x ,x ,5 ,x ,x ,x ,x ,5 ,6 ,x ) )).

Helmut Simonis Shikaku 24

slide-25
SLIDE 25

Problem Program Improvements

Main Program (I)

solve(Set,Nr,Grade,X,Y,Matrix):- writeln(solving(Set,Nr,Grade)), (multifor([I,J],[1,1],[X,Y]), fromto([],A,A1,Hints), fromto(0,B,B1,_Types), param(Matrix) do hint_cell(Matrix,I,J,A,A1,B,B1) ), create_rectangles(Hints,[],[], Rectangles,X,Y), numbering(Rectangles), extract_vars(Rectangles,var of rectangle,List), List :: 0..1, ...

Helmut Simonis Shikaku 25

slide-26
SLIDE 26

Problem Program Improvements

Main Program (II)

... create_overlap(Rectangles,Overlap), group_by(point of overlap,Overlap,Grouped), (foreach(_-Group,Grouped) do extract_vars(Group,var of overlap,List), sum(List) #= 1 ), search(List,0,input_order,indomain, complete,[]), writeln(List).

Helmut Simonis Shikaku 26

slide-27
SLIDE 27

Problem Program Improvements

Extracting Hints

hint_cell(Matrix,I,J, A,[hint{i:I,j:J,n:N,d:D1}|A], D,D1):- subscript(Matrix,[I,J],N), integer(N), !, D1 is D+1. hint_cell(_Matrix,_I,_J,A,A,B,B).

Helmut Simonis Shikaku 27

slide-28
SLIDE 28

Problem Program Improvements

Creating Pattern

create_rectangles([],_,Rectangles,Rectangles, _Width,_Height). create_rectangles([Hint|Hints],Old,RIn,ROut, Width,Height):- findall(Rectangle, rectangle(Hint,Hints,Old,Width,Height, Rectangle), Rectangles), append(Rectangles,RIn,R1), create_rectangles(Hints,[Hint|Old],R1,ROut, Width,Height).

Helmut Simonis Shikaku 28

slide-29
SLIDE 29

Problem Program Improvements

Phase 1 FD Model

rectangle(hint{i:I,j:J,n:N,d:K},Hints,Old, Width,Height, rectangle{x:X,y:Y,w:W,h:H,n:N,k:K}):- X :: 1..Width, Y :: 1..Height, W :: 1..N, H :: 1..N, W*H #= N, X+W-1 #=< Width, Y+H-1 #=< Height, inside(X,Y,W,H,I,J),

  • utsides(X,Y,W,H,Hints),
  • utsides(X,Y,W,H,Old),

search([X,Y,W,H],0,input_order,indomain, complete,[]).

Helmut Simonis Shikaku 29

slide-30
SLIDE 30

Problem Program Improvements

Phase 1 FD Model Utilities

inside(X,Y,W,H,I,J):- I #>= X, J #>= Y, I #< X+W, J #< Y+H.

  • utsides(X,Y,W,H,L):-

(foreach(hint{i:I,j:J},L), param(X,Y,W,H) do

  • utside(X,Y,W,H,I,J)

).

  • utside(X,Y,W,H,I,J):-

I #< X or J #< Y or I #>=X+W or J #>= Y+H.

Helmut Simonis Shikaku 30

slide-31
SLIDE 31

Problem Program Improvements

Creating Overlap Structures

create_overlap(Rectangles,Overlap):- (foreach(Rect,Rectangles), fromto([],A,A1,Overlap) do create_overlap1(Rect,A,A1) ). create_overlap1(rectangle{x:X,y:Y,w:W,h:H, cnt:Cnt,k:K,var:Var},In,Out):- (multifor([I,J],[X,Y],[X+W-1,Y+H-1]), fromto(In,A, [overlap{point:point(I,J), cnt:Cnt,k:K,var:Var}|A],Out), param(Cnt,Var,K) do true ).

Helmut Simonis Shikaku 31

slide-32
SLIDE 32

Problem Program Improvements

Utility

extract_vars(Structures,Arg,List):- (foreach(Struct,Structures), param(Arg), foreach(X,List) do arg(Arg,Struct,X) ). numbering(Rectangles):- (foreach(rectangle{cnt:C},Rectangles), count(C,1,_) do true ).

Helmut Simonis Shikaku 32

slide-33
SLIDE 33

Problem Program Improvements

Result After Constraint Setup

6

36

2

35

6

34

2

33

4

32

4

31

4

30

6

29

6

28

6

27

4

26

3

25

4

24

6

23

9

22

3

21

4

20

6

19

4

18

8

17

3

16

8

15

4

14

4

13

2

12

4

11

4

10

6

9

4

8

6

7

9

6

6

5

4

4

6

3

9

2

4

1

Helmut Simonis Shikaku 33

slide-34
SLIDE 34

Problem Program Improvements

Observation

Only small part of problem filled in Missing information Some cells must belong to a room regardless of pattern used

Helmut Simonis Shikaku 34

slide-35
SLIDE 35

Problem Program Improvements

Missing Information, Example

6

36

2

35

6

34

2

33

4

32

4

31

4

30

6

29 29 29

6

28

6

27

4

26

3

25

4

24

6

23

9

22

3

21

4

20

6

19

4

18

8

17

3

16

8

15

4

14

4

13

2

12

4

11

4

10

6

9

4

8

6

7

9

6

6

5

4

4

6

3

9

2

4

1

Helmut Simonis Shikaku 35

slide-36
SLIDE 36

Problem Program Improvements

Outline

1

Problem

2

Program

3

Improvements

Helmut Simonis Shikaku 36

slide-37
SLIDE 37

Problem Program Improvements

Adding View

Variables which indicate which room some cell belongs to 0/1 integer variables wijk, whether cell (i, j) belongs to room k Most wijk entries are zero, as room k does not cover cell (i, j) Each cell must belong to a room

∀(i, j) :

  • k∈K wijk = 1

Helmut Simonis Shikaku 37

slide-38
SLIDE 38

Problem Program Improvements

Channeling Constraints

A cell belongs to a room, if one of the pattern covering the cell is selected Linear constraint

∀(i, j, k) :

  • {p|q(k,p,i,j)} zkp = wijk

Implications

∀(k, p, i, j) s.t. q(k, p, i, j) : zkp ⇒ wi,j,k

Propagation is equivalent

Helmut Simonis Shikaku 38

slide-39
SLIDE 39

Problem Program Improvements

Result After Improvement

6

36

2

35

6

34

2

33

4

32

4

31

4

30

6

29

6

28

6

27

4

26

3

25

4

24

6

23

9

22

3

21

4

20

6

19

4

18

8

17

3

16

8

15

4

14

4

13

2

12

4

11

4

10

6

9

4

8

6

7

9

6

6

5

4

4

6

3

9

2

4

1 2 2 2 3 3 3 3 3 3 4 10 2 2 2 5 5 6 6 6 11 7 8 9 10 2 2 2 5 5 6 6 6 11 12 8 13 14 5 5 6 6 6 15 8 16 17 18 18 18 18 15 29 16 19 20 21 22 23 24 25 26 27 28 29 30 31 31 32 27 33 30 34 34 35 36

9 1 13 9 1 10 1 15 7 4 7 4 7 4 8 4 9 1 9 1 13 10 9 15 11 7 12 7 4 8 4 9 1 13 10 9 15 11 7 27 15 12 7 12 8 4 29 13 9 1 16 13 9 14 13 10 14 13 14 13 15 11 27 15 7 24 15 12 21 15 4 29 16 22 16 13 22 16 13 10 22 17 26 22 17 14 22 17 14 15 11 27 15 7 24 15 21 15 36 8 25 22 13 30 22 19 10 22 19 17 26 22 19 17 22 19 17 14 19 17 20 19 23 20 23 20 15 11 27 23 20 15

272421 15 7

24 21 36 21 29 22 29 22 16 25 22 13 30 22 26 22

262322 191714

23 22 19 17 31 23 22 19 23 22 20 19 32 23 22 20 27 24 23 15 27 24 23 15

272423 15 7

28 24 21 36 28 24 29 25 29 25 30 26 25 30 26 25 26 17 31 26 19 17 31 26 19

323127 2319

32 27 23 32 27 23 27 23 27 23 15 28 27 24 36 28 33 30 29 30 25 30 26 31 30 26 31 30 26 32 31 35 32 23 32 27 23 32 27 15 36 28 27 24 36 28 36 28 33 29 33 30 25 34 30 34 26 34 31 34 31 35 34 32 36 35 36 27 15 36 27 36 28 27 24 36 28

Helmut Simonis Shikaku 39

slide-40
SLIDE 40

Problem Program Improvements

Not What We Expected

Some cells are marked Others are still missing Cells marked can only be covered by one room Why is this happening?

Helmut Simonis Shikaku 40

slide-41
SLIDE 41

Problem Program Improvements

Missing Reasoning: Example

A, B, C ∈ {0, 1} A + B + C = 1 ∧ A + B = 1 ⇒ C = 0 This does not happen! Constraints only see variables, not other constraints We would need global constraint on sets of equations for this

Helmut Simonis Shikaku 41

slide-42
SLIDE 42

Problem Program Improvements

Implications Too Weak

We can add redundant constraints If a cell belongs to a room, no pattern for other rooms using that cell can be selected

∀(i, j, k) :

  • {k′,p′|q(k′,p′,i,j)∧k=k′} zk′p′ + wijk = 1

∀(i, j, k, k′, p′) s.t. q(k′, p′, i, j) : wijk ⇒ ¬zk′p′

If a cell belongs to a room, no pattern for this room which does not cover the cell can be selected

∀(i, j, k) :

  • {p|¬q(k,p,i,j)} zkp + wijk = 1

∀(i, j, k, p) s.t. ¬q(k, p, i, j) : wijk ⇒ ¬zkp

Helmut Simonis Shikaku 42

slide-43
SLIDE 43

Problem Program Improvements

Result After Adding Redundant Constraints

6

36

2

35

6

34

2

33

4

32

4

31

4

30

6

29

6

28

6

27

4

26

3

25

4

24

6

23

9

22

3

21

4

20

6

19

4

18

8

17

3

16

8

15

4

14

4

13

2

12

4

11

4

10

6

9

4

8

6

7

9

6

6

5

4

4

6

3

9

2

4

1 1 1 1 2 2 2 3 3 3 3 3 3 7 7 4 4 8 9 9 10 10 2 2 2 5 5 6 6 6 11 7 7 4 4 8 9 9 10 10 2 2 2 5 5 6 6 6 11 7 7 12 12 8 9 9 13 14 14 14 14 5 5 6 6 6 11 15 15 15 15 8 29 16 13 22 22 22 17 17 18 18 18 18 11 15 15 15 15 36 29 16 13 22 22 22 17 17 19 19 20 20 20 20 21 21 21 36 29 16 13 22 22 22 17 17 19 19 32 23 23 24 24 24 24 36 29 25 25 25 26 26 17 17 19 19 32 23 23 27 27 28 28 36 29 33 30 30 26 26 31 31 31 31 32 23 23 27 27 28 28 36 29 33 30 30 34 34 34 34 34 34 32 35 35 27 27 28 28 36

Helmut Simonis Shikaku 43

slide-44
SLIDE 44

Problem Program Improvements

Problem Solved?

More to be done Look through example problems Find cases where problem is not solved by propagation Try and find redundant constraints

Helmut Simonis Shikaku 44

slide-45
SLIDE 45

Problem Program Improvements

Example

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 94 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 94 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

21 3 21 3 21 3 21 3 34 21 34 21 34 21 34 21 34 21 47 34 47 21 47 21 47 21 59 47 59 47 76 47 76 47 76 47 107 76 107 76 102 94 10794 76 102 94 107 94 104 100 104 100 105 100 105 100 107 102 94 104 100 105 104 100 105 100 107 102 94 107 94 107 94

Helmut Simonis Shikaku 45

slide-46
SLIDE 46

Problem Program Improvements

Reasoning on Space Required

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 94 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 94 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

Helmut Simonis Shikaku 46

slide-47
SLIDE 47

Problem Program Improvements

Space required for rooms 76, 94, 102, 107

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 94 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 94 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

Helmut Simonis Shikaku 47

slide-48
SLIDE 48

Problem Program Improvements

How to model this?

Another view: finite domain variables for room assignment Variables vij state that cell (i, j) belongs to room vij Connection to wijk variables via bool_channel(vij,[wij1,wij2,...,wij|K|]) constraints Each value must occur specified time gcc constraint with fixed counts

Helmut Simonis Shikaku 48

slide-49
SLIDE 49

Problem Program Improvements

Improvement

gcc reasons on all hints together Just adding

(i,j) wijk = Sk does not do this

Helmut Simonis Shikaku 49

slide-50
SLIDE 50

Problem Program Improvements

Deduction by gcc (partial)

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 76 76 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 94 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 94 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

Helmut Simonis Shikaku 50

slide-51
SLIDE 51

Problem Program Improvements

Result

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 34 34 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 76 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 76 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 107 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 107 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 102 94 107 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 102 94 107 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 94 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 94 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 94 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 94 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

104 100 104 100 105 100 105 100 104 100 105 104 100 105 100

Helmut Simonis Shikaku 51

slide-52
SLIDE 52

Problem Program Improvements

Unsolved Part

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 34 34 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 76 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 76 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 107 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 107 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 102 94 107 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 102 94 107 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 94 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 94 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 94 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 94 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

104 100 104 100 105 100 105 100 104 100 105 104 100 105 100

Helmut Simonis Shikaku 52

slide-53
SLIDE 53

Problem Program Improvements

What to do?

Pattern are pair-wise compatible with each other There is enough space But there is only one solution

Helmut Simonis Shikaku 53

slide-54
SLIDE 54

Problem Program Improvements

Looking more closely

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 34 34 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 76 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 76 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 107 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 107 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 102 94 107 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 102 94 107 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 94 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 94 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 94 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 94 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

104 100 104 100 105 100 105 100 104 100 105 104 100 105 100

Helmut Simonis Shikaku 54

slide-55
SLIDE 55

Problem Program Improvements

Looking more closely

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 34 34 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 76 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 76 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 107 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 107 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 102 94 107 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 102 94 107 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 94 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 94 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 94 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 94 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

104 100 104 100 105 100 105 100 104 100 105 104 100 105 100

Helmut Simonis Shikaku 55

slide-56
SLIDE 56

Problem Program Improvements

Looking more closely

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 34 34 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 76 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 76 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 107 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 107 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 102 94 107 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 102 94 107 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 94 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 94 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 94 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 94 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

104 100 104 100 105 100 105 100 104 100 105 104 100 105 100

Helmut Simonis Shikaku 56

slide-57
SLIDE 57

Problem Program Improvements

Looking more closely

6

149

8

148

6

147

4

146

8

145

4

144

4

143

2

142

5

141

3

140

4

139

4

138

2

137

2

136

8

135

6

134

3

133

6

132

2

131

9

130

4

129

4

128

6

127

5

126

4

125

3

124

3

123

4

122

6

121

7

120

4

119

4

118

8

117

6

116

4

115

6

114

5

113

4

112

2

111

2

110

6

109

6

108

8

107

3

106

4

105

4

104

3

103

4

102

4

101

6

100

8

99

3

98

6

97

7

96

3

95

6

94

4

93

4

92

6

91

6

90

4

89

5

88

8

87

9

86

4

85

3

84

2

83

2

82

3

81

10

80

3

79

7

78

6

77

5

76

10

75

5

74

6

73

3

72

6

71

3

70

4

69

4

68

6

67

8

66

8

65

7

64

6

63

2

62

3

61

4

60

2

59

4

58

4

57

6

56

5

55

3

54

6

53

5

52

4

51

6

50

2

49

6

48

8

47

3

46

4

45

3

44

8

43

4

42

6

41

6

40

6

39

3

38

6

37

2

36

6

35

4

34

6

33

6

32

3

31

8

30

4

29

4

28

5

27

4

26

10

25

8

24

3

23

6

22

10

21

2

20

6

19

4

18

6

17

4

16

8

15

3

14

2

13

3

12

4

11

4

10

4

9

6

8

6

7

2

6

8

5

2

4

4

3

5

2

9

1 1 1 1 1 1 1 1 1 2 2 2 2 2 6 7 7 7 17 3 3 30 8 8 8 4 5 5 5 5 5 5 5 5 10 6 7 7 7 17 3 3 30 8 8 8 4 9 9 9 9 15 15 15 15 10 11 11 11 11 17 21 21 30 12 12 12 13 13 14 14 14 15 15 15 15 10 16 16 25 25 17 21 21 30 18 22 22 22 19 19 19 19 19 19 20 20 10 16 16 25 25 17 21 21 30 18 22 22 22 23 23 23 24 24 24 24 24 24 24 24 25 25 17 21 21 30 18 26 26 27 27 27 27 27 28 28 28 28 33 33 33 25 25 29 21 21 30 18 26 26 31 31 31 32 32 32 32 32 32 33 33 33 25 25 29 34 34 30 35 35 35 35 35 35 36 36 37 37 37 37 37 37 38 38 38 29 34 34 43 43 39 39 39 40 40 40 40 40 40 41 41 41 42 42 42 42 29 47 47 43 43 39 39 39 44 44 44 49 45 45 41 41 41 46 46 46 55 51 47 47 43 43 48 48 48 48 48 48 49 45 45 50 50 50 50 50 50 55 51 47 47 43 43 52 52 52 52 52 53 53 53 53 53 53 54 54 54 73 55 51 47 47 56 56 56 56 56 56 57 57 57 57 58 58 63 63 63 64 73 55 51 59 59 60 60 60 60 70 61 61 61 62 62 58 58 63 63 63 64 73 55 65 65 76 66 66 66 66 70 71 71 67 67 67 67 67 67 68 72 64 73 69 65 65 76 66 66 66 66 70 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 71 71 75 75 75 75 75 88 68 72 64 73 69 65 65 76 74 91 77 77 77 78 78 78 78 78 78 78 88 68 79 64 80 69 90 90 76 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 64 80 84 90 90 107 74 91 85 81 86 86 86 82 87 87 87 87 88 83 79 89 80 84 90 90 107 74 91 85 81 86 86 86 92 92 92 92 93 93 93 93 89 80 84 102 94 107 103 91 85 95 95 95 96 96 96 96 96 96 96 97 97 89 80 98 102 94 107 103 99 99 99 99 100 100 100 101 97 97 89 80 98 102 94 107 103 99 99 99 99 104 104 105 105 101 97 97 106 80 98 102 94 107 108 108 108 108 108 108 109 109 109 109 109 109 101 110 110 106 80 111 111 94 107 116 112 112 112 112 113 113 113 113 113 118 118 101 114 114 106 80 115 115 94 107 116 129 117 117 117 117 117 117 117 117 118 118 123 114 114 119 80 115 115 132 120 116 129 121 121 121 121 121 121 122 122 122 122 123 114 114 119 124 124 124 132 120 116 129 125 125 125 125 126 126 126 126 126 131 123 127 127 119 128 128 138 132 120 116 129 130 130 130 130 130 130 130 130 130 131 136 127 127 119 128 128 138 132 120 116 133 133 133 134 134 134 140 135 135 135 135 136 127 127 137 137 142 138 132 120 139 139 139 139 134 134 134 140 135 135 135 135 141 141 141 141 141 142 138 132 120 147 147 147 143 143 144 144 140 145 145 145 145 145 145 145 145 146 146 146 146 120 147 147 147 143 143 144 144 148 148 148 148 148 148 148 148 149 149 149 149 149 149

104 100 104 100 105 100 105 100 104 100 105 104 100 105 100

Helmut Simonis Shikaku 57

slide-58
SLIDE 58

Problem Program Improvements

As Equations

For one cell we have

a104 + c100 = 1

For the other cell we have

a104 + c100 + a105 = 1 Implies a105 = 0 Similar, a104 = 0 Therefore c100 = 1

Helmut Simonis Shikaku 58

slide-59
SLIDE 59

Problem Program Improvements

All done? No, One Problem Still Open

3

209

3

208

2

207

3

206

2

205

2

204

5

203

4

202

2

201

2

200

4

199

4

198

5

197

4

196

2

195

2

194

6

193

2

192

2

191

4

190

4

189

3

188

3

187

3

186

4

185

4

184

3

183

4

182

2

181

4

180

3

179

3

178

2

177

2

176

2

175

3

174

2

173

4

172

3

171

6

170

4

169

4

168

2

167

2

166

4

165

2

164

4

163

3

162

2

161

4

160

3

159

2

158

4

157

3

156

4

155

7

154

4

153

2

152

4

151

3

150

2

149

4

148

3

147

2

146

3

145

2

144

2

143

4

142

4

141

3

140

3

139

4

138

6

137

4

136

2

135

4

134

2

133

12

132

2

131

3

130

4

129

2

128

4

127

6

126

4

125

4

124

3

123

2

122

2

121

3

120

12

119

6

118

6

117

3

116

4

115

2

114

2

113

4

112

2

111

2

110

3

109

2

108

4

107

3

106

9

105

5

104

6

103

2

102

8

101

12

100

6

99

2

98

6

97

4

96

4

95

6

94

4

93

2

92

5

91

4

90

3

89

6

88

5

87

3

86

4

85

4

84

3

83

8

82

8

81

2

80

2

79

6

78

3

77

2

76

2

75

6

74

6

73

3

72

2

71

4

70

9

69

4

68

2

67

2

66

2

65

2

64

2

63

3

62

4

61

3

60

2

59

4

58

2

57

2

56

2

55

3

54

2

53

2

52

3

51

4

50

2

49

2

48

2

47

2

46

2

45

4

44

2

43

3

42

4

41

3

40

3

39

3

38

3

37

4

36

4

35

4

34

2

33

4

32

2

31

2

30

2

29

3

28

3

27

4

26

4

25

2

24

6

23

4

22

3

21

2

20

2

19

2

18

5

17

4

16

2

15

4

14

3

13

6

12

3

11

2

10

2

9

6

8

3

7

4

6

4

5

2

4

4

3

3

2

4

1 8 8 1 1 2 2 2 3 17 4 4 5 5 5 5 6 6 7 7 7 14 8 8 1 1 9 9 23 3 17 10 11 11 11 12 12 6 6 13 20 27 14 8 8 15 15 16 16 23 3 17 10 25 25 18 12 12 26 19 13 20 27 14 21 21 21 22 16 16 23 3 17 24 25 25 18 12 12 26 19 13 34 27 14 35 28 42 22 36 29 23 30 17 24 31 31 38 32 39 26 33 40 34 41 41 35 28 42 22 36 29 23 30 37 37 37 45 38 32 39 26 33 40 34 41 41 35 28 42 22 36 43 23 44 44 44 44 45 38 32 39 46 46 40 34 47 68 35 48 69 49 36 43 50 50 51 51 51 52 52 32 53 53 54 54 54 47 68 55 48 69 49 56 56 50 50 57 58 58 65 59 59 60 60 60 67 61 61 68 55 62 69 63 63 70 70 64 57 58 58 65 73 73 73 66 66 67 61 61 68 75 62 69 81 76 70 70 64 71 72 72 72 73 73 73 74 74 74 74 74 74 75 62 69 81 76 77 77 77 71 78 78 78 78 78 78 79 79 80 84 84 89 90 95 69 81 85 85 82 82 82 82 82 82 82 82 83 83 83 80 84 84 89 90 95 69 81 85 85 86 86 86 87 87 87 87 87 88 88 88 88 88 88 89 90 95 69 81 91 91 91 91 91 92 93 93 101 101 96 94 94 94 94 94 94 90 95 69 81 104 100 100 100 100 92 93 93 101 101 96 102 97 97 97 98 98 99 99 99 81 104 100 100 100 100 105 105 105 101 101 96 102 97 97 97 103 103 99 99 99 81 104 100 100 100 100 105 105 105 101 101 96 106 106 106 111 103 103 107 107 107 107 104 108 109 109 109 105 105 105 110 110 119 119 119 119 111 103 103 112 112 113 113 104 108 114 114 117 117 117 118 118 118 119 119 119 119 115 115 120 112 112 122 116 116 116 137 123 117 117 117 118 118 118 119 119 119 119 115 115 120 121 121 122 130 127 127 137 123 132 132 132 132 124 124 124 124 125 125 125 125 120 126 126 126 130 127 127 137 123 132 132 132 132 139 128 129 129 129 129 141 148 135 126 126 126 130 131 131 137 151 132 132 132 132 139 128 133 133 134 134 141 148 135 142 142 136 136 136 136 137 151 138 138 138 138 139 140 140 140 134 134 141 148 155 142 142 156 143 144 144 137 151 145 145 145 153 146 146 147 147 147 141 148 155 169 149 156 143 150 150 150 151 158 152 153 154 154 154 154 154 154 154 155 169 149 156 170 170 164 157 157 158 159 160 161 161 162 155 169 163 163 170 170 164 157 157 165 166 167 168 168 162 175 169 163 163 170 170 171 172 173 174 168 168 162 175 196 183 176 176 177 178 179 180 181 182 182 196 183 190 190 184 185 186 187 188 189 196 183 190 190 191 198 192 193 193 194 195 189 196 197 197 197 197 197 198 199 200 201 202 202 202 203 203 203 203 203 204 204 205 206 207 208 208 209 209

159 153 165 152 159 153 165 159 165 159 152 160 159 153 166 160 159 167 160 174 160 172 165 179 165 165 159 173 166 165 153 167 166 160 174 167 184 171 178 172 171 185 172 165 179 172 165 186 173 172 159 180 173 166 187 180 174 160 181 174 167 184 178 177 198 184 178 171 185 179 178 172

185 179 178 172 165

186 180 179 180 179 173 187 181 180 160 182 181 174 188 182 189 182 191 184 177 198 185 184 171 185 184 178 192 185 184 172 186 185 179 193 187 186 180 193 187 186 180 188 187 181 194 188 187 174 195 188 182 189 188 182 191 184 198 192 178 199 193 192 185

206 199 193 185 179

200 193 186 193 187 201 194 193 195 194 188 195 189 205 199 198 199 192 206 200 199 200 193 207 193 201 193 187 202 201 194 202 189 206 205 199 206 199 206 200 207 206 208 207 209 208 209 189

Helmut Simonis Shikaku 59

slide-60
SLIDE 60

Problem Program Improvements

Also Open with geost (Image: N. Beldiceanu)

Helmut Simonis Shikaku 60

slide-61
SLIDE 61

Problem Program Improvements

Results (I)

Set Nr Grade X Y K Fix Alt Cov Ini Set Red GCC Sub SAC nikoli-web easy 10 10 20 3 80 6 nikoli-web 1 easy 10 10 14 2 81 5 nikoli-web 2 easy 10 10 16 1 83 2 nikoli-web 3 easy 10 10 28 3 96 12 nikoli-web 4 easy 10 18 44 15 78 78 nikoli-web 5 medium 10 18 38 3 115 21 nikoli-web 6 medium 10 18 36 1 210 3 153 50 nikoli-web 7 medium 14 24 68 4 293 16 nikoli-web 8 hard 14 24 70 8 380 17 nikoli-web 9 hard 20 36 128 4 872 8 196 nikoli-web 10 hard 20 36 120 1 986 1 774 627 36 36 giant easy 7 7 12 2 46 2 giant 1

  • 35

21 149 1002 2 995 345 29 7 giant 2

  • 35

21 189 888 5 855 324 giant 3

  • 35

21 209 5 1023 6 830 583 256 256 133 giant 4

  • 35

21 190 2 849 8 495 70 giant 5

  • 35

21 137 1 990 3 929 657 giant 6

  • 35

21 160 2 900 5 323 113 giant 7

  • 35

21 135 4 1111 4 984 866 7 7 giant 8

  • 35

21 140 1 979 3 943 646 Helmut Simonis Shikaku 61

slide-62
SLIDE 62

Problem Program Improvements

Results (II)

Set Nr Grade X Y K Fix Alt Cov Ini Set Red GCC Sub SAC giant 1701 hard 45 31 255 10 1731 25 617 178 giant 1702 hard 45 31 206 3 1727 11 1497 277 giant 1801 hard 45 31 189 12 1468 35 giant 1802 hard 45 31 276 11 1517 34 769 217 giant 1901 hard 45 31 188 8 1443 36 148 18 giant 1902 hard 45 31 213 4 1813 11 1449 1018 giant 2001 hard 45 31 221 16 1217 92 giant 2002 hard 45 31 278 6 1617 20 1259 758 Helmut Simonis Shikaku 62

slide-63
SLIDE 63

Problem Program Improvements

Why Model the Wrong Way?

We want to mimic human reasoning Human don’t have a built-in geost constraint Most humans use rules to describe solution process

If a cell can only be covered by one room, then it must be assigned to the room

Both views (decide between pattern and assign cell to room) are used by humans At some point people

Either invent special global constraints Or use SAC

Helmut Simonis Shikaku 63

slide-64
SLIDE 64

Problem Program Improvements

Conclusions

Shikaku - interesting little puzzle Solved by decomposition and reasoning on implications Could be solved by strong global constraint We use incremental process adding constraints as required Close to human solving method One open problem left, same for geost (M. Carlsson)

Helmut Simonis Shikaku 64