Intelligente Agenten
Intelligente Agenten
Intelligente Agenten
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
[Teile der Vorlesung stammen aus dem Buch: Artificial Intelligence – A modern approach von Russel, Norvig]<br />
<strong>Intelligente</strong> <strong>Agenten</strong><br />
Ein Agent ist also irgendetwas, das durch Sensoren (sensors) wahrnimmt, und mit seiner<br />
Umgebung (environment) durch seine Effektoren (effectors) agiert.<br />
Charakterisierung von <strong>Agenten</strong><br />
<strong>Agenten</strong> sind charakterisiert durch:<br />
Wahrnehmung (Percepts)<br />
Aktionen (actions)<br />
Ziele (goals)<br />
Umgebung (environment)<br />
= (PAGE)
Beispiele zur Charakterisierung von <strong>Agenten</strong><br />
<strong>Agenten</strong> sind charakterisiert durch: Wahrnehmung (Percepts), Aktionen (actions), Ziele<br />
(goals), Umgebung (environment) = (PAGE)<br />
Medizinisches<br />
Diagnosesystem<br />
Art Wahrnehmung Aktionen Ziele Umgebung<br />
Satllitenbildanalyse<br />
Roboter<br />
Raffinerie<br />
Interaktiver<br />
Englischtutor<br />
Symptome,<br />
Diagnosen,<br />
Antworten des<br />
Patienten<br />
Punkte<br />
verschiedener<br />
Intensität, Farbe<br />
Punkte<br />
verschiedener<br />
Intensität<br />
Temperatur,<br />
Druck<br />
Eingegebene<br />
Wörter &<br />
Übungen,<br />
Vorschläge,<br />
Fragen, Tests,<br />
Behandlungen<br />
Klassifikation<br />
Teile aufheben,<br />
Teile<br />
einsortieren<br />
Öffnen,<br />
Schließen von<br />
Ventilen,<br />
Temperatur<br />
einstellen<br />
Korrekturen<br />
ausgeben<br />
Beispiel: Charakterisierung eines Taxifahrers als Agent<br />
Gesundheit,<br />
geringe Kosten<br />
Korrekte<br />
Klassifikation<br />
Teile richtig<br />
einsortieren<br />
Reinheit, Ertrag,<br />
Sicherheit<br />
maximieren<br />
Testergebnisse<br />
des Studenten<br />
maximieren<br />
Patient,<br />
Hospital<br />
Satellitenbilder<br />
Förderband mit<br />
Teilen<br />
Raffinerie<br />
Studenten<br />
Typ<br />
Taxifahrer<br />
Wahrnehmung Kameras, Tachometer, GPS, Mikrophon<br />
Actions Steuern, Schalten, Bremsen, mit Gästen sprechen<br />
Ziele Sichere, schnelle, legale, komfortable Fahrt, Profit maximieren<br />
Umgebung Straßen, andere Verkehrsteilnehmer, Fußgänger, Fahrgäste
Wie sollten <strong>Agenten</strong> handeln?<br />
- Ein rationaler Agent tut immer das richtige! Was zu einem gegebenen Zeitpunkt rational<br />
ist, hängt ab von:<br />
• einem möglichst objektivem Bewertung, das den Erfolg des <strong>Agenten</strong><br />
bestimmt<br />
• allen Wahrnehmungen des <strong>Agenten</strong><br />
• dem Wissen des <strong>Agenten</strong> über die Umwelt<br />
• den Aktionen, die der Agent ausführen kann<br />
- Ein idealer rationaler Agent führt für jede Wahrnehmungssequenz jene Aktion aus, die auf<br />
der Basis dieser Wahrnehmungssequenz und des Wissens des <strong>Agenten</strong> die Erfolgserwartung<br />
maximiert.<br />
- Ein wissensbasierter Agent startet mit vorgegebenem Wissen über seine Umwelt und seine<br />
möglichen Aktionen. Durch neue Impulse aus der Umwelt kann er sein Weltwissen erweitern.<br />
Mit diesem neuen Wissen kann der Agent neue Aktionenfolgen ableiten, um sein Ziel zu<br />
erreichen.<br />
• Die zentralen Komponenten eines wissensbasierten <strong>Agenten</strong> bilden die Wissensbasis<br />
(knowledge base) und der Inferenzmechanismus (inference mechanism).<br />
Ein wissensbasierter Agent empfängt Wahrnehmungen von seiner Umwelt als Eingabe<br />
und erzeugt eine Aktion als Ausgabe. Bei jedem Aufruf werden zwei Aktionen<br />
durchgeführt:<br />
• TELL: erzähle der Wissensbasis die Wahrnehmungen.<br />
• ASK: frage die Wissensbasis, welche Aktion als nächstes zu befolgen<br />
ist.<br />
• Dabei wird durch logisches Schlußfolgern nachgewiesen, welches die bestmögliche<br />
Aktion aufgrund des bestehenden Wissens ist.<br />
- Ein Agent ist autonom, wenn die Aktionen von der eigenen Erfahrung (Wahrnehmung)<br />
abhängen und nicht allein von der eigenen Wissensbasis.
Die Struktur von <strong>Intelligente</strong>n <strong>Agenten</strong><br />
Agent = <strong>Agenten</strong>programm + Architektur<br />
Ein intelligenter Agent setzt sich immer zusammen aus einem <strong>Agenten</strong>programm und der<br />
Architektur, wobei das <strong>Agenten</strong>programm eine Funktion ist, die dafür zuständig ist, dass eine<br />
Abbildung zwischen der Wahrnehmung eines <strong>Agenten</strong> und seinen Aktionen existiert, Die<br />
Architektur wiederum ist ein Computer auf dem das <strong>Agenten</strong>programm läuft, sowie weitere<br />
Hardware, die bestimmte Aufgaben zu erfüllen hat, wie z.B. Wahrnehmung oder Bewegung.<br />
• Agentverhalten: Wahrnehmungssequenz -> Aktion<br />
• Programm: Implementiert Verhalten des <strong>Agenten</strong>, d.h. Zuordnung der<br />
Wahrnehmungen auf Aktionen<br />
• Architektur: Im allgemeinen ein Computer, auf dem das Programm läuft<br />
<strong>Agenten</strong>programme<br />
Wir werden mehrere verschiedene <strong>Agenten</strong> kennen lernen. Sie werdern alle das gleiche<br />
Architekturskelett haben;<br />
Das Skelett eines <strong>Agenten</strong>:<br />
Programm<br />
• Update des Speichers mit Wahrnehmung<br />
• Beste Aktion auswählen<br />
• Gewählte Aktion merken<br />
function SKELETON-AGENT (percept) returns action<br />
static: memory, the agent`s memory of the world<br />
memory
Warum nicht einfach nachschlagen?<br />
Stellen wir uns doch die einfachste Methode vor, ein <strong>Agenten</strong>programm zu schreiben: Eine<br />
große Nachschlagtabelle, in der zu jeder Wahrnehmungssequenz die beste Aktion aufgelistet<br />
wird.<br />
Warum wird dieser Ansatz scheitern?<br />
• Ein so simpler Agent wie ein Schachcomputer bräuchte eine Tabelle mit<br />
ungefähr Einträgen.<br />
• Es würde für den Entwickler sehr lange dauern, so eine Tabelle zu bauen.<br />
• Der Agent wäre in keinster Weise autonom, da er alles Wissen eingebaut hat. Wenn<br />
sich also die Umgebung ändern würde, wäre er völlig hilflos.
Der einfache reaktive Agent<br />
Der einfache reaktive Agent (simple reflex agent) antwortet unmittelbar auf Wahrnehmungen.<br />
Er hat keine Tabelle, sondern eine Ansammlung von Regeln, die Teile der Tabelle<br />
zusammenfassen. Die Entscheidung wird nur auf der Basis der aktuellen Wahrnehmung<br />
getätigt.<br />
Das Skelett eines einfachen reaktiven <strong>Agenten</strong> sieht folgendermaßen aus:<br />
Programm<br />
function SIMPLE-REFLEX-AGENT (percept) returns action<br />
static: rules, a set of condition-sction rules<br />
state
Der reaktive Agent mit internem Zustand<br />
• Antwortet unmittelbar auf Wahrnehmungen.<br />
• Kann sich die Vergangenheit merken<br />
Um den internen Zustand zu aktualisieren benötigt der Agent Informationen<br />
• wie die Umwelt sich unabhängig vom <strong>Agenten</strong> verändert<br />
• wie die Aktionen des <strong>Agenten</strong> die Umwelt beeinflussen<br />
Programm<br />
function REFLEX-AGENT-WITH-STATE (percept) returns action<br />
static: state, a description of the current world state<br />
rules, a set of condition-sction rules<br />
state
Der zielbasierte Agent<br />
Der zielbasierte Agent ist autonom. Er benötigt Informationen über ein Ziel und darüber, was<br />
seine möglichen AKtionen für Auswirkungen haben. Das läßt ihn die Aktionen wählen, mit<br />
denen er das Zeil erreichen kann.
Der nutzenbasierte Agent<br />
Der nutzenbasierte Agent (utility-based agent) benötigt eine utility-Funktion, die einen<br />
Zustand auf eine reelle Zahl abbildet, um zu beschreiben, wie "glücklich" der Agent aufgrund<br />
einer Aktion ist.