Problem Program Search Improvements
Chapter 11: Limits of Propagation (Costas Array)
Helmut Simonis
Cork Constraint Computation Centre Computer Science Department
University College Cork Ireland
ECLiPSe ELearning
OverviewProblem Program Search 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.
Problem Program Search Improvements
Outline
1 Problem
2 Program
3 Search
4 Improvements
Problem Program Search Improvements
What we want to introduce
Improving propagation does not always pay For some problems, simple backtracking is best CP may not always be the best method
CP should always be fastest way to model problem Consider time to target
Time required to run program Time required to write program
Problem: Costas Array (Antenna design, sonar systems)
Problem Program Search Improvements
Outline
1 Problem
2 Program
3 Search
4 Improvements
Problem Program Search Improvements
Problem Definition
Costas Array (Wikipedia)
A Costas array (named after John P. Costas) can be regarded
geometrically as a set of N points lying on the squares of a NxN
checkerboard, such that each row or column contains only one
point, and that all of the N(N - 1)/2 vectors between each pair of
dots are distinct.
Problem Program Search Improvements
Example (Size 6)
X1 X2 X3 X4 X5 X6
1
2
3 4
5
Problem Program Search Improvements
Model
A variable for each column, ranging from 1 to N A list of N variables for the columns
A difference variable between each ordered pair of variables
alldifferent constraint between variables
alldifferent constraints for all differences
Problem Program Search Improvements
Model
X 1 X 2 X 3 X 4
X 5
D 56 D 45 D 34 D 23 D 12
D 46 D 35 D 24 D 13
D 36 D 25 D 14
D 26 D 15
D 16
Problem Program Search Improvements
Model
X 1 X 2 X 3 X 4 X 5 X 6
D 56 D 45 D 34 D 23 D 12
D 46 D 35 D 24 D 13
D 36 D 25 D 14
D 26 D 15
D 16
Problem Program Search Improvements
Model
X 1 X 2 X 3 X 4
X 5
D 56 D 45 D 34 D 23 D 12
D 46 D 35 D 24 D 13
D 36 D 25 D 14
D 26 D 15
D 16
Problem Program Search Improvements
Model
X 1 X 2 X 3 X 4 X 5 X 6
D 56 D 45 D 34 D 23 D 12
D 46 D 35 D 24 D 13
D 36 D 25 D 14
D 26 D 15
D 16
Problem Program Search Improvements
Model
X 1 X 2 X 3 X 4
X 5
D 56 D 45 D 34 D 23 D 12
D 46 D 35 D 24 D 13
D 36 D 25 D 14
D 26 D 15
D 16
Problem Program Search Improvements
Model
X 1 X 2 X 3 X 4 X 5 X 6
D 56 D 45 D 34 D 23 D 12
D 46 D 35 D 24 D 13
D 36 D 25 D 14
D 26 D 15
D 16
Problem Program Search Improvements
Model
X 1 X 2 X 3 X 4
X 5
D 56 D 45 D 34 D 23 D 12
D 46 D 35 D 24 D 13
D 36 D 25 D 14
D 26 D 15
D 16
Problem Program Search Improvements
Example
X1 X2 X3 X4 X5 X6
1
2
3 4
5
6
1 2 5 4 6 3
-3 2 -1
3 1
-1 1 2 4
-2 4 3
1 5
2
Problem Program Search Improvements
Example
X1 X2 X3 X4 X5 X6
1
2
3 4
5
6
1 2 5 4 6
-3 2 -1
3 1
-1 1 2 4
-2 4 3
1 5
2
Problem Program Search Improvements
Example
X1 X2 X3 X4 X5 X6
1
2
3 4
5
6
1 2 5 4 6 3
-3 2 -1
3 1
-1 1 2 4
-2 4 3
1 5
2
Problem Program Search Improvements
Example
X1 X2 X3 X4 X5 X6
1
2
3 4
5
6
1 2 5 4 6
-3 2 -1
3 1
-1 1 2 4
-2 4 3
1 5
2
Problem Program Search Improvements
Example
X1 X2 X3 X4 X5 X6
1
2
3 4
5
6
1 2 5 4 6 3
-3 2 -1
3 1
-1 1 2 4
-2 4 3
1 5
2
Problem Program Search Improvements
Example
X1 X2 X3 X4 X5 X6
1
2
3 4
5
6
1 2 5 4 6
-3 2 -1
3 1
-1 1 2 4
-2 4 3
1 5
2
Problem Program Search Improvements
Example
X1 X2 X3 X4 X5 X6
1
2
3 4
5
6
1 2 5 4 6 3
-3 2 -1
3 1
-1 1 2 4
-2 4 3
1 5
2
Problem Program Search Improvements
Outline
1 Problem
2 Program
3 Search
4 Improvements
Problem Program Search Improvements
Declarations
:-module(costas).
:-export(top/0).
:-lib(ic).
Problem Program Search Improvements
Main Program
top:-
(for(N,3,20) do costas(N,_) ).
costas(N,L):-
length(L,N), L :: 1..N,
alldifferent(L),
L = [_|L1],
diffs(L,L1),
Problem Program Search Improvements
Differences
diffs(_,[]).
diffs(L,[H|T]):-
diff_pairs(L,[H|T],Diffs), alldifferent(Diffs),
diffs(L,T).
diff_pairs(_,[],[]).
diff_pairs([X|X1],[Y|Y1],[D|D1]):- X #= Y+D,
diff_pairs(X1,Y1,D1).
Problem Program Search Improvements
Outline
1 Problem
2 Program
3 Search
4 Improvements
Problem Program Search Improvements
Basic Model
Problem Program Search Improvements
Basic Model
1
1
Problem Program Search Improvements
Basic Model
1 2
2
1
Problem Program Search Improvements
Basic Model
1 2 3
4
2
1
Problem Program Search Improvements
Basic Model
1 2 3 4
3
4
2
1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
6 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5 6
10 6 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5 6
10 11 6 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5 6
10 11 12 6 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5 6
10 11
8
5 12 6 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5 6
10 11
8
5 7 12 6 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2
6 7 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7
6 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7 6
11 6 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7 6
11 12 6 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7
1 2
6 7 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7
1 2
6
6
11 7 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7
1 2
6
6
11 12 7 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7
1
6
1
7 9 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7
1 2
6
1 2
7 9 10 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7
1 2
6
1 2
7 9
8
5 10 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7
1 2
6
1 2
7 9
8
5 6 10 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
7
1 2
6
1 2
7 9
8
5 6 7 10 8 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6 7 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
10
11 7 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
10
11 12 7 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
1
7 10 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
1 2
7
12
5 10 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
1 2
7
12
5 6 10 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
1 2
7
12
5 6 7 10 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
1 2
7
12
5 6
8
6 7 10 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
1 2
7
12
5 6
8
6 11 7 10 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
1 2
7
12
5 6
8
6 11 12 7 10 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
11
5 6
1 2
7
2 5
10 11 8 9 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
4
8 10 9
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
4 10
8 10 11 9
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
4 10
8 10
8
5 11 9
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
7
6 7
4 10
8 10
8
5 6 11 9
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2
6 7
4
8
6
9 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
6
5 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
6
5 6 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
6
5 6 7 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
6
5 6
8
5 7 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
6
5 6
8
5 6 7 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
6
5 6
1
7 8 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
6
5 6
1 2
7
8
5 8 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
6
5 6
1 2
7
8
5 6 8 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
6
5 6
1 2
7
8
5 6 7 8 10 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2
6 7
4
8
6
9
3
10 11 3
4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
6
5 11 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
6
5 6 11 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
6
5 6 7 11 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
6
5 6 7 8 11
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
6
5 6 7 8 9 11
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11 12 3
4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6
5 12 3
4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6 8
9 5 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6 8
9 10 5 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6 8
9 10 11 5 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6
1 3
5 6 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6
1 3
5 6 7 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6
1 3
5 6
7
10 7 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6
1 3
5 6
7
10 11 7 12 3 4 2 1Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
7
10
9
5 11 7 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
7
10
9
5 6 11 7 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11 6
1 3
5 6 7 10 9 5 6 8
11 7 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6
1 3
5 6
2 4
7 8 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11
6
1 3
5 6
2 4
7
7
6 8 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
2 4
7
7
6 7 8 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11 6
1 3
5 6
2 4
7 7 6 7 9 8 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
2 4
7
7
6 7 9 10 8 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
2 4
7 7 6 7 9 10 11
8 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
2 4
7 7 6 7 9 10
8 5 11 8 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
2 4
7 7 6 7 9 10
8 5 6 11 8 12 3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
2 4
7
2 6 8 9 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
2 4
7
2 6 8
9
5 9 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11 6
1 3
5 6
2 4
7
2 6
8 9 5 6 9 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11 6
1 3
5 6
2 4
7
2 6
8
1 2
9 10 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7
10
1 5
11 6
1 3
5 6
2 4
7
2 6
8
1 2
9 7
6 10 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4 5
2 4
6 7
4 8
8
6 15
9
3 7 10
1 5 11
6
1 3
5 6
2 4
7
2 6
8
1 2 9
7
6 7 10 12
3 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25
3 5
4
2
1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
4
2
1
Problem Program Search Improvements
Basic Model
1 2 3 4
25
3 5 6 7
4
2
1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
8 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7 5
6 8 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7 5
6 9 8 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7 5
6 9 10 8 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7 5
6 9 10 11 8 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1
8 9 10 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
8
5 10 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
8
5 6 10 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
8
5 6 8 10 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
8
5 6 8 9 10 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
6 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11 8
5 6 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11 8
5 8 6 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11 8
5 8 9 6 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11 8
5 8 9 10 6 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1 4
6 8 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1 4
6
9
6 8 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1 4
6
9
6 9 8 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1 4
6
9
6 9 10 8 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1 4
6
1 3
8 9 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1
6
1
8 9 10 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1 4
6
1 3
8 9
8
5 10 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1 4
6
1 3
8 9
8
5 6 10 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1 4
6
1 3
8 9
8
5 6 8 10 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
11
1 4
6
1 3
8 9
8
5 6 8 9 10 11 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12
11 12 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12
11
10
5 12 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12 11
10 8
10 5 12 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12 11
10 8
10 11 5 12 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12
11
10
1 2
5 6 12 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12
11
10
1
5 6 8 12 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12
11
10
1 2
5 6 8 9 12 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12 11
10
1 2
5 6 8
11
6 9 12 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12 11
10
1 2
5 6 8
11
6 8 9 12 3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12
11
10
1
5 6 8
1
9 10 12
3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12 11
10
1 2
5 6 8
1 2 9
8
9 10 12
3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6 7
1 4
8 9
1 4
10
4 12 11
10
1 2
5 6 8
1 2 9
8
9 11 10 12
3 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10 11 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
8
6 11 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
8 11
3 6 11 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
8 11
3 8 6 11 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
8
1
6 8 11 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
8
1 2
6 8 9 11 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
2
11 12 5
7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
2 4
11
8
6 12 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
2 4 11
8 7
9 6 12 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
2 4 11
8 7
9 10 6 12 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
2 4 11
8 7
9 10 11 6 12 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
2 4
11
8
1 3
6 8 12 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
2 4
11
8
1
6 8 9 12 5 7 4 2 1
Problem Program Search Improvements
Basic Model
1 2 3 4
25 58
3 5 6
6
11 29
3
5
6 8 9 10
2 4 11
8
1 3
6 8
9
3 9 12 5 7 4 2 1