Title: Levels of Consistency
1(No Transcript)
2Levels of Consistency
3Levels of Consistency
- Node Consistency (NC)
- Arc-consistency (AC)
- Path Consistency (PC)
- Generalised arc-consistency (GAC)
- Bounds consistency
- Inverse Path Consistency (IPC aka PIC)
- Singleton Arc-consistency (SAC)
- and others
4Node Consistency
5Node Consistency (NC)
aka 1-consistency
Example
6Arc-consistency
7Arc-consistency (AC)
aka 2-consistency
- A constraint Cij is arc consistent if
- for every value x in Di there exists a value y
in Dj that supports x - i.e. if vi x and vj y then Cij holds
- note we are assuming Cij is a binary constraint
- A csp (V,D.C) is arc consistent if
- every constraint is arc consistent
8Arc-consistency
AC appears to be the best level of consistency to
maintain (MAC) There is no proof of
this However, there is a body of evidence
For non-trivial problems MAC beats FC beats BT
9Path Consistency
10Path-consistency (aka 3-consistency)
Vj
M. Singh, TAI-95
Vi
Vk
It may create nogood tuples (i/x,k/z), Therefor
e increases size of model/problem. May result in
more constraints to check!
There might be no constraint Cik Therefore
3-consistency may create it!
11Path-consistency (aka 3-consistency)
for x in Di do for z in Dk do supported
false for y in Dj while supported
do supported Cij(x,y) Cik(x,z)
Cjk(y,z) if supported then
post(Cik(x,z))
12See AR33 notes section 7.3
13k-consistency
14Also k-consistency
AR33 section 7.4
15Generalised arc-consistency
16Generalised arc-consistency (GAC)
AR33 section 7.5
17Generalised arc-consistency (GAC)
AR33 section 7.5
18Generalised arc-consistency (GAC)
From Gent, Miguel Nightingale
GAC is meaningful only wrt n-ary constraints (in
a sense)
19Generalised arc-consistency (GAC)
Alan Frisch (York)
20Generalised arc-consistency (GAC)
Alan Frisch (York)
21Bounds Consistency
22Bounds Consistency
Alan Frisch (York)
23Bounds Consistency
Alan Frisch (York)
24Inverse Path Consistency (aka Path Inverse
Consistency)
25Path Inverse Consistency (PIC aka IPC)
Debruyne Bessiere
Note similar to PC but deletes values rather
than adds tuples!
26Path Inverse Consistency (PIC aka IPC)
Debruyne Bessiere
for x in Di do supported false for y in
Dj while supported do for z in Dk while
supported do supported Cij(x,y)
Cik(x,z) Cjk(y,z) if supported then
Di Di \ x
Note similar to PC but deletes values rather
than adds tuples!
27Singleton arc-consistency
28Singleton arc-consistency (SAC)
i.e. we can take any variable, assign it a value
from its domain and then make the problem
arc-consistent and all variables have non-empty
domains
29The SAC1 algorithm
The basic and least efficient algorithm for SAC
(from Bartaks FLAIRS04 paper)
30(No Transcript)
31(No Transcript)
32(No Transcript)
33(No Transcript)
34(No Transcript)
35(No Transcript)
36(No Transcript)
37complexities
38(No Transcript)
39General notes
- we can have inverse consistency for any k
- we can have neighbourhood inverse consistency
- we can have singleton k-consistency
- In our model and CP toolkit we may have mixed
consistency - some variables/constraints only forward checked
- some variables in binary constraints AC
- some variable in n-ary constraints GAC
- variables NC
This is not a problem, so long as we are sure
that when we instantiate a variable it is
consistent With respect to the past variables
We can also maintain these levels of
consistency during search
40Conclusion
There are MANY different levels of
consistency This is an ACTIVE area of research
41(No Transcript)