07.04.2014 Aufrufe

Modellierung von CSPs, Heuristik des minimalen Konflikts, Heuristik ...

Modellierung von CSPs, Heuristik des minimalen Konflikts, Heuristik ...

Modellierung von CSPs, Heuristik des minimalen Konflikts, Heuristik ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

T<br />

+ T<br />

F O<br />

W<br />

W<br />

U<br />

O<br />

O<br />

R<br />

F T U W R<br />

X 3 X 2 X 1<br />

O<br />

(a)<br />

Wissensbasierte Systeme II<br />

(b)<br />

Peter Becker<br />

FH Bonn-Rhein-Sieg<br />

Fachbereich Informatik<br />

peter.becker@fh-bonn-rhein-sieg.de<br />

Vorlesung Wintersemester 2004/05


Ziele, Voraussetzungen, Abschluß<br />

• Ziele<br />

– Vermittlung <strong>von</strong> fortgeschrittenen Techniken der Wissensrepräsentation<br />

und elementaren Konzepten <strong>des</strong> Data Minings<br />

– Verstehen der grundlegenden Arbeitsweise <strong>von</strong> intelligenten Spielen<br />

– Grundlegende Verfahren <strong>des</strong> maschinellen Lernens und <strong>des</strong> Data<br />

Minings kennen, verstehen und anwenden können<br />

• Voraussetzungen<br />

– Wissensbasierte Systeme I, insbesondere Suchverfahren, Logik<br />

und Prolog<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 1


– Sicherer Umgang mit Datenstrukturen und Algorithmen in einer<br />

Programmiersprache<br />

• Abschluß Bachelor:<br />

– Prüfung (Form wird später festgelegt)<br />

– ECTS: 3 Credits<br />

Diplom:<br />

– Teilnahmebescheinigung für aktive Teilnahme<br />

– Mündliche Prüfung über Wissensbasierte Systeme I bis III<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 2


Organisatorisches<br />

• Bachelor: Modul Wahlpflicht, 3 <strong>von</strong> 8 Credits<br />

• Diplom: Wahlpflicht Hauptstudium<br />

• Vorlesung: Mo 8:00 – 9:30 Uhr, C016<br />

Übung: 9:45 – 10:30, C016<br />

• Die Übung dient der Präsentation der Lösungen zu Übungsaufgaben.<br />

• Übungen sind sowohl theoretischer als auch praktischer Art<br />

• Folien zur Vorlesung sind im Netz verfügbar<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 3


• Homepage zur Vorlesung mit Literaturhinweisen und interessanten<br />

Links<br />

www.inf.fh-brs.de/~pbecke2m/wbs2/<br />

• Hinweise auf Software<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 4


Inhalt (vorläufig)<br />

1. Constraintprobleme<br />

2. Spiele<br />

3. Regelsysteme<br />

4. Entscheidungsbäume<br />

5. Assoziationsregeln<br />

6. Clusteranalyse<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 5


Literatur<br />

S. Russell, P. Norvig<br />

Künstliche Intelligenz: Ein moderner Ansatz<br />

Pearson Studium<br />

2004<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 6


S. Russell, P. Norvig<br />

Artificial Intelligence: A Modern Approach<br />

Prentice Hall<br />

2002<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 7


G. F. Luger<br />

Künstliche Intelligenz<br />

Addison-Wesley<br />

2001<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 8


G. Görz, C.-R. Rollinger, J. Schneeberger<br />

(Hrsg.)<br />

Handbuch der Künstlichen Intelligenz<br />

Oldenbourg<br />

2000<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 9


C. Beierle, G. Kern-Isberner<br />

Methoden wissensbasierter Systeme<br />

Vieweg<br />

2003<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 10


T. A. Runkler<br />

Information Mining<br />

Vieweg<br />

2000<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 11


1. Constraints Constraintprobleme<br />

1. Constraints<br />

Western<br />

Australia<br />

Northern<br />

Territory<br />

South<br />

Australia<br />

Tasmania<br />

