Wissensbasierte Systeme 5. Constraint Satisfaction Probleme



Ähnliche Dokumente
Wissensbasierte Systeme

Wissensbasierte Systeme

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Grundlagen der Künstlichen Intelligenz

Algorithmen und Datenstrukturen

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

WS 2009/10. Diskrete Strukturen

Wissensbasierte Systeme

Theoretische Grundlagen der Informatik

Algorithmische Mathematik

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

1 topologisches Sortieren

Semantik von Formeln und Sequenzen

Grundbegriffe der Informatik

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung;

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Algorithmen & Datenstrukturen 1. Klausur

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Nachtrag zu binären Suchbäumen

Software-Engineering SS03. Zustandsautomat

Feiertage in Marvin hinterlegen

Whitebox-Tests: Allgemeines

Informationsblatt Induktionsbeweis

Repetitionsaufgaben Wurzelgleichungen

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Binärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme

Grundlagen der Theoretischen Informatik, SoSe 2008

Kapiteltests zum Leitprogramm Binäre Suchbäume

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Binäre Bäume Darstellung und Traversierung

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo

Programmiersprachen und Übersetzer

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Einführung in. Logische Schaltungen

Übungen für Woche 10

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

Anmerkungen zur Übergangsprüfung

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Grundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Binäre Suchbäume (binary search trees, kurz: bst)

Darstellungsformen einer Funktion

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

6.2 Scan-Konvertierung (Scan Conversion)

IBIS Professional. z Dokumentation zur Dublettenprüfung

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Kapitel MK:IV. IV. Modellieren mit Constraints

Algorithmen und Datenstrukturen 2

Kapitel 6: Graphalgorithmen Gliederung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Die Komplexitätsklassen P und NP

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

1 Mathematische Grundlagen

Erfahrungen mit Hartz IV- Empfängern

Die Verbindung von Linearer Programmierung und Graphentheorie

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

WS 2013/14. Diskrete Strukturen

Kapitel MK:IV. IV. Modellieren mit Constraints

Primzahlen und RSA-Verschlüsselung

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Österreichische Trachtenjugend

Datenstrukturen & Algorithmen

Persönliches Adressbuch

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Erstellen von x-y-diagrammen in OpenOffice.calc

Konzepte der Informatik

Petri-Netze / Eine Einführung (Teil 2)

Der monatliche Tarif für ein Handy wurde als lineare Funktion der Form f(x) = k x + d modelliert (siehe Grafik).

Mathematische Grundlagen der Informatik 2

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Eine mathematische Reise ins Unendliche. Peter Koepke Universität Bonn

Die Post hat eine Umfrage gemacht

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Informatik I WS 07/08 Tutorium 24

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Guten Morgen und Willkommen zur Saalübung!

How to do? Projekte - Zeiterfassung

Algorithmen und Datenstrukturen

erster Hauptsatz der Thermodynamik,

5. Übung: PHP-Grundlagen

SEP 114. Design by Contract

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung bis

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Was meinen die Leute eigentlich mit: Grexit?

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Transkript:

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme Michael Beetz Vorlesung Wissensbasierte Systeme 1

Inhalt 5.1 Begriffe 5.2 Constraint Satisfaction in Linienbildern 5.3 Beispielanwendungen 5.4 Lösen von CSP Problemen Vorlesung Wissensbasierte Systeme 2

5.1.1 Constraint satisfaction problems (CSPs) Standardsuchprobleme: Zustand ist eine black box eine beliebige Datenstruktur mit Operatoren zum Zieltest, Bewertungsschema und Nachfolgerfunktion CSP: Ein Zustand ist definiert durch Variable X i mit Werten values aus einem Wertebereich domain D i Der Zieltest ist eine Menge von constraints, die erlaubte Kombinationen von Werten für Teilmengen der Variablen spezifizieren. Einfaches Beispiel einer formalen Representationssprache Ermöglicht general-purpose Algorithmen, die effektiver als Standardsuchalgorithmen sind Vorlesung Wissensbasierte Systeme 3

5.1.2 Beispiel: Einfärben von Landkarten Variablen W A, NT, Q, NSW, V, SA, T Wertebereiche D i = {red, green, blue} Constraints: adjacent regions must have different colors e.g., W A NT (if the language allows this), or (W A, NT ) {(red, green), (red, blue), (green, red), (green, blue),...} Vorlesung Wissensbasierte Systeme 4

5.1.3 Beispiel: Einfärben von Landkarten (Fortsetzung) Lösungen sind Zuweisungen an Variable, die alle Constraints erfüllen, e.g., {W A = red, NT = green, Q = red, NSW = green, V = red, SA = blue, T = green} Vorlesung Wissensbasierte Systeme 5

5.1.4 Constraint Graphen Binäres CSP: jedes Constraint schränkt höchstens zwei Variablen ein Constraint Graph: Knoten sind Variable, Kanten sind mit Constraints markiert Domänunabhängige CSP Algorithmen nutzen die Graphstruktur aus, um die Suche zu beschleunigen. Z.B., Tasmanien ist ein unabhängiges Teilproblem! Vorlesung Wissensbasierte Systeme 6

5.1.5 Verschiedene Klassen von Constraint Problemen Diskrete Variablen endliche Wertebereiche; Größe d = O(d n ) vollständige Wertezuweisungen z.b., Boolesche CSPs, incl. Boole sche Erfüllbarkeit (NP-vollständig) unendliche Wertebereiche (natürliche Zahlen, Zeichenketten,...) e.g., Job Scheduling, Variablen sind Start/End Termine für jede Aufgabe benötigt eine constraint language, z.b., StartJob 1 + 5 StartJob 3 lineare Constraints berechenbar, nichtlineare unentscheidbar Kontinuierliche Variablen z.b., Start/End Zeitpunkte für die Hubble Telescope observations lineare Constraints sind in polynomialer Zeit durch Methoden der linearen Programmierung lösbar Vorlesung Wissensbasierte Systeme 7

