path consistency, constraint problem solving strategies, and constraint propagation Flashcards
Path consistency (PC)
How to strengthen the consistency level
require consistency over more than one constraint
-Path(V0,V1,…,Vm) is path consistent iff for every pair of values xED0 and yEDm satisfying all the binary constraints on V0,Vm there exists an assignment of variables V1,…,Vm-1 such that all the binary constraints between the neighboring variables Vi,Vi+1 are satisfied
-only guarantees paths between neighboring variables are satisfied
when is a CSP path consistent?
iff every path is consistent
path consistency drawbacks
- memory consumption
- Bad ratio strength/efficiency
- modifies the constraint network
- still not a complete technique
PC memory consumption
because PC eliminates pairs of values, we need to keep all compatible pairs extensionally, e.g. using {0,1} matrix
PC bad ratio strength/efficiency
PC removes more or same inconsistencies than AC, but the strength/efficiency ratio is much worse than for AC
PC constraint network modification
- adds redundant arcs (constraints) and thus it changes connectivity of the constraint network
- complicates using heuristics derived from the structure of the original constraint network
How to solve constraint problems
depth first search
consistency techniques
combination of approaches
CSP depth-first search
depth-first search
-complete but too slow (exponential) explores visibly wrong valuations
CSP consistency techniques
consistency techniques
- usually incomplete(inconsistent values stay in domains)
- pretty fast(polynomial)
CSP DFS and consistency combo
combinations of approaches
- combines advantages of approaches
- label variables step by step(backtracking)
- maintain consistency after assigning a value
CSP solving techniques
core procedure DFS Look Back forward checking partial look ahead look ahead MAC MCk
CSP core DFS
assign variables one by one
ensure consistency after each assignment
CSP Look Back
- maintain consistency among already assigned variables
- look back= look to already assigned variables
- if the consistency test returns a conflict (+ explanation)
- -backtrack (basic) or
- -backjump
CSP forward checking:
prevention technique
- removes values from future variables which are incompatible with current assignments
- check only future variables connected to some assigned variables by some constraint
CSP partial look ahead
- propagate the value assigned to the current variable to all future variables
- if DAC is maintained in reverse order w.r.t. the labeling order (aka known as DAC look ahead)
- it is not necessary to consider constraints involving past variables other than the current one