Kapitel 3: Constraints

Ähnliche Dokumente
Kapitel 3: Constraints

Beschränkungen (Constraints)

23.1 Constraint-Netze

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.

Ausnutzen der Netzstruktur

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

2.4 Constraint Satisfaction Suche und Constraints

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme

Qualitatives zeitliches Schließen: Intelligentes Kuchenbacken. David Sabel Goethe-Universität, Frankfurt am Main

NP-vollständige Probleme

Grundlagen der Künstlichen Intelligenz

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur

Uninformierte Suche in Java Informierte Suchverfahren

Grundlagen der Künstlichen Intelligenz

Konsistenzdefinitionen II

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Uninformierte Suche in Java Informierte Suchverfahren

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur 1

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur 1

12. Übung Künstliche Intelligenz Wintersemester 2006/2007

Künstliche Intelligenz

A O T Agententechnologien in betrieblichen Anwendungen und der Telekommunikation

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Beispiele. mit. Beispiel 2.3. Suche einen Weg von nach. Tiefensuche bzw. Breitensuche.

Startzustand. Mögliche heuristische Funktionen:

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

ADS: Algorithmen und Datenstrukturen 2

Informierte Suchverfahren

4. Logik und ihre Bedeutung für WBS

6.3 NP-Vollständigkeit. alle anderen Probleme in NP darauf polynomiell reduzierbar. 1 Polynomielle Reduzierbarkeit p

Kapitel MK:IV. IV. Modellieren mit Constraints

Polygontriangulierung

Lösungen von Übungsblatt 12

9. Heuristische Suche

Aufgabe 1 (Allgemeines)

Diskrete Mathematik 1 WS 2008/09

Mathematik II für Studierende der Informatik (Analysis und lineare Algebra) im Sommersemester 2018

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te

Algorithmen zur Visualisierung von Graphen

Kapitel MK:IV. IV. Modellieren mit Constraints

Theoretische Grundlagen der Informatik

Anwendungsbeispiel: MTO

Funktionen. x : Variable von f oder Argument f x : Funktionswert, Wert der Funktion f an der Stelle x D f. : Definitionsmenge(Urbildmenge)

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

Branch-and-Bound und Varianten. Kapitel 3. Branch-and-Bound und Varianten. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 98 / 159

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

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

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

ZAHLENMAUERN UND ZAHLENDREIECKE. Korrekturen, Verbesserungsvorschläge und Anregungen bitte an herrmann bei mathematik.tu-darmstadt.

Einführung in das Seminar Algorithmentechnik

Einführung in die Theoretische Informatik

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

Wissensbasierte Suche

3. Übung Künstliche Intelligenz

Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Kapitel 5: Suchverfahren: Backtracking

Skript und Übungen Teil II

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

Anwendungen der Logik, SS 2008, Martin Goldstern

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

Intelligente Systeme

Lösungen zu Kapitel 5

Logik für Informatiker

Einführung in Heuristische Suche

ADS: Algorithmen und Datenstrukturen 2

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation

Informatik B Sommersemester Musterlösung zur Klausur vom

Das Postsche Korrespondenzproblem

10. Übungsblatt zu Algorithmen I im SS 2010

Binary Decision Diagrams (Einführung)

Vorlesung Datenstrukturen

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08

Endliche Automaten Jörg Roth 101

Universität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / WS 2003/2004. Jun.-Prof. Dr. B.

Algorithmen und Datenstrukturen 1-5. Seminar -

Asymptotische Komplexität

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y

Algorithmische Methoden zur Netzwerkanalyse

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Minimalpolynome und Implikanten

7 Weitere Baumstrukturen und Heapstrukturen

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

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

Algorithmen und Datenstrukturen (für ET/IT)

3.6 Branch-and-Bound-Verfahren

2. Optimierungsprobleme 6

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Technische Universität München Zentrum Mathematik. Optimierung 2, WS 2008/09 Übungsblatt 12

Kombinatorische Optimierung

Informatik II, SS 2018

3.6 Bemerkungen zur Umformung boolescher Formeln (NAND): doppelte Negation

Kürzeste-Wege-Algorithmen und Datenstrukturen

Transkript:

