2 Problemlösen und Suche

Ähnliche Dokumente
Definition von Planung

2 Problemlösen und Suche

8 Einführung in Expertensysteme

als Bewertungsfunktion g(n) eines Knotens n wird der tatsächliche Weg vom Startzustand zu diesem Knoten benutzt

Arten von Kontrollstrukturen. Constraint Satisfaction. Constraints. 4 Problemlösen und Suche. Methoden der KŸnstlichen Intelligenz

2 Problemlösen und Suche

2 Problemlösen und Suche

2 Problemlösen und Suche

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche

8 Einführung in Expertensysteme. 21. Vorlesung: Regelbasiertes Programmieren und Expertensysteme

Übersicht. Künstliche Intelligenz: 3. Problemlösen durch Suche Frank Puppe 1

Teil II Optimierung. Modellgestützte Analyse und Optimierung Kap. 5 Einführung Optimierung. Peter Buchholz 2006

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

Einführung in Heuristische Suche

Uninformierte Suche in Java Informierte Suchverfahren

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

Einführung in Suchverfahren

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Logik für Informatiker

Klausur Grundlagen der Künstlichen Intelligenz

23.1 Constraint-Netze

Einfacher Problemlösungsagent. Übersicht. Begriffsdefinitionen für Einfach-Probleme

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme

Constraintprogrammierung

Künstliche Intelligenz

Wissensbasierte Systeme

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

Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen

Zusammenfassung KI (von Marco Piroth)

Übungsblatt 2 Lösungen

Grundlagen der Künstlichen Intelligenz

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick

Sudoku. Warum 6? Warum 6?

Seminar Künstliche Intelligenz Wintersemester 2013/14

WS 2009/10. Diskrete Strukturen

Wissensbasierte Systeme

Uninformierte Suche in Java Informierte Suchverfahren

Diskrete Strukturen Kapitel 1: Einleitung

STRIPS. Hauptseminar: Kognitive Systeme. Stefanie Sieber Norbert Wächtler

Grundlagen der Kognitiven Informatik

Modellierung: Relation (Beziehungen)

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

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

Electronic Design Automation (EDA) Technology Mapping

Moderne Methoden der KI: Maschinelles Lernen

Algorithmen zur Visualisierung von Graphen

Mathematische Strukturen Sommersemester Vorlesung. Kombinatorik: Einführung. Ziehen aus Urnen

9. Heuristische Suche

Vorlesung. Prof. Janis Voigtländer Übungsleitung: Dennis Nolte. Mathematische Strukturen Sommersemester 2017

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen)

Dirk Mattfeld Richard Vahrenkamp. Logistiknetzwerke. Modelle für Standortwahl. und Tourenplanung. 2., aktualisierte und überarbeitete Auflage

Vorlesung: Künstliche Intelligenz

Zahlentheorie I - Tipps & Lösungen. Aktualisiert: 15. Oktober 2016 vers Teilbarkeit

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

4. Logik und ihre Bedeutung für WBS

Einführung in Expertensysteme

Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21.

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik

Algorithmen und Datenstrukturen

2. Erläutern Sie, wie sich ein Agent von einem typischen Transformationsprogramm unterscheidet.

Werden wir Schoßhunde der Roboter sein? Herbert Stoyan Universität Erlangen

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

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Bayes-Netze (2) Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen

2. Spiele. Arten von Spielen. Kombinatorik. Spieler haben festgelegte Handlungsmöglichkeiten, die durch die Spielregeln definiert werden.

Wissensbasierte Systeme 3. Problemlösen durch Suche

15. Algorithmus der Woche Das Rucksackproblem Die Qual der Wahl bei zu vielen Möglichkeiten

Folgen und Reihen. Folgen. Inhalt. Mathematik für Chemiker Teil 1: Analysis. Folgen und Reihen. Reelle Funktionen. Vorlesung im Wintersemester 2014

ZAHLENDREIECKE DURCH VERGLEICHEN UND PROBIEREN

Aufgabe 1 (Allgemeines)

Künstliche Intelligenz

Lineare Algebra I (WS 13/14)

Algorithmen. Von Labyrinthen zu. Gerald Futschek

7.1 Matrizen und Vektore

