2. Intelligente Agenten

Transcription

2. Intelligente Agenten
2. Intelligente Agenten
Definition und Klassifizierung
Umgebungen
Einf. in die KI
2–1
Agenten
Agenten
• nehmen durch Sensoren ihre Umwelt wahr
; Perzepte
• manipulieren ihre Umwelt mit Hilfe ihrer Effektoren
; Aktionen
Beispiele:
sensors
• Roboter
percepts
?
environment
actions
effectors
Einf. in die KI
• Softbots (Software-Roboter)
agent
• Lichtschalter, Heizungen
• ...
2–2
Rationale Agenten
Rationale Agenten tun das “Richtige”.
Zur Beurteilung müssen geeignete Leistungsmaße festgelegt werden –
Leistungsmaße sind anwendungsabhängig.
Beispiel: Ein autonomer Staubsauger
• Menge des entfernten Schmutzes
• Anzahl der gereinigten Quadratmeter
• Reinheitsgrad
• Stromverbrauch
• Geräuschemission
• Sicherheit
Einf. in die KI
2–3
Rationalität vs. Allwissenheit
• Ein allwissender Agent kennt den tatsächlichen Weltzustand und damit die tatsächlichen Effekte seiner Aktionen.
• Ein rationaler Agent handelt dagegen auf Grund seiner Wahrnehmungen (Perzepte) und seines (beschränkten) Wissens und versucht, die erwartete Leistung zu
maximieren.
• Beispiel: Wenn ich vor dem Überqueren einer Straße schaue, ob die Straße frei ist,
und dann mitten auf der Straße von der herabfallenden Frachtraumtür eines über
mir fliegenden Flugzeuges erschlagen werde, habe ich dennoch rational gehandelt.
Einf. in die KI
2–4
Ideale rationale Agenten
Rationales Handeln wird bestimmt durch
• Ziele
• Leistungsmaße
• Wahrnehmungssequenzen
• Weltwissen
• Aktionen
Ein idealer rationaler Agent wählt – auf der Basis seines Weltwissens – zu jeder
möglichen Wahrnehmungssequenz immer diejenige Aktion aus, die erwartungsgemäß
seine Leistung maximiert.
Aktive Wahrnehmung, um notwendige Informationen zu erhalten, ist ein wesentlicher
Aspekt von Rationalität.
Wichtig: Sensoraktionen müssen explizit vorgesehen (eingeplant) werden.
Einf. in die KI
2–5
Beispiele für Agenten
Klassifikation anhand möglicher
• Wahrnehmungen (Percepts)
• Aktionen (Actions)
• Ziele (Goals)
• Umgebungen (Environments)
Einf. in die KI
2–6
Agent Type
Percepts
Actions
Goals
Environment
Medical diagnosis
system
Symptoms,
findings, patient’s
answers
Questions, tests,
treatments
Healthy patient,
minimize costs
Patient, hospital
Satellite image
analysis system
Pixels of varying
intensity, color
Print a
categorization of
scene
Correct
categorization
Images from
orbiting satellite
Part-picking robot
Pixels of varying
intensity
Pick up parts and
sort into bins
Place parts in
correct bins
Conveyor belt
with parts
Refinery controller
Temperature,
pressure readings
Open, close
valves; adjust
temperature
Maximize purity,
yield, safety
Refinery
Interactive English
tutor
Typed words
Print exercises,
suggestions,
corrections
Maximize
student’s score on
test
Set of students
Einf. in die KI
2–7
Die Struktur rationaler Agenten
Ein rationaler Agent kann durch eine Abbildung beschrieben werden:
Wahrnehmungssequenz × Weltwissen 7→ Aktion
Realisierung dieser Abbildung durch ein
• Agenten-Programm, das auf einer
• Architektur ausgeführt wird, die auch die Schnittstelle zur Umwelt realisiert (Perzepte, Aktionen)
Agent = Architektur + Programm
Einf. in die KI
2–8
Skelettprogramm für einen Agenten:
function SKELETON-AGENT( percept) returns action
static: memory, the agent’s memory of the world
memory UPDATE-MEMORY(memory, percept)
action CHOOSE-BEST-ACTION(memory)
memory UPDATE-MEMORY(memory, action)
return action
Einf. in die KI
2–9
Tabellengesteuerte Agenten
Das einfachste Agenten-Programm ist die Implementierung einer Tabelle, in der zu
jeder Sequenz von Perzepten die entsprechenden Aktionen verzeichnet sind.
function TABLE-DRIVEN-AGENT( percept) returns action
static: percepts, a sequence, initially empty
table, a table, indexed by percept sequences, initially fully specified
append percept to the end of percepts
action LOOKUP( percepts, table)
return action
• Die Tabelle kann sehr groß werden.
• Die Erstellung der Tabelle ist entsprechend aufwendig.
• Der Wartungsaufwand ist sehr hoch.
• Flexibilität des Agenten ist nicht gegeben.
Einf. in die KI
2 – 10
Der automatische Taxifahrer
Agent Type
Percepts
Actions
Goals
Environment
Taxi driver
Cameras,
speedometer, GPS,
sonar, microphone
Steer, accelerate,
brake, talk to
passenger
Safe, fast, legal,
comfortable trip,
maximize profits
Roads, other
traffic, pedestrians,
customers
Leistungsmaße:
• Korrektheit: Erreichen des vorgegebenen Ziels
• Ressourcenverbrauch: Minimierung von Zeit- und Kraftstoffverbrauch
• Legalität: keine Verstöße gegen Verkehrsregeln
; Abwägen der Ziele nötig
Einf. in die KI
2 – 11
Erforderliche Verhaltensmerkmale:
• Reflexe
• Verfolgen des Umgebungszustandes
• Verfolgen der eigenen Ziele
• Leistungsmaximierung
Einf. in die KI
2 – 12
Reflex-Agenten
Agent
Sensors
Condition−action rules
What action I
should do now
Environment
What the world
is like now
Effectors
• Auflistung aller möglichen Wahrnehmungssequenzen ist nicht praktikabel
• Abstraktion
– Interpretation der Perzepte
– Verwendung von Produktionsregeln
Einf. in die KI
2 – 13
Reflex-Agenten (2)
if car-in-front-is-braking then initiate-braking
function SIMPLE-REFLEX-AGENT( percept) returns action
static: rules, a set of condition-action rules
state INTERPRET-INPUT( percept)
rule RULE-MATCH(state, rules)
action RULE-ACTION[rule]
return action
• Erzeugung abstrakter Beschreibungen des aktuellen Zustandes
• Abbildung der Perzepte auf Aktionen
• Reflex-Agenten können auf diese Weise leicht modelliert und effizient implementiert
werden.
Einf. in die KI
2 – 14
Agenten mit internem Zustand
Falls neben dem aktuellen Perzept auch die Historie für die Auswahl von Aktionen
von Bedeutung ist, muß diese in geeigneter Form repräsentiert werden.
Sensors
State
How the world evolves
What my actions do
Condition−action rules
Agent
Einf. in die KI
What action I
should do now
Environment
What the world
is like now
• Sensoren machen nur Ausschnitte
der Umgebung zugänglich.
• Die Effekte bestimmter Aktionen
sind zustandsabhängig.
Effectors
2 – 15
Agenten mit internem Zustand (2)
function REFLEX-AGENT-WITH-STATE( percept) returns action
static: state, a description of the current world state
rules, a set of condition-action rules
state UPDATE-STATE(state, percept)
rule RULE-MATCH(state, rules)
action RULE-ACTION[rule]
state UPDATE-STATE(state, action)
return action
Internes Wissen des Agenten umfaßt
• die Entwicklung der Umgebung (Fortschreiben des Umgebungszustandes)
• und die tatsächliche Auswirkung seiner eigenen Aktionen.
Einf. in die KI
2 – 16
Agenten mit expliziten Zielen
Oft sind Perzepte allein für die Aktionsauswahl nicht ausreichend, da die richtige
Aktion von explizit vorgegebenen Zielen abhängt. Diese müssen bei der Auswahl der
Aktionen berücksichtigt werden. Antizipierte Entwicklungen fließen in die Entscheidung mit ein.
Sensors
State
What the world
is like now
What my actions do
What it will be like
if I do action A
Goals
What action I
should do now
Agent
Einf. in die KI
Environment
How the world evolves
Effectors
2 – 17
Leistungsorientierte Agenten
Meistens gibt es mehrere Möglichkeiten ein Ziel zu erreichen, die sich aber in
ihrer Qualität unterscheiden können. Dann ist eine Bewertung der verschiedenen
Möglichkeiten erforderlich.
Einf. in die KI
2 – 18
Sensors
State
What the world
is like now
What my actions do
What it will be like
if I do action A
Utility
How happy I will be
in such a state
What action I
should do now
Agent
Einf. in die KI
Environment
How the world evolves
Effectors
2 – 19
Reflexhaft vs. Ziel- und Leistungsorientiert
• In Reflex-Agenten ist das gewünschte Verhalten in Form von Produktionsregeln
explizit programmiert.
insbesondere: Jedes neue Ziel erfordert neue Programmierung.
• Ziel- und leistungsorientierte Agenten verfügen über Techniken, das gewünschte
Verhalten aus Perzepten und internem Wissen abzuleiten.
⇒ große Flexibilität
⇒ Planen und
Einf. in die KI
Suchen
2 – 20
Die Umgebung rationaler Agenten
• zugänglich vs. unzugänglich
Sind den Sensoren alle relevanten Aspekte der Welt zugänglich?
• deterministisch vs. indeterministisch
Hängt der nächste Weltzustand allein vom aktuellen Zustand und der ausgeführten Aktion ab?
• episodisch vs. nicht-episodisch
Kann die Qualität einer Aktion innerhalb einer Episode (Wahrnehmen-AgierenZyklus) isoliert bewertet werden (episodisch) oder ist Antizipation notwendig?
• statisch vs. dynamisch
Kann sich die Welt ändern, während der Agent die nächste Aktion berechnet?
• diskret vs. kontinuierlich
Kann die Umgebung durch klar definierte, diskrete Zustandsübergänge beschrieben werden?
Einf. in die KI
2 – 21
Beispiele für Umgebungen
Environment
Chess with a clock
Chess without a clock
Poker
Backgammon
Taxi driving
Medical diagnosis system
Image-analysis system
Part-picking robot
Refinery controller
Interactive English tutor
Accessible
Deterministic
Episodic
Static
Discrete
Yes
Yes
No
Yes
No
No
Yes
No
No
No
Yes
Yes
No
No
No
No
Yes
No
No
No
No
No
No
No
No
No
Yes
Yes
No
No
Semi
Yes
Yes
Yes
No
No
Semi
No
No
No
Yes
Yes
Yes
Yes
No
No
No
No
No
Yes
Ob eine Umgebung eine bestimmte Eigenschaft hat, hängt auch von der entsprechenden Modellierung ab.
Bemerkung zu “Static”: “Semi” deutet daraufhin, daß sich lange Rechenzeiten negativ auf die
Bewertung der Ergebnisse auswirken können.
Einf. in die KI
2 – 22
Evaluierung eines Agenten in einer Umgebung
Um Agenten zu evaluieren, müssen wir sie in einer Umgebung agieren lassen, am
einfachsten in einer simulierten Umgebung:
Einf. in die KI
2 – 23
function RUN-EVAL-ENVIRONMENT(state, UPDATE-FN, agents,
termination, PERFORMANCE-FN) returns scores
local variables: scores, a vector the same size as agents, all 0
repeat
for each agent in agents do
PERCEPT[agent] GET-PERCEPT(agent, state)
end
for each agent in agents do
ACTION[agent] PROGRAM[agent](PERCEPT[agent])
end
state UPDATE-FN(actions, agents, state)
scores PERFORMANCE-FN(scores, agents, state)
until termination(state)
return scores
/* change */
→ Simulationsumgebung
Einf. in die KI
2 – 24
Simulation
• Die Erkenntnisse, die aus Simulationen gewonnen werden können, hängen von der
Validität der Umgebungsmodelle ab.
• Simulationen für dynamische Umgebungen und zeitkritische Anwendungen sind
dabei von besonderer (praktischer) Relevanz.
• Die Simulationsumgebung JAMES – Entwicklung in der Abteilung KI
(Dr. A. Uhrmacher und Studenten)
• Evaluierung von Planungsagenten
• Simulation mobiler Softbots
Einf. in die KI
2 – 25
Zusammenfassung
• Ein Agent macht Wahrnehmungen und agiert in seiner Umgebung. Er besteht aus
einer Architektur und einem Agentenprogramm.
• Ein idealer rationaler Agent führt die Aktionen aus, die für gegebene Wahrnehmungssequenzen und gegebenes Weltwissen die Leistung maximieren.
• Ein Agentenprogramm bildet Wahrnehmungssequenzen auf Aktionen ab und
aktualisiert den internen Zustand.
• Es existieren verschiedene Designs für solche Programme: Wir unterscheiden
Reflex-Agenten, ziel- und leistungsorientierte Agenten.
• Besonders anspruchsvoll sind Umgebungen, die unzugänglich, nicht-episodisch,
dynamisch oder kontinuierlich sind.
Einf. in die KI
2 – 26