Anwendungsbeispiele Stundenplanerstellung Kapitel 3: Constraints (Dieser Foliensatz basiert teilweise auf Material von Mirjam Minor, Humboldt-Universität Berlin, WS 2000/01) Färbeprobleme in Graphen Transportprobleme / Logistik / Produktionsplanung Interpretation zweidimensionaler Linienzeichnungen / Bilderkennung Algebren zum zeitlichen Schließen Künstliche Intelligenz, Kapitel 3 Constraints 1 Künstliche Intelligenz, Kapitel 3 Constraints 3 Constraint Satisfaction Problem (CSP) Problem bei Suchverfahren: Kombinatorische Eplosion Häufig sind zusätzlich zum eigentlichen Problem noch eine Reihe einschränkender Nebenbedingungen (Constraints) gegeben, die ebenfalls zu erfüllen sind. Wie können Constraints bei der Suche nach einer Lösung helfen? durch Testen von Zwischenergebnissen bzgl. der Constraints lassensichirrwegefrühzeitigerkennen durch Verkettung mehrerer Constraints treten manchmal Lösungen hervor (Constraint Propagation) Mögliche Fragestellungen Ist eine Lösung unter den gegebenen Nebenbedingungen möglich? Wie sieht der Lösungsraum aus? Falls keine Lösung eistiert, kann man durch minimale Abweichung von den Constraints (abschwächen bzw. weglassen) zu einer Lösung kommen? Künstliche Intelligenz, Kapitel 3 Constraints 2 Künstliche Intelligenz, Kapitel 3 Constraints 4

Formale Definitionen Gegeben: Variablenmenge V = {v 1,..., v n } mit den Wertebereichen Dom(v i ) für alle v i (i =1,..., n). Sei Dom(V )=Dom(v 1 )... Dom(v n ) Ein k-stelliges Constraint C über V = {v 1,..., v k } V ist ein Teilmenge C Dom(v 1 )... Dom(v k ). Ein Constraint mit Stelligkeit k =1heißt unärer Constraint Ein Constraint mit Stelligkeit k =2heißt binärer Constraint Beispiele 1. Das folgende Problem soll mit Constraints formuliert werden: Finde zwei natürliche Zahlen und, so daß + =7unter der Voraussetzung >>2. V = {, }, Dom() =Dom() =N C 1 = { N : >2} Dom() über V 1 = {} C 2 = {[, ] N N : >} Dom() Dom() über V 2 = {, } C 3 = {[, ] N N : + =7} Dom() Dom() über V 3 = {, } C = {C 1,C 2,C 3 } =2und =1ist eine lokale Lösung bzgl. C 2. =4und =3ist eine globale Lösung. Künstliche Intelligenz, Kapitel 3 Constraints 5 Künstliche Intelligenz, Kapitel 3 Constraints 7 Formale Definitionen (2) Ein Constraint-Netz C über V ist eine Menge C = {C 1,..., C m },wobei jedes C i ein Constraint über einer Menge V i V ist. Ein binäres Constraint-Netz ist ein Constraint-Netz, das nur unäre und binäre Constraints enthält. Sei β : V i Dom(v i ) eine Belegung, die jedem v i V ein Element aus Dom(v i ) zuordnet. Die Belegung β erfüllt ein Constraint C über V = {v 1,..., v k }, falls [β(v 1 ),..., β(v k )] C. [β(v 1 ),..., β(v k )] C heißt lokale Lösung. Die Belegung β erfüllt das Constraint-Netz C und heißt globale Lösung, falls β alle C C erfüllt. Beispiele 2. Das Constraintnetz C = {C 1,C 2,C 3,C 4 } sei wie folgt gegeben V = {,, z}, Dom() =Dom() =Dom(z) =[0, 1] C 1 = {[, ] :>} über V 1 = {, } C 2 = {[] :>0.5} über V 2 = {} C 3 = {[, z] : + z =1} über V 3 = {, z} C 4 = {[, z] :<z} über V 4 = {, z} [0.5, 0.7, 0.5] ist eine lokale Lösung bzgl. C 3. Eine globale Lösung eistiert nicht (Aus C 1,C 2,C 4 folgt z>>> 0.5; WiderspruchmitC 3 + z =1). Die gegebenen Voraussetzungen sind inkonsistent. Ohne C 4 wäre [0.7, 0.6, 0.3] eine globale Lösung. Künstliche Intelligenz, Kapitel 3 Constraints 6 Künstliche Intelligenz, Kapitel 3 Constraints 8

