G5BAIP Artificial Intelligence Programming

29
G53CLP Constraint Logic Programming Search Orders in CSP Dr Rong Qu

Transcript of G5BAIP Artificial Intelligence Programming

Page 1: G5BAIP Artificial Intelligence Programming

G53CLPConstraint Logic Programming

Search Orders in CSP

Dr Rong Qu

Page 2: G5BAIP Artificial Intelligence Programming

Variable and Value Ordering

The order of the variables labelled and the values assigned has significant effect on the effectiveness of backtrack

Aims Minimise the depth of branches explored Minimise the number of branches explored Minimise the size of search tree explored

G53CLP – Constraint Logic Programming Dr R. Qu

Page 3: G5BAIP Artificial Intelligence Programming

Variable Ordering

Order variables before the search

Heuristics choose the variable with smallest domain size choose the most constrained variables choose the variable with smallest domain

G53CLP – Constraint Logic Programming Dr R. Qu

Page 4: G5BAIP Artificial Intelligence Programming

Variable Ordering

Order variables before the search

Minimal width ordering Reduce the backtracking

Minimal bandwidth ordering Reduce the number of re-assignment when

backtracking

Max-cardinality ordering Approximation of minimal bandwidth ordering

G53CLP – Constraint Logic Programming Dr R. Qu

Page 5: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

Label the variables that are constrained by fewer others to the last Based on constraint graph

Reduce the need of backtracking

Find a total ordering for the variables With the minimal width

Label the variables by the ordering

G53CLP – Constraint Logic Programming Dr R. Qu

Page 6: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

Label the variables that are constrained by fewer others to the last

Use topology in graph theory Total ordering of a minimal width

Let’s look at Total ordering

Minimal width

G53CLP – Constraint Logic Programming Dr R. Qu

Page 7: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

Total ordering Every two elements in a set S are ordered

<

for all a, b and c in set S

if a ≤ b and b ≤ a then a = b (antisymmetry)

if a ≤ b and b ≤ c then a ≤ c (transitivity)

a ≤ b or b ≤ a (totality)

G53CLP – Constraint Logic Programming Dr R. Qu

Page 8: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

Minimal width

Given a total ordering < on the nodes of a graph

Width of a node v the number of nodes before and adjacent to v

Width of an ordering

the maximum width of all nodes

Width of the graph

the minimal width of all possible orderings

G53CLP – Constraint Logic Programming Dr R. Qu

Page 9: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

Constraint graph of map coloring

An ordering of the nodes in the graph

A B D C E F

A D

C E

F

B

A D C E FB

0 1 1 3 2 2

Width of ordering: 3

G53CLP – Constraint Logic Programming Dr R. Qu

Page 10: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

A D C E FB

0 1 1 3 2 2

Width of ordering: 3

0 1 2 2 2 2

Width of ordering: 2

C D A E FB

Another ordering of the nodes in the graphC B D A E F

G53CLP – Constraint Logic Programming Dr R. Qu

Page 11: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

?

Ordering: A,B,D,C,E,F

A D

C E

F

B

G53CLP – Constraint Logic Programming Dr R. Qu

Page 12: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

Ordering: C,B,D,A,E,F

A D

C E

F

B

G53CLP – Constraint Logic Programming Dr R. Qu

Page 13: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

The smaller the width of an ordering of variables, the more chance of backtracking reduced

Variables at the front of ordering are in general more constrained. Labelling them earlier leaves less trouble at later stage

C D A E FB A D C E FB

0 1 2 2 2 2 0 1 1 3 2 2

G53CLP – Constraint Logic Programming Dr R. Qu

Page 14: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

Finding the minimal width of a graph*REPEAT

Pick the node n with the least degree

Put n at the beginning of the ordering

Remove n and all adjacent edges to n

UNTILL all nodes are in the ordering

Complexity of this algorithm O(n2)

* From Freuder (1982)

G53CLP – Constraint Logic Programming Dr R. Qu

Page 15: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering vs. k-Consistency

Finding the minimal width of a graph Complexity of this algorithm O(n2) Not too expensive to find the minimal width of a

graph in practice

What benefit can this offer?

The complexity of finding strong k-consistency Exponential

Help reducing the k-consistency calculations Backtrack free search!

G53CLP – Constraint Logic Programming Dr R. Qu

Page 16: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering vs. k-Consistency

Theorem

A depth first search is backtrack-free if the level of strong k-consistency is greater than the width of the ordered constraint graph

- Freuder, 1982

