• Keine Ergebnisse gefunden

25.2 Forward Checking 25.3 Arc Consistency 25.4 Summary

N/A
N/A
Protected

Academic year: 2022

Aktie "25.2 Forward Checking 25.3 Arc Consistency 25.4 Summary"

Copied!
7
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Foundations of Artificial Intelligence

25. Constraint Satisfaction Problems: Arc Consistency

Malte Helmert

University of Basel

April 14, 2021

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 1 / 27

Foundations of Artificial Intelligence

April 14, 2021 — 25. Constraint Satisfaction Problems: Arc Consistency

25.1 Inference

25.2 Forward Checking 25.3 Arc Consistency 25.4 Summary

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 2 / 27

Constraint Satisfaction Problems: Overview

Chapter overview: constraint satisfaction problems:

I 22.–23. Introduction I 24.–26. Basic Algorithms

I 24. Backtracking I 25. Arc Consistency I 26. Path Consistency I 27.–28. Problem Structure

25. Constraint Satisfaction Problems: Arc Consistency Inference

25.1 Inference

(2)

25. Constraint Satisfaction Problems: Arc Consistency Inference

Inference

Inference

Derive additional constraints (here: unary or binary) that are implied by the given constraints,

i.e., that are satisfied in all solutions.

example: constraint network with variablesv1,v2,v3 with domain {1,2,3}and constraints v1 <v2 andv2 <v3. it follows:

I v2 cannot be equal to 3

(newunary constraint=tighter domainof v2)

I Rv1v2 ={h1,2i,h1,3i,h2,3i} can be tightened to{h1,2i}

(tighterbinary constraint) I v1 <v3

(“new”binary constraint= trivial constrainttightened)

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 5 / 27

25. Constraint Satisfaction Problems: Arc Consistency Inference

Trade-Off Search vs. Inference

Inference formally

For a given constraint networkC, replaceC with anequivalent, but tighterconstraint network.

Trade-off:

I the more complexthe inference, and I the more often inference is applied, I the smaller the resulting state space, but I the higher the complexityper search node.

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 6 / 27

25. Constraint Satisfaction Problems: Arc Consistency Inference

When to Apply Inference?

different possibilities to apply inference:

I once aspreprocessing before search

I combined with search: before recursive calls during backtracking procedure

I already assigned variablev 7→dcorresponds to dom(v) ={d}

more inferences possible

I during backtracking, derived constraints have to be retracted because they were based on the given assignment

powerful, but possibly expensive

25. Constraint Satisfaction Problems: Arc Consistency Inference

Backtracking with Inference

functionBacktrackingWithInference(C, α):

if αis inconsistent withC:

return inconsistent if αis a total assignment:

returnα

C0 :=hV,dom0,(Ruv0 )i:= copy ofC apply inference toC0

if dom0(v)6= for all variablesv:

select some variablev for whichα is not defined for each dcopy of dom0(v)in some order:

α0:=α∪ {v7→d}

dom0(v) :={d}

α00:=BacktrackingWithInference(C0, α0) if α006=inconsistent:

returnα00

(3)

25. Constraint Satisfaction Problems: Arc Consistency Inference

Backtracking with Inference: Discussion

I Inferenceis a placeholder:

different inference methods can be applied.

I Inference methods can recognize unsolvability (givenα) and indicate this by clearing the domain of a variable.

I Efficient implementations of inference are oftenincremental:

the last assigned variable/value pairv 7→d is taken into account to speed up the inference computation.

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 9 / 27

25. Constraint Satisfaction Problems: Arc Consistency Forward Checking

25.2 Forward Checking

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 10 / 27

25. Constraint Satisfaction Problems: Arc Consistency Forward Checking

Forward Checking

We start with a simple inference method:

Forward Checking

Let αbe a partial assignment.

Inference: For all unassigned variablesv inα,

remove all values from the domain ofv that are in conflict with already assigned variable/value pairs inα.

definition of conflictas in the previous chapter Incremental computation:

I When addingv 7→d to the assignment, delete all pairs that conflict withv 7→d.

25. Constraint Satisfaction Problems: Arc Consistency Forward Checking

Forward Checking: Discussion

properties of forward checking:

I correct inference method (retains equivalence) I affects domains (= unary constraints),

but not binary constraints

I consistency check at the beginning of the backtracking procedure no longer needed (Why?)

I cheap, but often still useful inference method

apply at least forward checking in the backtracking procedure In the following, we will consider more powerful inference methods.

(4)

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

25.3 Arc Consistency

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 13 / 27

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

Arc Consistency: Definition

Definition (Arc Consistent)

LetC=hV,dom,(Ruv)i be a constraint network.

(a) The variable v ∈V isarc consistent with respect to another variable v0 ∈V, if for every valued ∈dom(v)

there exists a valued0 ∈dom(v0) withhd,d0i ∈Rvv0.

(b) The constraint network C isarc consistent, if every variable v ∈V is arc consistent with respect to every other variablev0 ∈V. German: kantenkonsistent

remarks:

I definition for variable pair is not symmetrical I v always arc consistent with respect tov0

if the constraint between v andv0 is trivial

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 14 / 27

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

Arc Consistency: Example

Consider a constraint network with variables v1 andv2, domains dom(v1) = dom(v2) ={1,2,3}

and the constraint expressed by v1<v2.

1 2 3

1 2 3

v1 v2

Arc consistency of v1 with respect to v2

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

