8 Einführung in Agentensysteme
25. Vorlesung: Interface-Agenten
Ein virtueller Interface-Agent in VIENA
Methoden der KŸnstlichen Intelligenz
Ipke Wachsmuth ÊWS 2000/2001
25. Vorlesung Methoden der KŸnstlichen Intelligenz 2
Interface-Agenten
Arbeiten am MIT Media-Lab; übernommen in Visionen über zukünftige Benutzerschnittstellen (Apple, HP, DEC, Microsoft...)
• Systeme zur Unterstützung von Benutzern im Umgang mit Computer-Anwendungen ("personal assistants"; "office assistant")
• benutzen Wissen über Aufgaben, Gewohnheiten und Präferenzen ihrer Benutzer, um an deren Stelle Handlungen auszuführen
• graduell erweiterte Delegation von Aufgaben in dem Maße, wie sich ein Agent in Wahrnehmung seiner Aufgabe bewährt (Bsp: Scheduling-Aufgaben)
Wie erhalten Agenten das erforderliche Wissen über ihre Benutzer?
(Lernverfahren vs. explizite Program- mierung)
(z.B. Laurel 1990, Kozierok & Maes 1993) etc.
UniversitŠt Bielefeld
Nutzen von Interface-Agenten
Technisches System Interface-
Agenten Mensch
Teilautonomes System
u als Bindeglied in der Mensch- Maschine-Kommunikation u Vereinfachung der Handhabung
komplexer technischer Systeme
statt direkter Manipulation:
Kommunikation mit einem teilautonomen System
Teilautonomes System:
Ein System, das Anteile seiner Funktion unabhängig von direkter Steuerung durch Benutzer erbringen kann
UniversitŠt Bielefeld
Komplex: Softimage-Bildschirm
Komplexe Bedienung: auf jeder Seite Randmenüleisten mit 20 Feldern, oben und unten noch mehr Felder, zwischen drei oder vier solchen Bildschirmen kann umgeschaltet werden, jedes Menüfeld läßt weitere Menüs- und Untermenüs aufspringen, die mehrere tausend Funktionen kombinieren, mit der Maus sind feinmotorisch anspruchsvolle Manipulationen auf vier Teil- bildschirmen vorzunehmen...
Die Einarbeitung dauert ein halbes Jahr oder länger, bevor das System im gewünschten Maße nützlich wird.
25. Vorlesung Methoden der KŸnstlichen Intelligenz 5
Kommunikation in der Situation
Den Stuhl vor den Tisch!
Den Stuhl vor den Schreibtisch!
Anthropomorphisierung aufgrund "verkörperter"
Anwesenheit durch situierten Agenten
Modifikation des Raums durch anwesende Objekte
25. Vorlesung Methoden der KŸnstlichen Intelligenz 6
Interface-Agent ãHamiltonÒ
> Hamilton come here
> hello
> Hamilton look left
> Hamilton point to the computer
> change the view
> make <Geste> this desk green
> much darker
> put the palmtree on the green desk
> put a computer on <Geste> that desk
> move it a bit left
> put the palmtree between the left computer and the right computer
> Hamilton go a bit to the right
> Hamilton be smaller
> put <Geste> this thing <Geste> there etc.
UniversitŠt Bielefeld UniversitŠt Bielefeld
Virtuelle Entwurfsumgebung
Präexplorative Konstruktion und Architektur
l „Virtueller Entwurf“ in 3D-Computergrafik
l erfordert bislang aufwendige technische Maßnahmen
l relativ abstrakte tastatur-/ mausgesteuerte Manipulation
l Wunsch: Entlastung von technischen Details
Zielsetzung in VIENA
(Uni Bielefeld 1993-97)l Interaktion durch Kommunikation (Änderungswünsche)
l intuitivere verbale und gestische Interaktion
l Erprobung am Beispiel Innenraum-Design
l Änderungen des Designs unmittelbar beurteilbar
25. Vorlesung Methoden der KŸnstlichen Intelligenz 9
Situierter Agent als Mittler
• Agent soll im gegebenen Szenario als "vorgeschickter Mittler"
verstanden werden, der mit dem Menschen in überlappender Wahrnehmungssituation kommuniziert und kooperiert.
• Verbindung aufgabenbezogener Wahrnehmungs-, Handlungs- und Kommunikationsmöglichkeiten (Beispiel: situierte Referenz)
• situationsangemessenes Agieren in Bezug auf eine zu erfüllende Aufgabe (Entwurf und Manipulation virtueller Räume)
Übertragung unterschiedlicher Teilaufgaben auf verschiedene Agenten, die miteinander kooperieren:
Damit gelingt die Entwicklung des Systems in modularer Weise, bei der einzelnen Agenten Teilzuständigkeiten zukommen.
25. Vorlesung Methoden der KŸnstlichen Intelligenz 10
Interface-Agentur Interaktives
Anwendungssystem
Technische Kommunikation
Intuitive Kommunikation Virtuelle
Interaktion
Benutzer
Interface-Agentur Interaktives
Anwendungssystem
Technische Kommunikation
Intuitive Kommunikation Virtuelle
Interaktion
Benutzer
Interfaceentwurf als ãAgenturÒ
gestaffelte Systeme:
auf der obersten Ebene lediglich zwei Agenten:
menschlicher Benutzer - künstliches System, Aufgliederung in Gesellschaft weiterer Agenten bis hin zu primitiven (nicht weiter zerlegbaren)
UniversitŠt Bielefeld
VIENA - Agentensystem
Erweiterte Grafik-DB Zeitmarkierte
Szenenbe- schreibungen (Geometrie- Modelle, Materialien Objektnamen, Objekttypen)
Sicht- ausgabe Modeler
Renderer
Verbale Eingaben Änderungen
beobachten
Änderungen kommunizieren
Virtuelle Kamera
Raum Inter- preter
Plan &
Physik Farbe
Buch- führer
P a r s e r Grafik-DB
Mittler-Agenten Anpasser
Rückfragen
VIENA: „Virtuelle Entwurfs- umgebung und Agenten“
UniversitŠt Bielefeld
Agenten im VIENA-System
u Sämtliche aus der Kommunikation und Kooperation resultierenden Aktivitäten sind für alle Agenten einheitlich definiert
u Jeder Agent kann die Rolle eines Auftraggebers oder Auftragnehmers einnehmen
u Neue Agenten sind einfach integrierbar durch
l Einbinden des Kooperationsverfahrens und
l Definition ihrer Basisfunktionalität
u Gesamtfunktionalität (Mittlertätigkeit) kommt als verteilte Problemlösung zustande
eigenständige Prozesse, verteilt auf Rechnernetz
Kommunikation:
asynchron, nicht- blockierend
(Client-Server-Konzept;
realisiert z.B. mit RPC)
25. Vorlesung Methoden der KŸnstlichen Intelligenz 13
Prinzipieller Nachrichtenaufbau
NACHRICHT ==
(KENNUNG, | Benutzerauftragsnr. + chronologische Nr.
ABSENDER, | Name des absendenden Agenten EMPFÄNGER, | einzelner Agent oder Agentur
TYP, | Kooperationstyp aus {KP1, KP2, KP3, KP4}
BEZUG, | Kennung der ursächlichen Nachricht ZEITSTEMPEL, | Entstehungszeit der Nachricht LÖSUNGSZEIT, | Vorgabe einer maximalen Lösungszeit INHALT) | eigentliche Meldungsdaten (appl.spezifisch)
KP1: Kooperationsauftrag ohne Ergebnisrückgabe KP2: Kooperationsauftrag mit Ergebnisrückgabe
KP3: Kooperationsausschreibung ohne Ergebnisrückgabe KP4: Kooperationsausschreibung mit Ergebnisrückgabe
25. Vorlesung Methoden der KŸnstlichen Intelligenz 14
Agenten auf Kooperationsebene
Grundsätzliches Protokollschema
• Ausschreibung einer Aufgabe
• Erstellung von Angeboten
• Angebotsannahme/-ablehnung (Auftragsvergabe)
• Übergabe der Auftragsergebnisse
Bidder1
Bidder2
Con- tractor task posting
task posting bid bid rejection
bid task allocat
ion
Interface Agency Die aufgabenspezifische Synchronisation erfolgt auf Kooperationsebene:
im wesentlichen Vertragsverhandlung (Contract-Net), jedoch differenzierbar (z.B. Master-Slave) durch die Kooperationstypen
UniversitŠt Bielefeld
Wissensquellen der Agenten
u Spezialistenwissen (über die zu erbringende Teilaufgabe)
l realisiert über die interne Basisfunktionalität der Agenten
l Definition applikationsspezifischer Basisfunktionen ist Sache der „Agentenprogrammierung“
u Situiertes Wissen (über die virtuelle Umgebung)
l Durch Inspektion der Grafik-Datenmodelle wird die aktuell sichtbare Szene als Informationsquelle ausgewertet
l Beispiel: Auslesen der Lage und der Ausdehnung von Objekt-
“Boundingboxen” zur Kollisionserkennung und -vermeidung
UniversitŠt Bielefeld
Strukturierte Boundingboxen
unstrukturiert: Objektanordnung unmöglich strukturiert: Objektanordnung so möglich
25. Vorlesung Methoden der KŸnstlichen Intelligenz 17
Agenten/Spezialisten in VIENA
Raumagent hat Wissen darŸber
¥ woher er augenblickliche Objektpositionen erfŠhrt
¥ wohin er neue mitteilt
¥ wie er eine Objekttransformation im Raum berechnet
¥ da§ ein Objekt auf etwas stehen mu§ (nicht 'in der Luft') ÊÊ
¥ da§ ein Objekt nur stehen kann, wo kein anderes steht
¥ was ÒvorÓ bedeutet bei einem Tisch bzw. Schreibtisch
¥ in welcher Orientierung ein Objekt erwartungsgemŠ§ steht usw.
BuchfŸhrer hat Wissen Ÿber
¥ geometrische Beschreibungen aller Szenendetails
¥ Materialbeschreibungen der Szenenobjekte
¥ vorhergehende Szenenbeschreibungen/€nderungenÊÊÊÊÊ usw.
Farbagent hat Wissen darŸber
¥ woher er eine momentane Objektfarbe (r,g,b) erfŠhrtÊÊÊÊ
¥ wohin er eine neue mitteilt
¥ wie er eine Farbtransformation (blau, heller, wŠrmer) als €nderung eines rgb-Vektors berechnet
¥ wie er ein Objekt anhand einer Farbbeschreibung (Òder blaue SchreibtischÓ) identifiziert usw.
betrifft die Basis- funktionalitäten
25. Vorlesung Methoden der KŸnstlichen Intelligenz 18
VIENA
AdaptorBuchführer
Parser
Interpreter Raum- agent
Welches Objekt heißt
“Stuhl”?
Welches
“Indigo”?
“Stuhl”=
obj-31
“Indigo”=
obj-57
move (obj.name =
“Stuhl”
pos.name =
“Indigo”) Wo ist obj-31?
Wo ist obj-57?
move obj-31 to obj-57 pos (obj-31)
= (x,y,z) pos (obj-37)
= (u,v,w) newpos (obj-31)
= (x’, y’, z’) (...)
(...) (...)
UniversitŠt Bielefeld
Lernende Interface-Agenten
u akquirieren automatisch Wissen über Benutzer/Applikation u benutzen ML-Techniken wie Lernen durch Beobachtung,
durch Beispiele etc.
u speichern häufig benutzerspezifische Daten in expliziten Benutzermodellen (Kritikpunkt!)
Unser Ansatz:
u Multiagenten-Lernen erlaubt Benutzeradaption ohne explizite Benutzermodelle
(z.B. Kozierok & Maes 1993)
UniversitŠt Bielefeld
Multiagenten-Lernverfahren
Idee: Einzelne Agenten in einer Agentur qualifizieren sich im Verlauf von Auftrags- abwicklungen durch Erfolg und Mißerfolg.
Hierdurch spielt sich das Agentur-“Team”
auf individuelle Benutzerpräferenzen ein.
Das „Wissen“ über Benutzerpräferenzen ist im Team verteilt vorhanden
=> keine expliziten Benutzermodelle!
25. Vorlesung Methoden der KŸnstlichen Intelligenz 21
Multiagenten-Lernen in VIENA
Basis für Benutzeradaption:
l Agenten ähnlicher Funktionalität organisiert in Unteragenturen
l jede Unteragentur:
aufgabenbezogene Klasse von Benutzerpräferenzen
l jeder Agent einer Unteragentur:
bestimmte Benutzerpräferenz dieser Klasse
Ziel: Dynamische Anpassung an Präferenzen unterschiedlicher Benutzer bzw. wechselnde Präferenzen individueller Benutzer
25. Vorlesung Methoden der KŸnstlichen Intelligenz 22
Contract-net-basiertes Lernen
Lernmethode: implizit positives und explizit negatives Feedback Erfolg von Auftragnehmern: Quantität und Qualität von Ergebnissen credit(t) = (zuversicht(t), erf_bearb_auf(t), bearb_auf(t), auf(t))
Lernschritte (Grundidee):
• Einstellung von credit-Werten gemäß Benutzer-Feedback
• Aktivierung von Agenten mit maximalen credits
=> bestgeeignete Agenten erhalten Vorrang
Bidder1
Bidder2
Con- tractor task posting
task posting bid (credit1) bid rejection
bid (credit2) task allocat
ion
Interface Agency
UniversitŠt Bielefeld
ãZuversichtÒ durch Erfolg ...
u Agenten als Auftragnehmer
l führen credit-Vektoren für unterschiedliche Auftraggeber
l stellen credit-Vektoren Auftraggebern in Angeboten zur Verfügung
l aktualisieren letzte drei Vektorkomponenten auf Basis akquirierter Nachrichtendaten
daten(t) = (kennung(t), absender(t), empfänger(t), typ(t), inhalt(t))
l aktualisieren “zuversicht” auf Basis bereits berechneter Komponenten und bestimmter Schwellwerte
u Agenten als Auftraggeber
l evaluieren und vergleichen alle Angebote mittels Heuristiken etc.
credit(t) = (zuversicht(t), erf_bearb_auf(t), bearb_auf(t), auf(t))
UniversitŠt Bielefeld
Warum eine Interface-Agentur?
• Modularisierung durch Verteilung a) technisch b) arbeitsorganisatorisch
• multimodale Eingabemöglichkeit z.B. verbal und durch Gesten
• Flexibilität durch Kommunikation Einsatz alternativer Mittel je nach Situation
• Robustheit durch Kooperation
Handlungsfähigkeit bei Ausfall einzelner Komponenten
• Effizienzvorteile durch Parallelität:
Aufteilung komplexer Instruktionen auf mehrere Agenten
• Adaptivität bei Benutzerpräferenzen
durch Varianten einzelner Agenten / credit assignment
Leseempfehlung heute:
u Kurztext Teil 8, Einf. in Agentensysteme
bei Interesse im WWW:
u VIENA-Reports auf der Forschungsseite WBS