Queensland<br />

New<br />

South<br />

Wales<br />

Victoria<br />

Probleme der bekannten Algorithmen<br />

beim Färbungsproblem:<br />

• Tiefen- und Breitensuche nutzen<br />

die Struktur <strong>des</strong> Problems<br />

nicht aus und<br />

• A* ist ausgerichtet auf Optimierungsprobleme.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 12


1. Constraints Constraintprobleme<br />

Charakterisierung <strong>von</strong> Constraintproblemen<br />

Allgemein:<br />

• Objekten bzw. Variablen sollen<br />

• Werte aus Wertebereichen zugeordnet<br />

werden,<br />

Färbungsproblem:<br />

• Teilstaaten <strong>von</strong> Australien<br />

• Farbe aus einer Menge <strong>von</strong> Farben<br />

• so daß gewisse Nebenbedingungen<br />

erfüllt sind.<br />

• benachbarte Teilstaaten<br />

müssen unterschiedlich gefärbt<br />

sein<br />

Weitere Beispiele: n-Damen-Problem, kryptoarithmetische Rätsel<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 13


1. Constraints Constraintprobleme<br />

Definition 1.1. Ein Constraintproblem (constraint satisfaction problem,<br />

CSP) besteht aus<br />

• einer endlichen Menge V <strong>von</strong> Variablen,<br />

• einem Wertebereich (Domäne) D(v) für jede Variable v ∈ V und<br />

• einer endlichen Menge C <strong>von</strong> Nebenbedingungen, auch Constraints<br />

genannt, die erlaubte Variablenkombinationen definieren.<br />

Ein Constraint c ∈ C heißt n-stellig, wenn es <strong>von</strong> n Variablen abhängt.<br />

V(c) ist die Menge der Variablen zum Constraint c ∈ C.<br />

Constraintprobleme, die nur ein- oder zweistellige Constraints enthalten,<br />

heißen binäre Constraintprobleme.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 14


1. Constraints Constraintprobleme<br />

Markierung und Lösung für CSP<br />

Definition 1.2.<br />

Menge<br />

mit w i ∈ D(x i ) für i = 1, . . . , n.<br />

Sei V = {x 1 , . . . , x n } ⊆ V. Eine V-Markierung ist eine<br />

{x 1 ← w 1 , x 2 ← w 2 , . . . , x n ← w n }<br />

V wird weggelassen, wenn die Variablenmenge aus dem Kontext hervorgeht.<br />

Eine Lösung (konsistente Markierung) eines Constraintproblems ist eine<br />

Markierung für V, so daß man für je<strong>des</strong> Constraint c ∈ C bei Ersetzung<br />

der Variablen x i durch w i eine wahre Bedingung erhält.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 15


1. Constraints Constraintprobleme<br />

Beispiel 1.1.<br />

• Färbungsproblem für Australien:<br />

V = {WA, NT, SA, Q, NSW, V, T}<br />

D = {rot, grün, blau}<br />

C = {WA ≠ NT, WA ≠ SA, NT ≠ SA, NT ≠ Q, SA ≠ Q,<br />

Die Markierung<br />

SA ≠ NSW, SA ≠ V, Q ≠ NSW, NSW ≠ V}<br />

σ = {WA ← rot, NT ← grün, Q ← rot, NSW ← grün,<br />

V ← rot, SA ← blau, T ← rot}<br />

ist eine Lösung <strong>des</strong> CSP.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 16


1. Constraints Constraintprobleme<br />

• Das 4-Damen-Problem:<br />

V = {x 1 , x 2 , x 3 , x 4 }<br />

D = {1, 2, 3, 4}<br />

C = {c(x i , x j )|i, j = 1, 2, 3, 4, i < j}, mit<br />

c(x i , x j ) = x i ≠ x j ∧ x i − x j ≠ i − j ∧ x i − x j ≠ j − i<br />

Die Markierung<br />

σ = {x 1 ← 2, x 2 ← 4, x 3 ← 1, x 4 ← 3}<br />

