Nächste Seite: II. Der Gestaltungsbereich
Aufwärts: I. Der Untersuchungsbereich
Vorherige Seite: 9. Neuronale Fuzzy Systeme
  Inhalt
10. Intelligente Agenten
In den vorhergegangenen Abschnitten wurden verschiedene Techniken der
künstlichen Intelligenz vorgestellt, die in der Wissensverarbeitung
ihre Anwendung finden. Viele Problemstellungen der
Wissensverarbeitung sind jedoch sehr komplex und umfangreich. Man
denke nur an die effektive Informationssuche im Internet. In vielen
Fällen ist es daher nicht möglich, ein konventionelles Programm zu
erstellen, welches seine Aufgabenstellung in zufriedenstellender
Qualität löst. Unter konventionellen Programmen werden an dieser
Stelle Systemen verstanden, welche die Lösung des Gesamtproblems mit
der Hilfe eines komplexen zentralen Programms verfolgen. Diese
Programme können unter Umständen auch in einzelne Module gegliedert
sein. [Jennings1998]
Die Verwendung von intelligenten Agenten stellt nun einen Ansatz dar,
mit dessen Hilfe komplexe, verteilte Probleme bewältigt werden
können. Zu diesem Zweck wird das Gesamtproblem in kleinere
Teilprobleme zerlegt, die, von eventuell verteilten, autonomen
Programmen, den Agenten, ausgeführt werden. Im folgenden Abschnitt
sollen kurz einige Problemstellungen angerissen werden, welche einen
Überblick über die Motivation zur Verwendung von intelligenten Agenten
geben sollen.
Das Internet stellt einen stark skalierten, ständig in Wachstum
begriffenen Wissenspeicher dar, in dem die Informationsressourcen
verteilt über das Netz auf unterschiedlichen Rechnern gespeichert
sind. Im Internet existiert keine übergeordnete Instanz, welche den
laufenden Zuwachs an Informationen koordiniert und inhaltlich
erschließt. Ein konventionelles Software-System ist somit nicht in der
Lage, eine umfassende Suchhilfe -- für alle im Internet zugänglichen
Informationen -- anzubieten. Um zu einer Lösung für dieses Problem zu
gelangen, wird an der Entwicklung von Systemen gearbeitet, die auf der
Verwendung von verteilten, eventuell mobilen, intelligenten Agenten
aufbauen. [Jennings1998]
Ein weiteres Problem, welches mit der Hilfe von intelligenten Agenten
zu lösen versucht wird, ist einerseits die steigende Verbreitung von
Computersystemen und der damit verbundenen steigenden Anzahl der
Benutzer, und andererseits der steigende Funktionsumfang der
Programme. Mit der wachsenden Benutzerzahl sinkt die Qualifikation der
Benutzer. Im gleichen Zuge werden jedoch die Programme immer
umfangreicher und komplexer, und fordern somit eine längere
Einschulungszeit. Um modernen Computersysteme, trotz des Funktionsumfangs
für den einfachen Anwender benutzbar zu gestalten, werden dem Anwender
intelligente Agenten zur Seite gestellt, welche ihm eine Hilfestellung
geben und bei der Bedienung unterstützen sollen. [Caglayan1998]
Ein weiteres Problem, welches an dieser Stelle zur Motivation
angeführt werden soll, ist die Vernetzung von Haushaltsgeräten. Die
Haushaltsgeräte werden innerhalb einer Wohneinheit z.B. über das
Leitungsnetz miteinander vernetzt. In jedem Gerät ist ein Agent
integriert, welcher mit den anderen Geräten und einem zentralen
Rechner kommuniziert. Ziel der Kommunikation ist es, z.B. die
Verbrauchslast gleichmäßig über den Tag zu verteilen, Energie zu
sparen und die Sicherheit zu erhöhen.
10.2 Definition von intelligenten Agenten
Die in den obigen Beispielen angedeuteten Eigenschaften von Agenten
sollen in diesem Abschnitt in einer allgemeinen Definition von Agenten
festgehalten werden. Die Forschung auf dem Gebiet der intelligenten
Agenten stellt ein Teilgebiet der künstlichen Intelligenz
dar. [Nwana1998] Ähnlich der fehlenden einheitlichen
Definition von künstlichen Intelligenz, existiert auch für den Begriff
intelligenter Agent in der Literatur keine einheitliche Definition. Um
sich einer Definition des Begriffes Agent anzunähern, soll zu Beginn die
Definition in Websters World Dictionary betrachtet werden:
,,Agent: Eine Person oder Sache, die in der Lage oder ermächtigt
ist, im Auftrag dritter zu handeln.''
[Caglayan1998]
Diese allgemeine Definition hebt bereits zwei Schlüsseattribute von
intelligenten Agenten hervor: [Caglayan1998]
- Ein Agent führt Dinge aus.
- Ein Agent handelt im Auftrag einer Person oder Sache.
Diese beiden zentralen Attribute sind bei allen intelligenten Agenten
zu finden. Bertachtet man im nächsten Schritt eine Definition aus der
wissenschaftlichen Fachliteratur, so erhält man bereits eine sehr gute
Vorstellung dessen, was man sich unter einem Agenten vorzustellen
hat.
``Ein Agent ist ein Computersystem, welches in einer Umgebung
arbeitet, in der das System autonom Aktionen ausführen kann, um die
ihm gestellte Aufgabe zu erfüllen.''10.1 [Jennings1998]
Diese Definition schließt sowohl Hardware als auch Software Agenten
mit ein. Unter Hardware Agenten z.B. sind autonom arbeitende Roboter zu
verstehen. In der weiteren Arbeit liegt der Schwerpunk bei der
Betrachtung von Software Agenten. Auf Hardware Agenten wird nicht
weiter eingegangen. In der oben getroffenen Definition sind folgende,
für Agenten charakteristische Eigenschaften enthalten:
[Jennings1998]
- Autonomie: Ein Agent soll in der Lage sein, ohne direkte
Interaktion des Benutzers, oder eines anderen Agenten, zu
handeln. Weiters muß ein Agent die Kontrolle über seine Aktionen
und seinen internen Status besitzen. Dieses Verständnis von
Autonomie soll anhand eines Vergleichs mit dem objektorientierten
Programmierparadigma veranschaulicht werden. In einem Objekt sind
die Variablen gekapselt, das heißt daß nur das Objekt selbst die
Kontrolle über sie besitzt, da man diese nur ansprechen und modifizieren
kann, indem man Methoden verwendet, welche das Objekt bereit
stellt. Ähnlich den Objekten ist auch in einem Agenten der interne
Zustand gekapselt. Doch im Unterschied zu Objekten kann ein Agent
selbst über sein Verhalten entscheiden. Ein Agent kann somit selbst
entscheiden, ob er seinen internen Zustand verändert oder nicht. Ein
Objekt besitzt diese Wahlmöglichkeit nicht. Wenn eine Methode des
Objekts aufgerufen wird, so muß diese auch ausgeführt werden. Ein
Agent dagegen besitzt, im Gegensatz zu Objekten, die Freiheit selbst
zu entschieden, ob und wie er auf eine Anfrage reagiert.
[Jennings1998]
Der Agent nimmt somit nicht nur blind Kommandos entgegen, sondern
rechnet auch damit, daß der menschliche Benutzer Fehler macht,
wichtige Informationen ausläßt oder daß Mehrdeutigkeiten aufgedeckt
werden müssen. Diese Unklarheiten müssen dann durch geeignete
Mittel (z.B. Nachfrage beim Benutzer, Heranziehen einer
Wissensbasis, usw.) beseitigt werden. Der Agent darf sogar gewisse
Anfragen ablehnen, z.B. falls durch sie zu einer ungünstigen Zeit das
Netz zu stark belastet oder anderen Benutzern geschadet würde.
- Reaktiv: Ein Agent muß in der Lage sein, seine Umwelt
wahrzunehmen und auf Änderungen in dieser zu reagieren. Abhängig von
der Aufgabe des Agenten kann die Umwelt z.B. der realen Welt, dem
Internet, dem Benutzer, oder auch anderen Agenten entsprechen.
- Proaktiv: Agenten sollten nicht nur einfach auf ihre
Umwelt reagieren, sie sollten auch in der Lagen sein, selbst, wenn
nötig, zielgerichtet die Initiative zu ergreifen.
- Sozial: Agenten sollen in der Lage sein, mit ihre Umwelt
zu interagieren. Die Interaktion kann mit anderen Agenten oder mit
einem Benutzer erfolgen. Ziel der Interaktion ist es, das gestellte
Problem zu lösen oder andere Agenten bei der Lösung ihres Problems
zu unterstützen.
Unter einem agentenbasierten System wird ein System verstanden,
welches auf abstrakter Ebene auf den oben angeführten Attributen
beruht. Im Prinzip kann ein System als agentenbasierten System
konzeptioniert sein, jedoch ohne Software-Strukturen implementiert
werden, die dem Agenten-Paradigma entsprechen. Ähnlich existiert auch
die Möglichkeit, objektorientierte Programme, ohne die Verwendung
einer objektorientierten Entwicklungsumgebung, zu erstellen. Jedoch
wäre diese Vorgehensweise unüblich und konterproduktiv. Aus diesem Grund
werden agentenbasierten Systeme sowohl als solche designed und mit
Hilfe der Agenten-Paradigmen implementiert. Ein agentenbasiertes
System besteht somit im Regelfall aus mindestens einem autonomen
Agenten. Dabei stellt ein Multi-Agentensystem, welches aus mehreren
interagierenden Agenten besteht, ein signifikant komplexeres System
als ein Einzel-Agentensystem dar. [Jennings1998]
Die Forschung auf dem Gebiet der intelligenten Agenten ist noch
recht jung. Das erste Konzept eines Software Agenten stammt aus einer
Arbeit auf dem Gebiet der verteilten künstlichen Intelligenz. Carl
Hewitt veröffentlichte 1977 in seinem Artikel ,,Concurrent Actor
Model'' ein Modell, in dem eigenständige, interaktive und parallel
exekutierbare Objekte, mit gekapselten internen Zustand, miteinander
kommunizieren können. In den 80'er Jahren begann die eigentliche
Grundlagenforschung auf dem Gebiet der Software Agenten. Dabei wurden
die Interaktion und die Kommunikation zwischen Agenten, die Auf- und
Verteilung von Aufgaben, die Kooperation und die Konfliktlösung via
Verhandlung erforscht. Ziel dieser Forschung war die Spezifikation,
die Analyse, das Design und die Integration von Systemen aus mehreren
kooperierenden Agenten. [Nwana1998] Mit dem Beginn der 90'er Jahre
wurde damit begonnen, die bisher gewonnenen Erkenntnisse in konkrete
Anwendungen umzusetzen. Welche Bedeutung die Forscher der
Agenten-Technologie in der Zukunft zumessen, wird aus folgenden
Aussagen deutlich:
,,Agenten stellen das nächste bedeutende Programmierpradigma dar
und werden bis zum Jahr 2000 jeden Markt
durchdringen.'' 10.2 Janca, 1995 [Jennings1998]
,,Das Marktforschungsunternehmen
Ovum10.3 sagt für das Jahr 2000 einen
Markt mit einem Volumen von 4 Milliarden Dollar voraus. Die
Agenten werden vorallem im Bereich der Telekommunikation, der
Konsumgüterindustrie, beim Militär [...] eingesetzt.''
[Caglayan1998]
Um eine bessere Vorstellung über den Aufbau und die Arbeitsweise eines
Agenten zu erhalten, soll in diesem Abschnitt ein Schema für ein
Agentenmodell vorgestellt werden. Es handelt sich dabei um ein
einfaches Modell aus der Sicht des Anwenders, mit dessen Hilfe die
funktionale Architektur, das Zusammenspiel zwischen den einzelnen
Systemkomponenten und die Interaktion mit dem Benutzer veranschaulicht
werden sollen. Aus dem, in Abbildung 10.1
dargestellten Modell gehen die Qualifikation auf der Aufgabenebene, das
Wissen und die Kommunikationsqualifikation als zentrale Elemente eines
intelligenten Agenten hervor. Auf diese zentralen Elemente soll nun
näher eingegangen werden. [Caglayan1998]
Abbildung 10.1:
Modell eines intelligenten Agenten. [Caglayan1998]
|
|
Die Qualifikation auf der Aufgabenebene setzt sich aus Funktionen
zusammen, die ein intelligenter Agent benötigt, um die ihm gestellte
Aufgabe zu erfüllen. So muß z.B. der Hilfsagent eines Betriebssystems
in der Lage sein, das Benutzerverhalten zu beobachten, um, wenn nötig,
Hilfestellungen am Bildschirm einblenden zu können. Ein
Internet-Suchagent hingegen muß die Fähigkeit besitzen, auf die
Informationsressourcen des Internets zuzugreifen. Der Agent muß somit
in der Lage sein, sein Umfeld mit der Hilfe von Sensoren erfassen zu
können und bei der Ausführung seiner Aufgabe in diesem Umfeld zu
agieren.
Im Wissensbereich eines Agenten ist das Wissen über die Umwelt des
Agenten, über die Zusammenhänge, die in dieser Umwelt gültig sind, und
die Ziele des Agenten gespeichert. Weiters gehören zu Wissensbereich
auch Techniken und Strategien, die ein Agent benötigt, um die ihm
gestellte Aufgabe zu erfüllen. Bei den in den Agenten verwendeten
Wissensrepräsentationen und Techniken handelt es sich um die, in den
vorhergegangenen Abschnitten vorgestellten Wissensrepräsentationen
und Techniken der künstlichen Intelligenz. Beim Wissen können zwei
Arten unterschieden werden, a-priori Wissen und vom Agenten erlerntes
Wissen (siehe auch Abbildung 10.1). Beide Arten von
Wissen können auch zugleich in einem Agenten
vorkommen. [Caglayan1998]
- A-priori Wissen: Beim a-priori Wissen handelt es sich
um Wissen, welches entweder vom Entwickler, vom Benutzer oder vom
umgebenden System vorgegeben wird.
- Vom Entwickler vorgegeben: Der Entwickler kann Wissen in
vielen verschiedenen Formen implementieren. Dies kann z.B. in der
Form einer Wissensbasis mit der dazugehörigen Inferenzmaschine
geschehen, in Form eines Neuronalen Netzes, welches vor dem
Einsatz vom Entwickler trainiert wurde oder auch in Form einer
Suchstrategie. Es stehen dafür sämtliche Techniken der künstlichen
Intelligenz und der Wissensrepräsentation zur Verfügung, die in
den vorhergegangenen Kapiteln vorgestellt wurden.
- Vom Benutzer vorgeben: Dabei handelt es sich meist, um vom
Benutzer selbst definierte einfache Regeln. Ein Beispiel dafür ist
die automatisierte Verschiebung von Emails in bestimmte Folder, in
Abhängigkeit vom Inhalt der Felder ,,Form'', ,,To'', ,,Subject''
oder ,,Body''. Die dazu notwendigen einfachen Regeln werden vom
Benutzer mit der Hilfe eines Dialogfelds des Email-Clients
erzeugt.
- Vom umgebenden System vorgegeben: Darunter wird z.B. das
Wissen um die Ansprechpartner in einer Netzwerkumgebung
verstanden. Dazu zählt auch das Wissen, welche Dienste der Agent
von anderen beziehen kann oder welche Datenbanken zur Verfügung
stehen.
- Erlerntes Wissen: Lernende Agenten beobachten ihre
Umwelt nicht nur um auf Veränderungen in ihr reagieren zu können,
sondern auch um aus ihrer Umwelt zu lernen. Dabei wird, zusätzlich
zum vorhandenen a-priori Wissen, Wissen aus der Umwelt exzerpiert,
um das Verhalten des Agenten an das geänderte Umfeld anzupassen oder
um regelmäßige Abläufe zu erkennen und diese zu automatisieren.
Ein Beispiel für ein System, welches das Benutzerverhalten
beobachtet, um Regelmäßigkeiten darin zu erkennen, ist Open
Sesame!. Open Sesame! beobachtet im Apple
MacOS10.4 alle
High-Level-Benutzeraktionen auf sich wiederholende Muster und bietet
dem Anwender an, diese zu automatisieren. Beobachtet Open Sesame!
z.B., daß ein Anwender immer nach dem Einschalten des Computers den
Email-Client startet, so bietet ihm das System an, diese Aufgabe für
ihn zu übenehmen. [Caglayan1998]
Internet-Suchdienste stellen z.B. Systeme dar, die aus der
Veränderung ihrer Umwelt lernen. Sie lernen ihren Suchindex aus der
Beobachtung des Internets durch ihren Indizier-Prozeß. Dies kann so
aufgefaßt werden, daß sich die Suchdienste die Antworten auf
mögliche Anfragen bereits im Voraus zurechtlegen, um bei einer
konkreten Anfrage schneller reagieren zu können. [Caglayan1998]
Als Daten für den Lernprozeß von lernenden Agenten können
z.B. Ereignisprotokolle dienen. Diese Protokolle werden auf Trends
und Korrelationen untersucht. Dazu können statistische Methoden
herangezogen werden. Neuronale Netze können zur Identifizierung
annähernd gleicher Abfolgen im Verhalten des Benutzers eingesetzt
werden. Diese Technik wird z.B. im oben beschriebenen Open Sesame!
System verwendet. Ein Nachteil bei der Verwendung von Neuronalen
Netzen ist die lange Trainingsphase. Der Agent muß den Benutzer über
eine lange Zeit beobachten, um die auftretenden Regelmäßigkeiten zu
erlernen. [Caglayan1998]
Die Kommunikationsfähigkeit eines Agenten bezieht sich einerseits auf
die Kommunikation mit dem Benutzer über die Benutzerschnittstelle und
andererseits auf die Kommunikation zwischen einzelnen Agenten, sofern
es sich um ein Multi-Agentsystem handelt. Die Kommunikation mit dem
Benutzer findet gewöhnlich über die graphischen Benutzeroberfläche,
z.B. über Dialogfelder, statt. Eine multimediale Aufbereitung der
Kommunikation mit der Hilfe von Graphiken, Video oder Audio kann die
Kommunikationserfahrung mit dem Anwender erweitern und einem Agenten
eine ,,Persönlichkeit'' vermitteln. [Caglayan1998]
Für die Kommunikation zwischen den Agenten in einem Multi-Agentsystem
wird eine spezielle Kommunikationssprache verwendet. Beispiele für
solche Sprachen sind: TeleScript10.5,
SmallTalkAgents10.6, Agent
Tcl10.7 (Tool Command
Language), Knowledge Query and Manipulation
Language10.8 (KQML) oder Knowledge
Interface Format10.9(KIF). [Caglayan1998]
Im Vorhandensein von vielen verschieden Kommunikationssprachen liegt
die Gefahr, daß man bei der Entwicklung eines Projekts auf eine
Sprache setzt, deren Weiterentwicklung in der näheren Zukunft
eingestellt wird. Diesem Zustand versucht die Advanced Research
Projects Agency10.10 (ARPA) mit dem
Knowledge Sharing Effort10.11 (KSE)
Projekt entgegen zu wirken. KSE beschäftigt sich mit der Entwicklung
von Vereinbarungen, welche es erlauben verteilte Wissensbasen oder
Wissensbasierte Systeme zu gestalten. Dabei wird auch die
Wiederverwertbarkeit der Wissensbasen berücksichtigt. Das Ziel ist die
Definition, die Entwicklung und das Testen von Systemen, die es den
Entwicklern erlauben größere und umfangreichere Systeme zu
verwirklichen, als es mit Einzelsystemen möglich wäre. [Finin1994]
In den vorhergegangenen Abschnitten wurde des öfteren der Begriff
,,intelligenter Agent'' verwendet. Damit ist jedoch nicht impliziert,
daß jeder intelligente Agent auf einer Technik der künstlichen
Intelligenz aufbauen muß. Mit dem Begriff intelligent wird vielmehr
das Gesamtsystem aus Agenten und Kommunikation bezeichnet. Die
einzelnen Agenten müssen somit kein Neuronales Netz oder ein
Expertensystem enthalten. Die ,,Intelligenz'' in einem
Agenten-System kann vielmehr auch durch die Interaktion und die
Kommunikation zwischen den Agenten entstehen. Dies soll anhand eines
einfachen Beispiels veranschaulicht werden.
Ein Anwender plant sich einen Personal Computer mit 400 MHz
Prozessortakt und 128 MByte RAM zu kaufen. Aus diesem Grund beauftragt
er einen Software Agenten Preis und Produktinformationen im Internet
einzuholen. Als Ergebnis erwartet der Anwender eine übersichtliche
Auflistung der Angebote, unter Berücksichtigung des Zolls, der
Versankosten und der Lieferdauer.
In einem ersten Schritt wir der Agent einen Suchagenten kontaktieren,
um Adressen von Online-Computer-Shops zu erfragen. Im nächsten Schritt
wird der Agent Kontakt mit den Agenten der Online-Shops aufnehmen und
ihnen in einer Anfrage die Leistungsmerkmale des gewünschten Computers
mitteilen. Als Antwort erhält der Agent Produktinformationen, den
Preis und zusätzliche Lieferinformationen, wie Versankosten,
Zahlungsmöglichkeiten, Lieferzeit und Auslieferungsland. Das
Auslieferungsland ist wichtig, da der Agent auch einen eventuellen
Einfuhrzoll mitberücksichtigen soll. In einem weiteren Schritt wird der
Agent den Agenten des Finanzministeriums kontaktieren um die nötigen
Zollinformationen einzuholen. Weiters kontaktiert der Agent den Agenten einer
Online-Bank, um den aktuell gültigen Wechselkurs zu ermitteln. Die Adresse der
Online-Bank hat der Agent zuvor von einem Suchagenten erhalten. Im letzten
Schritt erfolgt die Preisberechnung und die übersichtliche Aufstellung der
gesammelten Daten. Zusammengefaßt sehen die Schritte, die der Agent ausführt,
folgendermaßen aus:
- Kontaktiere Suchagenten und hole Adressen von Online-Shops ein.
- Kontaktiere Agenten der Online-Shops, sende die Produktanfrage
und hole Preis, Produkt und Lieferinformationen ein.
- Kontaktiere Agenten des Finanzministeriums und hole
Zollinformationen ein.
- Kontaktiere Suchagenten und hole Adressen von Online-Banken ein.
- Kontaktiere Agenten der Online-Banken und hole den aktuellen
Wechselkurs ein.
- Führe die Preisberechnung durch.
- Stelle die gesammelten Informationen übersichtlich zusammen.
Keiner dieser Einzelschritte benötigt ein Verfahren der künstlichen
Intelligenz. Die erbrachte Leistung des Agenten kann man jedoch
durchaus als intelligent bezeichnen. ,,Entstanden'' ist diese
Intelligenz aus der Interaktion mit den Service-Agenten im Netz. Auch
jeder dieser Service-Agenten kann ohne die Verwendung von künstlicher
Intelligenz implementiert werden. Dieses Beispiels zeigt auch die
Stärken des Agenten Paradigmas auf. Durch die Zusammenarbeit vieler
einfacher Einzelsysteme entstand ein Gesamtsystem, welches in der Lage
ist, auch komplexe Probleme zu lösen. Aus diese Einschätzung heraus,
erklären sich auch die optimistischen Prognosen für die Zukunft der
Agenten-Technologie, wie sie am Ende der Abschnitts
10.2 angeführt wurden.
Erweitert man im obigen Beispiel den Auftrag an den Agenten um den
konkreten Kaufauftrag beim Billigstbieter, so wird klar, welches
Vertrauen der Auftraggeber in die Fähigkeiten seines Agenten und in
die Glaubwürdigkeit der beteiligten Service-Agenten besitzen
muß. Bereits bei dem Beispiel ohne den konkreten Kaufauftrag muß der
anfragende Agent auf die erhaltenen Informationen vertrauen
können. Service-Anbieter könnten in Versuchung kommen, durch die
Angabe von falschen Daten interessierte Kunden auf ihre Internetseiten
zu locken. Probleme die die Sicherheit und das Vertrauen von Agenten
betreffen, werden in Abschnitt 10.6 näher
besprochen. Zunächst wird jedoch das Konzept von mobilen Agenten
vorgestellt.
Bei den bisher vorgestellten Agenten handelt es sich um Programme, die
lokal auf dem Client-Rechner ausgeführt werden und eventuell mit
Agenten auf dem lokalen Rechner oder anderen Rechnern
kommunizieren. Mobile Agenten werden hingegen von einem Client-Rechner
an einen oder mehrere Remote-Server gesendet, um dort ausgeführt zu
werden. Nach der Abarbeitung kehren die Programme mit dem Ergebnis zum
Client-Rechner zurück. Mit der Ausführung eines Programmes auf einem
fremden Rechner sind natürlich große Sicherheitsrisiken verbunden. Es
existieren jedoch Anwendungen, für die die Fähigkeit von mobilen
Agenten, Programme auf einem entfernten Server auszuführen, ein
signifikanter Vorteil sind. [Caglayan1998]
- Unterstützung für mobile Computer: Mobile Computer die nur
temporär an ein Netz angeschlossen sind, können mobile Agenten
absetzen, die in der offline Periode Aufträge des Benutzers
erledigen. Ist der Benutzer später wieder an das Netz
angeschlossen, kehren die Agenten mitsamt den Ergebnissen zurück.
- Suche in großen, unstrukturierten oder nicht indexierten
Wissensspeichern: Wenn ein Benutzer in einem großen,
unstrukturierten oder nicht indexierten Wissenspeicher eine Suche
durchführen möchte, kann es effizienter sein, einen Suchagenten
loszuschicken, der die Suche lokal auf dem Remote-Server
durchführt. Der Wissensspeicher kann z.B. eine Datenbank oder eine
digitale Bibliothek sein. Auf diese Weise ist es auch möglich,
Suchen in einem Wissenspeicher durchzuführen, für die vor Ort keine
Vorkehrungen getroffen wurden. Der Suchagent kehrt nach der Suche
mit den gefilterten Informationen zum Client zurück. Durch die
Verwendung von mobilen Agenten kann somit die Netzwerkbelastung
gesenkt werden.
- Echtzeitinteraktion: Wenn es für eine Server-Anwendung wichtig
ist, daß in Echtzeit auf Veränderungen der Umwelt reagiert wird, so
kann die Zeitverzögerung, die durch die Übertragung der Daten vom
Client zum Server und zurück entsteht, störend wirken. Die
zeitkritische Server-Anwendung kann z.B. eine Roboter Steuerung
sein. Sendet der Client jedoch das Steuerprogramm an den Server, so
kann der Server direkt, den Wünschen des Clients entsprechend, auf
die Umwelt reagieren. Die Übertragungsverzögerungen werden somit
eliminiert.
- Ressourcenauslastung: Durch die Verteilung von Aufgaben im
Netz können die vorhandene Rechenressourcen gleichmäßiger
ausgelastet werden.
Programme für mobile Agenten können in einer Compiler-Sprache oder in
einer Interpreter-Sprache geschrieben sein. Damit mobile Agenten auch
in heterogenen Netzen, in denen unterschiedlichste Rechnerplattformen
integriert sind, arbeiten können, sollten sie vorzugsweise in einer
Interpreter-Sprache implementiert sein oder innerhalb einer virtuellen
Maschine laufen (z.B. Java). Dadurch wird zwar auf Rechenleistung
verzichtet, jedoch die meisten rechenaufwendigen Schritte finden nicht
im Agentenprogramm selbst statt, sondern greifen auf Funktionen, die in
der virtuellen Maschine oder im Interpreter implementiert sind,
zurück. Zudem wird bei Java durch die ,,Just-in-Time''-Compilierung
eine Leistungsteigerung erreicht. Interpretierte Sprachen bieten auch
den Vorteil der späteren Bindung: Dies ermöglicht dem mobilen Agenten,
Funktionen und Klassen zu referenzieren, die zwar nicht auf dem
aktuellen System, aber auf dem Zielsystem zur Verfügung
stehen. Beispiele für Sprachen für mobile Agenten sind:
Java10.12,
TeleScript10.13 und
Tcl10.14.
[Caglayan1998]
Ein sehr wesentlicher Punkt bei der Arbeit mit mobilen Agenten ist der
Sicherheitsaspekt, da der Server, auf dem der mobile Agent arbeiten
soll, die Intention des Agenten nicht mit absoluter Genauigkeit
feststellen kann. Näher wird auf die Sicherheitsaspekte im nachfolgenden
Abschnitt eingegangen.
In den vorhergegangenen Abschnitten wurden immer wieder
Sicherheitsfragen und das nötige Vertrauen in Agenten erwähnt. Wie
wichtig die Betrachtung dieser Fragen ist, zeigt schon der Vergleich
mit einem menschlichen Agenten. Erteilt ein Auftraggeber einem
menschlichen Agenten einen Auftrag, so vertraut er auf die Fähigkeit
des Agenten, den Auftrag zu erledigen. Dazu muß der Agent mit den
nötigen Mitteln und Rechten ausgestattet werden. Nach der Erledigung
des Auftrags durch den Agenten muß der Auftraggeber auf die
Richtigkeit der erbrachten Leistung vertrauen. Um die
Mißbrauchsmöglichkeiten des Agenten einzuschänken und seine Aktionen
nachvollziehen zu können, wird der Auftraggeber gewisse
Sicherheitsmechanismen vorsehen.
In Agentensystemen, die in öffentlich zugänglichen Netzen arbeiten,
sind Fragen des Datenschutzes von ganz besonderer Wichtigkeit. Ein
Agent, der als persönlicher Assistent eines Benutzers agiert, benötigt
zur Erfüllung seiner Aufgaben umfangreiches Wissen über die Interessen
seines Benutzers. Mobile intelligente Agenten müssen dieses Wissen
ständig mit sich führen, während sie sich in einem Netzwerk von Ort zu
Ort bewegen. Man könnte solche Agenten als im Internet wandelnde
Interessenprofile einzelner Personen ansehen. Da Benutzer die
gespeicherten Daten vor willkürlichem fremden Zugriff schützen
möchten, müssen dafür geeignete Schutzmaßnahmen, wie z.B. die Verschlüsselung,
vorgesehen werden. [Caglayan1998]
Die in einem Agenten gespeicherten Daten müssen auch vor Manipulation
durch Dritte geschützt werden können. Sonst kann ein Benutzer nicht
davon ausgehen, daß die von seinem Agenten gelieferten Informationen
unverfälscht und authentisch sind.
Diese Sicherheitsfragen stellen sich in Systemen von Agenten, die
untereinander, ohne explizite Benachrichtigung der Benutzer, Daten
austauschen, als noch schwieriger dar. Solchen Systemen liegt der
sogenannte ,,knowledge sharing approach'' zugrunde. Ein Agent muß
wissen, welche Daten er bedenkenlos weitergeben kann und welche unter
allen Umständen zu schützen sind. [Caglayan1998]
Es sind auch Szenarien denkbar, in denen intelligente Agenten
,,digitales Geld'' mit sich führen. Damit könnten sie die
Informationsdienste anderer Agenten bezahlen, aber auch selbst, durch
das Bereitstellen von Information für andere Agenten, Geld
bekommen. Solche Agenten erfordern einen besonderen Schutz gegen
Manipulation.
Desweiteren müssen Agenten auf die Identität ihres
Kommunikationspartners vertrauen können. Es wäre z.B. denkbar, daß ein
Agent eine falsche Identität vorgibt, um so zu Informationen zu
gelangen oder einen finanziellen Vorteil daraus zu ziehen.
Um den oben angeführten Mißbrauchsmöglichkeiten entgegenzuwirken, ist
es notwendig, daß die Agentenkommunikation verschlüsselt stattfindet,
bzw. mobile Agenten verschlüsselt über das Netz übertragen
werden. Zudem müssen digitale Signaturen und Zertifikate verwendet
werden, um die Identität des eigenen Agenten belegen zu können und die
des Kommunikationspartners zu überprüfen. Diese Aspekte müssen auch
bei der Entwicklung von Agenten-Kommunikationssprachen
mitberücksichtigt werden. [Caglayan1998]
Mobile Agenten bringen noch ein weiteres Sicherheitsrisiko mit
sich. Auf der Server-Plattform wird der Programmcode des mobilen
Agenten ausgeführt. Durch geeignete Maßnahmen muß nun sichergestellt
werden, daß der Agent keinen Schaden an der Server-Plattform anrichten
kann. Dies kann z.B. geschehen, indem man den Code nur innerhalb einer
abgekapselten virtuellen Maschine ausführen läßt, wie dies z.B. bei
Java geschieht. [Caglayan1998]
Trotz all der oben angeführten Sicherheitsbedenken stellt der Einsatz
von intelligenten Agenten ein großes Potential für verteilte
Problemlösungen dar. Im nachfolgenden Abschnitt soll anhand von
einigen konkreten Forschungsprojekten die Vielseitigkeit der
Agententechnologie und ihre Anwendungsmöglichkeiten vorgestellt werden.
Der BargainFinder10.15 ist ein
experimenteller virtueller Einkaufsagent für CDs im Internet und
weist ähnliche Funktionen auf wie der Beispielagent aus Abschnitt
10.4 Intelligenz durch Kommunikation.
Entwickelt wurde der BargainFinder von Anderson Consulting. Der
BargainFinder benutzt, ähnlich wie die Meta-Suchmaschinen, eine
parallel Abfragearchitektur, um damit die Preise und die Verfügbarkeit
der vom Benutzer gesuchten Audio CDs abzufragen.
Der Kunde übergibt den BargainFinder den Titel und den Interpreten der
gewünschten CD. Der Agent nimmt die Produktanfrage des Kunden und legt
sie parallel einer Gruppe von Online-Geschäften vor. Dabei füllt der
Agent bei jedem Geschäft die entsprechenden Formulare aus. Der
BargainFinder filtert in den Anfrageergebnissen den Header und die
Werbung heraus und extrahiert die angegebenen Preise. Anschließend
faßt er die extrahierten Ergebnisse zusammen und übergibt die
Zusammenfassung dem Kunden. In der Antwort meldet der Agent das
Geschäft und den Preis der CD, oder daß ein Geschäft die CD nicht
verfügbar hat, oder ein Geschäft dem BargainFinder den Zugriff
verwehrt hat. Manche Online-Musikgeschäfte blockieren den
BargainFinder, da sie nicht möchten, daß die Preise und die
Verfügbarkeit eines Produktes automatisiert abgefragt
werden. [Caglayan1998]
Die Vorteile von Einkaufsagenten lassen sich wiefolgt zusammenfassen:
- Einkaufsagenten bieten für verschiedene Online-Geschäfte eine
einheitliche Schnittstelle an. Damit entfällt für den Kunden die
Notwendigkeit, bei jedem Geschäft die verschiedene Formular einzeln
auszufüllen.
- Einkaufsagenten helfen die besten Preise zu finden und geben
Auskunft über die Verfügbarkeit eines Produkts.
Virtuelle Geschäfte erlauben jedoch den Agenten den Zugriff nur sehr
widerwillig, da sie meisten Anbieter kein Interesse haben, daß der
Kunde auf einfache weise einen Überblick über die Preise am Markt
erhält. Schätzungen gehen davon aus, daß die Agenten-Technologie den
Handel im Internet von Grund auf verändern wird. [Caglayan1998]
Bei CIG (cooperative information gathering) handelt es sich um eine
Forschungsarbeit der University of Massachusetts. CIG ist ein
System, in dem mehrere Agenten zusammenarbeiten, um Informationen zu
filtern. Der CIG Searchbot gehört somit zu den Multi-Agentensystemen.
Auf die Anfrage eines Benutzers hin führen mehrere Agenten eine Suche
an mehreren entfernten Orten im WWW durch. Ein Teil dieser Suche wird
von existierenden Suchdiensten, wie z.B. Lycos oder Infoseek,
abgedeckt, die von den CIG Searchbots angesprochen werden. Einzelne
CIG Searchbots sind Experten auf speziellen Gebieten - sogenannte
,,domain experts''. Sie bestimmen, an welchen Orten nach Informationen
gesucht wird, um möglichst gute Antworten mit möglichst geringen
Suchkosten zu erhalten. [CIG1998]
Für den Benutzer liegt der Vorteil gegenüber herkömmlichen Tools, wie
Lycos oder Infoseek darin, daß er seine Anfragen auf einem hohen
Abstraktionsniveau stellen kann, und sich nicht mit den Einzelheiten
der Suchstrategie befassen muß. In der Endfassung des Systems soll es
für den Benutzer möglich sein Anfragen wie z.B. ,,Finde
Informationen über Tabellenkalkulationen für Windows und OS/2'' zu
stellen. Daraufhin werden die Agenten einen Plan aufstellen, eine
koordinierte Suche durchführen, während der Suche Teilresultate
benutzen, um weitere Informationsquellen zu lokalisieren, die
Resultate zusammenfügen und dem Benutzer nach einer vorgegebenen
Zeitspanne präsentieren. Der Benutzer kann Beschränkungen bezüglich
der Suchzeit, der Anzahl der aufgesuchten Server und der Menge der
empfangenen Daten angeben. [CIG1998]
Besonders die Benutzung der Teilresultate einer Suche zur Verfeinerung
und Verbesserung der Suchstrategie, hebt den Ansatz der CIG Searchbots
von der Suche mit Systemen wie Lycos oder Infoseek ab.
Die Hauptcharakteristika der CIG Searchbots lassen sich kurz so darstellen:
[CIG1998]
- Zielorientierte Suche auf hohem Niveau
- Benutzung von bereits entdeckten Informationen während einer
Suche, um weitere ausfindig zu machen.
- Parallele Suche mit mehreren zusammenarbeitenden Agenten
- Selbstanpassende und dynamische Suchstrategien
- Aktive Suche, keine statische offline Index-Suche wie bei Lycos
Bei der Bewertung eines Systems wie den CIG Searchbots muß beachtet
werden, daß eine online Suche nach jeder Anfrage eines Benutzers,
sehr ressourcenintensiv ist. Insbesondere wenn mehrere Agenten
parallel arbeiten. Für Systeme dieser Art müssen noch geeignete
Restriktionen gefunden werden, um die Netzlast nicht zu hoch werden zu
lassen. [CIG1998]
BASAR10.16 (Building Agents
Supporting Adaptive Retrieval) ist ein Projekt des GMD Institute for
Applied Information Technology10.17(FIT). BASAR stellt ein Multi-Agentensystem dar, mit dessen Hilfe ein
Benutzer im World Wide Web einen persönlichen Informations-Raum
einrichten und gestalten kann.
Die Grundtechniken um Informationen im World Wide Web abzurufen und
wiederzufinden sind suchen, browsen und das Setzen von Bookmarks. Die
Suche erfolgt mit der Hilfe von Suchdiensten, wie sie in Abschnitt
2.4.3 Suchdienste vorgestellt wurden. Die Bookmarks
erlauben es, das WWW zu personifizieren, d.h. mit der Hilfe der
Bookmarks kann ein Benutzer sein persönliches ,,Information-Image''
des Webs erstellen. Da das Internet ein dynamisches ständig im
Wachstum begriffenes System darstellt, muß der Benutzer fortwährend
darauf bedacht sein, sein persönliches ,,Information-Image'' aktuell zu
halten. Dazu ist es notwendig, daß neue Bookmarks hinzugefügt werden,
alte und selten benutzte gelöscht werden und bestehende upgedated
werden. Dies stellt eine sehr anspruchsvolle und zeitaufwendige
Aufgabe dar. [Thomas1997]
BASAR ist nun der Prototyp eines Systems, der versucht diese
Aufgabe zu automatisieren. BASAR soll den Benutzer dabei
unterstützten, seinen persönlichen Informations-Raum zu managen und
übernimmt dabei folgende Aufgaben: [Thomas1997]
- Aktuell halten des persönlichen Informations-Raum durch fortlaufendes
updaten der Links.
- Reduktion der Anzahl der Links durch Löschen der Einträge von
selten oder nie besuchten Web-Adressen.
- Unterstützung bei der Anpassung des persönlichen
Informations-Raums an das Wachstum des Webs durch Unterstützung zur
effektiven Suche mit der Hilfe von Suchdiensten.
- Unterstützung bei der Wiederauffindung von Informationen mit
der Hilfe der History.
Um dem Benutzer die oben genannte Funktionalitäten zur Verfügung zu
stellen, baut BASAR auf folgende drei Grundkonzepte: Active Views,
Software Agents und Usage Profiles. [Thomas1997]
- Active View:
- Die Active Views entsprechen den persönlichen
Informations-Räumen unter BASAR. Sie bestehen aus einer Menge von
Bookmarks zu einem Interessensgebiet und einer Menge von Agenten. Die
Agenten haben dabei die Aufgabe, die Informations-Räumen
entsprechend den Wünschen des Benutzers zu verwalten.
- Software Agents:
- BASAR stellt eine Umgebung zur Verfügung, die
es dem Benutzer erlaubt, bestimmte Aufgaben an Agenten zu
delegieren. Dabei assistieren bestimmte Agenten immer nur einem
Benutzer, über den sie Informationen sammeln, wie z.B. Interessen,
Gewohnheiten und Aufgaben. Mit der Zeit wird das Bild, das sich die
BASAR-Agenten über den Benutzer und seine Nutzungsweise des Webs
machen können, immer detaillierter. Dieses Bild wird im Usage
Profile (Benutzungsprofil) gespeichert.
- Usage Profile:
- Im Usage Profile sind die Interessen,
Gewohnheiten und Aufgaben des Benutzers gespeichert. BASAR erstellt
dieses User-Modell aufgrund von Beobachtungen und expliziten Fragen
an den User. Dies ermöglicht es dem System sich an den Benutzer
anzupassen.
Bei BASAR handelt es sich um ein Multi-Agentensystem, in dem drei
Grundtypen von intelligenten Agenten zusammenarbeiten:
Interface-Agents, Task-Agents und Network-Agents. Diese drei
Agententypen sollen im folgenden kurz vorgestellt werden:
[Thomas1997]
- Interface-Agents:
Interface-Agents sind die einzigen, die direkt mit dem Benutzer
kommunizieren. Sie stellen die Kommunikation zwischen dem
Benutzer und den beiden anderen Agentenarten her. Wenn ein
Task-Agent oder ein Network-Agent den Benutzer kontaktieren
möchte, stellt er eine Anfrage an den Interface-Agent. Der
Interface-Agents bestimmt mit Hilfe der Einstellungen im Usage
Profile, wann, wo und wie die Kommunikation mit dem Benutzer
stattfindet. Die Kommunikation kann zum Beispiel durch ein
blinkendes Icon realisiert werden, wenn der Benutzer anwesend
ist, oder durch E-Mail, wenn der Benutzer abwesend ist. Mit
einem neuen Active View wird automatisch auch ein Interfaceagent
geschaffen, der auf den Einstellungen im Usage Profile beruht.
- Task-Agents:
Diese Agenten unterstützen das Filtern von Informationen, den
Aufbau persönlicher Informationsräume, sowie das Finden
relevanter Information und den Zugriff darauf. Es gibt
verschiedene vordefinierten Task-Agents, die dem
Benutzer ohne weitere Konfiguration zur Verfügung stehen:
- Clean-Up-Agent:
Er ist für die Bookmarks verantwortlich. Er deckt sogenannte dead
Links auf. Das sind Links auf Dokumente, auf die nicht mehr
zugegriffen werden kann. Außerdem besteht die Möglichkeit,
Bookmark-Einträge mit einem Verfallsdatum zu versehen: Ist ein
Bookmark-Eintrag seit
Monaten nicht mehr angewählt worden, so
wird gefragt, ob dieser gelöscht werden soll.
- Search-Agent:
Unterstützt Benutzer im Gebrauch von verschiedenen Suchmaschinen
und in der Auswertung ihrer Ergebnisse. Er sammelt Information,
indem er eine oder mehrere Suchmaschinen startet und die
erhaltenen Dokumente anhand des Usage Profiles und des
Kontextes auswertet. Abbildung 10.2 zeigt das
Interface des Search-Agents.
Abbildung 10.2:
Interface des Basar Search-Agents. Es lassen sich die Schlagworte,
der Suchdienst, die möglichen Top-Level-Domains, das
Modifikationsdatum und andere Parameter angeben. Die Ergebnisse der
einzelnen Suchdienste werden entsprechend den Einstellungen
gefiltert und aufbereitet und in der Active View der Suche
dargestellt. [Thomas1997]
|
|
- Filter-Agent:
Verknüpft die gefundenen Informationen mit den Anforderungen des
Benutzers, die im Usage Profile gespeichert sind, und filtert sie
entsprechend.
- Blackboard-Agent:
Dieser Agent erzeugt eine Webseite, die als ein schwarzes Brett
für eine Active View benutzt wird. Der Benutzer kann sich damit
den momentanen Zustand des für ihn zu einem bestimmten Thema
aufgebauten Informations-Raums vergegenwärtigen.
- Monitor-Agent:
Überwacht vom Benutzer bestimmte Webseiten und informiert diesen,
wenn Veränderungen vorgenommen wurden.
- Netzwerk-Agenten:
Sie besitzen Wissen über die Client/Server-Architektur des
Internet, über die Aufenthaltsorte von Suchmaschinen, über
erreichbare Server und über Zeitzonen.
Die verschiedenen Arten von Agenten braucht der Benutzer nicht zu
kennen, da er einfach durch E-Mail, Icons und Dialogboxen mit dem
System kommuniziert. Der Interfaceagent präsentiert ihm ein
einheitliches Aussehen des Systems.
Das Multi-Agentensystem BASAR verbessert die Handhabung des World Wide
Web auf mehrfache Weise. Das System verwandelt durch das Konzept der
Active Views passive Information (z.B. Bookmarks) in aktive. Passive
Information kann veraltern oder ungültig werden. Aktive Information
wird durch intelligente Agenten auf dem neuesten Stand gehalten. Der
Benutzer wird benachrichtigt, wenn neue Information zugänglich
wird. [Thomas1997]
Benutzer können Aufgaben an ihre Agenten delegieren. So kann ein
Agent z.B. aus dem Ergebnis einer Suche diejenigen Links auswählen,
welche noch nicht betrachtet worden sind. Agenten können wiederholt
die gleichen Aktionen ausführen. Zum Beispiel ist es möglich,
automatisch jede Woche von einem bestimmten Server bestimmte Daten
anzufordern. Benutzer können Agenten den Zeitpunkt überlassen, an dem
bestimmte große Mengen an Daten übertragen werden sollen. Dann kann
sich ein Agent die nach seiner Erfahrung günstigste Zeit
aussuchen. Dadurch kann eine gleichmäßigere Auslastung des WWW
erreicht werden.
Ein Beispielsystem für die Anwendung von BASAR findet sich auf der
Internet-Seite: http://fit.gmd.de/hci/projects/basar/
Nächste Seite: II. Der Gestaltungsbereich
Aufwärts: I. Der Untersuchungsbereich
Vorherige Seite: 9. Neuronale Fuzzy Systeme
  Inhalt
Gerald Reif
2000-02-01
|