Binäre Constraint-Netze als Graphen Knoten entsprechen den Variablen, Kanten entsprechen den binären Constraints; Unäre Constraints sind als Einschränkung des Wertebereichs der Variablen enthalten. Bsp.: Vierfarbenproblem Lösung von CSP-Suchproblemen Jede Lösung hat Tiefe V. Daher ist Tiefensuche geeignet. Constraint-Netze höherer Ordung lassen sich in binäre C.-N. überführen. Vereinfachung / Vereinheitlichung der Probleme verschiedene Verfahren (speziell für endliche Wertebereiche) zum Finden einer Lösung Aber: Kompleität der Umwandlung hoch bzw. Umwandlung nicht möglich Es kommt nicht auf den Suchpfad an. Daher sind lokale Methoden gut geeignet. Künstliche Intelligenz, Kapitel 3 Constraints 9 Künstliche Intelligenz, Kapitel 3 Constraints 11 CSP als Suchproblem Backtracking-Suche Ausgangszustand: undefiniert Die leere Zuweisung, d.h. alle Variablen sind Nachfolgerfunktion: Belegung einer weiteren Variablen, so dass kein Konflikt mit vorherigen Zuweisungen entsteht. Zieltest: Sind alle Variablen definiert? Pfadkosten: konstant, z.b. 1 pro Schritt Die Zustandsübergangsoperatoren sind kommutativ, d.h. es macht keinen Unterschied, ob wir zuerst v zuweisen und dann w oder umgekehrt. Daher beschränken wir uns bei jeder Verzweigung im Suchbaum auf die verschiedenen Belegungen von nur einer Variablen. Sind alle Belegungen dieser Variablen unerfüllbar, gehen wir eine Ebene im Suchbaum zurück Backtracking. Künstliche Intelligenz, Kapitel 3 Constraints 10 Künstliche Intelligenz, Kapitel 3 Constraints 12

Heuristiken zur Lösung von CSP-Suchproblemen Heuristik der maimal eingeschränkten Variablen: Bevorzuge die Variable mit dem kleinsten noch möglichen Wertebereich. Heuristik der minimalen Breitenordnung: Wähle in dem noch verbleibenden Constraint-Graphen die Ecke mit dem höchsten Eckengrad. Heuristik des minimalen Konflikts: Wert der Zuordnung w ist Summe über alle noch undefinierten Variablen der Anzahl der Werte v D(), so dass die Belegung { w, v} ein Constraint verletzt. Bsp.: 4 4-Dame mit (a, 1) belegt. Ist (b, 3) oder (b, 4) besser? Constraint-Propagierung Idee: Constraints propagieren und so sukzessive die Wertebereiche der Variablen einschränken (und damit den Suchraum verkleinern). Kann als vorbereitender Schritt vor der Suche eingesetzt werden oder nach jedem Suchschritt durchgeführt werden. Künstliche Intelligenz, Kapitel 3 Constraints 13 Künstliche Intelligenz, Kapitel 3 Constraints 15 Kompleität/Unentscheidbarkeit Constraint-Erfüllungsprobleme sind bei endlichen Wertebereichen im allgemeinen NP-vollständig. In den meisten praktischen Anwendungen sind sie aber um Größenordnungen besser als allgemeine Suchverfahren. Gleichungsssteme und speziell Diophantische Gleichungen (ganzahlige Lösungen für a 1 i 1,1 1,1...i n,1 n,1 +... + a m i 1,m 1,m...in,m = c) lassen sich als Constraint-Erfüllungsprobleme (Constraint Satisfaction Problem; CSP) beschreiben. Diese sind beweisbar unentscheidbar, d.h. es ist kein universeller Lösungsalgorithmus für CSP möglich. Bsp. an Tafel Das Constraintnetz C = {C 1,C 2,C 3 } sei wie folgt gegeben: V = {,, z, w}, Dom() =Dom() =Dom(z) =Dom(w) ={1, 2, 3, 4} C 1 = {[, ] :>} über V 1 = {, } C 2 = {[, z] :>z} über V 2 = {, z} C 3 = {[z, w] :z>w} über V 3 = {z, w} Was passiert bei Tiefensuche? Künstliche Intelligenz, Kapitel 3 Constraints 14 Künstliche Intelligenz, Kapitel 3 Constraints 16