Freuder, E. C., A suffcient condition for backtrack-free search, Journal of the ACM, Vol. 29, No. 1, pp. 24-32, 1982.

G53CLP – Constraint Logic Programming Dr R. Qu

Page 17: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering vs. k-Consistency

k-consistency For values of (k-1) variables

At least one value in the kth variable

Consistent with the k-1 assignment

k-consistency doesn’t mean k-1 consistency

Strong k-consistency All j < k-1, j-consistency

Computation time: exponential

G53CLP – Constraint Logic Programming Dr R. Qu

Page 18: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering vs. k-Consistency

This indicates that if a constraint graph has a width w

Then we never need to achieve strong k-consistency for k > w + 1

The smaller (w – k) is, the less backtracking is needed

G53CLP – Constraint Logic Programming Dr R. Qu

Page 19: G5BAIP Artificial Intelligence Programming

Minimal Bandwidth Ordering

Based on constraint graph

Pre-process: ordering of variables

The closer the constrained variables in the ordering, the less distance one has to backtrack

G53CLP – Constraint Logic Programming Dr R. Qu

Page 20: G5BAIP Artificial Intelligence Programming

Minimal Bandwidth Ordering

Find a total ordering for the variables

With the minimal bandwidth

Label the variables by the ordering

Let’s look at

Bandwidth

G53CLP – Constraint Logic Programming Dr R. Qu

Page 21: G5BAIP Artificial Intelligence Programming

Minimal Bandwidth Ordering

Minimal bandwidth

Given a total ordering < on the nodes of a graph

Bandwidth of a node v

the maximum distance between any other adjacent node and v

Bandwidth of an ordering

the maximum bandwidth of all nodes

Bandwidth of the graph

the minimal bandwidth of all possible orderings

G53CLP – Constraint Logic Programming Dr R. Qu

Page 22: G5BAIP Artificial Intelligence Programming

Minimal Bandwidth Ordering

Constraint graph of map coloring

An ordering of the nodes in the graph

A B D C E F

A D

C E

F

B

A D C E FB

3 2 2 3 2 2

bandwidth of ordering: 3

G53CLP – Constraint Logic Programming Dr R. Qu

Page 23: G5BAIP Artificial Intelligence Programming

Minimal Bandwidth Ordering

C D A E FBA D C E FB

3 2 2 3 2 2

bandwidth of ordering: 3

4 2 2 3 4 5

bandwidth of ordering: 5

G53CLP – Constraint Logic Programming Dr R. Qu

Page 24: G5BAIP Artificial Intelligence Programming

Minimal Bandwidth Ordering

Ordering: A,B,D,C,E,F

A D

C E

F

B

Ordering: C,B,D,A,E,F

Observe the distance the search has to backtrack

G53CLP – Constraint Logic Programming Dr R. Qu

Page 25: G5BAIP Artificial Intelligence Programming

Minimal Bandwidth Ordering

Finding minimal bandwidth ordering is time in-efficient

O(nk)*; k: bandwidth

Max-cardinality ordering can be seen as an approximation of minimal bandwidth ordering

*Gurari & Sudbough (1984)

G53CLP – Constraint Logic Programming Dr R. Qu

Page 26: G5BAIP Artificial Intelligence Programming

Max-cardinality Ordering

Finding the max-cardinality ordering

Randomly pick one node

REPEAT

Choose a node n in the remaining nodes

with the maximum number of adjacent edges to those already picked

Put n at the beginning of the ordering

UNTILL all nodes are in the ordering

G53CLP – Constraint Logic Programming Dr R. Qu

Page 27: G5BAIP Artificial Intelligence Programming

Max-cardinality Ordering

Finding the max-cardinality ordering

A D

C E

F

B

A DCEF B

5 2 2 3 2 5

bandwidth of ordering: 5

G53CLP – Constraint Logic Programming Dr R. Qu

Page 28: G5BAIP Artificial Intelligence Programming

Minimal Width Ordering

Finding the minimal width of a graph

REPEAT

Pick the node n with the least degree

Put n at the beginning of the ordering

Remove n and all adjacent edges to n

UNTILL all nodes are in the ordering

A D

C E

F

B

C D B E F A

C B D A E F

C D A E FB

2

C B E F AD

2

G53CLP – Constraint Logic Programming Dr R. Qu

Page 29: G5BAIP Artificial Intelligence Programming

Summary

CP Techniques

Variable ordering

Heuristics

Minimum width ordering

Minimum bandwidth ordering

Max-cardinality Ordering

Value ordering

Heuristics

G53CLP – Constraint Logic Programming Dr R. Qu