Künstliche Intelligenz

Werbung
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
Herunterladen