künstliche intelligenz - intelligente agentenhk/ki_28feb2008_wiehl.pdf · • modus tollens wenn...
Post on 05-Jun-2018
218 Views
Preview:
TRANSCRIPT
29.02.2008
1
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
C ? ?
Heiner Klocke, 28.02.2008 KI/1Künstliche Intelligenz ‐ Intelligente Agenten
Unser Wissen im Computer? Wie geht das?
4. Mit Logik programmieren – Programming in Logic
Ist das möglich? Ja, z.B. mit Prolog
1. Was ist, was kann künstliche Intelligenz?
Können Maschinen denken?
Werden Maschinen eines Tages denken können?g
• Was ist eine Maschine?
• Was ist Denken?
• Was ist der Mensch?
Heiner Klocke, 28.02.2008 KI/2Künstliche Intelligenz ‐ Intelligente AgentenMarvin Minsky Alan TuringJohn McCarthyJoseph Weizenbaum
ELIZA
MIT – Massachusetts Institute of Technology
29.02.2008
2
Das Experiment von Alan Turing (mit Menschen)
Drei Spieler, ein Mann (A), eine Frau (B) und ein männlicher oder weiblicher Fragesteller (C).
A
B
CA männlich?
B weiblich?
Heiner Klocke, 28.02.2008 KI/3Künstliche Intelligenz ‐ Intelligente Agenten
Erschwerte Situation: A will verhindern, dass C ihn erkennt.Spielerin B will dem Fragesteller C helfen, die richtige Antwort zu geben.
Das Experiment von Alan Turing (mit Computer)
Person A wird durch ein Computerprogramm ersetzt.
A
B
CA Computer?
B Computer?
Heiner Klocke, 28.02.2008 KI/4Künstliche Intelligenz ‐ Intelligente Agenten
Turing-Test: Nachweis der Intelligenz eines Computers?
Loebner-Preis: Bestes Turing-Test-Programm.2007: Robert Medeksza: Ultra HAL Assistant (digitaler Sekretär)
29.02.2008
3
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 KI/5Künstliche Intelligenz ‐ Intelligente Agenten
Menschliche Intelligenz (intellegere – verstehen)
Natürliche Intelligenz„Fähigkeit zum Erkennen von Zusammenhängen und zum Fi d ti l P bl lö “Finden optimaler Problemlösungen“
• Abstraktionsvermögen• Erkenntnisfähigkeit• …
Daniel Goleman: „Emotionale Intelligenz“
Heiner Klocke, 28.02.2008 KI/6Künstliche Intelligenz ‐ Intelligente Agenten
• Reale Selbsteinschätzung
• Selbstkontrolle
• Erkennen der eigenen Stärken und Schwächen
29.02.2008
4
Strömungen der „Künstlichen Intelligenz“ (KI)
KI als KognitionswissenschaftFunktionen des Gehirns entschlüsseln.
KI als InformatikdisziplinZiel: Intelligentere Computersysteme entwickeln
Software mit Problemlösefähigkeiten entwickeln, als
Natürliche Intelligenz verstehen und nachbauen
Heiner Klocke, 28.02.2008 KI/7Künstliche Intelligenz ‐ Intelligente Agenten
Ergänzung natürlicher Intelligenz
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
• Ziel der schwachen KI:Imitation von intelligentem Verhalten ohne Anspruch auf
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
Heiner Klocke, 28.02.2008 KI/8Künstliche Intelligenz ‐ Intelligente Agenten
Imitation von intelligentem Verhalten ohne Anspruch auf Bewusstsein oder ähnliches.
• Lösung konkreter Anwendungsprobleme• Schwache KI wird bereits im täglichen Leben eingesetzt
29.02.2008
5
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
Neuronen
• Auswahl der Netzwerktopologie ist schwierig
Heiner Klocke, 28.02.2008 KI/9Künstliche Intelligenz ‐ Intelligente Agenten
p g g
• Sehr gut für Bilderkennung geeignet• Sehr hohe Ausfallsicherheit• Extrem schnelle Hardware-Implementation möglich
Neuron, künstlichen Neurons, künstliches neurales Netz
Heiner Klocke, 28.02.2008 KI/10Künstliche Intelligenz ‐ Intelligente Agenten
29.02.2008
6
Genetische Algorithmen
• Die Natur löst äußerst komplexe AufgabenAlles was sie dazu braucht ist:• Alles was sie dazu braucht ist:• Genetischer Code• Zufällige Veränderung: Mutation,
Cross-Over• Selektion• Fitness (Bewertungsfunktion)
Heiner Klocke, 28.02.2008 KI/11Künstliche Intelligenz ‐ Intelligente Agenten
t ess ( e e tu gs u t o )
Evolutionäre Algorithmen
• Genetische Algorithmen sind zu allgemein, daher Probleme mit der RechenzeitRechenzeit
• Evolutionäre Algorithmen nutzen• Problemspezifische Gendarstellung
(nichtlinear!)• Problemspezifische Cross-Over-
/Mutationsoperationen• Dadurch wird viel Rechenzeit
Heiner Klocke, 28.02.2008 KI/12Künstliche Intelligenz ‐ Intelligente Agenten
• Dadurch wird viel Rechenzeit gespart
29.02.2008
7
Vor- und Nachteile
• Extrem anpassbar• Problem muss nicht analytisch
erfasst/verstanden werden!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?
Heiner Klocke, 28.02.2008 KI/13Künstliche Intelligenz ‐ Intelligente Agenten
Populationsgröße?
Einsatz heute vor allem bei komplexen Such- und Optimierungsproblemen.
Starke KI
• “according to strong AI, the computer is not merely a tool in the study of the mind; rather the appropriately
• Grundlegender Gedanke der starken KI ist die „substrate independence“
mind; rather, the appropriately programmed computer really is a mind“
John Searle
Heiner Klocke, 28.02.2008 KI/14Künstliche Intelligenz ‐ Intelligente Agenten
• Nachdenken und Probleme lösen• Bewusstsein und Selbstbewusstsein• Emotionen
29.02.2008
8
Künstliches Leben (MIT-Projekt Kismet-Roboter)
• Erforschung von Fragen zur• Selbstidentität
W h h th i
Kismet
• Absichtlichkeit der EntscheidungenE ti d E fi d
• Wahrnehmungstheorie• Autobiografisches Gedächtnis• Selbsterkennung / Erkennung
anderer
Mark II
DAVID
Heiner Klocke, 28.02.2008 KI/15Künstliche Intelligenz ‐ Intelligente Agenten
• Emotionen und Empfindung• Persönlichkeit• Freundschaft• Ethik
Gesichtsroboter: Erforschung der Verständigung zwischen Mensch und Maschine
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
Heiner Klocke, 28.02.2008 KI/16Künstliche Intelligenz ‐ Intelligente Agenten
Handeln
• Mensch-Computer Interaktion:
• Softwareagenten
• Roboter
Global Hawk
Androide ASIMO
29.02.2008
9
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.
Heiner Klocke, 28.02.2008 KI/17Künstliche Intelligenz ‐ Intelligente Agenten
gDaher auch Konnektionismus.
KI – Arbeitsgebiete der Informatik
• Wissensbasierte Systeme
• Lernfähige und erkennende Systeme
• Sprachverstehen
• Funktionale (Lisp) u. deskriptive Sprachen (Prolog)
• Robotik
• Fuzzy-Systeme
G ti h Al ith
Heiner Klocke, 28.02.2008 KI/18Künstliche Intelligenz ‐ Intelligente Agenten
• Genetische Algorithmen
• Philosophische Probleme
29.02.2008
10
Intelligente Agenten
In der KI-Forschung und der Kognitionswissenschaft werden Menschen, Tiere und künstliche Wesen als Agenten bezeichnetAgenten 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 k lt
Heiner Klocke, 28.02.2008 KI/19Künstliche Intelligenz ‐ Intelligente Agenten
System gekoppelt.
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 KI/20Künstliche Intelligenz ‐ Intelligente Agenten
29.02.2008
11
Dimensionen der Künstlichen Intelligenz
Nachbildung menschlicher Leistung
Rationalität
Denkprozesse
Systeme, die wie Menschen denken
Systeme, die rational denken
Systeme, die rational denken
Heiner Klocke, 28.02.2008 KI/21Künstliche Intelligenz ‐ Intelligente Agenten
Systeme, die wie Menschen agieren
Systeme, die rational agieren
Verhalten
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 KI/22Künstliche Intelligenz ‐ Intelligente Agenten
29.02.2008
12
Rationales Denken: Denkregeln
• unwiderlegbare Prozesse für logisches Denken festlegen
• Aristoteles: Syllogismus stellt Muster für Argumentations-strukturen bereit die immer zu korrekten Schlüssen führenstrukturen bereit, die immer zu korrekten Schlüssen 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 P bl i f ll d i h Wi f h
Heiner Klocke, 28.02.2008 KI/23Künstliche Intelligenz ‐ Intelligente Agenten
• 1. Problem: informelles und unsicheres Wissen aufnehmen und es formalisieren
• 2. Problem: unterschiedliche Fähigkeit, ein Problem „im Prinzip“ zu lösen und dies auch in der Praxis zu tun.
Rationales Handeln – rationaler Agent
• Ein Agent ist etwas, das agiert (lat. agere, tun handeln machen)
• Softwareagenten unterscheiden sich von herkömmlichen“Softwareagenten unterscheiden sich von „herkömmlichen Programmen durch
– selbstständige Steuerung
– Wahrnehmung ihrer Umgebung
– Persistenz über einen längeren Zeitraum
– Anpassungen an Änderungen und die Möglichkeit, die
Heiner Klocke, 28.02.2008 KI/24Künstliche Intelligenz ‐ Intelligente Agenten
p g g g ,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.
29.02.2008
13
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.
Heiner Klocke, 28.02.2008 KI/25Künstliche Intelligenz ‐ Intelligente Agenten
• Beispiel
Agent überquert Straße, keine Autos sind zu sehen, er wird von einem herabstürzenden Flugzeugreifen erschlagen. Entscheidung rational oder perfekt?
2. Logisches Schließen
Viele Denk- und Entscheidungsprozesse des Menschen basieren auf Logik, wobei es verschiedene Formen der Logik gibt, z.B.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)
Heiner Klocke, 28.02.2008 KI/26Künstliche Intelligenz ‐ Intelligente Agenten
• Fuzzylogik (kann mit unsicherem Wissen umgehen)
Zwei wichtige Schlussfiguren,
• Modus Ponens • Modus Tollens
29.02.2008
14
Modus Ponens (zur Verifikation)
Aus zwei Prämissen wird eine bejahende Aussage hergeleitet:
1 Prämisse P Q1. Prämisse: P → Q
2. Prämisse: P
Schluss: QQ
PQP ,→
AusW t i d di St ß “
Heiner Klocke, 28.02.2008 KI/27Künstliche Intelligenz ‐ Intelligente Agenten
„Wenn es regnet, wird die Straße nass“und
„Es regnet“
folgt logisch: „Die Straße wird nass“
Modus Tollens (zum „Betrüger schnappen“)
Aus zwei Prämissen wird eine verneinende Aussage hergeleitet:
1 Prämisse P Q1. Prämisse: P → Q
2. Prämisse: ¬P
Schluss: ¬QQ
PQP¬
¬→ ,
AusW t i d di St ß “
Heiner Klocke, 28.02.2008 KI/28Künstliche Intelligenz ‐ Intelligente Agenten
„Wenn es regnet, wird die Straße nass“und
„Es regnet nicht“
folgt logisch: „Die Straße wird nicht nass“
29.02.2008
15
Der Modus Ponens und der Modus Tollens
M d P
Zwei formale Regeln für logisches Schließen sind
W J h hl i t d• Modus Ponenswenn p, dann qpes folgt q
• Modus Tollensd
Wenn John schlau ist, dann wächst die Erdbevölkerung.John ist schlau.Die Bevölkerung der Erde wächst.
Wenn Liz die Mörderin war, dann b it t Si i B il
Heiner Klocke, 28.02.2008 KI/29Künstliche Intelligenz ‐ Intelligente Agenten
wenn p, dann qnicht qes folgt nicht p
besitzt Sie ein Beil.Liz besitzt kein Beil.Liz war nicht die Mörderin.
Aufgabe
Wenn es regnet, trägt John einen Regenschirm.John trägt keinen Regenschirm.?
Frage 1: Welche Schlussregel muss angewendet werden?
?
• Modus Ponenswenn p, dann qp
• Modus Tollenswenn p, dann qnicht q
Heiner Klocke, 28.02.2008 30Künstliche Intelligenz ‐ Intelligente Agenten
es folgt q es folgt nicht p
Frage 2: Wie lautet die Schlussfolgerung?
29.02.2008
16
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,
f l d A üf ?
4 E 7 K
Heiner Klocke, 28.02.2008 KI/31Künstliche Intelligenz ‐ Intelligente Agenten
um folgende Aussage zu prüfen?
"Wenn eine Karte auf der einen Seite einen Vokal hat, dann steht auf der anderen Seite eine gerade Zahl"
Lösung Experiment 1
4 E 7 K
"Wenn eine Karte auf der einen Seite einen Vokal hat, dann steht auf der anderen Seite eine gerade Zahl"
Sie müssen die Karten E und 7 aufdecken.
Karte E. Es wird die Bestätigung der Regel durch Anwendung des
4 E 7 K
Heiner Klocke, 28.02.2008 KI/32Künstliche Intelligenz ‐ Intelligente Agenten
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).
29.02.2008
17
Erklärung Experiment 1
4 E 7 K"Wenn eine Karte auf der einen Seite einen Vokal hat, dann steht auf der anderen da s e au de a de eSeite eine gerade Zahl"
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 Regel stimmt.
Heiner Klocke, 28.02.2008 KI/33Künstliche Intelligenz ‐ Intelligente Agenten
d e ege s
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“
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.offene Briefe kosten 80 Pfennig.
Überprüfen Sie, ob die Briefe nicht zu niedrig frankiert sind.
Heiner Klocke, 28.02.2008 KI/34Künstliche Intelligenz ‐ Intelligente Agenten
29.02.2008
18
Erklärung Experiment 2
Woran liegt es, dass das Briefporto-Problem einfacher zu lösen ist?lösen ist?
Der Kontext im zweiten Experiment ist vertrauter als der abstrakte Kontext im ersten Experiment.
Offensichtlich liefert der Kontext
Heiner Klocke, 28.02.2008 KI/35Künstliche Intelligenz ‐ Intelligente Agenten
auch Lösungshinweise.
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ädikatenlogikbeschrieben 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.
Di P ädik l ik i i i b h ib d
Heiner Klocke, 28.02.2008 KI/36Künstliche Intelligenz ‐ Intelligente Agenten
Die Prädikatenlogik ist somit eine beschreibende (deklarative) Sprache. Im Gegensatz dazu sind Lisp eine funktionale und Java eine prozedurale Sprache.
29.02.2008
19
Syntax der Prädikatenlogik
Sentence → Atomic Sentence| (Sentence Connective Sentence)| Quantifier Variable, … Sentence| ¬ Sentence
AtomicSentence → Predicate(Term, …) | Term = TermTerm → Function(Term, …) | Constant | Variable
Constants StadtWiehl, 2, ... Predicates Mutter, >,...Functions Bruder, LinkesBein,...
Heiner Klocke, 28.02.2008 KI/37Künstliche Intelligenz ‐ Intelligente Agenten
, ,Variables x, y, a, b,...Connectives ¬, ⇒, ∧, ∨, ⇔ (Negation, Implikation, Konjunktion, Disjunktion, gdw.)
Equality = (Gleichheit)
Quantifiers ∀, ∃ (für alle, es existiert)
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 KI/38Künstliche Intelligenz ‐ Intelligente Agenten
29.02.2008
20
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.
Heiner Klocke, 28.02.2008 KI/39Künstliche Intelligenz ‐ Intelligente Agenten
Beispiele: ∀ x König(x) ⇒ Person(x)
∀ x SchlülerGymWiehl_12c(x) ⇒ BesuchFH_28Feb(x)
Existenzquantor ∃ – „es gibt …“
Mit dem Existenzquantor ∃ kann eine Aussage zu einem bestimmten Objekt im Universum (= Welt des Agenten) gemacht werden ohne es per Namen zu nennengemacht werden, ohne es per Namen zu 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 KI/40Künstliche Intelligenz ‐ Intelligente Agenten
29.02.2008
21
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)
E ibt j d d j d li bt i d“
Heiner Klocke, 28.02.2008 KI/41Künstliche Intelligenz ‐ Intelligente Agenten
„Es gibt jemanden, der von jedem geliebt wird“:
∃y ∀x Liebt(x,y)
Es kommt also auf die Reihenfolge der Quantoren an.
… noch ein paar Beispiele
Wenn sich zwei Terme auf dasselbe Objekt beziehen, so wird das Gleichheitssymbol verwendet.
V t (J h ) HVater(John) = Henry
Um auszudrücken, dass Richard mindestens zwei Brüder hat, schreiben wir:
∃x, y Bruder(x, Richard) ∧ Bruder(y, Richard) ∧ ¬(x = y)
Die Ver andtschafts Domäne
Heiner Klocke, 28.02.2008 KI/42Künstliche Intelligenz ‐ Intelligente Agenten
Die Verwandtschafts-Domäne:
∀x, y Sibling(x,y) ⇔ x ≠ y ∧ ∃p Parent(p,x) ∧ Parent(p,y)
29.02.2008
22
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 Y bruder(X Y) ⇒ geschwister(X Y)
Heiner Klocke, 28.02.2008 KI/43Künstliche Intelligenz ‐ Intelligente Agenten
Regeln: ∀ X, Y bruder(X,Y) ⇒ geschwister(X,Y)
Allquantor
Variablen
Prämisse
Implikation
Schlussfolgerung
Die Verwandtschaftsdomäne: Eltern und Geschwister
Fakten: vater(rita, max) mutter(rita, lisa)vater(jim, tom) mutter(jim, franka)vater(brigitte, max) mutter(brigitte, lisa)vater(klara, max) mutter(klara, andrea)vater(marit, max) mutter(marit, lisa)vater(max, hans) mutter(max, lisa)vater(andrea, herbert) mutter(andrea, renate)
Heiner Klocke, 28.02.2008 KI/44Künstliche Intelligenz ‐ Intelligente Agenten
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)
29.02.2008
23
Das Wissen über Verwandtschaft in Prolog
Fakten: vater(rita, max). mutter(rita, lisa).vater(jim, tom). mutter(jim, franka).…
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
Heiner Klocke, 28.02.2008 KI/45Künstliche Intelligenz ‐ Intelligente Agenten
⇒ geschwister(X,Y)
Prolog: geschwister(X,Y) :- eltern(X, V, M),eltern(Y, V, M),X \== Y.
Klausel
Eine Anfrage an die Wissensbasis
vater(brigitte, max).vater(klara, max).…mutter(brigitte, lisa).mutter(klara, lisa).…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 KI/46Künstliche Intelligenz ‐ Intelligente Agenten
?- geschwister(brigitte, klara).Yes.
Anfrage oder Goal
29.02.2008
24
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 bewegen. Kann man 8 Damen so auf ein 8 x 8 Brett stellen, g ,dass sie sich nicht gegenseitig bedrohen?
Wenn ja, wie viele Möglichkeiten gibt es?
Heiner Klocke, 28.02.2008 KI/47Künstliche Intelligenz ‐ Intelligente Agenten
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
ößt S h ib t d d kl i t b Zi l d S i l i tgrößten Scheibe unten und der kleinsten oben. Ziel des Spiels ist 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 KI/48Künstliche Intelligenz ‐ Intelligente Agenten
29.02.2008
25
Das „Türme von Hanoi“-Problem ist praktisch unlösbar
Anzahl Scheiben Benötigte Zeit5 31 Sekunden5 31 Sekunden
10 17,1 Minuten20 12 Tage30 34 Jahre40 348 Jahrhunderte60 36,6 Milliarden Jahre64 585 Milli d J h
Heiner Klocke, 28.02.2008 KI/49Künstliche Intelligenz ‐ Intelligente Agenten
64 585 Milliarden Jahre
Und jetzt ein paar kleine Beispiele in Prolog
Heiner Klocke, 28.02.2008 KI/50Künstliche Intelligenz ‐ Intelligente Agenten
29.02.2008
26
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 KI/51Künstliche Intelligenz ‐ Intelligente Agenten
Großeltern
vater(rita, max).vater(jim, tom).vater(brigitte, max).vater(klara, max).
mutter(marit, andrea).mutter(rita, lisa).mutter(jim, franka).mutter(brigitte, lisa).
vater(max, hans).vater(andrea, herbert).
mutter(max, lisa).tt ( d t )vater(marit, max).
vater(helena, heiner).vater(sebastian, heiner).vater(heiner, josef).vater(renate, gero).
mutter(klara, lisa).mutter(helena, renate).mutter(sebastian, renate).mutter(renate, ulla).mutter(heiner, thea).
mutter(andrea, renate).
eltern(X, Y, Z) :- vater(X,Y), mutter(X,Z).
Heiner Klocke, 28.02.2008 KI/52Künstliche Intelligenz ‐ Intelligente Agenten
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)).
29.02.2008
27
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).(N N [N])range(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([]).
Heiner Klocke, 28.02.2008 KI/53Künstliche Intelligenz ‐ Intelligente Agenten
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).
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 KI/54Künstliche Intelligenz ‐ Intelligente Agenten
29.02.2008
28
Das Färbe-Problem
Heiner Klocke, 28.02.2008 KI/55Künstliche Intelligenz ‐ Intelligente Agenten
Das Färbe-Problem
karte(A,B,C,D,E,F) :-nachbar(A,B),nachbar(A,E),nachbar(B C)
Goals:?‐ karte(X1,X2,X3,X4,X5,X6).?‐ karte(rot,X2,X3,X4,X5,X6).k ( )nachbar(B,C),
nachbar(B,E),nachbar(C,D),nachbar(C,E),nachbar(C,F),nachbar(D,E),nachbar(D,F),nachbar(E,F).
?‐ karte(rot,X2,X3,X4,X5,rot).?‐ karte(rot,X2,X3,X4,rot,rot).?‐ karte(rot,X2,X3,rot, X5,rot).No
Heiner Klocke, 28.02.2008 KI/56Künstliche Intelligenz ‐ Intelligente Agenten
nachbar(rot,blau). nachbar(rot,gelb). nachbar(rot,gruen).nachbar(blau,rot). nachbar(blau,gelb). nachbar(blau,gruen).nachbar(gruen,rot). nachbar(gruen,gelb). nachbar(gruen,blau).nachbar(gelb,rot). nachbar(gelb,blau). nachbar(gelb,gruen).
top related