Wissensbasierte Systeme

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Evidenzpropagation in Bayes-Netzen und Markov-Netzen

Bayesianische Netzwerke - Lernen und Inferenz

Outline. 1 Funktionen von mehreren Veränderlichen. 2 Grenzwert und Stetigkeit. 3 Partielle Ableitungen. 4 Die verallgemeinerte Kettenregel

Graphentheorie. Vorkurs Informatik WS 2016/2017. Dennis Aumiller

Grundlagen der Künstlichen Intelligenz

Abschnitt 3: Mathematische Grundlagen

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

Thinking Machine. Idee. Die Thinking Machine Visualisierung versucht, die Denkprozesse eines Schachcomputers sichtbar zu machen

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

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem

Seminar Künstliche Intelligenz Wintersemester 2014/15

2.4 Constraint Satisfaction Suche und Constraints

An Overview of the Signal Clock Calculus

Anwendungen der Differentialrechnung

Teil II: Einstieg in Expertensysteme

Vorlesung Datenstrukturen

6. Spiele Arten von Spielen. 6. Spiele. Effizienzverbesserung durch Beschneidung des Suchraums

Grundlagen der Künstlichen Intelligenz

Vektoren - Die Basis

Transkript:

2 Problemlösen und Suche 6. Vorlesung: Constraint Satisfaction, Planen, wissensgestützte Suche Methoden der Künstlichen Intelligenz Ipke Wachsmuth WS 2012/2013

Kontrollstrategien für die Suche Kontrollstrategie Operatoren Datenbasis problemunabhängig problemspezifisch (Teil-)Übersicht: Breitensuche Tiefensuche Operatorordnung Zustandsbewertung Bestensuche, A*-Algorithmus Means-Ends Analysis Problemreduktion (Goal Trees) constraint satisfaction wissensgestützte Suche 6. Vorlesung Methoden der Künstlichen Intelligenz 2

Constraint Satisfaction Problem Constraints ( Beschränkungen, Randbedingungen ) sind ein häufig verwendetes Darstellungsmittel, vor allem in den Bereichen Suche und Planung. Ein Constraint Satisfaction Problem (CSP) ist ein spezieller Problemtyp: die Zustände des Suchraums sind durch Werte einer Menge von Variablen definiert der goal-test enthält eine Menge von Constraints, denen die Werte genügen müssen Eine einfache Form der Constraint Satisfaction (Constraint-Erfüllung) wurde bereits bei den Goal Trees betrachtet. 6. Vorlesung Methoden der Künstlichen Intelligenz 3

Constraints dienen zur Repräsentation von Relationen, das heißt Beziehungen zwischen Variablen besonders zur Darstellung lokaler Randbedingungen, die eine Problemlösung erfüllen muss Beispiel: Wunsch eines Lehrers bei der Stundenplan-Planung: einen Tag pro Woche frei durch jedes neue Constraint wird der Lösungsraum weiter eingeschränkt Ziel des CSP: Finden einer Lösung unter Beachtung aller Constraints Lesehinweis hierzu: Puppe, Einführung in Expertensysteme, Kap. 6 6. Vorlesung Methoden der Künstlichen Intelligenz 4

Uridee: Schaltkreis-Simulation Im Constraint-System EL wird z.b. elektrischer Widerstand als Constraint zwischen Eingangs-, Ausgangsspannung und Strom repräsentiert: Widerstand R U U 1 U U = R 2 1 2 I I Alle Komponenten eines Schaltkreises sind durch Constraints repräsentiert und durch gemeinsame Variablen zu einem Constraint-Netz verbunden. Bekannte Werte werden durch das Constraint-Netz propagiert, so dass für jede Variable ein Wert berechnet wird. 6. Vorlesung Methoden der Künstlichen Intelligenz 5

Vergleich Constraint/Operator Constraints repräsentieren ungerichtete Zusammenhänge zwischen Variablen (z.b. U = R * I), Operatoren gerichtete. Constraints sind mächtiger als Operatoren (schließen die Möglichkeiten von mehreren Operatoren ein), aber in der Realisierung aufwendiger. Constraints sind vorzüglich zur Modellierung vernetzter Systeme geeignet und beschleunigen dort die Suche (Abbruch bei Constraint-Verletzung). 6. Vorlesung Methoden der Künstlichen Intelligenz 6

