2.4 Constraint Satisfaction Suche und Constraints

Ähnliche Dokumente
23.1 Constraint-Netze

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz

Ein Constraint c C heißt n-stellig, wenn es von n Variablen abhängt. mit w i D(x i ) für i = 1,...,n.

Grundlagen der Künstlichen Intelligenz

Projekt 1: Constraint-Satisfaction-Probleme Abgabe: 7. Juni 2009

Grundlagen der Künstlichen Intelligenz. 9.1 Einführung und Beispiele. 9.2 Constraint-Netze. 9.3 Belegungen und Konsistenz. 9.

Kapitel MK:IV. IV. Modellieren mit Constraints

Konsistenzdefinitionen II

Kapitel 3: Constraints

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Logik für Informatiker

Entwurf und Implementierung von Algorithmen. als Constraint Satisfaction Problem

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer

Wissensbasierte Systeme

Kapitel 5: Suchverfahren: Backtracking

Teil 4. Constraintprogrammierung

Modellierung: Relation (Beziehungen)

Allgemeingültige Aussagen

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Nichtklassische Logiken

Grundlagen der Theoretischen Informatik

Einführung in die Constraint-Programmierung

Logik erster Stufe FO

Weitere NP-vollständige Probleme

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Klausur

4. Logik und ihre Bedeutung für WBS

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen)

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

Kapitel MK:IV. IV. Modellieren mit Constraints

Grundlagen und Diskrete Strukturen Wiederholungsaufgaben

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

Wissensbasierte Systeme

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Formale Methoden 1. Gerhard Jäger 7. November Uni Bielefeld, WS 2007/2008 1/18

WS 2013/14. Diskrete Strukturen

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1

Ordnungsrelationen auf Mengen. Beispiel einer Ordnungsrelation. Spezielle Elemente von Ordnungen. Spezielle Elemente von Ordnungen

Lösungen zu Kapitel 5

9 Minimum Spanning Trees

Mathematische Grundlagen der Computerlinguistik Relationen und Funktionen

abgeschlossen unter,,,, R,

Cognitive Interaction Technology Center of Excellence

Klassische Themen der Computerwissenschaft Constraint Programming: Exercises. Gruppe: 100. Inhaltsverzeichnis

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Parallele Algorithmen in der Bildverarbeitung

Ein geordnetes Paar (oder: ein 2-Tupel) enthält immer zwei Elemente, deren Reihenfolge festgelegt ist. Mehrfachnennungen sind nicht erlaubt!

Theoretische Informatik 1

Übungsblatt Nr. 5. Lösungsvorschlag

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

Prädikatenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Normalformen und Grenzen der Prädikatenlogik 1. Stufe

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

1. Einführung in Temporallogik CTL

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Intelligente Systeme

Klausur Grundlagen der Künstlichen Intelligenz

Uninformierte Suche in Java Informierte Suchverfahren

Polynomielle Verifizierer und NP

Der Branching-Operator B

Welche Probleme können Rechner (effizient) lösen? Die P = NP Frage. Ideen der Informatik Kurt Mehlhorn

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Heuristische Verfahren

Graphen. Bernhard Ganter. Institut für Algebra TU Dresden D Dresden

Kapitel MK:IV. IV. Modellieren mit Constraints

Grundlagen digitaler Systeme WS12

Grundbegriffe der Informatik

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

Kochrezept für NP-Vollständigkeitsbeweise

Ein Turnierplan mit fünf Runden

Probleme aus NP und die polynomielle Reduktion

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

4. Alternative Temporallogiken

Theoretische Grundlagen der Informatik

Logik für Informatiker

Klausur zur Vorlesung Mathematische Logik

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Formalisierung von Sudoku Formalisieren Sie das Sudoku-Problem:

Achilles und die Schildkröte Sommersemester 2008

Muster. Informatik 3 (Februar 2004) Name: Matrikelnummer: Betrachten Sie den folgenden Suchbaum. A G H J K M N

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Resolutionsalgorithmus

Kapitel L:II. II. Aussagenlogik

WS 2009/10. Diskrete Strukturen

Übung zur Vorlesung Berechenbarkeit und Komplexität

Diskrete Strukturen 5.9 Permutationsgruppen 168/558 c Ernst W. Mayr

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Einführung in die Informatik 2

Wissensbasierte Systeme

Mathematische Grundlagen der Computerlinguistik Relationen und Funktionen

De Morgan sche Regeln

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018

