29.02.2008 Künstliche Intelligenz - Intelligente Agenten 1. Was ist, was kann Künstliche Intelligenz? Neugierig werden. Ein bisschen philosophieren. 2. Logisches Schließen Der Mensch macht beim Schließen Fehler 3. Repräsentation von Wissen durch Logik Unser Wissen im Computer? C ? Wie geht das? ? 4. Mit Logik programmieren – Programming in Logic Ist das möglich? Ja, z.B. mit Prolog Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/1 1. Was ist, was kann künstliche Intelligenz? Können Maschinen denken? g denken können? Werden Maschinen eines Tages • Was ist eine Maschine? • Was ist Denken? • Was ist der Mensch? MIT – Massachusetts Institute of Technology ELIZA Joseph Weizenbaum Heiner Klocke, 28.02.2008 John McCarthy Marvin Minsky Künstliche Intelligenz ‐ Intelligente Agenten Alan Turing KI/2 1 29.02.2008 Das Experiment von Alan Turing (mit Menschen) Drei Spieler, ein Mann (A), eine Frau (B) und ein männlicher oder weiblicher Fragesteller (C). A C A männlich? B B weiblich? Erschwerte Situation: A will verhindern, dass C ihn erkennt. Spielerin B will dem Fragesteller C helfen, die richtige Antwort zu geben. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/3 Das Experiment von Alan Turing (mit Computer) Person A wird durch ein Computerprogramm ersetzt. A C A Computer? B B Computer? Turing-Test: Nachweis der Intelligenz eines Computers? Loebner-Preis: Bestes Turing-Test-Programm. 2007: Robert Medeksza: Ultra HAL Assistant (digitaler Sekretär) Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/4 2 29.02.2008 Visueller Turing-Test im Web Challenge-response-Test: Mensch oder Programm? Visueller Test: CAPCHA „ Completely Automated Public Turing test to tell Computers and Humans Apart" Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/5 Menschliche Intelligenz (intellegere – verstehen) Natürliche Intelligenz „Fähigkeit zum Erkennen von Zusammenhängen und zum Finden Fi d optimaler ti l Problemlösungen“ P bl lö “ • Abstraktionsvermögen • Erkenntnisfähigkeit • … Daniel Goleman: „Emotionale Intelligenz“ • Reale Selbsteinschätzung • Selbstkontrolle • Erkennen der eigenen Stärken und Schwächen Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/6 3 29.02.2008 Strömungen der „Künstlichen Intelligenz“ (KI) KI als Kognitionswissenschaft Funktionen des Gehirns entschlüsseln. Natürliche Intelligenz verstehen und nachbauen KI als Informatikdisziplin Ziel: Intelligentere Computersysteme entwickeln Software mit Problemlösefähigkeiten entwickeln, als Ergänzung natürlicher Intelligenz Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/7 Starke und schwache KI • Ziel der starken KI: "Eine Intelligenz zu erschaffen, die wie der Mensch nachdenken und Probleme lösen kann und die sich durch eine Form von Bewusstsein ... auszeichnet.„ Nachdenken und Probleme lösen. • Es ist umstritten ob starke KI überhaupt möglich ist • Ziel der schwachen KI: Imitation von intelligentem Verhalten ohne Anspruch auf Bewusstsein oder ähnliches. • Lösung konkreter Anwendungsprobleme • Schwache KI wird bereits im täglichen Leben eingesetzt Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/8 4 29.02.2008 Neuronale Netze • Grundidee: Modellierung des menschlichen Gehirns durch künstliche Neuronen • Vor-und Nachteile • Können ihre Entscheidungen nicht begründen • Funktionalität schwer prüfbar • Auswahl der Netzwerktopologie p g ist schwierig g • Sehr gut für Bilderkennung geeignet • Sehr hohe Ausfallsicherheit • Extrem schnelle Hardware-Implementation möglich Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/9 Neuron, künstlichen Neurons, künstliches neurales Netz Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/10 5 29.02.2008 Genetische Algorithmen • Die Natur löst äußerst komplexe Aufgaben • Alles was sie dazu braucht ist: • Genetischer Code • Zufällige Veränderung: Mutation, Cross-Over • Selektion t ess (Bewertungsfunktion) ( e e tu gs u t o ) • Fitness Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/11 Evolutionäre Algorithmen • Genetische Algorithmen sind zu allgemein, daher Probleme mit der Rechenzeit • Evolutionäre Algorithmen nutzen • Problemspezifische Gendarstellung (nichtlinear!) • Problemspezifische Cross-Over/Mutationsoperationen • Dadurch wird viel Rechenzeit gespart Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/12 6 29.02.2008 Vor- und Nachteile • Extrem anpassbar • Problem muss nicht analytisch erfasst/verstanden werden! • Immer noch großer Rechenzeitbedarf • Problem mit lokalem und globalem Maximum • Wie wählt man die Gendarstellung und wie die Mutations- und Bewertungsfunktionen? Populationsgröße? Einsatz heute vor allem bei komplexen Such- und Optimierungsproblemen. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/13 Starke KI • “according to strong AI, the computer is not merely a tool in the study of the mind; rather, rather the appropriately programmed computer really is a mind“ John Searle • Grundlegender Gedanke der starken KI ist die „substrate independence“ • Nachdenken und Probleme lösen • Bewusstsein und Selbstbewusstsein • Emotionen Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/14 7 29.02.2008 Künstliches Leben (MIT-Projekt Kismet-Roboter) • Erforschung von Fragen zur • Selbstidentität • Wahrnehmungstheorie W h h th i • Autobiografisches Gedächtnis • Selbsterkennung / Erkennung anderer • • • • • Kismet Mark II DAVID Absichtlichkeit der Entscheidungen E ti Emotionen und dE Empfindung fi d Persönlichkeit Freundschaft Ethik Heiner Klocke, 28.02.2008 Gesichtsroboter: Erforschung der Verständigung zwischen Mensch und Maschine Künstliche Intelligenz ‐ Intelligente Agenten KI/15 Teilgebiete der KI • Sprachliche KI: Verstehen, Übersetzen und Erzeugen von Texten oder gesprochener Sprache • Visuelle KI: Erkennen von Bildern • Rationale KI: • Logisches Schließen • Entscheiden • Handeln Androide ASIMO • Mensch-Computer Interaktion: Global Hawk • Softwareagenten • Roboter Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/16 8 29.02.2008 Symbolische und Subsymbolische KI • Grundproblem der KI: Wie denken Menschen? • Symbolische KI geht das Problem von „oben“ an und betrachtet logisches Schließen als Grundlage. Dabei wird in Symbolen gearbeitet • Subsymbolische oder neuronale KI geht das Problem von „unten“ an und simuliert Gruppen von Neuronen. Zentrale Elemente sind das Modell der Neuronen und die Struktur der Verbindungen. g Daher auch Konnektionismus. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/17 KI – Arbeitsgebiete der Informatik • Wissensbasierte Systeme • Lernfähige und erkennende Systeme • Sprachverstehen • Funktionale (Lisp) u. deskriptive Sprachen (Prolog) • Robotik • Fuzzy-Systeme • Genetische G ti h Algorithmen Al ith • Philosophische Probleme Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/18 9 29.02.2008 Intelligente Agenten In der KI-Forschung und der Kognitionswissenschaft werden Menschen, Tiere und künstliche Wesen als Agenten bezeichnet. bezeichnet Ein vollständiger Agent ist ein natürliches oder künstliches System, das ständig mit seiner Umwelt über Sensoren interagiert. Das sensorische System ist eng mit dem motorischen S t System gekoppelt. k lt Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/19 Software-Agent … ein Computerprogramm, das weitgehend unabhängig von Benutzereingriffen arbeitet. Es löst Aktionen aufgrund eigener Initiative aus (proaktiv), reagiert auf Änderung der Umgebung (reaktiv), es kommuniziert mit anderen Agenten (Multi-Agenten) und lernt aufgrund zuvor getätigter Entscheidungen bzw. Beobachtungen. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/20 10 29.02.2008 Dimensionen der Künstlichen Intelligenz Nachbildung menschlicher Leistung Rationalität Denkprozesse Systeme, die wie Menschen denken Systeme, die rational denken Systeme, die wie Menschen agieren Systeme, die rational agieren Verhalten Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/21 Menschliches Denken – kognitive Modellierung • festlegen, wie ein Mensch denkt • in die Arbeitsweise des menschlichen Gehirn gelangen – Introspektion, eigene Gedanken auffangen, während sie entstehen – durch psychologische Experimente Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/22 11 29.02.2008 Rationales Denken: Denkregeln • unwiderlegbare Prozesse für logisches Denken festlegen • Aristoteles: Syllogismus stellt Muster für Argumentationsstrukturen bereit, bereit die immer zu korrekten Schlüssen führen führen, wenn ihnen korrekte Prämissen übergeben werden – Sokrates ist ein Mensch; alle Menschen sind sterblich; deshalb ist Sokrates sterblich • Denkregeln sollten die Vorgehensweise des Verstandes beherrschen; ihre Untersuchung führt zum Gebiet der Logik. • 1 1. P Problem: bl i f informelles ll und d unsicheres i h Wi Wissen aufnehmen f h und es formalisieren • 2. Problem: unterschiedliche Fähigkeit, ein Problem „im Prinzip“ zu lösen und dies auch in der Praxis zu tun. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/23 Rationales Handeln – rationaler Agent • Ein Agent ist etwas, das agiert (lat. agere, tun handeln machen) herkömmlichen“ • Softwareagenten unterscheiden sich von „herkömmlichen Programmen durch – selbstständige Steuerung – Wahrnehmung ihrer Umgebung – Persistenz über einen längeren Zeitraum – Anpassungen p g an Änderungen g und die Möglichkeit, g , die Ziele eines anderen weiterzuführen • Ein rationaler Agent ist ein Agent, der sich so verhält, dass er das beste Ergebnis erzielt, oder, falls es Unsicherheiten gibt, das beste erwartete Ergebnis. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/24 12 29.02.2008 Rationalität und Allwissenheit • Ein allwissender Agent weiß das Ergebnis seiner Handlungen, er kann „in die Zukunft schauen“ und kann dementsprechend handeln, aber in der Realität ist Allwissenheit unmöglich. • Rationalität ≠ Perfektion • Perfektion ist aus unserer Sicht eines rationalen Agenten ausgeschlossen, da die rationale Wahl nur von der bisherigen Wahrnehmung abhängt. • Beispiel Agent überquert Straße, keine Autos sind zu sehen, er wird von einem herabstürzenden Flugzeugreifen erschlagen. Entscheidung rational oder perfekt? Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/25 2. Logisches Schließen Viele Denk- und Entscheidungsprozesse des Menschen basieren auf Logik, wobei es verschiedene Formen der Logik gibt, z.B. • Aussagenlogik (operiert nur mit Konstanten) • Prädikatenlogik (verwendet Variablen und Quantoren) • Modallogik (verwendet Modalbegriffe wie möglich, notwendig, …) • Fuzzylogik (kann mit unsicherem Wissen umgehen) Zwei wichtige Schlussfiguren, • Modus Ponens • Modus Tollens Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/26 13 29.02.2008 Modus Ponens (zur Verifikation) Aus zwei Prämissen wird eine bejahende Aussage hergeleitet: 1. 1 Prämisse: Prämisse P→Q 2. Prämisse: P Schluss: Q P → Q, P Q Aus „Wenn W es regnet, t wird i d die di St Straße ß nass““ und „Es regnet“ folgt logisch: „Die Straße wird nass“ Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/27 Modus Tollens (zum „Betrüger schnappen“) Aus zwei Prämissen wird eine verneinende Aussage hergeleitet: 1. 1 Prämisse: Prämisse P→Q 2. Prämisse: ¬P Schluss: ¬Q P → Q , ¬P ¬Q Aus „Wenn W es regnet, t wird i d die di St Straße ß nass““ und „Es regnet nicht“ folgt logisch: „Die Straße wird nicht nass“ Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/28 14 29.02.2008 Der Modus Ponens und der Modus Tollens Zwei formale Regeln für logisches Schließen sind • Modus M d Ponens P wenn p, dann q p es folgt q W Wenn John J h schlau hl iist, t d dann wächst die Erdbevölkerung. John ist schlau. Die Bevölkerung der Erde wächst. • Modus Tollens wenn p, dann d q nicht q es folgt nicht p Wenn Liz die Mörderin war, dann b it t Sie besitzt Si ein i B Beil. il Liz besitzt kein Beil. Liz war nicht die Mörderin. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/29 Aufgabe Wenn es regnet, trägt John einen Regenschirm. John trägt keinen Regenschirm. ? Frage 1: Welche Schlussregel muss angewendet werden? • Modus Ponens wenn p, dann q p es folgt q • Modus Tollens wenn p, dann q nicht q es folgt nicht p Frage 2: Wie lautet die Schlussfolgerung? Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten 30 15 29.02.2008 Experiment 1 4 E 7 K Jede Karte hat eine Zahl auf der einen und einen Buchstaben auf der anderen Seite. Welche Karten müssen Sie aufdecken, um folgende f l d A Aussage zu prüfen? üf ? "Wenn eine Karte auf der einen Seite einen Vokal hat, dann steht auf der anderen Seite eine gerade Zahl" Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten "Wenn eine Karte auf der einen Seite einen Vokal hat, dann steht auf der anderen Seite eine gerade Zahl" Lösung Experiment 1 4 KI/31 E 7 K Sie müssen die Karten E und 7 aufdecken. Karte E. Es wird die Bestätigung der Regel durch Anwendung des Modus Ponens geprüft. Man sagt auch: die Aussage wird verifiziert. Unproblematisch. Karte 7. Hier wird der Modus Tollens angewendet: wenn p (Vokal) dann q (gerade), nicht q (7 ist nicht gerade), also nicht p (p darf kein Vokal sein). Hier wird ein Regelverstoß überprüft (Falsifikation). Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/32 16 29.02.2008 Erklärung Experiment 1 "Wenn eine Karte auf der einen Seite einen Vokal hat, dann ssteht da e au auf de der a anderen de e Seite eine gerade Zahl" 4 E 7 K Wie kommt es, dass in 80% der Antworten ein falscher Schluss „E und 4“ gezogen wird? Richtig: Bei der Antwort „E“ muss geprüft werden, ob die d e Regel ege sstimmt. Falsch: Bei der Antwort „4“ wird (fälschlicherweise) die Regel umgedreht, d.h. gerade Zahl → Vokal. Richtig: Korrekt ist es, zu prüfen, ob die Regel verletzt ist, also „7“ Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/33 Experiment 2 Sie überprüfen in einer Poststation, ob Briefe zu gering frankiert worden sind: Geschlossene Briefe kosten 1 DM, offene Briefe kosten 80 Pfennig. Überprüfen Sie, ob die Briefe nicht zu niedrig frankiert sind. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/34 17 29.02.2008 Erklärung Experiment 2 Woran liegt es, dass das Briefporto-Problem einfacher zu lösen ist? Der Kontext im zweiten Experiment ist vertrauter als der abstrakte Kontext im ersten Experiment. Offensichtlich liefert der Kontext auch Lösungshinweise. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/35 3. Repräsentation von Wissen durch Logik Was ein Agent in seiner Welt (Universum, Domäne) weiß oder glaubt, kann wahr, falsch oder unbekannt sein. Die Welt des Agenten kann z.B. durch Prädikatenlogik beschrieben werden. So kann eine Beziehung (Relation) zwischen Objekten wahr oder falsch sein. Mit der Sprache der Prädikatenlogik können Objekte und Beziehungen zwischen ihnen beschrieben werden. Die P Di Prädikatenlogik ädik l ik iist somit i eine i beschreibende b h ib d (deklarative) Sprache. Im Gegensatz dazu sind Lisp eine funktionale und Java eine prozedurale Sprache. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/36 18 29.02.2008 Syntax der Prädikatenlogik → Atomic Sentence | (Sentence Connective Sentence) | Quantifier Variable, … Sentence | ¬ Sentence AtomicSentence → Predicate(Term, …) | Term = Term Term → Function(Term, …) | Constant | Variable Sentence Constants Predicates Functions Variables Connectives Equality Quantifiers Heiner Klocke, 28.02.2008 StadtWiehl, 2, ... Mutter, >,... , Bruder,, LinkesBein,... x, y, a, b,... ¬, ⇒, ∧, ∨, ⇔ (Negation, Implikation, Konjunktion, Disjunktion, gdw.) = (Gleichheit) ∀, ∃ (für alle, es existiert) Künstliche Intelligenz ‐ Intelligente Agenten KI/37 Sätze in Prädikatenlogik • Bruder(Richard, John) • Verheiratet(Vater(Richard), Mutter(John)) • ¬Bruder(LinkesBein(Richard), John) • Bruder(Richard,John) ∧ Bruder(John,Richard) • König(Richard) ∨ König(John) • ¬König(Richard) ⇒ König(John) Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/38 19 29.02.2008 Allquantor ∀ – „für alle … gilt“ Die Prädikatenlogik enthält zwei Quantoren: ∀ - universell ∃ - existentiell Mit dem Allquantor ∀ können Eigenschaften ganzer Objektsammlungen ausgedrückt werden. Die Objekte müssen nicht mit ihrem Namen aufgelistet werden. Der Allquantor trifft somit Aussagen über jedes Objekt. Beispiele: ∀ x König(x) ⇒ Person(x) ∀ x SchlülerGymWiehl_12c(x) ⇒ BesuchFH_28Feb(x) Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/39 Existenzquantor ∃ – „es gibt …“ Mit dem Existenzquantor ∃ kann eine Aussage zu einem bestimmten Objekt im Universum (= Welt des Agenten) gemacht werden, werden ohne es per Namen zu nennen. nennen Um beispielsweise zu sagen, dass König John eine Krone auf dem Kopf hat, schreiben wir: ∃x Krone(x) ∧ AufDemKopf(x, John) Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/40 20 29.02.2008 Verschachtelte Quantoren Einfacher Fall: alle Quantoren vom selben Typ: ∀x ∀y Bruder(x,y) ⇒ Geschwister(x,y) Gemischte Fälle: „Jeder liebt jemanden“ bedeutet, dass es für jede Person jemanden gibt, den diese Person liebt. ∀x ∃y Liebt(x,y) „Es E gibt ibt jjemanden, d d der von jjedem d geliebt li bt wird“: i d“ ∃y ∀x Liebt(x,y) Es kommt also auf die Reihenfolge der Quantoren an. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/41 … noch ein paar Beispiele Wenn sich zwei Terme auf dasselbe Objekt beziehen, so wird das Gleichheitssymbol verwendet. Vater(John) V t (J h ) = Henry H Um auszudrücken, dass Richard mindestens zwei Brüder hat, schreiben wir: ∃x, y Bruder(x, Richard) ∧ Bruder(y, Richard) ∧ ¬(x = y) Die Verwandtschafts-Domäne: Ver andtschafts Domäne ∀x, y Sibling(x,y) ⇔ x ≠ y ∧ ∃p Parent(p,x) ∧ Parent(p,y) Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/42 21 29.02.2008 4. Mit Logik programmieren – Programming in Logic Eine Wissensbasis in Prädikatenlogik besteht aus Fakten und Regeln. Beispiel: Fakten: bruder(rita, manfred) bruder(ulrich, ben) bruder(lisa, rolf) bruder(tom, jim) Regeln: ∀ X, X Y bruder(X,Y) bruder(X Y) ⇒ geschwister(X,Y) geschwister(X Y) Allquantor Prämisse Variablen Heiner Klocke, 28.02.2008 Schlussfolgerung Implikation Künstliche Intelligenz ‐ Intelligente Agenten KI/43 Die Verwandtschaftsdomäne: Eltern und Geschwister Fakten: vater(rita, max) vater(jim, tom) vater(brigitte, max) vater(klara, max) vater(marit, max) vater(max, hans) vater(andrea, herbert) mutter(rita, lisa) mutter(jim, franka) mutter(brigitte, lisa) mutter(klara, andrea) mutter(marit, lisa) mutter(max, lisa) mutter(andrea, renate) Regeln: ∀ X, Y, Z vater(X,Y), mutter(X,Z) ⇒ eltern(X,Y,Z) ∀ X, Y, V, M eltern(X, V, M), eltern(Y, V, M), X ≠ Y ⇒ geschwister(X,Y) Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/44 22 29.02.2008 Das Wissen über Verwandtschaft in Prolog Fakten: vater(rita, max). vater(jim, tom). … Regel: ∀ X, Y, Z vater(X,Y), mutter(X,Z) ⇒ eltern(X,Y,Z) Prolog: eltern(X, Y, Z) :- vater(X,Y), mutter(X,Z). Regel: ∀ X, Y, V, M eltern(X, V, M), eltern(Y, V, M), X ≠ Y ⇒ geschwister(X,Y) Prolog: geschwister(X,Y) :- eltern(X, V, M), eltern(Y, V, M), X \== Y. Heiner Klocke, 28.02.2008 mutter(rita, lisa). mutter(jim, franka). Klausel Künstliche Intelligenz ‐ Intelligente Agenten KI/45 Eine Anfrage an die Wissensbasis vater(brigitte, max). vater(klara, max). … mutter(brigitte, lisa). mutter(klara, lisa). … geschwister(X,Y) :eltern(X, Y, Z) :eltern(X, V, M), vater(X,Y), eltern(Y, V, M), mutter(X,Z). X \== Y. grosseltern(Z, Gv, Gm) :eltern(Z, V, M), (eltern(V, Gv, Gm); eltern(M, Gv, Gm)). ?- geschwister(brigitte, klara). Yes. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten Anfrage oder Goal KI/46 23 29.02.2008 Das 8-Damenproblem Die Königin ist die mächtigste Schachfigur. Sie kann in Reihen und Spalten ziehen. Zusätzlich kann sie sich auf den Diagonalen g Kann man 8 Damen so auf ein 8 x 8 Brett stellen,, bewegen. dass sie sich nicht gegenseitig bedrohen? Wenn ja, wie viele Möglichkeiten gibt es? Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/47 Die Türme von Hanoi Das Spiel besteht aus drei Stäben A, B und C, auf die mehrere gelochte Scheiben gelegt werden, alle verschieden groß. Zu Beginn liegen alle Scheiben auf Stab A, der Größe nach geordnet, mit der größten ößt Scheibe S h ib unten t und d der d kleinsten kl i t oben. b Ziel Zi l des d Spiels S i l ist i t es, den kompletten Scheiben-Stapel von A nach C zu versetzen. Bei jedem Zug darf die oberste Scheibe eines beliebigen Stabes auf einen der beiden anderen Stäbe gelegt werden, vorausgesetzt, dort liegt nicht schon eine kleinere Scheibe. Folglich sind zu jedem Zeitpunkt des Spieles die Scheiben auf jedem Feld der Größe nach geordnet. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/48 24 29.02.2008 Das „Türme von Hanoi“-Problem ist praktisch unlösbar Heiner Klocke, 28.02.2008 Anzahl Scheiben Benötigte Zeit 5 31 Sekunden 10 17,1 Minuten 20 12 Tage 30 34 Jahre 40 348 Jahrhunderte 60 36,6 Milliarden Jahre 64 585 Milli Milliarden d JJahre h Künstliche Intelligenz ‐ Intelligente Agenten KI/49 Und jetzt ein paar kleine Beispiele in Prolog Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/50 25 29.02.2008 Geschwister bruder(rita, manfred). bruder(ulrich, ben). bruder(lisa, rolf). bruder(tom, jim). bruder(ben, jim). geschwister(X,Y) :- bruder(X,Y). Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/51 Großeltern vater(rita, max). vater(jim, tom). vater(brigitte, max). vater(klara, max). vater(marit, max). vater(helena, heiner). vater(sebastian, heiner). vater(heiner, josef). vater(renate, gero). mutter(marit, andrea). mutter(rita, lisa). mutter(jim, franka). mutter(brigitte, lisa). mutter(klara, lisa). mutter(helena, renate). mutter(sebastian, renate). mutter(renate, ulla). mutter(heiner, thea). vater(max, hans). vater(andrea, herbert). mutter(max, lisa). mutter(andrea, tt ( d renate). t ) eltern(X, Y, Z) :- vater(X,Y), mutter(X,Z). geschwister(X,Y) :- eltern(X, V, M), eltern(Y, V, M), X \== Y. grosseltern(Z, Gv, Gm) :- eltern(Z, V, M), (eltern(V, Gv, Gm); eltern(M, Gv, Gm)). Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/52 26 29.02.2008 Das 8-Damen-Problem queens(N,Qs) :- range(1,N,Ns), permutation(Ns,Qs), safe(Qs). range(M,N,[M|Ns]) :- M < N, M1 is M+1, range(M1,N,Ns). range(N,N,[N]). (N N [N]) permutation(Xs,[Z|Zs]) :- select(Z,Xs,Ys), permutation(Ys,Zs). permutation([],[]). safe([Q|Qs]) :- safe(Qs), not(attack(Q,Qs)). safe([]). attack(X,Xs) :- attack(X,1,Xs). attack(X,N,[Y|Ys]) :- X is Y+N. attack(X,N,[Y|Ys]) :- X is Y-N. attack(X,N,[Y|Ys]) :- N1 is N+1, attack(X,N1,Ys). Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/53 Die Türme von Hanoi transportiere(EtagenZahl, Von, Nach, Hilfsplatz) :EtagenZahl > 1, ObereEtagen is EtagenZahl - 1, transportiere(ObereEtagen, Von, Hilfsplatz, Nach), transportiere(1, Von, Nach, Hilfsplatz), transportiere(ObereEtagen, Hilfsplatz, Nach, Von). transportiere(1, Von, Nach, _) :write('Transportiere oberste Etage von'-Von-'nach'-Nach),nl. Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/54 27 29.02.2008 Das Färbe-Problem Heiner Klocke, 28.02.2008 Künstliche Intelligenz ‐ Intelligente Agenten KI/55 Das Färbe-Problem karte(A,B,C,D,E,F) :nachbar(A,B), nachbar(A,E), nachbar(B,C), nachbar(B C) nachbar(B,E), nachbar(C,D), nachbar(C,E), nachbar(C,F), nachbar(D,E), nachbar(D,F), nachbar(E,F). nachbar(rot,blau). nachbar(blau,rot). nachbar(gruen,rot). nachbar(gelb,rot). Heiner Klocke, 28.02.2008 nachbar(rot,gelb). nachbar(blau,gelb). nachbar(gruen,gelb). nachbar(gelb,blau). Goals: ?‐ karte(X1,X2,X3,X4,X5,X6). ?‐ karte(rot,X2,X3,X4,X5,X6). ?‐ karte(rot,X2,X3,X4,X5,rot). k ( ) ?‐ karte(rot,X2,X3,X4,rot,rot). ?‐ karte(rot,X2,X3,rot, X5,rot). No nachbar(rot,gruen). nachbar(blau,gruen). nachbar(gruen,blau). nachbar(gelb,gruen). Künstliche Intelligenz ‐ Intelligente Agenten KI/56 28