Konsistenz von Problemen Wir betrachten nur zweistellige CSPs, da sich alle anderen darauf zurückführen lassen. Eine Variable a heisst konsistent, wenn jede ihrer Belegungen alle einstelligen Constraints der Form c() löst. Ein CSP heisst knotenkonsistent (oder 1-konsistent), wenn jede Variable konsistent ist. Ein zweistelliges Constraint c(, ) heisst konsistent, wenn sich jede Belegung { v} zu { v, w} ohne Verstoß gegen C(, ) erweitern lässt. Ein CSP heisst kantenkonsistent (oder lokal konstistent), wenn es knotenkonsistent ist und wenn jedes zweistellige Constraint konsistent ist. Künstliche Intelligenz, Kapitel 3 Constraints 17 Ergebnis der Constraint-Propagierung Gelingt es nicht, ein kantenkonsistentes CSP zu erzeugen, ist das ursprüngliche Problem unlösbar. Gelingt es, so folgt nicht notwendigerweise, dass das Problem lösbar ist. Aber zumindest ist der Suchraum verringert worden. Künstliche Intelligenz, Kapitel 3 Constraints 19 Constraint-Propagierung Ziel der Propagierung: Konstruktion eines kleineren kantenkonsistenten CSPs durch Streichung von Werten aus den Wertebereichen. Ist ein Constraint c(, ) nicht konsistent, gibt es (nach Def.) eine Belegung { v}, die sich durch kein w zu { v, w} ohne Verstoß gegen C(, ) erweitern lässt. v kann dann aus dem Wertebereich von gestrichen werden. (Passiert dies innerhalb eines Suchbaums, muss ggf. beim Backtracking das Streichen rückgängig gemacht werden.) Tafelbeispiel Künstliche Intelligenz, Kapitel 3 Constraints 18 Kantenkonsistenz-Algorithmus AC 3 Erzeugt ein CSP mit möglicherweise reduzierten Wertebereichen: Eingabe: csp, ein binäres CSP mit Variablen { 1, 2,..., n} Lokale Var.: queue, eine Schlange mit Kanten; enthält anfangs alle Kanten von csp While queue nicht leer do ( i, j) Remove-first(queue) if Remove-inconsistent-values( i, j) then for each k in Neighbors( i) do füge ( k, i) zur queue hinzu (falls dort noch nicht vorhanden). Künstliche Intelligenz, Kapitel 3 Constraints 20

function Remove-inconsistent-values ( i, j) returns true bei Entfernung eines Wertes removed false for each v in dom( i) do wenn für kein w dom( j) das Paar (v, w) das Constraint zwischen i und j erfüllt dann lösche v aus dom( i); removed true return removed Vom Objekt bis zur internen Repräsentation sind in der Prais mehrere Schritte nötig: Objekt Bild Piel Kontrastbereiche Kanten interne Repräsentation Zweck: - Eistiert eine phsikalisch mögliche Interpretation? - zulässige Interpretation finden - Objekte identifizieren (insbes. Aussenkanten) Voraussetzungen sind in Prais nicht immer erfüllt (z.b.: Spitze Cheops- Pramide, Würfel frontal gesehen) Künstliche Intelligenz, Kapitel 3 Constraints 21 Künstliche Intelligenz, Kapitel 3 Constraints 23 Bildverstehen als Constraint-Problem Aufgabe: Zweidimensionales Abbild (Linienzeichnung) eines ebenflächig begrenzten dreidimensionalen Körpers (Poleder) interpretieren. Voraussetzungen an Zeichnung: keine Schatten oder Bruchlinien verdeckte Kanten sind nicht sichtbar alle Eckpunkte sind Schnittpunkte genau drei aufeinandertreffender Flächen Allgemeiner Beobachtungstandpunkt : bei geringen Ortsveränderungen darf kein Schnittpunkt seinen Tp wechseln Mögliche Linientpen Begrenzungslinien: Linien, bei denen eine der angrenzenden Flächen verdeckt ist die äußeren Kanten des Objekts. Kennzeichnung mit einem Pfeil. Die Pfeile der Begrenzungslinien sind so gerichtet, daß die Körperfläche immer rechts liegt. Innenlinien: Kanten im Inneren des Objekts Konkave Linien: Beide Begrenzungsflächen schließen den Beobachtungsstandpunkt ein. Ein Beispiel wäre der Blick in ein geöffnetes Buch. Kennzeichnung mit einem. Konvee Linien: Beide Grenzflächen sind vom Beobachter abgewandt, wie bei einem Würfel. Kennzeichnung mit einem +. Künstliche Intelligenz, Kapitel 3 Constraints 22 Künstliche Intelligenz, Kapitel 3 Constraints 24