Enforcing Arc Consistency

I Enforcing arc consistency, i.e., removing values from dom(v) that violate the arc consistency ofv with respect tov0, is a correct inference method. (Why?)

I more powerfulthan forward checking (Why?) Forward checking is a special case:

enforcing arc consistency of all variables with respect to the just assigned variable corresponds to forward checking.

We will next consider algorithms that enforce arc consistency.

(5)

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

Processing Variable Pairs: revise

function revise(C,v,v0):

hV,dom,(Ruv)i:=C for eachd ∈dom(v):

if there is nod0∈dom(v0) withhd,d0i ∈Rvv0: removed from dom(v)

input: constraint network Cand two variables v,v0 ofC effect: v arc consistent with respect tov0.

All violating values in dom(v) are removed.

time complexity: O(k2), wherek is maximal domain size

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 17 / 27

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

Example: revise

1 1 2 2 3 3

1 2 3

v v0

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 18 / 27

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

Enforcing Arc Consistency: AC-1

function AC-1(C):

hV,dom,(Ruv)i:=C repeat

for eachnontrivial constraintRuv: revise(C,u,v)

revise(C,v,u)

until no domain has changed in this iteration input: constraint network C

effect: transformsC into equivalent arc consistent network time complexity: O(n·e·k3), with n variables,

e nontrivial constraints and maximal domain size k

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

AC-1: Discussion

I AC-1 does the job, but is rather inefficient.

I Drawback: Variable pairs are often checked again and again although their domains have remained unchanged.

I These (redundant) checks can be saved.

more efficient algorithm: AC-3

(6)

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

Enforcing Arc Consistency: AC-3

idea: store potentially inconsistentvariable pairs in a queue function AC-3(C):

hV,dom,(Ruv)i:=C queue:=∅

for eachnontrivial constraintRuv: inserthu,vi intoqueue inserthv,ui intoqueue whilequeue6=∅:

remove an arbitrary elementhu,vi from queue revise(C,u,v)

if dom(u) changed in the call to revise:

for eachw ∈V \ {u,v} whereRwu is nontrivial:

inserthw,ui into queue

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 21 / 27

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

AC-3: Discussion

I queuecan be an arbitrary data structure that supports insert and remove operations (the order of removal does not affect the result)

use data structure with fast insertion and removal, e.g., stack I AC-3 has the same effect as AC-1:

it enforces arc consistency

I proof idea: invariant of thewhileloop:

If hu,vi∈/ queue, then u is arc consistent with respect tov

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 22 / 27

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

AC-3: Time Complexity

Proposition (time complexity of AC-3)

Let Cbe a constraint network with e nontrivial constraints and maximal domain size k.

The time complexity of AC-3 is O(e·k3).

25. Constraint Satisfaction Problems: Arc Consistency Arc Consistency

AC-3: Time Complexity (Proof)

Proof.

Consider a pairhu,vi such that there exists a nontrivial constraint Ruv or Rvu. (There are at most 2e of such pairs.)

Every time this pair is inserted to the queue (except for the first time) the domain of the second variable has just been reduced.

This can happen at mostk times.

Hence every pairhu,viis inserted into the queue

at mostk+ 1 times at mostO(ek) insert operations in total.

This bounds the number of whileiterations by O(ek), giving an overall time complexity of O(ek)·O(k2) =O(ek3).

(7)

25. Constraint Satisfaction Problems: Arc Consistency Summary

25.4 Summary

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 25 / 27

25. Constraint Satisfaction Problems: Arc Consistency Summary

Summary: Inference

I inference: derivation of additional constraints that are implied by the known constraints tighter equivalentconstraint network I trade-offsearch vs. inference

I inference as preprocessingor integratedinto backtracking

M. Helmert (University of Basel) Foundations of Artificial Intelligence April 14, 2021 26 / 27

25. Constraint Satisfaction Problems: Arc Consistency Summary

Summary: Forward Checking, Arc Consistency

I cheap and easy inference: forward checking

I remove values that conflict with already assigned values I more expensive and more powerful: arc consistency

I iteratively remove values without a suitable “partner value”

for another variable until fixed-point reached I efficient implementation of AC-3: O(ek3)

withe: #nontrivial constraints,k: size of domain

Referenzen

ÄHNLICHE DOKUMENTE

Falls nicht explizit anders gesagt, sind in diesem Abschnitt alle betrachteten Graphen als einfach vorausgesetzt.. 2.1 Pfade

Bemerkung: (Satz von Kuratowski) Ein Graph ist genau dann nicht planar, wenn er eine Unterteilung des K 5 oder des K 3,3 als Teilgraph enth¨ alt.. Diskrete Strukturen 2.7

First, we deconstruct consistency into individual guarantees relating the data type, the conflict reso- lution, and the ordering, and then reassemble them into a hierarchy

enforcing arc consistency of all variables with respect to the just assigned variable corresponds to forward checking.. We will next consider algorithms that enforce

arc consistency (considers pairs of variables) to path consistency (considers triples of variables) and i -consistency (considers i -tuples of variables) arc consistency tightens

I arc consistency tightens unary constraints I path consistency tightens binary constraints I i-consistency tightens (i − 1)-ary constraints I higher levels of consistency

1 AufenthG kann einem Ausländer für einen vorübergehenden Aufenthalt eine Aufenthaltserlaubnis erteilt werden, solange dringende persönliche oder humanitäre Gründe seine

[r]