19.11.2013 Aufrufe

Intelligente Agenten

Intelligente Agenten

Intelligente Agenten

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!