L12: Graphical Representations, Constraint Propagation Flashcards

1
Q

Why is it useful to view a CSP as a graph?

A

To guide Heuristics.

To guide Propagation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a binary constraint graph

A

Each node represents a variable.
Constraints are represented by edges.
An edge only contains 2 nodes.
There is one node on the graph per variable.

The crystal maze is an example of a constraint graph with the addition of a hyper edge.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a hyper edge?

A

A hyper edge is a constraint that involves more than 2 nodes (draw a circle around the relevant nodes).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is dual representation?

A

A means of transforming non-binary instances into binary instances.

There is a lot of work on algorithms for binary CSP- this is a way of applying it to non-binary CSPs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How do we convert non-binary constraints into dual representation?

A
  1. Transform each constraint into a dual variable. Has an associated domain of the allowed tuples for the pair of variables for that constraint.
  2. Add binary constraints between any two dual variables that share an original variable. tConstraint insists that the assignments to the two nodes that it connects agree for the shared original variables.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Can tuples be domain elements?

A

No: for the purposes of this module, we think of domain values as atomic (indivisible).
But we can transform each tuple into an atomic value and relabel the domains.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a dual graph?

A

Each node represents a dual variable (i.e. an original constraint).

There are edges between nodes that share an original variable.

Corresponding to the new binary constraints.

Constraints become nodes in the graph, essentially become the variables in an equivalent CSP. Domains are tuples (or atomic equivalents).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is constraint propagation?

A

Deduction via a subset of the constraints.

Deduced information recorded as changes to the CSP instance.

Most often: pruning values from domains (i.e. unary constraints).

Sometimes: higher arity constraints.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is propagation?

A

Local changes form the basis for further deductions.

Hence the result of a change is gradually propagated through the constraint network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What can we use that is better than backtracking?

A

Constraint Propagation?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a consistency property?

A

A consistency property holds when constraint propagation of a certain kind reaches a fixpoint. We can deduce nothing new.

Consistency may be:
local: one (or a subset of) constraint/arc/variable
global: all constraints/arcs/variables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is local node consistency?

A

Given a unary constraint c(xi), local node consistency holds if:

For every d in Di, c(xi) is satisfied when xi = d.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is global node consistency?

A

For global node consistency to hold, it requires that this local consistency is met for all unary constraints. A unary constraint involves a single variable.

Any variable can be assigned a value from its reduced domain without violating any constraints. For example, if a variable ‘X’ can only take values from 1 to 5 after applying the constraints, any value within that range can be chosen for ‘X’ without causing conflicts with the other constraints.

Can be enforced simply by enforcing node consistency for each unary constraint once. Node consistency for a unary constraint involves reducing the variable’s domain based solely on that individual constraint.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is arc consistency?

A

In arc consistency, for every pair of variables connected by a constraint (an “arc”), the values in one variable’s domain are systematically reduced based on the values in the other variable’s domain, ensuring that the constraint between the variables is satisfied.

This process continues until no more reductions can be made, making the problem easier to solve by narrowing down the possibilities for each variable while respecting the constraints.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is local arc consistency?

A

Given arc (xi, xj), local arc consistency holds if:
- c(xi) and c(xj) are both node consistent.
- For each di in Di, there is at least one corresponding dj in Dj, such that c(xi, xj) is satisfied when xi = di and xj = dj.

Local arc consistency is focused on pairs of variables connected by a constraint (an “arc”). It systematically reduces the domain of one variable based on the values of the other variable’s domain, ensuring that the specific constraint between the two variables is satisfied.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is support?

A

Support is a concept used in constraint propagation generally (not just arc revision). A support is evidence that a domain value is consistent, and therefore should not be removed.

For an arc(x1, x2), a support of a value in x1 is a compatible value in x2.

17
Q

Why do we split a constraint into 2 arcs?

A

Efficiency.

18
Q

What is global arc consistency?

A

Holds if local arc consistency holds for all arcs. If local arc consistency is established for all these pairs of variables, it leads to global arc consistency for the entire problem.

Any assignment to a single variable can be extended to an assignment to two variables consistently. Any valid assignment made to one variable can be consistently extended to other related variables, ensuring that the constraint relationships are preserved.

Remember that global node consistency is a precondition.

Cannot be enforced in general simply by enforcing local arc consistency for all arcs once. In ensuring arc consistency for one constraint, it may change the consistency of another constraint.