rationale agenten. agenten agent: nimmt umgebung über sensoren wahr und beeinflusst diese durch...
TRANSCRIPT
Rationale Agenten
Agenten
• Agent: Nimmt Umgebung über Sensoren wahr und beeinflusst diese durch Aktuatoren.
• Rationaler Agent: Maximiert Erfolgskriterium
• Was sind
1. Sensoren,
2. Aktuatoren,
3. Umgebung,
4. Erfolgskriterium?
Agenten: Beispiele
• Roboter:1. Sensoren: Kamera, taktile Sensoren2. Aktuator: Greifer3. Umgebung: Schraube, Gewinde4. Erfolgskriterium: Schraube eindrehen
• Autonomes Fahrzeug:1. Sensoren: Laser range scanner, GPS2. Aktuatoren: Räder3. Umgebung: Wüste4. Erfolgskriterium: Ziel schnell erreichen
Agenten: Beispiele
• Spielautomat:1. Sensoren: Knöpfe, Hebel2. Aktuatoren: Z.B. Bildschirm, Zahlenräder, Glocke 3. Umgebung: Spieler4. Erfolgskriterium: Spaß machen + Geld abnehmen
• Expertensystem („Software-Agent“):1. Sensoren: Datenempfang2. Aktuatoren: Versenden von Daten3. Umgebung: Ratsuchender4. Erfolgskriterium: Nach wenigen Anfragen richtige
Auskunft geben
Agenten: Beispiele
Staubsaugerwelt:
• Umgebung: Felder A, B, ggf. mit Schmutz• Sensoren: Für Position und Schmutz• Aktuator: Nach rechts / links bewegen,
Sauger
Agentenfunktion / Agentenprogramm
• Agentenfunktion wählt Aktion in Abhängigkeit von der Wahrnehmungsfolge aus– Kann im Prinzip als Lookup Table dargestellt werden
…– … die aber i.a. sehr groß ist.
• Agentenprogramm implementiert die Agentenfunktion (irgendwie)– Programm ersetzt die Tabelle– Leistet i.a. „Datenkompression“ der Tabelle durch
Aufstellen (häufig impliziter) Regeln
Agentenfunktion der Staubsaugerwelt
Wahrnehmungsfolge Aktion
A, sauber Rechts
A, schmutzig Saugen
B, sauber Links
B, schmutzig Saugen
… …
B, schmutzig, B, sauber Links
B, sauber, B, sauber, B, sauber Links
B, sauber, B, sauber, B, schmutzig Saugen
100x (B, sauber) Saugen
Bemerkungen
• Tabelle unendlich groß, da beliebig lange Wahrnehmungsfolgen!
• Je nach den gewählten Aktionen muss nicht unbedingt jede Zeile der Tabelle zur Anwendung kommen
• Einfacher: Agentenprogramm• Da Tabelle jede mögl. Wahrnehmungsfolge abdeckt,
können im Prinzip beliebig komplexe Agentenfunktionen realisiert werden, die vergangene Wahrnehmungen einbeziehen (Bsp. letzte Zeile) und nicht leicht durch Programm (Regeln) zu erfassen sind.
Agentenprogramm für Staubsaugerwelt
Achtung:• Programm implementiert nur sehr einfache
Agentenfunktion, die vergangene Wahrnehmungen nicht berücksichtigt.
• D.h. wenn z.B. alle sauber, oszilliert der Sauger zwischen den Feldern
Aktuelle Wahrnehmung Aktion
A oder B, schmutzig Saugen
A, sauber Rechts
B, sauber Links
Typisierung von Umgebungen
• Grad der Beobachtbarkeit
• Deterministisch / Stochastisch
• Episodisch / Sequenziell
• Statisch / Dynamisch
• Diskret / Stetig
• Einzelagent / Multiagenten
Grad der Beobachtbarkeit
• Problem: Was erfassen die Sensoren?
• Staubsauger: • Position des Saugers• Zustand des aktuellen / benachbarten Feldes
• Zwei Arten von teilweiser Beobachtbarkeit:– Teil der Umgebung ist unzugänglich für
Sensoren (z.B. Nachbarfeld)– Beobachtung ist ungenau (z.B. Sensor
verschmutzt)
Deterministisch / Stochastisch
• Deterministisch: Zukünftiger Zustand der Umgebung hängt allein
vom gegenwärtigen Zustand + den Aktionen ab• Stochastisch: Umgebung enthält Zufallselemente, ihre
Entwicklung ist daher auch bei vollständiger Beobachtung nicht vorhersagbar
• Praxis: Umgebung ist nicht vollständig beobachtbar und
erscheint daher stochstisch
Episodisch / Sequenziell
• Episodisch:– Zeit verläuft in „atomaren Episoden“– Wahrnehmung – Aktion – Wahrnehmung – …– Nächste Episode nur abh. von gegenwärtiger Episode (d.h.
Wahrnehmung + Aktion), d.h.:• Außer den Aktionen des Agenten und den vorhersehbaren
Reaktionen der Umgebung passiert nichts zwischen den Wahrnehmungen
• Aktionen beeinflussen die Umgebung nur für die nächste Episode, nicht für spätere
– Bsp.: Teile auf Fließband aussortieren
• Sequenziell:– Aktionen beinflussen Zukunft– Agent muss vorausdenken
Statisch / Dynamisch
• Statisch: Umgebung ändert sich nur durch Aktionen des Agenten
• Dynamisch: Umgebung ändert sich auch unabhängig von den Aktionen, z.B. auch wenn der Agent nicht beobachtet!
Diskret / Stetig
• Betrifft– Zeit– Wahrnehmungen– Aktionen
• Bsp.:– Schach: Diskrete Zeit, Wahrnehmungen, Aktionen– Schachfigur setzen: Stetige Zeit, stetige
Wahrnehmungen (z.B. Druck der Figur auf Finger), stetige Aktionen (Muskeln steuern)
• Technisch meist diskrete Darstellung stetiger Vorgänge (z.B. Kamera mit 25 frames/sec)
Einzelagent / Multiagenten
Unterscheide:
• Kooperative Multiagenten
• Konkurrierende Agenten
• Realwelt: Häufig Mischungen
Bsp. Autorennen:– Crashvermeidung – Kooperation– Geschwindigkeit – Konkurrenz
Agentenprogrammierung
• Agentenfunktion definiert Verhalten
• Programm realisiert dieses Verhalten
• Programm leitet Aktion nur aus aktueller Wahrnehmung ab, nicht aus der Wahrnehmungsfolge!
• Wird damit Abhängigkeit der Aktionen von der Vergangenheit aufgegeben?
• - Nein, denn es steht dem Programm frei,– vergangene Wahrnehmungen zu speichern
– andere Informationen (z.B. Extrakt aus Wahrnehmungen, vergangene Aktionen) zu speichern.
Typisierung der Agentenprogrammierung
1. Einfacher Reflex-Agent
2. Modellbasierter Reflex-Agent
3. Zielbasierter Agent
4. Nutzenbasierter Agent
5. Lernender Agent
Beschreibung wird von 1 nach 5 weniger detailliert:
Def. des Reflex-Agenten liefert Bauplan praktisch mit,
Lernende Agenten sind sehr komplex!
Einfache Reflex-Agenten• Aktion hängt nur von aktueller
Wahrnehmung ab, nicht von Vergangenheit
• Kein Gedächtnis
Reflex-Agenten• Vorteile:
– Einfach– Ggf. schnelle Reaktion (Hardware!)
• Nachteile:– Versagt, wenn aktuelle Wahrnehmung zur
Entscheidungsfindung nicht ausreicht (teilweise Beobachtbarkeit)
– Gleiche Wahrnehmungen führen immer zu gleichen Reaktionen: Gefahr von Endlosschleifen
– Bsp. Staubsauger ohne Positionssensor:• Starte in A• Wahrnehmung: Schmutz, Reflex: Saugen!• Wahrnehmung: Sauber, Reflex: Rechts!• Wahrnehmung: Sauber, Reflex: Rechts! usw.
Modellbasierte Reflex-Agenten
• Erweiterung: Agent hat „inneren Zustand“• Zustände speichern Informationen über
– Zeitliche Entwicklung der Umgebung (unabh. von Aktionen)– Wirkung der Aktionen (soweit nicht dauerhaft beobachtbar)
• Aber: Keine „innere Simulation“
Zielbasierte Agenten
• Bisher wurde Ziel implizit in den Regeln codiert• Jetzt: Zieldefinition• Aktion ist nicht mehr fest an Regeln gebunden,
sondern wird aus Überlegung „was passiert wenn“ abgeleitet
Nutzenbasierte Agenten
• Nachteil zielbasierter Agenten: – „Binäre“ Zieldefinition
– Jede Entscheidung, die (irgendwie) zum Ziel führt, ist ok.
• Nutzenfunktion ordnet aktuellen oder zukünftigen Zuständen (reelle) Bewertungen zu, die Nützlichkeit zum Erreichen des Ziels angeben.
• Vorteil: Günstige Wege zum Ziel können von ungünstigen unterschieden werden
• Nachteil: Aufstellen der Nutzenfunktion verlangt viel Information
Nutzenbasierte Agenten
Lernende Agenten• Leistungselement = Einer der vier anderen Agententypen• Lernelement: Verändert Leistungselement gemäß Kritik• Kritik: Feedback über Resultate der Aktionen, wird gewonnen durch
Vergleich des erreichten Zustands der Umwelt (durch Sensoren ermittelt) und Leistungsbewertung.
• Problemgenerator: Bewirkt Aktionen, die nicht unbedingt zum Ziel führen, aber Erfahrungen ermöglichen