Kapitel 2: Grundlagen von Anfragesprachen

- Theorie der uninterpretierten

Transkript:

2.4 Constraint Satisfaction Suche und Constraints Eliminate all other factors, and the one which remains, must be the truth. A. Conan Doyle Constraints sind ein Wissensrepräsentationsformat für das es spezielle Suchverfahren gibt das zur Vorbehandlung von Suchbereichen für allgemeine Suchverfahren verwendet werden kann 8 8

Definitionen zu Constraints Ausgangspunkt: Variablen {X 1,, X n }, je mit Werten aus Wertebereichen (domains) D i (i=1,, n) Ein k-stelliger Constraint C besteht aus einer Menge {X 1,, X k } von Variablen und einer k-stelligen Relation R C auf den Variablen. k Werte v 1,, v k erfüllen C, wenn v i D i und v 1,, v k R C Ein Constraintnetz (Constraint Satisfaction Problem, CSP) besteht aus einer Menge {X 1,, X n } von Variablen und einer Menge {C 1,, C m } von Constraints auf Teilmengen dieser Variablen. Eine Lösung eines CSP ist eine Belegung {X 1 = v 1,, X n = v n }, sodass v i D i und alle Constraints aus {C 1,, C m } erfüllt sind. 8 9

Problem Beispiel: Färbeproblem Färbe die Regionen einer Karte mit drei Farben so ein, dass keine zwei aneinandergrenzende Regionen dieselbe Farbe haben Modellierung Variablen entspr. Regionen; Wertebereiche jeweils {R, G, B}; Relation ungleiche_farbe zwischen je 2 angrenzenden Regionen (Hier als Kante zwischen Variablen skizziert) 90

Eine Färbung Australiens ungleiche_farbe={ R,G, R,B, G,R, G,B, B,R, B,G } Lösung {WA=R, NT=G, Q=R, NSW=G, V=R, SA=B, T=G } 91

Klassen von Constraintproblemen Diskrete vs. kontinuierliche Wertebereiche diskrete endliche Wertebereiche O(d n ) Belegungen bei max. Wertebereichgröße d z.b. Färben, Boolesche Erfüllbarkeit (einschl. 3SAT) diskrete unendliche Wertebereiche z.b. Scheduling-Probleme über Zeiteinheiten kontinuierlich z.b. Scheduling-Probleme (Simple Temporal Networks, STNs) Unäre vs. Binäre vs. k-äre CSPs binär z.b. Färbeprobleme; universelle Darstellung! Strikte vs. Präferenz-CSPs Relationen (z.b. Färbeproblem) oder Nutzen/Strafwerte 92

Backtracking zum Lösen von CSPs Uninformierter Basisalgorithmus für diskrete endliche CSPs Entsprechend Backtracking-Suche (Folie Nr.41): Starte mit leerer Variablenbelegung und durchlaufe: 1. Wähle für einzelne(!) Variable nacheinander Zuweisungen, sodass deren Constraints erfüllt sind; 2. wenn alle Variablen belegt, Lösung gefunden! 3. wenn keine mögliche Belegung aktuellen Constraint erfüllt, nimm zuletzt vorgenommene Belegung zurück 93

Ein Backtracking-CSP-Algorithmus 94

Beispiel: Australien per Backtracking WA=R NT=R Wichtige Entscheidung: Reihenfolge, in der Variablen und ihre Werte versucht werden! NT=G SA=R SA=G V=R NSW=R SA=B Q=R NSW=G T=R Reihenfolge hier: WA, NT, SA, Q, V, NSW, T ; R, G, B für alle Variablen 95

Eigenschaften des Backtracking-CSP-Lösers Vollständig für diskrete endliche Wertebereiche Laufzeit O(d n ) bei n Variablen und max. Wertebereichgröße d Speicher: Constraintnetz der Größe O(n 2 d 2 ) (Binärconstraints!) für reale Probleme in der Regel zu ineffizient geeignet als Referenzverfahren 96

Sei Variablenreihenfolge NT,V,NSW,Q,T,SA,WA Dann entsteht Belegung: Rückspringen ( backjumping ) NSW=R NT=R V=R Q=R NSW=G Q=G SA=R Q=B T=R SA=G SA=B Chronologisches Rücksetzen (BACKTRACKING-SEARCH) nimmt die zeitlich letzte Belegung zurück (hier: TR), was sofort zum selben Problem mit SA führt Rückspringen nimmt die letzte Belegung einer Variablen aus der Konfliktmenge zurück: Menge der Variablen, die durch einen Constraint mit SA verbunden sind (hier: QB NSWG) 97

