8. Constraints - www2.inf.h

Werbung
8. Constraints
Constraintprobleme
8. Constraints
Probleme der bekannten Algorithmen beim Färbungsproblem:
Northern
Territory
Queensland
Western
Australia
South
Australia
New
South
Wales
Victoria
• Tiefen- und Breitensuche nutzen die Struktur des Problems
nicht aus und
• A* ist ausgerichtet auf Optimierungsprobleme.
Tasmania
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
212
8. Constraints
Constraintprobleme
Charakterisierung von Constraintproblemen
Allgemein:
Färbungsproblem:
• Objekten bzw. Variablen sollen
• Teilstaaten von Australien
• Werte aus Wertebereichen zugeordnet werden,
• Farbe aus einer Menge von Farben
• so daß gewisse Nebenbedingungen erfüllt sind.
• benachbarte
Teilstaaten
müssen unterschiedlich gefärbt
sein
Weitere Beispiele: n-Damen-Problem, kryptoarithmetische Rätsel
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
213
8. Constraints
Constraintprobleme
Definition 8.7. Ein Constraintproblem (constraint satisfaction problem,
CSP) besteht aus
• einer endlichen Menge V von Variablen,
• einem Wertebereich (Domäne) D(v) für jede Variable v ∈ V und
• einer endlichen Menge C von Nebenbedingungen, auch Constraints
genannt, die erlaubte Variablenkombinationen definieren.
Ein Constraint c ∈ C heißt n-stellig, wenn es von n Variablen abhängt.
V(c) ist die Menge der Variablen zum Constraint c ∈ C.
Constraintprobleme, die nur ein- oder zweistellige Constraints enthalten, heißen binäre Constraintprobleme.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
214
8. Constraints
Constraintprobleme
Markierung und Lösung für CSP
Definition 8.8. Sei V = {x1, . . . , xn} ⊆ V. Eine V-Markierung ist eine
Menge
{x1 ← w1, x2 ← w2, . . . , xn ← wn}
mit wi ∈ D(xi) für i = 1, . . . , n.
V wird weggelassen, wenn die Variablenmenge aus dem Kontext hervorgeht.
Eine Lösung (konsistente Markierung) eines Constraintproblems ist eine Markierung für V, so daß man für jedes Constraint c ∈ C bei Ersetzung der Variablen xi durch wi eine wahre Bedingung erhält.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
215
8. Constraints
Constraintprobleme
Beispiel 8.1.
• Färbungsproblem für Australien:
V
= {WA, NT, SA, Q, NSW, V, T }
D = {rot, grün, blau}
C
= {WA 6= NT, WA 6= SA, NT 6= SA, NT 6= Q, SA 6= Q,
SA 6= NSW, SA 6= V, Q 6= NSW, NSW 6= V}
Die Markierung
σ = {WA ← rot, NT ← grün, Q ← rot, NSW ← grün,
V ← rot, SA ← blau, T ← rot}
ist eine Lösung des CSP.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
216
8. Constraints
Constraintprobleme
• Das 4-Damen-Problem:
V
= {x1, x2, x3, x4}
D = {1, 2, 3, 4}
C
= {c(xi, xj)|i, j = 1, 2, 3, 4, i < j}, mit
c(xi, xj) = xi 6= xj ∧ xi − xj 6= i − j ∧ xi − xj 6= j − i
Die Markierung
σ = {x1 ← 2, x2 ← 4, x3 ← 1, x4 ← 3}
ist eine Lösung des CSP.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
217
8. Constraints
Constraintprobleme
• Kryptoarithmetisches Rätsel:
+
F
T
T
O
W
W
U
O
O
R
V
= {T, W, O, F, U, R, X1, X2, X3}

 {0, 1, . . . , 9} für v ∈ {W, O, U, R}
{1, . . . , 9}
für v ∈ {T, F}
D(v) =