5.1.6 Klassen von Constraints Unäre Constraints schränken einzelne Variablen ein, e.g., SA green Binäre Constraints schränken Wertepaare von zwei Variablen ein e.g., SA W A Constraints höherer Ordnung beziehen sich auf 3 oder mehr Variablen e.g., kryptarithmetische Spaltenbedingungen Präferenzen (soft constraints), z.b., red ist besser als green oft durch eine Kostenfunktion für Variablenzuweisungen ausgedrückt eingeschränkte Optimierungsprobleme Vorlesung Wissensbasierte Systeme 8

5.2.1 Beispiel: Waltz Constraint Satisfaction in Linienbildern (1) Vorlesung Wissensbasierte Systeme 9

5.2.2 Beispiel: Waltz Constraint Satisfaction in Linienbildern (2) Vorlesung Wissensbasierte Systeme 10

5.2.3 Beispiel: Waltz Constraint Satisfaction in Linienbildern (3) Vorlesung Wissensbasierte Systeme 11

5.2.4 Beispiel: Waltz Constraint Satisfaction in Linienbildern (4) Vorlesung Wissensbasierte Systeme 12

5.2.5 Beispiel: Waltz Constraint Satisfaction in Linienbildern (5) Vorlesung Wissensbasierte Systeme 13

5.3.1 Beispiel: Kryptarithmetische Puzzles Variablen: F T U W R O X 1 X 2 X 3 Wertebereiche: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Constraints alldiff(f, T, U, W, R, O) O + O = R + 10 X 1, etc. Vorlesung Wissensbasierte Systeme 14

5.3.2 Reale Constraint Satisfaction Probleme Stundenplan mit Raumbelegung Hardware Konfiguration VLSI Entwurf Spreadsheets Routenplanung Maschinenbelegungspläne Vorlesung Wissensbasierte Systeme 15

3.6.1. Constraint-Satisfaction-Probleme (CSP) CSPs bilden eine spezielle Problemklasse, die aufgrund struktureller Einschränkungen besondere Suchtechniken erlauben. Zustände sind durch Werte von Variablen definiert. Operatoren belegen eine Variable mit einem Wert. Der Zieltest wird durch Constraints (Bedingungen) spezifiziert, welche die Variablenbelegungen erfüllen müssen. Ein Zielzustand ist eine Belegung der Variablen mit Werten, die alle Constraints erfüllen. Vorlesung Wissensbasierte Systeme 16

3.6.2. Beispiel: Das 8-Damen Problem als CSP Es gibt 8 Variablen V 1,..., V 8, wobei V i für die Dame in der i-ten Spalte steht. V i kann einen Wert von aus {1, 2,..., 8} annehmen, der für die Zeilenposition steht. Zwischen allen Paaren von Variablen gibt es Constraints, welche die Nichtangreifbarkeit ausdrücken. diskretes, endliches, binäres CSP Vorlesung Wissensbasierte Systeme 17

3.6.3. Einfärben von Graphen als CSP Gegeben ein Graph mit n Knoten, färbe die Knoten mit k Farben so ein, dass zwei durch eine Kante verbundene Knoten nicht die gleiche Farbe haben ( NP-vollständiges Problem!) Beispiel: Kann der folgende Graph mit 3 Farben eingefärbt werden? Lösung: Vorlesung Wissensbasierte Systeme 18

3.6.4. Allgemeine Suche zum CSP-Lösen Tiefensuche ist bei CSPs vollständig, da ja nur maximal n Operatoren (Belegung von Variablen durch Werte) möglich sind. Bei naiver Implementation ist der Verzweigungsfaktor sehr hoch! Sei D i die Menge der möglichen Werte für V i. Dann ist der Verzweigungsfaktor b = n i=1 D i. Die Reihenfolge der Instantiierungen der Variablen ist für die Lösung unerheblich. Deshalb man kann bei jeder Expansion eine Variable (nicht-deterministisch) aussuchen, d.h. der Verzweigungsfaktor ist ( n i=1 D i)/n. Nach jeder Operatoranwendung kann geprüft werden, ob bereits Constraints verletzt wurden. In dem Fall braucht man den aktuellen Knoten nicht weiter expandieren Tiefensuche + Test = Backtracking (oder Rücksetzsuche) Vorlesung Wissensbasierte Systeme 19

3.6.5. Vorwärtstest und Kantenkonsistenz Wenn beim Backtracking Entscheidungen getroffen wurden, die eine Lösung unmöglich machen, wird dies u.u. doch erst in den Blättern des Suchbaums bemerkt unnötige Exploration des Unterbaums. Lösungen: Vorwärtstest (Forward checking): Bei allen noch nicht belegten Variablen werden die Werte eliminiert, die nicht mehr möglich sind. Backtracking, falls Domain einer Variable leer wird. Spezielle Form des Vorwärtstests: Kantenkonsistenz (Arc consistency) Ein CSP ist kantenkonsistent, falls der Wertebereich jeder Variablen nur Werte enthält, die konsistent mit jedem Constraint auf der Variablen sind. Vorlesung Wissensbasierte Systeme 20

3.6.6. Beispiel 1. Instantiierung V 1 = red: Herstellen der Kantenkonsistenz: 2. Instantiierung V 3 = green & Herstellen der Kantenkonsistenz: Vorlesung Wissensbasierte Systeme 21

Vorlesung Wissensbasierte Systeme 22