Constraint-Propagierung Ein Constraint kann häufig als mathematische Gleichung (oder Ungleichung) betrachtet werden und ein Constraint-Netz als (Un-) Gleichungssystem, auch für nichtnumerische Zusammenhänge. Ausrechnen des Systems durch Constraint-Propagierung: Beschränkungen der Wertemengen von Variablen werden über die mit ihr verbundenen Constraints an andere Variablen weitergegeben, bis keine Einschränkung des Wertebereichs mehr möglich ist. Genau ein Wert pro Variable: eindeutige Lösung Wertemengen für Variablen: multiple Lösungen Leere Wertzuweisung für eine Variable: Inkonsistenz 6. Vorlesung Methoden der Künstlichen Intelligenz 7

Propagierungsalgorithmen EINGABE: Constraint-Netz und Teilbelegung von Variablen mit Werten AUSGABE: eine mit den Constraints konsistente Wertzuweisung an weitere Variablen Propagierungsalgorithmen unterscheiden sich danach, was entlang einer Variablen propagiert werden kann: nur feste Werte, z.b. X = 5 Wertemengen, z.b. {3,4,5,6} symbolische Ausdrücke, z.b. X = 2Y Wichtig ferner: ob Maßnahmen für Fallunterscheidungen und Revision von Ableitungen zu treffen sind. 6. Vorlesung Methoden der Künstlichen Intelligenz 8

Belegung aller Variablen mit verschiedenen Werten finden, sodass die Gleichung aufgeht. Elegante Formulierung des Problems als Constraint-Netz benutzt zusätzliche Variablen U1, U2, U3, U4 für Überträge der Spaltensummen. Wertebereiche der Variablen: D,E,N,O,R,Y {0,1,2,3,4,5,6,7,8,9} M,S {1,2,3,4,5,6,7,8,9} U1, U2, U3, U4 {0,1} CSP: Ein nettes Beispiel (Newell & Simon) SEND" + MORE" MONEY" 6. Vorlesung Methoden der Künstlichen Intelligenz 9

Constraint-Netz mit 5 Constraints (Ci) C1: D+E = Y+10U1! U1" D" Y" SEND" + MORE" MONEY" E" C2: N+R+U1 = E+10U2! U2" N" R" C3: E+O+U2 = N+10U3! U3" O" C4: S+M+U3 = O +10U4! U4" M" S" C5: M = U4! 6. Vorlesung Methoden der Künstlichen Intelligenz 10

CSP: Formale Charakterisierung Constraint als Tripel: (Name, Variablenmenge, Relation) z.b. ( C1, {D,E,Y,U1}, D+E = Y +10U1 ) CSP gegeben durch: 1. Menge von Constraints, die durch gemeinsame Variablen verbunden sind 2. Anfangsbelegung von einigen Variablen Lösung des CSP: maximale Einschränkung aller Variablen Propagierungsalgorithmen für symbolische Ausdrücke sind allerdings sehr aufwendig! 6. Vorlesung Methoden der Künstlichen Intelligenz 11

Propagierungsalgorithmus 1. Weise allen Variablen ihre Anfangsbelegung zu; 2. Aktiviere alle Constraints, in denen die Variablen vorkommen, und setze sie auf die Liste AKTIV; 3. Wähle ein Constraint aus AKTIV aus und deaktiviere es; falls AKTIV leer: STOPP (Ergebnis = aktuelle Variablenbelegung); 4. Berechne den neuen Wertebereich für die an dem ausgewählten Constraint beteiligten Variablen. Falls die Wertemenge einer Variable leer ist: STOPP (Inkonsistenz); 5. Falls die Wertemenge beschränkt wurde, setze alle Constraints, die auf die Variablen Bezug nehmen, auf AKTIV; 6. GOTO 3; (ein einfacher: nur für feste Werte und Wertemengen) Eingabe: Constraint-Netz und Anfangsbelegung Ausgabe: Maximale konsistente Wertzuweisung zu allen Variablen 6. Vorlesung Methoden der Künstlichen Intelligenz 12

