Übersicht 1. Agenten – – – Web und KI Intelligente Agenten Definition Eigenschaften Typen 2. Verwendung – – Web Site Engineering, Vorlesung Nr. 14, Teil 2 Persönlicher Assistent Internetagenten 3. Architekturen – – – Multiagentensystem Reaktive und wissensbasierte Agenten Mobile Agenten © Martin Klarner, Informatik 8 VORL 14b/Folie 2 Agenten und Web-Engineering Definitionen des Agentenbegriffs Probleme im und mit dem Internet – Viele verstreute Quellen – Unstrukturierte Information – Zeitaufwändige Suche – Oft weitgehend identischer Rechercheablauf (parametrisiert nach Region, Domäne oder Anbieter) • „Ein Software-Agent ist ein längerfristig arbeitendes Programm, dessen Arbeit als eigenständiges Erledigen von Aufträgen oder Verfolgen von Zielen in Interaktion mit einer Umwelt beschrieben werden kann.“ [GÖRZ 2000] • „A software agent is a computational entity that is capable of autonomous behavior in the sense of being aware of the options available to it when faced with a decision-making task related to its domain of interest.“ [DALE 2001] • … ⇒ Verschiedenste (stark unterschiedliche) Definitionen ⇒ – Internet-basierte Agenten werden immer wichtiger zur Personalisierung des Informationsangebots – Agenten bieten Architektur und Strukturkonzepte für personalisierte Web-Anwendungen © Martin Klarner, Informatik 8 VORL 14b/Folie 3 Eigenschaften von Agenten [An agent is] “a hardware or (more usually) software based computer system that enjoys the following properties: – Autonomy: Agents operate without direct intervention of humans or others, and have some kind of control over their actions and internal state. – Social Ability: Agents interact with other agents (and possibly humans) via some kind of agent-communication language. – Reactivity: Agents perceive their environment (which may be a physical world, a user via a graphical interface, a collection of other agents, the Internet, or perhaps all of these combined), and respond in a timely fashion to changes that occur in it. – Pro-activeness: Agents do not simply act in response to their environment, they are able to exhibit goal-directed behaviour by taking the initiative.” [W OOLDRIDGE/JENNINGS 1995] © Martin Klarner, Informatik 8 VORL 14b/Folie 5 © Martin Klarner, Informatik 8 VORL 14b/Folie 4 Eigenschaften von Agenten (2) • Lernfähigkeit: Löst Probleme mit der Zeit besser (Weiterentwicklung von Reaktivität) • Kooperation: Arbeitet mit anderen Agenten zusammen (Weiterentwicklung von Kommunikation) • Mobilität: Wandert von Host zu Host (entsprechend Situation und Zielen) • Glaubwürdigkeit: Vertritt die Interessen des Benutzers angemessen • Intelligenz: Schwer zu formalisieren (ergibt sich als Konsequenz aus allem anderen) © Martin Klarner, Informatik 8 VORL 14b/Folie 6 Funktionen von Agenten Klassifikation von Agenten Agent • Lokalisation und Anwendungstyp – Persönlicher Assistent (auf dem PC, in einer Applikation) Aufgaben • Unterstützung des Benutzers • Management von persönlichen Daten (Terminkalender, Adressbuch) Kommunikation Wissen – Internetagenten (im Internet) Vordefiniertes Wissen Lernen Nutzer • Suchagenten: Informationssuche • Filteragenten: Informationsfilterung Agenten • Architekturprinzip Informationssammlung Informationsfilterung ... ...vom Entwickler ... vom Nutzer ... vom System ... aus Wissensbank Dialogbasiert Gedächtnisbasiert Neuronale Netzwerke Fallbasiert GUI NLP ... © Martin Klarner, Informatik 8 AgentenkommunikationsSprachen (KIF, KQML) – Einzelagenten vs. Multiagentensysteme – Reaktive vs. Symbolische, wissensbasierte Agenten – Ortsfeste vs. mobile Agenten © Martin Klarner, Informatik 8 VORL 14b/Folie 7 Persönlicher Assistent Internetagenten • Informationssuche • Unterstützung des Nutzers – Interaktion des Agenten mit Volltextsuchmaschinen – Verwendung eigener Relevanzgewichtungen – Verbesserung der Ergebnisse (z.B. durch Stemming, Thesaurus, Kombination mit anderen Suchverfahren, kaskadierte Suche) – Bewältigung von Routineaufgaben – Hilfe beim Einsatz komplexer Applikationen – Filterung der Informationsflut • Eigenschaften – – – – – Direkte Interaktion mit dem Benutzer Anpassung an die Vorlieben, Sprache und Bedürfnisse des Benutzers Ständige Verfügbarkeit Autonome Arbeitsweise Verbesserung der Arbeitsergebnisse und der Performanz (z.B. durch Maschinelles Lernen) • Beispiele: Bookmark- oder Mailverwaltung, Termin-/Ressourcenverwaltung, Anwendungsassistenten, Informationsfilter © Martin Klarner, Informatik 8 • Informationsfilterung – Integration verschiedener Suchmaschinen (Schnittstellen) – Bereitstellung aktueller Information – Personalisierung für den Nutzer • Ermittlung von Diensten über … – … Directories: Verzeichnis von Diensten nach Namen – … Trader: Verzeichnis von Diensten nach Typ („Gelbe Seiten“) – … Broker: Vermittelt Dienste aufgrund komplexer Bedingungen (verallgemeinerter Trader) © Martin Klarner, Informatik 8 VORL 14b/Folie 9 Bestandteile eines Internetagenten • Sensor: Umgebungswahrnehmung (z.B. Laden von Webseiten) • Effektor: Schnittstelle zum Benutzer (z.B. Mitteilen der Such/Verhandlungsergebnisse) • Kommunikationsmodul: Nachrichtenaustausch mit anderen Agenten • Organisationsmodul: Verwalten der Adressen anderer Agenten • Koordinationsmodul: Generierung von Ausschreibungen, Erzeugung von Kontrakten, Übermittlung von Angeboten an andere Agenten • Wissensbasis: Kompetenzen, Ressourcen, Annahmen, Ziele [nach STOYAN] © Martin Klarner, Informatik 8 VORL 14b/Folie 8 VORL 14b/Folie 11 VORL 14b/Folie 10 Gründe für Multi-Agenten-Systeme (MAS) • Lösen von Problemen, die für einen einzelnen, zentralisierten Agenten zu komplex sind • Einsatzgebiete mit … … verteilten Problemen (z.B. Logistik) … verteilten Fachkenntnissen (z.B. Medizin) … verteilten Informationsquellen (z.B. Online-Ressourcen) • Vorteile bei … – – – – … Geschwindigkeit … Verlässlichkeit … Erweiterbarkeit … Umgang mit unsicheren Daten/unsicherem Wissen • Konzeptionelle Klarheit und Einfachheit des Designs bei MAS © Martin Klarner, Informatik 8 VORL 14b/Folie 12 DPS vs. MAS oder: Wie verteilt man Objekte? Kommunikation in MAS • Art der Nachrichten – Keine oder primitive Kommunikation mit Ad-hoc-Nachrichten – Standardisierte Agenten-Kommunikations-Sprachen (z.B. KQML) Typ DPS MAS Problemanalyse Problemklasse Steuerung Autonomie Fokus top-down a priori festgelegt zentral nicht vorhanden Problemlösung bottom-up unbegrenzt dezentral inhärent Koordination • Art der Koordination – Zentralisiert: Agenten schicken ihre Pläne zu einem zentralen Koordinator, der sie analysiert und potentielle Konflikte aufdeckt – Verteilt: Agenten modellieren ihre Pläne gegenseitig, bis alle Konflikte beseitigt sind (Verhandlung) • Konfliktlösung – Kompetitiv (z.B. E-Commerce) – Kooperativ (z.B. Flugsteuerung) nach [MÜLLER] © Martin Klarner, Informatik 8 © Martin Klarner, Informatik 8 VORL 14b/Folie 13 Reaktive Agenten Wissensbasierte Agenten • Nächste Aktion nur von der aktuellen Wahrnehmung abhängig • Subsumtionsarchitektur • Nachteile – – – – Kein Umgebungsmodell Kein interner Zustand Keine Planung von Aktionen Spezifikation des Verhaltens schwierig • • • • • • • • Vorteile – Geringer Berechnungsaufwand – Einfachheit und Robustheit – Unvorgesehenes Verhalten kann sich leicht entwickeln © Martin Klarner, Informatik 8 Hintergrundwissen: internes, symbolisches Modell ihrer Umgebung Innerer Zustand Komplexe Struktur aus mehreren Schichten Entwurf und Verfolgen von Plänen zum Erreichen der Ziele Aktionen des Agenten auf Zielzustand seines Modells gerichtet Im MAS – Abstimmung der Agenten untereinander – Zuweisung von Unteraufgaben Beispiel: Belief-Desire-Intention-(BDI-)Systeme – Aufteilung in Überzeugungen, Wünsche und Absichten – Grundlage der BDI-Architektur: „praktisches Denken“ • Welche Annahmen? • Welche Ziele? • Geeignete Mittel? © Martin Klarner, Informatik 8 VORL 14b/Folie 15 Mobile Agenten VORL 14b/Folie 16 Mobile Agenten (2) • Migration in Netzwerken (unterscheide Migration von RPC und Remote Execution!) • Ausführung ihrer Aufgaben auf verschiedenen Hosts • Erhaltung ihres Zustands • Benachrichtigungen über das Netzwerk • Im allgemeinen vorgegebene Infrastruktur (Agent Places) • Beispiele – Aglets, www.trl.ibm.com/aglets/index_e.htm – Beegent, www2.toshiba.co.jp/beegent/ – Gasshopper, www.gasshopper.de (Entwicklungs- und Laufzeitumgebung für mobile Agenten) © Martin Klarner, Informatik 8 VORL 14b/Folie 14 VORL 14b/Folie 17 • Idee: Programmablauf wird unterbrochen, Code wird verschickt und am Zielort fortgeführt • Vorteile mobiler Agenten – Effizienz – Verringerung des Netzwerk-Belastung – Verringerung der Server-Belastung • Probleme – Heterogenität der Systeme – Sicherheit – Wiederfinden von mobilen Agenten v. a. in MAS (Nachsendeantrag, Agentenverzeichnisse) © Martin Klarner, Informatik 8 VORL 14b/Folie 18 Mobile Agenten (3) Einsatzgebiete mobiler Agenten • Mobile Agenten bestehen aus … – … Code (Mobile Code Entities) – … und zusätzlich … • … innerem Zustand (Variablenbelegung) • … Ausführungszustand (Stacks, Zähler) • Mobile Agenten … – … entscheiden über ihre Lokalität selbst und migrieren – … kommunizieren mit Foreign Hosts – … interagieren mit „fremden“ Agenten © Martin Klarner, Informatik 8 VORL 14b/Folie 19 Beispiel: „Traditionelle“ Suchmaschine • • • • • Optimierung der Netzwerkauslastung Kooperation in unzuverlässigen Netzen Überwachung von Netzen Optimierung der Rechnerauslastung Berücksichtigung der Geheimhaltungs- und Sicherheitsbedürfnisse der Informationsanbieter • Integration heterogener Umgebungen © Martin Klarner, Informatik 8 VORL 14b/Folie 20 Beispiel: Suchmaschine mit mobilen Agenten • Nachteile – Aufwändige Skalierung – Hohe Netzwerklast • Bottlenecks – Bandbreite des Netzwerks – Kapazität der Suchmaschine © Martin Klarner, Informatik 8 VORL 14b/Folie 21 Literatur © Martin Klarner, Informatik 8 VORL 14b/Folie 22 Literatur (2) • Russell, S.; Norvig, P. Artificial Intelligence: A Modern Approach. Prentice Hall, 1995 • Wooldridge, M. J.; Jennings, N. R. Intelligent Agents. Springer Lecture Notes in AI 890. 1995 • Görz, G. et al. (ed). Handbuch der KI. Oldenbourg Verlag, 2000 • Stoyan, H. Internet-Agenten. Vorlesungsskript, www.fh-deggendorf.de/doku/fh/meile/bachelor/lehre/ws/f14/gliederung.htm • Schneeberger, J. Software-Agenten. Vorlesungsskripte, www.fh-deggendorf.de/doku/fh/meile/bachelor/lehre/ws/f12/gliederung.htm, www.fh-deggendorf.de/doku/fh/meile/bachelor/lehre/ws/f13/gliederung.htm • Mattern, F. Agenten im Internet, Seminarausarbeitung: Programmieren für das Internet, www2.informatik.uni-erlangen.de/IMMD-II/Lehre/SS97/internet/www/vortrag3/fkmatter/ • Dale, J.; Mamdani, E. Open Standards for Interoperating Agent-Based Systems. www.fipa.org/docs/input/f-in-00023/f-in-00023.html • Rao, A. S.; Georgeff, M. P. Formal Models and Decision Procedures for Multi-Agent Systems. www.cs.bham.ac.uk/~sra/People/Ghi/Georgeff/ • Breu, M. Intelligente Agenten, Vorlesungsreihe: WebEngineering und verteilte Systeme. www.fast.de/~breu/Vorlesung/ • Faltings, B. Intelligent Agents. liawww.epfl.ch/~faltings/intelligent-agents.html • Müller, G. Grundlagen autonomer Agenten. Vorlesungsskript, www.iig.unifreiburg.de/telematik/lehre/vorlesungen/material/tel3/12_grundlagen_a genten.pdf • Grasshopper – Basics and Concepts. www.grasshopper.de/download/doc/BasicsAndConcepts2.2.pdf © Martin Klarner, Informatik 8 VORL 14b/Folie 23 © Martin Klarner, Informatik 8 VORL 14b/Folie 24