Beispiele zur Beschriftung Die 18 phsikalisch möglich Beschriftungen Großer Würfel mit herausgeschnittenem kleinen Würfel Kleiner Würfel in einer Ecke (hier fehlt eigentlich der umgebende Körper) Großer Würfel mit herausstehendem kleinen Würfel (hier treffen sich in einigen Schnittpunkten mehr als 3 Flächen) Künstliche Intelligenz, Kapitel 3 Constraints 25 Künstliche Intelligenz, Kapitel 3 Constraints 27 Arten von Schnittpunkten und ihre Beschriftung 4 Tpen von Schnittpunkten (aufgrund der Voraussetzungen) Ecke T-Stück Gabel Pfeil 3 Tpen von Linien außen außen konve konkav Es gibt für jede Kante jedes Knotens vier mögliche Beschriftungen. Insgesamt also 4 2 +4 3 +4 3 +4 3 = 208 Möglichkeiten. Künstliche Intelligenz, Kapitel 3 Constraints 26 Beschriftungsverfahren Für eine gegebene 2-D Zeichnung soll eine konsistente Beschriftung der Kanten gefunden werden, d.h.: Ecken gemäß den 18 zulässigen Tpen längs einer Kante darf sich die Beschriftung nicht ändern Als Constraint-Problem: Kanten sind die Variablen mit Wertebereich {,,, + }; Constraints ergeben sich an den Ecken (zulässige Tpen) Für realistische Bilder eistiert stets (mindestens) eine konsistente Beschriftung. Es gibt manchmal aber auch konsistente Beschriftungen bei unrealistischen Bildern. In kompleeren Bildern weitere Constraints durch Licht/Schatten und Bruchlinien. Künstliche Intelligenz, Kapitel 3 Constraints 28

Einfaches Suchverfahren 1. Auswahl einer Ecke, diese beschriften 2. Fortlaufend Nachbarecken beschriften, solange dies möglich ist. 3. Beim Auftreten von Widersprüchen Backtracking (alternative Ecken und Beschriftungen in 2.) Verfahren von Waltz 1. Alle Ecken mit den dort möglichen Beschriftungstpen versehen 2. Fortlaufend jeweils Paare von Nachbarecken vergleichen: Bei beiden Ecken die nicht miteinander vereinbaren Beschriftungstpen entfernen, bis keine Änderungen mehr möglich sind Das Intervallkalkül von Allen Die folgenden Beziehungen zwischen Zeitintervallen sollen als Relationen über Intervallen definiert werden. s(, ) STARTS(,) s i(, ) Inverses f(, ) FINISHES(,) fi (, ) Inverses d(, ) DURING(,) d i (, ) Inverses b(, ) b i(, ) BEFORE(,) Inverses o(, ) OVERLAPS(,) o i (, ) Inverses m(, ) m i (, ) MEETS(,) Inverses e(, ) EQUALS(,) Künstliche Intelligenz, Kapitel 3 Constraints 29 Künstliche Intelligenz, Kapitel 3 Constraints 31 Zeitliches Schliessen als Constraint-Problem Aufgabe: für eine Menge von Aussagen über zeitliche Zusammenhänge prüfen ob sie konsistent sind bzw. weitere, nicht eplizit gegebene Zusammenhänge finden. Beispiel: Gegeben seien die Zeitintervalle A, B, C, D mit folgenden Beziehungen: A beginnt während B B beginnt nicht vor C B liegt zeitlich völlig nach D C und D beginnen gleichzeitig Literatur G. Görz (Hrsg.): Handbuch der KI Suche: H. Kaindl: Problemlösen durch heuristische Suche in der AI Constraints allgemein: E. Rich, C. Knight: Artificial Intelligence Interpretation von Zeichnungen: P.H. Winston: Künstliche Intelligenz Was läßt sich über die Beziehung zwischen A und D sagen? Künstliche Intelligenz, Kapitel 3 Constraints 30 Künstliche Intelligenz, Kapitel 3 Constraints 32