Definition von Planung Problembereich: Zustandsraum und Operatoren Planungsproblem: Anfangs- und Zielzustand Lösung: Folge von Operatoren zur Überführung des Anfangszustandes in den Zielzustand im Grundansatz zunächst: klassisches Suchproblem zu Suche und Planung: eigentlich alle KI-Bücher im Semesterapparat Zum Nachschlagen auch: Handbook of Artificial Intelligence, Volume 1, Kap. II Search oder Russell & Norvig, Teil II 6. Vorlesung Methoden der Künstlichen Intelligenz 13

Robot-Greifarm Planung: Beispielproblem C A B table-1 C B A Einfache Klötzchenwelt Gegeben: Anordnung von Klötzchen, Zielanordnung und mögliche Roboteraktionen. Gesucht: Aktionenfolge zur Herstellung der Zielanordnung. On(A,table-1) On(B,table-1) On(C,A) On(A,table-1) On(B,A) On(C,B) Anfangszustand Zielzustand Operatoren:" (1) pickup (block)" (2) putdown (block)" (3) stack (block1,block2)" (4) unstack (block1,block2)" 6. Vorlesung Methoden der Künstlichen Intelligenz 14

Weitere Beispielprobleme Stundenplanerstellung Gegeben: Räume, Lehrer, Schulklassen, Fächer, Zuordnungen Gesucht: Stundenplan Computer-Konfigurierung Gegeben: Hauptkomponenten Gesucht: Layout und Hilfskomponenten Planung von Experimenten in der Molekulargenetik Gegeben: Substanzen und Organismen, durchführbare Aktionen, Ziel des Experiments (z.b. Insulin herstellen) Gesucht: Sequenz von Aktionen und Spezifikation der benötigten Substanzen und Organismen 6. Vorlesung Methoden der Künstlichen Intelligenz 15

Ein- und mehrstufiges Planen Einstufiges (nichthierarchisches) Planen: systematisch alle Sequenzen von Operatoren durchprobieren, bis der Zielzustand erreicht ist Gefahr der kombinatorischen Explosion! siehe hierzu: Konstruktion Puppe, Einführung in Expertensysteme, Kap.11 Mehrstufiges (hierarchisches) Planen: zunächst Planung einer Sequenz von abstrakten Operatoren (Grobplan), die dann schrittweise verfeinert werden. Hauptproblem: Nebeneffekte eines Operators können Anwendung eines anderen verhindern: Interaktion von Operatoren! 6. Vorlesung Methoden der Künstlichen Intelligenz 16

Interaktion von Operatoren Beispiel: Streiche die Leiter und die Decke Decke-Leiter-Problem: Aufgabe ist, die Decke und die Leiter zu streichen. Dabei muss die Decke zuerst gestrichen werden, da die ungestrichene Leiter Voraussetzung dafür ist, dass man die Decke ohne längere Wartezeit streichen kann. Nichtlineares Planen: explizite Repräsentation von Interaktionen als Constraints zwischen Operatoren und Objekten Festlegung der Operator-Reihenfolge erst dann, wenn alle Constraints erfüllbar sind 6. Vorlesung Methoden der Künstlichen Intelligenz 17

Verfeinern von Grobplänen Differenzanalyse (means-ends analysis) Grobplan direkt aus Aufgabenstellung generiert durch Bewertung der Differenz zwischen Ausgangs- und Zielzustand; Auswahl von Operatoren zur Verringerung der Differenz Phasenaufteilung Benutzung eines einzigen Standardplans für einen gegebenen Problembereich (Beispiel: Computer-Konfigurierung) Skelettplanen (wissensbasiertes Planen) allgemeinen Plan aus einer Bibliothek vorgegebener Skelettpläne auswählen; Beispiel folgt... 6. Vorlesung Methoden der Künstlichen Intelligenz 18

Skelettplanen in MOLGEN Molecular Genetics Ziel: "Planung eines Experiments zur Feststellung von Intrastrang-" "Komplementarität in einer DNA (d.h. ob ein DNA-Strang " "komplementäre Teilstücke enthält)" 1. "Auswahl des Skelettplans: Für Intrastrang-Komplementarität " "ist der angegebene Skelettplan vorhanden" 2. "Verfeinerung: Die einzelnen Operatoren werden stufenweise" "präzisiert (Ergebnis auf der rechten Seite)" " 1. Skelettplan " " "2. Verfeinerung" (1) "Denaturiere (spalte die Stränge " Erhitze die Probe" "der DNA)" (2) "Renaturiere (Umkehrung der " Schnelles Abkühlen der Probe" "Denaturierung) " " " "" (3) "Zerstöre alle einsträngige DNA " Benutze Enzym S1-Nuclease " (4) "Finde die restliche DNA " " Benutze Technik Gel-Filtration " [Quelle: Puppe]" 6. Vorlesung Methoden der Künstlichen Intelligenz 19