ist eine Lösung <strong>des</strong> CSP.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 17


1. Constraints Constraintprobleme<br />

• Kryptoarithmetisches Rätsel:<br />

T W O<br />

+ T W O<br />

F O U R<br />

V = {T, W, O, F, U, R, X 1 , X 2 , X 3 }<br />

⎧<br />

⎨ {0, 1, . . . , 9} für v ∈ {W, O, U, R}<br />

D(v) = {1, . . . , 9} für v ∈ {T, F}<br />

⎩<br />

{0, 1} für v ∈ {X 1 , X 2 , X 3 }<br />

C = {2 · O = R + 10 · X 1 ,<br />

X 1 + 2 · W = U + 10 · X 2 ,<br />

X 2 + 2 · T = O + 10 · X 3 ,<br />

X 3 = F,<br />

T ≠ F, T ≠ W, . . . , U ≠ R}<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 18


1. Constraints Constraintprobleme<br />

Die Markierung<br />

σ = {T ← 7, W ← 3, O ← 4, F ← 1, U ← 6, R ← 8, X 1 ← 0, X 2 ← 0, X 3 ← 1}<br />

ist eine Lösung <strong>des</strong> CSP.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 19


1. Constraints Constraintprobleme<br />

Bemerkungen:<br />

• Im Gegensatz zum Färbungsproblem und zum n-Damen-Problem<br />

handelt es sich bei dem kryptoarithmetischen Rätsel nicht um ein<br />

binäres CSP.<br />

• Weitere Anwendungen <strong>von</strong> CSP: Frequenzzuordnung in Mobilfunknetzen,<br />

Stundenplanprobleme, Scheduling<br />

• Ein aktuelles Forschungsthema ist die Kombination <strong>von</strong> Logikprogrammierung<br />

mit Verfahren zur Lösung <strong>von</strong> Constraintproblemen.<br />

☞ Constraint Programming<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 20


1. Constraints Constraintprobleme<br />

Constraintnetze<br />

Beispiel 1.2. Es sei n > 0. Das folgende Gleichungssystem ist über<br />

dem Bereich D = {0, 1, . . . , n} zu lösen.<br />

x + z = 2n<br />

y + w = 2n<br />

Wir nutzen Tiefensuche und markieren die Variablen in der Reihenfolge<br />

1. x, y, z, w<br />

2. x, z, y, w.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 21


1. Constraints Constraintprobleme<br />

Suchbaum für n = 2 und die Reihenfolge x, y, z, w:<br />

X = 0 X = 1 X = 2<br />

Y = 0 Y = 1 Y = 2 Y = 0 Y = 1 Y = 2 Y = 0 Y = 1 Y = 2<br />

Z = 2 Z = 2 Z = 2<br />

W = 2<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 22


1. Constraints Constraintprobleme<br />

Suchbaum für n = 2 und die Reihenfolge x, z, y, w:<br />

X = 0 X = 1 X = 2<br />

Z = 2<br />

Y = 0 Y = 1 Y = 2<br />

W = 2<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 23


1. Constraints Constraintprobleme<br />

Bemerkungen:<br />

• Für beliebiges n wächst die Anzahl der Knoten im ersten Suchbaum<br />

mit n 2 ,<br />

• die Anzahl der Knoten <strong>des</strong> zweiten Suchbaums mit 2n.<br />

• Grund: Die Variablen x, z stehen mit den Variablen y, w in keiner Beziehung.<br />

• Fazit: Die Information über die Beziehungen zwischen den Variablen<br />

eines CSP kann <strong>von</strong> großem Nutzen sein.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 24


1. Constraints Constraintprobleme<br />

Definition 1.3. Ein Constraintnetz (constraint net) zu einem binären<br />

Constraintproblem ist ein Graph,<br />

• <strong>des</strong>sen Knoten den Variablen eines CSP entsprechen und<br />

• <strong>des</strong>sen Kanten mit den binären Constraints markiert sind.<br />