Variable Variablenreihenfolge Beispiel: Finde einen Deutschen, der Vater eines Formel-1-Weltmeisters ist Constraintnetz V ist_vater_von D V = {Holger Aalderink,, Hella Zuther}: alle Deutschen, D V 80 Mio D W = {Giuseppe Farina, Juan Manuel Fangio,, Jacques Villeneuve, Mika Häkinnen, Michael Schumacher} D W 20 ist_vater_von(x,y) = {(Aaron Aanderud, Tomas Aanderud),, (Anton Abel, Susi Abel),, (Johann S. Bach, Friedemann Bach), (Rolf Schumacher, Michael Schumacher), (Gilles Villeneuve, Jacques Villeneuve) } Heuristik der Minimum Remaining Values (MRV, fail-first) in Funktion SELECT-UNASSIGNED-VARIABLE : Wähle Variable mit kleinstem (aktuellem) Wertebereich! W 98

Propagieren von Zuweisungen Forward Checking (einfache Propagierung): Wann immer ein Wert v an X zugewiesen wird, maskiere in allen Variablen, mit denen X durch einen Constraint C verbunden ist, alle mit v inkonsistenten Werte! (Offensichtlich kombinierbar mit MRV; duales Verfahren zu Rückspringen) Beispiel Formel-1-Weltmeister: Zuweisung Jacques Villeneuve an W maskiert alle Werte in V Zuweisung Michael Schumacher an W maskiert alle Werte in V außer Rolf Schumacher 99

Forward Checking in Australien NT V NSW Q T SA WA Auswahl nicht nach MRV! Wertebereich leer! Backtracking 100

Lokale Konsistenz Seien X, Y Variablen, zwischen denen der k-stellige Constraint C gilt. Die Kante von X über C nach Y ist konsistent, gdw. es für jede mögliche Belegung x von X einen Wert y von Y und ein k-tupel T R C gibt, sodass (x,y) die Projektion von T auf (X,Y) ist. Für jeden Wert x gibt es einen erlaubten Wert y Ein Constraintnetz über den Variablen {X 1,, X n } ist lokal konsistent (kantenkonsistent), gdw. es bezüglich aller seiner Kanten konsistent ist und für alle X i mit Wertebereich D i gilt D i Ø. Das Netz enthält lokal plausible Werte, und nur diese 101

Beispiel im Färbeproblem NT V NSW Q T SA WA lokal konsistent! lokal konsistent! nicht lokal konsistent! Q und SA können nicht beide blau sein Kante zwischen Q und SA nicht konsistent 102

Der Algorithmus AC-3 no y in DOMAIN[X j ] allows (x,y) to fulfill the constraint between X i, X j 103

Beispiel: AC-3 in Australien NT V NSW Q T SA WA bleibt wie es ist! ergibt: 104

Eigenschaften des AC-3-Algorithmus Speicher: binäres Constraintnetz mit O(n 2 d 2 ) (n Variable, max. d Werte) Zeitbedarf für binäre Constraints: O(n 2 d 3 ) (für O(n 2 ) Constraints packe max. d Mal d 2 Wertetupel an) Zeitbedarf verbesserbar auf O(n 2 d 2 ) (Buchführung, welche Löschungen Nachbarvariablenwerte beeinträchtigen) Reduktion der Komplexität bei Zyklenfreiheit (z.b. Baum) und unzusammenhängenden Teilnetzen (im Australienbeispiel: Tasmanien unabhängig vom Rest färbbar) AC-3 terminiert unabhängig von der Sortierung in queue mit lokal konsistenter Belegung oder mit Ø für alle Variablen eines maximalen zusammenhängenden Teilnetzes 105

Lokale Konsistenz und Lösbarkeit Polynomielle Laufzeit lässt vermuten, dass AC-3 im Allgemeinen Suchprobleme nicht lösen kann (geht nur exponenziell!): Nicht alle Belegungen im lokal konsistenten Netz sind Lösungen! Beispiel: Australien-Färbeproblem mit {R,G,B} für alle Variablen lok. konsistent Es gibt lokal konsistente Netze, die keine Lösung haben! Beispiel: {R,G} Y X {R,G} {R,G} Schärfere Konsistenzbegriffe erweitern den Horizont der lokalen Konsistenz: k-konsistenz, strenge k-konsistenz Z 106