Presentation is loading. Please wait.

Presentation is loading. Please wait.

Levels of Consistency Node Consistency (NC) Arc-consistency (AC) Path Consistency (PC) Generalised arc-consistency (GAC) Bounds consistency Inverse Path.

Similar presentations


Presentation on theme: "Levels of Consistency Node Consistency (NC) Arc-consistency (AC) Path Consistency (PC) Generalised arc-consistency (GAC) Bounds consistency Inverse Path."— Presentation transcript:

1

2 Levels of Consistency

3 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

4 Node Consistency

5 Node Consistency (NC) aka 1-consistency Example:

6 Arc-consistency

7 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 v[i] = x and v[j] = 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 Arc-consistency (AC) aka 2-consistency

8 Arc-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

9 Path Consistency

10 Path-consistency (aka 3-consistency) Vi Vj Vk There might be no constraint Cik Therefore 3-consistency may create it! It may create nogood tuples {(i/x,k/z),…} Therefore increases size of model/problem. May result in more constraints to check! M. Singh, TAI-95

11 Path-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))

12 See AR33 notes section 7.3

13 k-consistency

14 Also k-consistencyAR33 section 7.4

15 Generalised arc-consistency

16 Generalised arc-consistency (GAC)AR33 section 7.5

17 Generalised arc-consistency (GAC)AR33 section 7.5

18 Generalised arc-consistency (GAC) GAC is meaningful only wrt n-ary constraints (in a sense) From Gent, Miguel & Nightingale

19 Generalised arc-consistency (GAC)Alan Frisch (York)

20 Generalised arc-consistency (GAC)Alan Frisch (York)

21 Bounds Consistency

22 Alan Frisch (York)

23 Bounds ConsistencyAlan Frisch (York)

24 Inverse Path Consistency (aka Path Inverse Consistency)

25 Path Inverse Consistency (PIC aka IPC)Debruyne & Bessiere Note: similar to PC but deletes values rather than adds tuples!

26 Path Inverse Consistency (PIC aka IPC)Debruyne & Bessiere Note: similar to PC but deletes values rather than adds tuples! 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}

27 Singleton arc-consistency

28 Singleton 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

29 The basic and least efficient algorithm for SAC (from Bartaks FLAIRS04 paper) The SAC1 algorithm

30

31

32

33

34

35

36

37 complexities

38

39 General 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

40 Conclusion There are MANY different levels of consistency This is an ACTIVE area of research

41


Download ppt "Levels of Consistency Node Consistency (NC) Arc-consistency (AC) Path Consistency (PC) Generalised arc-consistency (GAC) Bounds consistency Inverse Path."

Similar presentations


Ads by Google