Ein Constraintnetz heißt zusammenhängend, wenn der Graph zusammenhängend<br />

ist.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 25


1. Constraints Constraintprobleme<br />

Constraintnetz für das australische<br />

Färbungsproblem:<br />

NT<br />

Q<br />

Constraintnetz für Beispiel 1.2 und<br />

n = 2:<br />

WA<br />

X<br />

X+Y=4<br />

Y<br />

SA<br />

NSW<br />

V<br />

Z<br />

Z+W=4<br />

W<br />

T<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 26


1. Constraints Constraintprobleme<br />

• Nicht zusammenhängende Teile eines Constraintnetzes können separat<br />

gelöst werden.<br />

• Die Beschränkung auf binäre <strong>CSPs</strong> stellt prinzipiell keine Einschränkung<br />

dar, da je<strong>des</strong> CSP in ein binäres CSP transformiert werden<br />

kann.<br />

• Alternativdarstellung am Beispiel <strong>des</strong> kryptoarithmetischen Rätsels:<br />

+<br />

T<br />

T<br />

W<br />

W<br />

O<br />

O<br />

F T U W R<br />

O<br />

F<br />

O<br />

U<br />

R<br />

X 3 X 2 X 1<br />

(a)<br />

(b)<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 27


1. Constraints Constraintprobleme<br />

Umwandlung in ein binäres CSP<br />

1. Für jede Constraint c ∈ C wird eine neue Variable eingeführt, die die<br />

ursprünglichen Variablen V(c) einschließt.<br />

2. Der Wertebereich der einschließenden Variablen ergibt sich aus der<br />

Relation, die die zugehörige Constraint erfüllt.<br />

3. Nachdem so alle Constraints umgewandelt worden sind, werden<br />

zwei umschließende Variablen durch eine neue Constraint verbunden,<br />

wenn die Menge der zugehörigen ursprünglichen Variablen<br />

nicht leer ist.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 28


1. Constraints Constraintprobleme<br />

Beispiel 1.3.<br />

Wir betrachten folgen<strong>des</strong> Constraintproblem:<br />

V = {x, y, z}<br />

D(x) = {1, 2}<br />

D(y) = {3, 4}<br />

D(z) = {5, 6}<br />

C = {x + y = z, x < y}<br />

Für die Constraint x + y = z führen wir die umschließende Variable u<br />

ein mit<br />

D(u) = {(1, 4, 5), (2, 3, 5), (2, 4, 6)}<br />

Für die Constraint x < y führen wir die umschließende Variable v ein<br />

mit<br />

D(v) = {(1, 3), (2, 3), (1, 4), (2, 4)}<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 29


1. Constraints Constraintprobleme<br />

Die Funktion π i (t) stelle die Projektion eines Tupels t auf die i-te Stelle<br />

dar. Die Constraints für das binäre CSP sind dann<br />

π 1 (u) = π 1 (v) und π 2 (u) = π 2 (v)<br />

Constraintnetz:<br />

{(1, 4, 5), (2, 3, 5), (2, 4, 6)}<br />

u<br />

π 1 (u) =<br />

π (v) 1<br />

π 2 (u) =<br />

π (v) 2<br />

v<br />

{(1, 3), (1, 4), (2, 3), (2, 4)}<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 30


1. Constraints Constraintprobleme<br />

CSP und Tiefensuche<br />

Startzustand: leere Markierung {}<br />

Zustandsübergang: Markierung einer bisher nicht markierten Variablen<br />

mit einem Wert, der nicht zu einem Konflikt führt<br />

Zielzustand: vollständige (konfliktfreie) Markierung für V.<br />

Zur Lösung verwendet man üblicherweise Tiefensuche, denn<br />

• die Tiefe <strong>des</strong> Suchbaums ist endlich und<br />

• Tiefe ist im voraus bekannt.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 31


1. Constraints <strong>Heuristik</strong>en f ür Constraintprobleme<br />

<strong>Heuristik</strong> <strong>des</strong> <strong>minimalen</strong> <strong>Konflikts</strong><br />