{0, 1}
für v ∈ {X1, X2, X3}
C
= {2 · O = R + 10 · X1,
X1 + 2 · W = U + 10 · X2,
X2 + 2 · T = O + 10 · X3,
X3 = F,
T 6= F, T 6= W, . . . , U 6= R}
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
218
8. Constraints
Constraintprobleme
Die Markierung
σ = {T ← 7, W ← 3, O ← 4, F ← 1, U ← 6, R ← 8, X1 ← 0, X2 ← 0, X3 ← 1}
ist eine Lösung des CSP.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
219
8. Constraints
Constraintprobleme
Bemerkungen:
• Im Gegensatz zum Färbungsproblem und zum n-Damen-Problem
handelt es sich bei dem kryptoarithmetischen Rätsel nicht um ein
binäres CSP.
• Weitere Anwendungen von CSP: Frequenzzuordnung in Mobilfunknetzen, Stundenplanprobleme, Scheduling
• Ein aktuelles Forschungsthema ist die Kombination von Logikprogrammierung mit Verfahren zur Lösung von Constraintproblemen.
☞ Constraint Programming
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
220
8. Constraints
Constraintprobleme
Constraintnetze
Beispiel 8.2. Es sei n > 0. Das folgende Gleichungssystem ist über
dem Bereich D = {0, 1, . . . , n} zu lösen.
x + z = 2n
y + w = 2n
Wir nutzen Tiefensuche und markieren die Variablen in der Reihenfolge
1. x, y, z, w
2. x, z, y, w.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
221
8. Constraints
Constraintprobleme
Suchbaum für n = 2 und die Reihenfolge x, y, z, w:
X=0
Y=0
Y=1
X=1
Y=2
Y=0
Y=1
X=2
Y=2
Y=0
Y=1
Y=2
Z=2
Z=2
Z=2
W=2
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
222
8. Constraints
Constraintprobleme
Suchbaum für n = 2 und die Reihenfolge x, z, y, w:
X=0
X=1
X=2
Z=2
Y=0
Y=1
Y=2
W=2
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
223
8. Constraints
Constraintprobleme
Bemerkungen:
• Für beliebiges n wächst die Anzahl der Knoten im ersten Suchbaum
mit n2,
• die Anzahl der Knoten des zweiten Suchbaums mit 2n.
• Grund: Die Variablen x, z stehen mit den Variablen y, w in keiner Beziehung.
• Fazit: Die Information über die Beziehungen zwischen den Variablen
eines CSP kann von großem Nutzen sein.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
224
8. Constraints
Constraintprobleme
Definition 8.9. Ein Constraintnetz (constraint net) zu einem binären
Constraintproblem ist ein Graph,
• dessen Knoten den Variablen eines CSP entsprechen und
• dessen Kanten mit den binären Constraints markiert sind.
Ein Constraintnetz heißt zusammenhängend, wenn der Graph zusammenhängend ist.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
225
8. Constraints
Constraintprobleme
Constraintnetz für das australische Färbungsproblem:
Constraintnetz für Beispiel 1.2 und
n = 2:
NT
Q
WA
SA
X
X+Y=4
Y
Z
Z+W=4
W
NSW
V
T
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
226
8. Constraints
Constraintprobleme
• Nicht zusammenhängende Teile eines Constraintnetzes können separat gelöst werden.
• Die Beschränkung auf binäre CSPs stellt prinzipiell keine Einschränkung dar, da jedes CSP in ein binäres CSP transformiert werden kann.
• Alternativdarstellung am Beispiel des kryptoarithmetischen Rätsels:
T W O
+ T W O
F
T
U
W
R
O
F O U R
X3
(a)
X1
X2
(b)
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
227
8. Constraints
Constraintprobleme
Umwandlung in ein binäres CSP
1. Für jede Constraint c ∈ C wird eine neue Variable eingeführt, die die
ursprünglichen Variablen V(c) einschließt.
2. Der Wertebereich der einschließenden Variablen ergibt sich aus der
Relation, die die zugehörige Constraint erfüllt.
3. Nachdem so alle Constraints umgewandelt worden sind, werden
zwei umschließende Variablen durch eine neue Constraint verbunden, wenn die Menge der zugehörigen ursprünglichen Variablen
nicht leer ist.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
228
8. Constraints
Constraintprobleme
Beispiel 8.3. Wir betrachten folgendes Constraintproblem:
V
= {x, y, z}
D(x) = {1, 2}
D(y) = {3, 4}
D(z) = {5, 6}
C
= {x + y = z, x < y}
Für die Constraint x + y = z führen wir die umschließende Variable u
ein mit
D(u) = {(1, 4, 5), (2, 3, 5), (2, 4, 6)}
Für die Constraint x < y führen wir die umschließende Variable v ein
mit
D(v) = {(1, 3), (2, 3), (1, 4), (2, 4)}
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
229
8. Constraints
Constraintprobleme
Die Funktion πi(t) stelle die Projektion eines Tupels t auf die i-te Stelle
dar. Die Constraints für das binäre CSP sind dann
π1(u) = π1(v)
Constraintnetz:
und
π2(u) = π2(v)
{(1, 4, 5), (2, 3, 5), (2, 4, 6)}
u
π1 (u) = π1 (v)
π2 (u) = π2 (v)
v
{(1, 3), (1, 4), (2, 3), (2, 4)}
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
230
8. Constraints
Constraintprobleme
CSP und Tiefensuche
Startzustand: leere Markierung {}
Zustandsübergang: Markierung einer bisher nicht markierten Variablen mit einem Wert, der nicht zu einem Konflikt führt
Zielzustand: vollständige (konfliktfreie) Markierung für V.
Zur Lösung verwendet man üblicherweise Tiefensuche, denn
• die Tiefe des Suchbaums ist endlich und
• Tiefe ist im voraus bekannt.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
231
8. Constraints
Heuristiken für Constraintprobleme
Heuristik des minimalen Konflikts
Nachfolgerzustände sollten günstig für die Effizienz der Problemlösung
ausgesucht werden.
✕ ✕
✕
s1
✕ ✕
✕ ✕
✕ ✕
✕
s0
s2
✕
✕ ✕
Ist s1 oder s2 besser?
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
232
8. Constraints
Heuristiken für Constraintprobleme
Die Heuristik des minimalen Konflikts (least constraining value heuristics, LCV-Heuristik) lautet:
☞ Ordne die möglichen Werte für eine Variable nach der Anzahl der
Konflikte, die ein Wert mit den noch zu markierenden Variablen erzeugt.
☞ Bevorzuge den Wert, der die wenigsten Konflikte erzeugt.
Bemerkungen:
• Der “Konfliktgrad” für einen Nachfolgerzustand kann durch eine heuristische Funktion h(s) zum Ausdruck gebracht werden.
• Die Nachfolgerzustände werden dann aufsteigend sortiert gemäß
h(s) in die Agenda eingefügt.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
233
8. Constraints
Heuristiken für Constraintprobleme
Beispiel 8.4. Für das n-Damen-Problem:
h(s)
:=
Anzahl der bedrohten Felder in den noch zu
besetzenden Spalten.
Damit ist h(s1 ) = 7 und h(s2) = 6. Also wird zunächst s2 expandiert.
Allgemein: Um h(s) für eine Markierung x ← w zu ermitteln,
• bestimme für jede noch zu markierende Variable y
• die Anzahl der Werte v ∈ D(y), für die die Markierung {. . . , x ←
w, y ← v} ein Constraint verletzt
• und summiere diese Werte auf.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
234
8. Constraints
Heuristiken für Constraintprobleme
Heuristik der maximal eingeschränkten Variablen
1
✕
✕
✕
✕ ✕
✕
2
• Die zu markierende Variable
sollte ebenfalls günstig für die
Effizienz der Problemlösung
ausgesucht werden.
3
✕
4
✕
5
✕
• Welche Spalte soll als nächstes
besetzt werden?
6
✕ ✕
✕
7
✕
✕
✕
✕
✕ ✕
f
g
✕
✕
✕
✕
✕
✕ ✕
✕
8
a
b
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
c
d
e
h
235
8. Constraints
Heuristiken für Constraintprobleme
Die Heuristik der maximal eingeschränkten Variablen (most constrainted variable heuristics, MCV-Heuristik) lautet:
☞ Ordne die zu markierenden Variablen nach der Anzahl der noch
möglichen Werte und
☞ bevorzuge die Variable, die die wenigsten möglichen Werte besitzt.
Kombination der beiden Heuristiken:
• Die nächste zu markierende Variable wird mit der Heuristik der maximal eingeschränkten Variablen ermittelt.
• Anschließend wird für diese Variable ein Wert mit der Heuristik des
minimalen Konflikts bestimmt.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
236
8. Constraints
Heuristiken für Constraintprobleme
Gradheuristik
NT
Q
WA
Mit welchem Knoten sollte man beim Färbungsproblem beginnen?
SA
NSW
V
T
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
237
8. Constraints
Heuristiken für Constraintprobleme
• Zunächst gibt es für jeden Knoten drei erlaubte Farben, daher ist die
MCV-Heuristik nutzlos.
• Ziel ist es stets, den Verzweigungsgrad des Suchbaums zu reduzieren.
• Daher: Wähle einen Knoten, der einen möglichst großen Einfluß auf
die verbleibenden Knoten hat (hier SA).
Die Gradheuristik lautet:
☞ Wähle die Variable aus, die in den meisten Beschränkungen der
noch nicht markierten Variablen enthalten ist.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
238
8. Constraints
Heuristiken für Constraintprobleme
Bemerkungen:
• Die Gradheuristik ist sinnvoll, wenn die Knoten des Constraintgraphen unterschiedliche Grade aufweisen.
• Beim n-Damen-Problem hat man einen vollständigen Graphen, daher ist die Gradheuristik nutzlos.
• Die MCV-Heuristik ist sinnvoll, wenn die Constraints stark einschränkend sind.
• Beide Heuristiken können auch miteinander kombiniert werden, z.B.
Auflösung gleichbewerteter Variablen bei der MCV-Heuristik durch
die Gradheuristik.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
239
8. Constraints
Constraintpropagierung
Vorabüberprüfung
Idee:
☞ Man versucht den Suchbaum zu reduzieren, indem man Constraints
frühzeitig berücksichtigt und hierdurch Wertebereiche von Variablen
einschränkt.
Vorabüberprüfung:
• Immer wenn eine Variable x markiert wurde, betrachtet man alle noch
nicht markierten Variablen y, die mit x durch ein Constraint verbunden sind.
• Man löscht jeden Wert aus D(y), der mit dem Wert für x inkonsistent
ist.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
240
8. Constraints
Constraintpropagierung
Beispiel 8.5. Färbungsproblem für Australien mit Vorabüberprüfung:
WA
Initial domains
After WA=red
After Q=green
After V=blue
NT
Q
NSW
V
SA
T
R G B R G B R G B R G B R G B R G B R G B
G B R G B R G B R G B
R
G B R G B
G
B
R
B R G B
R
B R G B
R
B
G
R
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
B
R G B
241
8. Constraints
Constraintpropagierung
Propagierung von Constraints
Beispiel 8.6. Wir betrachten das folgende CSP:
V
= {x, y, z, w}
D = {1, 2, 3, 4}
C
X=1
X=2
Y=1
X=4
X=3
Y=1
Y=2
Y=1
Y=2
Y=3
= {x > y,
y > z,
Z=1
z > w}
Z=1
Z=1
Z=2
W=1
☞ Der Suchbaum enthält mehrere Äste, die aus demselben Grund
scheitern, z.B. {y ← 1} ist unverträglich mit z.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
242
8. Constraints
Constraintpropagierung
Idee:
☞ Versuche Äste mit unverträglichen Markierungen bereits vor der Tiefensuche abzuschneiden (pruning).
☞ Betrachte hierzu Widersprüche bei der Markierung, die sich aus
Constraints ergeben.
Beispiel 8.7. Mögliche Markierungen für x > y:
x\y
1
2
3
4
1
✘
✓
✓
✓
2
✘
✘
✓
✓
3
✘
✘
✘
✓
4
✘
✘
✘
✘
=⇒ x ← 1 ist widerpruchsvoll.
=⇒ y ← 4 ist widerpruchsvoll.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
243
8. Constraints
Constraintpropagierung
• Der Wertebereich der Variablen x und y wird entsprechend angepaßt.
• Dies hat Auswirkungen auf andere mögliche Markierungen.
y\z
1
2
3
1
✘
✓
✓
2
✘
✘
✓
3
✘
✘
✘
4
✘
✘
✘
=⇒ z ← 3 ist widerpruchsvoll.
z\w
1
2
1
✘
✓
2
✘
✘
3
✘
✘
4
✘
✘
=⇒ Nur w ← 1 ist möglich.
=⇒ z ← 4 ist widerpruchsvoll.
=⇒ Nur z ← 2 ist möglich.
Damit bleiben nur y ← 3 und x ← 4 als Möglichkeiten übrig.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
244
8. Constraints
Constraintpropagierung
Ablauf der Constraintpropagierung:
Schritt
1
2
3
4
5
6
7
8
Constraint
x>y
x>y
y>z
y>z
z>w
z>w
y>z
x>y
Variable
x
y
y
z
z
w
y
x
alter Bereich
{1, 2, 3, 4}
{1, 2, 3, 4}
{1, 2, 3}
{1, 2, 3, 4}
{1, 2}
{1, 2, 3, 4}
{2, 3}
{2, 3, 4}
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
neuer Bereich
{2, 3, 4}
{1, 2, 3}
{2, 3}
{1, 2}
{2}
{1}
{3}
{4}
245
8. Constraints
Constraintpropagierung
Definition 8.10. Eine Variable x heißt konsistent gdw. jede mögliche
{x}-Markierung die einstelligen Constraints c mit V(c) = {x} erfüllt.
Ein CSP heißt knotenkonsistent (1-konsistent) gdw. jede Variable konsistent ist.
Ein zweistelliges Constraint c mit V(c) = {x, y} heißt konsistent gdw. sich
jede Markierung {x ← v} zu einer Markierung {x ← v, y ← w} erweitern
läßt.
Ein CSP heißt kantenkonsistent gdw. es knotenkonsistent ist und wenn
jedes zweistellige Constraint konsistent ist.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
246
8. Constraints
Constraintpropagierung
Bemerkungen:
• Die Propagierung von Constraints hat das Ziel, ein kantenkonsistentes CSP zu erzeugen.
• Wenn kein kantenkonsistentes CSP erzeugt werden kann, so ist das
CSP unlösbar.
• Wenn ein kantenkonsistentes CSP erzeugt werden kann, so folgt allgemein nicht die Lösbarkeit des CSP, der Aufwand der Suche reduziert sich aber i.d.R. deutlich.
• Die Kantenkonsistenz ist unter bestimmten Bedingungen an die
Struktur des Constraintnetzes hinreichend, um eine Suche ohne
Backtracking zu garantieren.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
247
8. Constraints
Constraintpropagierung
Algorithmus 8.1. [AC-3] Nach Anwendung von AC-3 besteht entweder Kantenkonsistenz oder eine Variable hat einen leeren Wertebereich,
d.h. das CSP ist nicht lösbar.
Q ← Menge der Kanten des Constraintnetzes
while Q 6= ∅ do
(x, y) ← LöscheErstesElement(Q)
if LöscheInkonsistenteWerte(x, y) then
for each z adjazent mit x do
Q ← Q + (z, x)
LöscheInkonsistenteWerte(x, y)
del ← false
for each w ∈ D(x) do
if 6 ∃v ∈ D(y) : (w, v) erfüllt Constraints zu (x, y) then
D(x) ← D(x) \ {w}; del ← true
return del
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
248
8. Constraints
Constraintpropagierung
Bemerkungen:
• AC-3 verwendet eine Schlange, um die Kanten zu verwalten, die auf
Inkonsistenz geprüft werden müssen.
• Die Kanten sind prinzipiell gerichtet.
• Jede Kante (x, y) wird aus der Queue entfernt und überprüft.
• Müssen Werte aus D(x) entfernt werden, muß jede Kante (z, x) wieder in die Schlange eingefügt werden.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
249
8. Constraints
Constraintpropagierung
Beispiel 8.8. Kombination von Tiefensuche und Constraintpropagierung beim 4-Damen-Problem:
✕
✕
✕ ✕ ✕
✕
✕
✕
✕
✕
✕
✕ ✕
✕
✕ ✕ ✕
✕
✕
✕
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
250
8. Constraints
Constraintpropagierung
Definition 8.11. Ein CSP heißt k-konsistent gdw. eine Markierung
{x1 ← w1, . . . , xk−1 ← wk−1} von k − 1 Variablen für alle Variablen
y ∈ V, y ∈
/ {x1, . . . , xk−1 } erweitert werden kann, so daß alle Constraints
zwischen {x1, . . . , xk−1, y} erfüllt sind.
Ein CSP ist streng k-konsistent gdw. es konsistent ist für 1 ≤ i ≤ k.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
251
8. Constraints
Min-Conflicts-Heuristik
Lokale Suche für CSP: Min-Conflicts-Heuristik
• Man startet mit einer V-Markierung, die keine Lösung des CSP darstellt.
• In einer Iteration wählt man zufällig eine Variable aus und minimiert
für diese die durch C gegebenen Konflikte.
• Dies führt man solange fort, bis eine Lösung gefunden wurde oder
eine maximale Anzahl an Iteration erreicht ist.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
252
8. Constraints
Min-Conflicts-Heuristik
Beispiel 8.9.
2
3
2
3
1
2
2
3
3
1
2
2
3
0
• In jeder Iteration wird eine Dame gewählt, um sie in der Spalte neu
zu positionieren.
• Die Min-Conflicts-Heuristik verschiebt die Damen auf das Feld mit
den wenigsten Konflikten.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
253
8. Constraints
Min-Conflicts-Heuristik
Bemerkungen:
• Für das n-Damen-Problem ist die Anzahl der Iterationen so gut wie
unabhängig von der Problemgröße!
• Selbst das 106-Damen-Problem kann so in durchschnittlich 50 Schritten gelöst werden.
• Grund: Die Lösungen liegen im Zustandsraum dicht verteilt.
• Weiterer Vorteil von Min-Conflicts: Anwendbarkeit bei einer OnlineLösung, wenn sich das Problem ändert
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
254
8. Constraints
Min-Conflicts-Heuristik
Vergleich verschiedener CSP-Algorithmen
Problem
USA
n-Damen
Zebra
Zufall 1
Zufall 2
BT
(> 1000K)
(> 40.000K)
3.859K
415K
942K
BT+MCV
(> 1000K)
13.500K
1K
3K
27K
Vorab
2K
(> 40.000K)
35K
26K
77K
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
Vorab+MCV
60
817K
0.5K
2K
15K
255
Min-Conf.
64
4K
2K
8. Constraints
Ausnutzung der Problemstruktur
Ausnutzung der Problemstruktur
• Der einfachste Fall: unabhängige Unterprobleme
• erkennbar durch: Zusammenhangskomponenten im Constraintnetz
• Komponenten haben c Variablen aus n Variablen. Laufzeit ist dann
O(dcn/c) statt O(dn) mit d = |D|.
• Beispiel: n = 80, d = 2, c = 20
280 = 4 Mrd. Jahre bei 10 Mill. Knoten / sec
4 · 220 = 0.4 Sekunden bei 10 Mill. Knoten / sec
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
256
8. Constraints
Ausnutzung der Problemstruktur
Baum-strukturierte CSPs
Algorithmus 8.2.
1. Wähle eine Variable x1 als Wurzel des Baumes, ordne die Variablen
x1, . . . , xn von der Wurzel zu den Blättern gemäß Tiefensuche.
A
E
B
C
A
D
(a)
B
D
C
F
E
F
(b)
2. Für j = n bis 1 wende man die Kantenkonsistenz auf die Kante
(Vater(xj), xj) an.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
257
8. Constraints
Ausnutzung der Problemstruktur
3. Für j = 1 bis n weise man der Variablen xj einen Wert zu, der konsistent mit dem Vater von xj ist.
Bemerkungen:
• Nach 2. ist das CSP gerichtet kantenkonsistent, so daß für die Zuweisungen in 3. kein Backtracking erforderlich ist.
• Durch die Anwendung der Kantenkonsistenz in umgekehrter Reihenfolge (2.) wird sichergestellt, daß entfernte Werte die Konsistenz von
bereits verarbeiteten Knoten nicht gefährden können.
Satz 8.1. Ist das Constraintnetz ein Baum, so kann das CSP in Zeit
O(nd2) gelöst werden.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
258
8. Constraints
Ausnutzung der Problemstruktur
Schnittmengenkonditionierung
Idee: Man markiere einige wenige Variablen, so daß das restliche Constraintnetz einen Baum bildet.
NT
NT
Q
Q
WA
WA
SA
NSW
V
T
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
NSW
V
T
259
8. Constraints
Ausnutzung der Problemstruktur
Algorithmus 8.3.
1. Wähle S ⊂ V, so daß das Constraintnetz ohne S einen Baum darstellt.
S wird auch als zyklische Schnittmenge bezeichnet.
2. Für alle möglichen S-Markierungen, die die Constraints auf S erfüllen:
(a) entferne aus den Wertebereichen der Variablen V \ S die Werte,
die inkonsistent mit der S-Markierung sind und
(b) wenn es für das verbleibende CSP eine konsistente Markierung
gibt, so vereinige diese mit der S-Markierung und gebe die Vereinigung als Lösung zurück.
☞ c = |S| =⇒ Laufzeit: O(dc · (n − c)d2)
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
260
8. Constraints
Ausnutzung der Problemstruktur
Baumzerlegung
• Zerlege in unabhängige Teilprobleme
NT
NT
Q
WA
SA
SA
• löse die Teilprobleme
separat
• Setze die Lösungen
der
Teilprobleme
zu einer konsistenten
Gesamtlösung
zusammen
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
Q
SA
NSW
SA
NSW
T
V
261
8. Constraints
Ausnutzung der Problemstruktur
Eine Baumzerlegung muß die folgenden Bedingungen erfüllen:
• Jede Variable im ursprünglichen Problem erscheint in mindestens einem Teilproblem.
• Sind zwei Variablen x, y im ursprünglichen Problem durch ein Constraint c verbunden, so müssen x, y, c in mindestens einem Teilproblem auftreten.
• Wenn eine Variable in zwei Teilproblem P1, P2 auftritt, muß sie in jedem Teilproblem entlang des Pfades, der P1 und P2 verbindet, auftreten.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
262
8. Constraints
Ausnutzung der Problemstruktur
• Das Ziel bei einer Baumzerlegung ist es, die Teilprobleme so klein
wie möglich zu machen.
• Die Baumbreite einer Baumzerlegung ist definiert als die Größe des
größten Teilproblems + 1.
• Die Baumbreite des eigentlichen Graphen ist definiert als die minimal
mögliche Baumbreite.
• Bei Baumbreite w und wenn die entsprechende Zerlegung bekannt
ist, kann das CSP in O(ndw+1 ) gelöst werden.
• Die Ermittlung der Zerlegung mit minimaler Baumbreite ist N Pvollständig, aber es gibt ausreichend gut funktionierende Heuristiken.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
263
8. Constraints
Zusammenfassung
Zusammenfassung
• CSP: Problem unter Nebenbedingungen, Lösungsansatz: Tiefensuche
• Vernüftige Auswahl von Variablen und Werten: MCV- und LCVHeuristik, Gradheuristik
• Reduzierung des Verzweigungsgrades: Vorabüberprüfung und
Constraintpropagierung
• Oft erfolgreich: Lokale Suche mittels Min-Conflicts-Heuristik
• Ausnutzung der Struktur: Schnittmengenkonditionierung und Baumzerlegung
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 07/08
264
Herunterladen