Einordnende Bemerkungen Suche ist eine Grundmethode für KI-Programme und wird in der einen oder anderen Form häufig benötigt. Suche ist nicht alles: Ein sehr wichtiges Einsatzfeld für Suche ist der Bereich "Planen". "Allgemeinste" Suchprogramme haben sich in der Praxis als nicht fruchtbar erwiesen, außer für "genuine" Suchprobleme (wie Puzzles). Die meisten Such-Heuristiken sind in ihrer Nützlichkeit auf bestimmte Problemklassen beschränkt. Das große Gewicht, das dem Feld "Suche" (genauer: explorative Suche) in der KI zugeschrieben wird, hängt mit den frühen Themenstellungen der KI zusammen: Problem Solving, GPS etc. Jedoch gilt: 6. Vorlesung Methoden der Künstlichen Intelligenz 20

Warum Puzzles und ähnliche Aufgaben nicht so spannend für das "Problemlösen" sind Sie sind bereits als Suchaufgaben gestellt (die dann zum Teil auch extrem schwierig zu lösen sind). Wichtiger ist es aber, zu erkennen, wie sich die mit einem Problem gestellten Fragen auf Suchaufgaben abbilden lassen. 6. Vorlesung Methoden der Künstlichen Intelligenz 21

Rückblick auf Teil 2 1. Allgemeine Suchprobleme mit Suchraum, Operatoren, Zustandsbewertungsfunktion und weiteren Heuristiken 2. Means-Ends-Analysis, wo man die Zustände eines Suchraums mit Zielbeschreibungen abgleicht, um anhand der Differenz nächstanwendbare Operatoren zu "raten" 3. Goal-Tree-Suche, wo Zustände in Bezug auf zu machende Festlegungen analysiert werden, die bestimmten Constraints genügen. 4. Minimax-Suche, wo spezielle Goal-Trees zur Modellierung von Zwei- Personen-Spielen benutzt werden. 5. Constraint Satisfaction und planende Suche [" 6. kontinuierliche Suchprobleme (Optimierungsaufgaben, Suche nach lokalen/globalen Minima und Maxima, "hill climbing" etc.)... ]" 6. Vorlesung Methoden der Künstlichen Intelligenz 22

Ausblick: Wissensgestützte Suche Problemlösung basiert auf Suche -- "Schwache Methoden" für Suche wie generate-and-test sind für komplexe Suchräume nicht adäquat; Menschen benutzen heuristisches Wissen, um die Suche einzuschränken (aus Wissen über den Bereich abgeleitetes Kontrollwissen für die Suche); Ein wissensbasiertes System ist ein Problemlösesystem, in dem explizites Wissen* eines menschlichen Problemlösers eingebettet ist, um die Komplexität des Suchraums zu kontrollieren. *Das Wissen muss man aber erst einmal haben! 6. Vorlesung Methoden der Künstlichen Intelligenz 23

Idee wissensbasierter Systeme Idee: Explizites Wissen über einen Aufgabenbereich verkürzt Problemlösesuche. Blinde Suche: Alle Kombinationen probieren => 1 000 000 (100x100x100) Versuche Wissensgestützte Suche: Wenn man weiß, dass für einen Safetyp 2 Pos. links oder rechts auch noch klappt => 8000 (20x20x20) Versuche Beispiel: Safe knacken 69 32 99 Wenn man weiß, dass die Safes der Firma X bei Auslieferung 25 0 25 oder 50 25 50 eingestellt haben und dass 20% der Käufer versäumen, die Kombination zu ändern => in 20% reichen zwei Versuche! (nachzulesen bei R.P. Feynman: "Sie belieben wohl zu scherzen, Mr. Feynman!") 6. Vorlesung Methoden der Künstlichen Intelligenz 24