Nachfolgerzustände sollten günstig für die Effizienz der Problemlösung<br />

ausgesucht werden.<br />

✕<br />

✕<br />

✕<br />

✕<br />

✕<br />

s1<br />

✕<br />

✕<br />

✕<br />

✕<br />

s0<br />

✕<br />

✕<br />

s2<br />

✕<br />

✕<br />

Ist s 1 oder s 2 besser?<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 32


1. Constraints <strong>Heuristik</strong>en f ür Constraintprobleme<br />

Die <strong>Heuristik</strong> <strong>des</strong> <strong>minimalen</strong> <strong>Konflikts</strong> (least constraining value heuristics,<br />

LCV-<strong>Heuristik</strong>) lautet:<br />

☞ Ordne die möglichen Werte für eine Variable nach der Anzahl der<br />

Konflikte, die ein Wert mit den noch zu markierenden Variablen erzeugt.<br />

☞ Bevorzuge den Wert, der die wenigsten Konflikte erzeugt.<br />

Bemerkungen:<br />

• Der “Konfliktgrad” für einen Nachfolgerzustand kann durch eine heuristische<br />

Funktion h(s) zum Ausdruck gebracht werden.<br />

• Die Nachfolgerzustände werden dann aufsteigend sortiert gemäß<br />

h(s) in die Agenda eingefügt.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 33


1. Constraints <strong>Heuristik</strong>en f ür Constraintprobleme<br />

Beispiel 1.4.<br />

Für das n-Damen-Problem:<br />

h(s) := Anzahl der bedrohten Felder in den noch zu<br />

besetzenden Spalten.<br />

Damit ist h(s 1 ) = 7 und h(s 2 ) = 6. Also wird zunächst s 2 expandiert.<br />

Allgemein: Um h(s) für eine Markierung x ← w zu ermitteln,<br />

• bestimme für jede noch zu markierende Variable y<br />

• die Anzahl der Werte v ∈ D(y), für die die Markierung {. . . , x ←<br />

w, y ← v} ein Constraint verletzt<br />

• und summiere diese Werte auf.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 34


1. Constraints <strong>Heuristik</strong>en f ür Constraintprobleme<br />

<strong>Heuristik</strong> der maximal eingeschränkten Variablen<br />

1<br />

✕<br />

✕ ✕ ✕ ✕<br />

• Die zu markierende Variable<br />

sollte ebenfalls günstig für die<br />

Effizienz der Problemlösung<br />

ausgesucht werden.<br />

2<br />

3<br />

4<br />

5<br />

✕<br />

✕<br />

✕<br />

✕<br />

✕ ✕ ✕ ✕<br />

✕ ✕ ✕ ✕<br />

• Welche Spalte soll als nächstes<br />

besetzt werden?<br />

6<br />

7<br />

✕<br />

✕<br />

✕<br />

✕<br />

✕<br />

✕<br />

8<br />

✕<br />

✕<br />

a b c d e f g<br />

✕<br />

h<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 35


1. Constraints <strong>Heuristik</strong>en f ür Constraintprobleme<br />

Die <strong>Heuristik</strong> der maximal eingeschränkten Variablen (most constrainted<br />

variable heuristics, MCV-<strong>Heuristik</strong>) lautet:<br />

☞ Ordne die zu markierenden Variablen nach der Anzahl der noch<br />

möglichen Werte und<br />

☞ bevorzuge die Variable, die die wenigsten möglichen Werte besitzt.<br />

Kombination der beiden <strong>Heuristik</strong>en:<br />

• Die nächste zu markierende Variable wird mit der <strong>Heuristik</strong> der maximal<br />

eingeschränkten Variablen ermittelt.<br />

• Anschließend wird für diese Variable ein Wert mit der <strong>Heuristik</strong> <strong>des</strong><br />

<strong>minimalen</strong> <strong>Konflikts</strong> bestimmt.<br />

Wissensbasierte Systeme II — FH Bonn-Rhein-Sieg, WS 04/05 36

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!