fit 2002 > Intelligente Agenten > Konzepte und Techniken

Überblick


Konzepte und Techniken allgemein

Charakteristische Eigenschaften intelligenter Agenten

Laut [JEN] besitzen intelligente Agenten folgende charakteristische Eigenschaftten:

- Delegation: Der Benutzer gibt dem Agenten die Aufgabe, etwas auszuführen. Zum Beispiel soll dieser die billigsten Theaterkarten für ein bestimmtest Theater finden, unter der Bedingung, dass er sie noch nicht gleich kaufen muss.
- Leben unter Bedingungen: Mit dem Beispiel bei "Delegation" sehen wir auch gleich, was man unter "Bedingung" versteht. "Tu' das aber mach' nicht jenes", wenn man es banal ausdrückt.
- Persönlichkeit: Eigentlich bekommen diese Agenten immer Aufträge von einem Benutzer, einem Ding. Somit wird er auch an dessen Interesse im Tun und Handeln angepasst und erhält automatisch einen Teil der Persönlichkeit des Auftraggebers.
- Sozialität: Damit ist das Interaktionsverhalten gemeint, welches der Agent an den Tag legt. Und zwar wird interagiert mit anderen Agenten, was einer Kommunikation zwischen Menschen gleichkommt, quasi nach dem Prinzip "Geben und Nehmen" kann der Agent gewinnbringend zu neuen Erkenntnissen kommen.
- Vorhersehbarkeit: Durch die vorgegebene Programmierung werden Erwartungen an den intelligenten Agenten gestellt, welche auch dementsprechend ausgeführt werden. Selbst wenn das Resultat nicht zufriedenstellend war, kann man davon ausgehen, dass der Agent nur die Sache ausgeführt hat, zu welche er bestimmt war.
- Kosteneffizient: Damit sich ein Agent auszahlt, damit man ihn benutzt und beauftragt, sollte zumindest ein Vorteil des Auftraggebers entstehen und die Kosten sollten auf jeden Fall abgedeckt sein und er sollte auch gewinnbringend eingesetzt werden, um beispielsweise Zeit, Geld oder Überarbeitungsarbeit zu ersparen.
- Mobil: Das beschreibt die Fähigkeit, nicht nur an einer Maschine zu verweilen, sondern "Ausflüge" zu unternehmen, normalerweise werden diese Exkursionen in Netzwerken unternommen.
- Fähigkeit: Jeder Agent hat seine eigene Begabung. Dies kann von der einfachen Kommandoausführung ("Starte mir ein Programm, wenn ich Geburtstag habe") bis hin zur intelligenten Informationsauffindung sein.
- Autonomie: Ein Agent soll in der Lage sein, ohne direkte Interaktion des Benutzers, oder eines anderen Agenten, zu handeln. Weiters muss ein Agent die Kontrolle über seine Aktionen und seinen internen Status besitzen. Er kann somit selbst entscheiden, ob er seinen internen Zustand verändert oder nicht. Ein intelligenter Agent besitzt die Freiheit, selbst zu entschieden, ob und wie er auf eine Anfrage reagiert. Der Agent nimmt somit nicht nur blind Kommandos entgegen, sondern rechnet auch damit, dass der menschliche Benutzer Fehler macht, wichtige Informationen auslässt oder dass 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 muss in der Lage sein, seine Umwelt wahrzunehmen und auf Änderungen in dieser zu reagieren. Abhängig von der Aufgabe des Agenten kann die Umwelt, beispielsweise der realen Welt, dem Internet, dem Benutzer, oder auch anderen Agenten entsprechen. Damit wäre typischerweise das Thema Netzwerk genannt, in dem zu jeder Zeit Verkabelungen ausfallen können, neue Kabel entstehen, Verbindungen verlangsamen und vieles mehr.
- 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. [IC1][JEN]

Agentenmodelle

Das darunter liegende ersichtliche Bild zeigt ein einfaches Modell eines intelligenten Agenten.
In diesem Schema ist a priori ersichtlich, dass ein Agent auf einer Wissensbasis arbeitet (AI!), dass er Aufgaben zu erfüllen hat und mit anderen Agenten bzw. Personen interagieren und kommunizieren sollte [GRE]:

Agentenmodell

Konzepte und Techniken spezifisch

Mobile Agenten

Ein prägnanter Vorteil von mobilen Agenten ist, dass sie nicht an den Host gebunden sind, auf dem die Ausführung beginnt. Ein mobiler Agent kann sich selbstständig innerhalb eines Netzes von einem Host zu einem anderen transportieren ([EYM98]).
Laut [MEY97] haben mobile Agenten die Eigenschaften Mobilität, Kooperation und Autonomie. Kommunikation findet dabei z.B. über RPC, Nachrichten oder Event Services statt.
Ein mobiler Agent kann etwa ein Client sein, der von einem Server eine gewisse Information braucht. Der Client schickt also einen Client Agenten zum Server, um die Information zu beschaffen. Der Client Agent kann beim Server nun jedoch bemerken, dass er nicht alle Informationen bekommt und autonom die Entscheidung treffen zu einem weiteren Server zu gehen, um die restlichen Informationen dort zu holen. Nach erledigter Arbeit kehrt der Client Agent mit all den erworbenen Informationen wieder zum ursprünglichen Client zurück.

Laut [MEY97] ist ein Mobiler Agent

"...ein Prozess, der mehrere Prozess-Threads haben kann, deren Zustand und Code bei der Migration(1) transferiert wird."

(1) Migration - "Übersiedlung auf einen anderen Rechner"

Mobile Agenten kommunizieren miteinander durch den Austausch von Nachrichten. Diese können synchron, asynchron, RPC-Nachrichten, Text-Nachrichten, Systeminterne Nachrichten oder Events sein.
Um (mobile) intelligente Agenten kreieren zu können, benötigt man klarerweise eine Programmiersprache. Als Agentensprache wird die Programmiersprache bezeichnet, in der mobile Agenten programmiert werden. Viele Agenten werden heutzutage in Java ausprogrammiert. Nähere Informationen sind in [MEY97] zu finden.
In [MEY97] werden auch die Vorteile der Mobile-Agenten-Architektur erörtert. Dazu zählen unter anderem

- vorwiegend "billige" lokale Kommunikation

- Agenten können autonom arbeiten

- weitgehende Unabhängigkeit von Netzprotokollen

- Agenten können in dynamischen Umgebungen agieren

- Agenten als Middleware

- gute Realisierung der Realität

- hohe Skalierbarkeit.

Sicherheit bei mobilen Agenten besteht aus mehreren unterscheidbaren Aspekten:

- Sicherheit zwischen zwei Agenten an einem Ort

- Sicherheit zwischen Ort und Agent

- Sicherheit zwischen zwei Orten

- Sicherheit zwischen Orten und nicht autorisierten Dritten

Mobile Agenten werden basierend auf die vorher erwähnten Konzepte für Zwecke der Analyse, des Netzwerkmanagements (z.B. Bandbreitenersparnis, da nicht alle einzelnen Anfragen über das Netz geschickt werden, sondern der mobile Agent viele Anfragen direkt vor Ort beim Server stellen kann), Push-Technik, Mobile Computing, Extranets, etc. eingesetzt. Notwendige Eigenschaften eines mobilen Agenten sind laut [EYM98]:

- Zustand wird benötigt, um nach dem Transport mit der Ausführung fortzufahren

- Implementation für eine plattformunabhängige Ausführung

- Interface für die Mensch-Agent-Kommunikation

- Identifikation um reisende Agenten eindeutig identifizieren zu können

- Eigentümer/Prinzipal für rechtliche und moralische Verantwortung der Handlungen

Multiagentensysteme

Ein Multiagentensystem ist ein System interagierender Agenten. Jeder einzelner Agent operiert in gewissen Grenzen selbstständig, kooperiert jedoch mit den anderen Agenten des Systems. Ziel ist es ein großes Problem auf kleinere Probleme aufzuspalten, die dann von den einzelnen Agenten gelöst werden um dann auf die Lösung des übergeordneten Gesamtsystems zu gelangen. Dies führt bei der Erstellung eines Multiagentensystems zu drei grundlegenden Probleme, die man als die drei K´s bezeichnen kann. Auf der untersten Ebene steht eine softwareorientierte Umgebung. Darauf aufbauend können die Agenten miteinander in Kontakt treten (Kommunikation) und somit gemeinsam (Kooperation) an der Lösung der Aufgabenstellung arbeiten. Damit die Problemlösung nicht in einem Chaos endet, müssen die Agenten in gewisser Art und Weise gelenkt (Koordination) werden.
Siehe hierzu [2].

Das Problem der Koordination

Wie oben bereits erwähnt besteht der Sinn eines Multiagentensystems darin das gegebene Problem zu partitionieren um somit eine Dezentralisierung zu erreichen. Eine Verteilung der Problemkomponenten durch eine zentrale Stelle würde demnach dem Sinn der Sache widersprechen. Die Entscheidung auf welche Art das Problem verteilt werden soll liegt daher in der Obhut der beteiligten Agenten.

Das Problem der Kommunikation / Kooperation

Wie in allen sozialen Strukturen kommt auch in Multiagentensystemen der Kommunikation der einzelnen Agenten untereinander eine primäre Bedeutung zu. "Keine Interaktion ohne Kommunikation", wäre eine geeignete Phrase um der Relevanz dieses Problems Ausdruck zu verleihen. Im Laufe der Entwicklung bildeten sich, laut [3], drei unterschiedliche Ansätze:

Kooperation ohne Kommunikation

Der Name dieses Konzepts scheint im Widerspruch zum obigen Leitsatz zu stehen. Hierunter versteht man jedoch, dass die Kommunikation nicht auf direktem Wege erfolgt sondern indirekt, zum Beispiel durch Interaktion mit der Umwelt. D.h. will ein Agent den Anderen etwas mitteilen verändert dieser die Umwelt, diese Änderung kann dann von den anderen Agenten erkannt werden.
Man kann mehrere Fälle unterscheiden wie man mit Hilfe dieses Ansatzes ein koordiniertes Verhalten der beteiligten Agenten zu erhalten. In den nächsten zwei Absätzen werden kurz zwei dieser Fälle vorgestellt.
Zu einem wäre das simple Reiz- Reaktions Schemata herauszuheben, wo der bzw. die Agent(en) über einen gewissen Pool an Reaktionen verfügen, aus denen sie eine oder auch mehrere, abhängig von den Ereignissen (Reizen) in ihrer Umwelt, auswählen.
Zweitens, sind auch deliberative Agenten dazu befähigt koordiniert zu handeln, wenn alle Agenten einen gemeinsamen Verhaltensstandart befolgen. Dieses einfache Schema soll nun kurz anhand einiger unterstützender Abbildungen erklärt werden.

Agent

Dieses Bild zeigt wohl die einfachste Form eines Reiz-Reaktionsagenten, oder auch Reflexagenten. Die Umgebung wird über die Sensoren wahrgenommen. Je nach dem, was wahrgenommen wurde, wird eine Aktion gewählt und mit dieser Aktion wiederum die Umwelt beeinflusst.

Agent

Dieses Bild dagegen zeigt bereits einen sehr viel fortgeschritteneren Agenten, der schon zielbasiert und nutzenbasiert arbeitet. Bevor eine Aktion gewählt wird, wird zunächst mal vorausschauend untersucht, wie sich die Welt dadurch verändern würde und ob diese Veränderung im Sinne des Agenten ist, sprich, ob der Agent dadurch näher zu seinem Ziel kommt. Außerdem fragt sich der Agent noch, ist er im dann folgenden Zustand "glücklich". Stellt sich jetzt nur die Frage, wann ist ein Agent glücklich? Wenn er durch eine Aktion, einen Wechsel in einen anderen Zustand durchführt, der für ihn von Nutzen ist.

Kooperation in geschlossenen Systemen

Um die Komplexität der Kommunikation in Grenzen zu halten kommunizieren Agenten über ein festgelegtes Protokoll. Eines der bekanntesten Protokolle ist das Kontraktnetz Protokoll. Dieses hat als Vorbild das Konzept von Angebot und Nachfrage, welches hinlänglich aus der Marktwirtschaft bekannt ist. Dabei wird folgendermaßen vorgegangen. Will ein Agent eine Aufgabe weitergeben, unterbreitet er sein "Angebot" den anderen Agenten im System. Interessierte Agenten melden sich dann bei ihm, und teilen ihm ihr "Gebot" mit. Aus der Menge der Rückmeldungen kann er dann jenes wählen, welches im am "lukrativsten" erscheint.

Kooperation in offenen Systemen

Hier handelt es sich um den komplexesten der hier vorgestellten Ansätze. Der Begriff wurde von Hewitt [] eingeführt. Dabei handelt es sich um Systeme, wo Entscheidungen von den Agenten lokal getroffen werden, und es somit jederzeit zu einem nicht beabsichtigten, unerwarteten Verhalten des Systems kommt. Für nähere Informationen sei auf [] verwiesen.

Agenten zur Wissensauffindung im WWW

Zu diesem Gebiet der intelligenten Agenten, finden sich viele unterschiedliche technologische Ansätze. Aus diesem Grund werden einige interessante Ansätze in Form von Beispielen angeführt, die so in ihrer Form auch schon tatsächliche realisiert wurden.

BASAR

Folgende Ausführungen basieren auf [4]. Basar ist ein System welches dem User bei der Informationssuche im Internet unterstützt. Für jeden User wird ein Agent zugeteilt, dessen Aufgabe es ist, den globalen Informationsraum (WWW) so einzuschränken, das der Anwender eine für sich brauchbare, zweckmäßige Sicht auf die benötigten Informationen erhält. Ein solcher persönlicher Informationsraum, wird im System als Active View bezeichnet. Da es mehrere Personen geben kann, die die gleichen Interessen verfolgen existieren neben den Active View´s noch sogenannte Group Views. Damit der Informationsraum immer am aktuellen Stand ist, entfernen die Agenten immer selbstständig ungültig bzw. veraltete Informationen aus dem Raum. Wissen über die Vorlieben des Benutzers wird einerseits über direkte Eingaben (-> Interfaceagenten) gewonnen und andererseits über ständige Observation. BASAR selbst ist ein Multiagentensystem, welches aus Interfaceagenten, Aufgabeagenten und Netzwerkagenten besteht. Diese drei Gruppen von Agenten teilen sie die Arbeit, so übernehmen zum Beispiel die Interfaceagenten als einzige Gruppe die Kommunikation mit dem User. Die Aufgabenagenten unterstützen unter anderem das Filtern der Informationen und die Netzwerkagenten besitzen das benötigte Wissen über das Internet (z.B. wo sich Suchmaschinen befinden).

Basar

Dieses Bild zeigt das Konzept von BASAR. Man erkennt die Kommunikation zwischen den einzelnen beteiligten Agentengruppen. Der User kann mit den Agenten über ein Interface kommunizieren (links unten). Sowohl User als auch Agent arbeiten im selben Arbeitsumfeld.

LETIZIA

Letizia ist eine neue Form von Agent, ein sogenannter Aufklärungsagent. Der Begriff wurde aus dem militärischen übernommen. Eine Aufklärungsmission soll unbekanntes Terrain erkunden, bevor die Truppen ankommen um dieses zu betreten. Wenn wir das auf eine Webpage bzw. auf das Internet allgemein übertragen, kann man sagen, dass jeder Link auf einer Webpage unbekanntes Terrain darstellt. Jeder Klick auf einen Link gibt einem Hoffnung das sich dahinter etwas interessantes verbirgt. Manchmal wird diese Hoffnung erfüllt, manchmal nicht. Fest steht jedoch, dass man, um das zu ergründen viel Zeit benötigt. Und genau diesen Teil übernimmt Letizia. Dazu arbeitet der Agent mit einem konventionellen Webbrowser zusammen (Bild unten).

Letizia

Dieses Bild zeigt die Oberfläche von Netscape mit integriertem Letizia. Links das normale Browserfenster des User´s. Rechts oben die Letizia Such-Kandidaten und rechts unten schliessliche die Vorschläge von Letizia.

Dazu muss der Agent aber wiederum wissen, welche Interessen der User verfolgt. Anders als jedoch BASAR bezieht Letizia ihre Informationen ausschließlich aus der Observation des Users. Jede Auswahl des Users wird mitprotokolliert und jede Seite die sich der Anwender anschaut wird gelesen. Diese Seiten werden anhand des TF-IDF (term frequency - inverse document frequency) Verfahren analysiert. Dieses Verfahren basiert auf der These, das Wörter die im allgemeinen selten vorkommen im untersuchten Dokument aber sehr oft, am aussagekräftigsten für den Inhalt des Dokumentes sind. Laut [] ist das Verfahren nicht sehr zuverlässig, aber schnell, und kann als Platzhalter für kommende bessere Algorithmen dienen.
Während die Person vor dem Monitor sich die Webpage anschaut, führt der intelligente Agenten eine inkrementelle Breitensuche durch und kann so einen stetigen Fluss an empfehlenswerten Webpages bereitstellen.
Im Gegensatz zu Searchengines die einfach eine "Ansammlung an Links" sind, berücksichtigt Letizia den Zusammenhang von Webpages über Links. Links werden ja vom Autor der Seite gesetzt, um die Relevanz zwischen zwei Seiten hervorzuheben. Was liegt also näher, als diesen Fakt zu berücksichtigen? Die Menge von Seiten die nur über ein paar Links mit der momentan betrachteten verbunden sind werden zu einer sogenannten semantic neighborhood zusammengefasst. In dieser semantic neighborhood führt Letizia dann eine Tiefensuche durch.
Grundsätzlich kann man sagen der User führt die Tiefensuche und Letizia die Breitensuche durch [1].

Virtuelle Agenten

vorerst muss definiert werden, was ein virtueller agent ist: dies kann als "intelligent handelnde dreidimensionale entitaet, welche eine festgelegte funktion erfuellt", verstanden werden [Scheutz01]. die techniken um eine solche anforderung zu gewaehrleisten, lassen sich wie folgt kategorisieren:

- 3D-methoden zur echtzeitdarstellung von polygonalen objekten

- formal-logische methoden und automatentheorie zum regelbasierten schliessen in echtzeit

- wegen modellierung des menschlichen geistes und verhaltens mit obigen mitteln

vorallem der letzte punkt ist interessant. die menschlichen handlungsmuster werden vorerst unterteilt in [Chen01]:

- emotionale handlungen (intrinsische ziele, affektive handlungen)

- motivierte handlungen (objektive ziele)

- von aussen kommende einschraenkende zwaenge und vorgaben

der umfang und hintergrund dieser studien ist zu umfangreich fuer diese elaboration, im allgemeinen existiert aber eine gemeinsamkeit hinsichtlich der hierarchischen unterteilung von zielen (zum beispiel nach der maslowschen beduerfnispyramide). ein ziel ist umso wichtiger, je tiefer grundlegender es fuer die beduerfniserfuelleung des agenten ist.

auch mobilitaet ("mobile virtuelle agenten") ist ein bedeutendes technisches merkmal von solchen systemen, da die rechenleistung einer einzigen monolythischen maschine nicht ausreicht, um fuer alle agenten das verhalten zu berechnen. konzepte wie corba, java-rmi oder rpc helfen bei der kommunikation zwischen den agenten, die gemeinsame plattform ("virtuelles environment") wird von einem server gemanaged [Mendez01].

auf der untersten eben bestehen alle virtuellen agenten aus sensoren und effektoren (stimulus-effekt). die wahrnehmung der eindruecke wird von erfahrung und haltung des agenten gepraegt, die letztendliche handlung haengt unmittelbar vom dominanten ziel ab [Richard 01]. die meisten avatare benutzen geskriptete regeln, um die abfolge von handlungen zu definieren, die eintritt, sobald ein bestimmter reiz vorhanden ist.

Interfaceagenten

Ein Konzept aus der künstlichen Intelligenz(KI) war der Agent. Die Softwaretechnik befasst sich mit künstlicher informationsverarbeitender Systemen, die ihre Fortschritte durch Entwicklung neuer Softwarearchitekturen und -Konzepte auf der Basis der Hardwaretechnologie erzielen.
Da sich intelligente Agenten an seinen Nutzer anpassen kann, sind auch psychologischen und soziologischen Konzepte für den intelligenten Agenten relevant, wie etwa zielorientiertes Verhalten, Rationalität, verschiedene Strategien, Gruppendynamik.
Mit alldem muss sich der Entwickler Gedanken machen um für den Nutzer einen vorteilbringenden Agenten zu schaffen zu können.
Denn ein Agent ist erst dann sinnvoll, wenn er Arbeit abnimmt, die der Benutzer auch machen könnte, jedoch mit Hilfe eines Agenten sich auf andere Sachen konzentrieren kann. Nun stellt man sich die Frage ab wann braucht man überhaupt einen Agenten? Wenn man nicht mehr Zeit investiert, wie man sich dann später einspart.
Ein andere Frage wäre die Wirtschaft, wie sehr die Agenten diese beeinflussen werden und welche Konsequenzen könnten daraus entstehen.

Teilaufgaben von Agenten

Einige Problemstellungen der Wissensverarbeitung sind sehr kompliziert und umfangreich. Schon alleine wenn man das Internet hernimmt um Informationen zu suchen. Daher ist es auch sehr schwierig beziehungsweise nicht möglich ein konventionelles Programm mit einer guten Qualität zu erstellen, welches die Aufgaben lösen kann.
Unter solchen Programmen werden Systeme verstanden, die Lösungen zu einem Gesamtproblems mit Hilfe eines komplexen zentralen Programms erstellt. Sie können auch in einzelne Module aufgeteilt werden. Allgemein stellt die Verwendung von intelligente Agenten nun einen Ansatz dar, mit dessen Hilfe komplexe, verteilte Problem bewältigt werden können. Daher wird das Gesamtproblem in kleinere Teilprobleme zerlegt, die dann eventuell von Agenten ausgeführt werden( siehe Abbildung).

Eine große Motivation für die Entwicklung von intelligenten Agenten stellt, wie schon erwähnt, das Internet dar. Das Internet wächst ständig und ist so ein Art Behälter wo sich immer mehr Wissen anhäuft und gespeichert wird. Genauer gesagt ist das Internet ein Wissensspeicher, in dem die Informationsressourcen verteil über das Netz auf unterschiedliche Rechnern gespeichert sind. Das Problem beim Internet ist, dass das neu dazu gewonnen Wissen an Informationen nicht koordiniert und inhaltlich geordnet wird.
Somit ist ein konventionelles Software-System nicht in der Lage eine geeignete Suchhilfe anzubieten. Um dieses Problem lösen zu können wird an die Entwicklung von Systemen gearbeitet, die auf der Verwendung von verteilten und intelligenten Agenten aufbauen.
So können Agenten zwar nicht die richtige Informationen, woher auch sie wüssten auch nicht welcher Information wichtiger ist als die andere, sondern sie können den Datenmüll von qualitativen Information aussondern.

Ein anderes Problem, welches man mit intelligenten Agenten zu lösen versucht, ist die steigende Verbreitung von Computersystemen und dadurch die damit steigende Anzahl der Benutzer. Oder auch der steigende Funktionsumfang der Programme.
Zum ersteren, durch die wachsenden Benutzerzahl sinkt die Qualifikation der Benutzer, jedoch werden die Programme immer umfangreicher und komplexer und fördern somit längere Einschulungszeit. Für moderne Computersysteme mit einem großen Funktionsumfang, einfacher zu gestalten so das auch einfache Anwender sie nutzen kann, werden den Anwender intelligente Agenten zur Hilfe gestellt, welche ihnen Ratschläge und Tipps geben und bei der Bedingung unterstützen sollen.[1]

Zum Realisieren eines animierten Interface-Agenten braucht man eine geeignete Softwareplattform, die notwendige Basistechniken für Animation und Steuerung bereitstellt[3]. Man braucht diverse Programme um eine Agenten Charaktere zu erstellen. Man muss sich auch mit verschiedene Mimiken und Gemütszustände beschäftigen um Charakter später lebendiger und realistischer darstellen zu können. Auch sollte man sich schon im vorhinein im klaren sein ob die Charaktere comichaft oder realistischer ausschauen soll, demnach werden die Gesichtszüge entwickelt.

Mimiken fürs Sprechen

Allgemein ist es aber noch ein Wunschtraum die Realisierung eines idealen intelligenten Suchagenten bzw. eines idealen Informationssystems mit den Stand der heutigen Technik. Mit der heutigen Technologie lässt sich nicht wirklich ein intelligenter Agent verwirklichen, aber auch wenn eines Tages Programme entwickelt werden können, die die Vorstellungen eines Intelligenten Agenten nahe kommen, werden mit großer Wahrscheinlichkeit noch weitere Probleme auftauchen.

Intelligente Agent sollten gestellte Anfragen verstehen und in Teilaufgaben zerlegen beziehungsweise sollten sie selbständig arbeiten. Außerdem muss er sich der äußeren Umgebung anpassen.
Es sollen so gut wie es geht alle Informationsmöglichkeiten des Internets wie Newsgroups, herunterladbare Dokumente in betracht gezogen werden.
Auch muss er Fehler und Ungenauigkeiten der Anfragen einplanen und er sollte auch durch Nachfragen und Kombination die Informationslücke schließen. Dabei ist auch die schon gesammelten Erfahrungen über den Nutzer ein großer Vorteil.
Der Agent sollte die Anfragen bearbeiten, ohne dass ihn der Nutzer dazu direkt auffordert, beispielsweise wenn er wartet, bis die Netzbelastung niedrig ist. Auch sollte er sich seine Informationen durch Informationsaustausch mit weitere Agenten oder Programme beschaffen können.
Der Entwickler muss sich Gedanken machen bezüglich des Design einer Benutzerschnittstelle, die für die Kommunikation mit den Agenten und sein Agenten dient. Der Entwickler muss sich Fragen stellen wie etwa wie und auf welcher Weise der Besitzer seinen Agenten seine Wünsche mitteilen.
Es ist auch wichtig das er sich an seinen Benutzer anpassen kann. ( soll selbständig die besseren Lösungen suchen).
Die Sicherheit ist auch sehr wichtig, denn das Programm darf keinesfalls von Unautorisierten ausspioniert werden können[2]. Da wenn der Agent schon die Daten ohne Einverständiniss seines Besitzer preisgibt wirken seinen gefunden Daten für unglaubwürdig da sie manipuliert sein könnten.

Technische Details der Sicherheit in Agentensystemen

laut [AGS] ist die notwendigkeit von agentensicherheit vorallem darin begruendet, dass in den letzten jahren die inanspruchname solcher helfer im wirtschaftlichen umfeld stetig zugenommen hat. der grund dafür ist, dass bei der vielfalt an angeboten die elektronisch abgefragt werden können eine übersichtliche darstellung und/oder zusammenstellung von angeboten sinnvoll ist. diese vorstellung stellt somit auch den grundstein für alle intelligenten agenten dar. der sicherheitsaspekt wurde im kontext des immer weiter kommerzialisierten internets laut, derart, dass sich der kunde vor betrügerischen agenten schützen muss [AGS]. dies bedeutet nicht nur die sicherung des codes und der abarbeitungsreihenfolge des mobilen agenten, sondern auch der schutz desselben vor dem zugriff des interpreten auf rechner wo er läuft. technisch gesehen verlässt der agent die sicherheitsumgebung seines servers und arbeitetet auf dem zielcomputer, gewissermassen wie der in den späten 80er jahren des vergagenen jahrhunderts aufgetretene internet-wurm [FKS, SPAT]. somit ist der historische kontext klar, in einer zeit in der das internet als zusehends an kraft gewinnende bedrohung gesehen wird und immer noch an stärke gewinnt. auch sind schon seit besonders im microsoft-umfeld viren im umlauf, die man ja auch als agenten mit bestimmten einstellungen bezeichnen kann [AGS] . ein wichtiger beitrag zur diskusion rund um sicherheit baut daher auf dem begriff des vertrauens gegenüber inhalten und programmen auf. das im geschäftsbereich übliche vertrauen (jemand der in einer firma arbeitet wird höchstwahrscheinlich auch sinnvolle arbeit leisten) wurde von den programmierern mit in das konzept von agentensicherheit übernommen [AGS]. auch wurde die metapher der bürgschaft durch unterschrift mit übernommen [VERI]. als weiterer schutz wurde verschlüsselung hinzugenommen [AGS].

da frühe vorstellungen über sicherheit von agenten scheiterten, versuchte man nun, den umgekehrten weg einzuschlagen. agenten und generell jede art von fremden code wurde als potentiell gefährlich eingeschätzt, und daher potentiell gefährlich [AGS]. daher wird nur ein bestimmter bereich des systems zur verfügung gestellt, die sogenannte "sandbox".
ein aufschliessen der sandbox und der zugang zu mehr ressourcen erfolgt dabei für vertrauenswürdige agenten (oder, wie bei [AGS], applets). ein weiteres konzept ist die einführung sogenannter "reputation agents", welche bereits von "vertrauenswürdiger" stelle ausgeführt wurden und daher als sicher erachtet werden. auch sind sogenannte "detection objects" im umlauf, das sind fest definierte daten, mit denen agenten gefüttert werden um die echtheit und korrektheit ihrer arbeit zu überprüfen. eine weitere vorgangsweise besteht darin, den code solcherart umzubauen, dass die zeit zum verständnis desselben möglichst lange wird. das geschieht periodisch, und die zielumgebung akzeptiert nur den neuesten code. kann der code daher nach einer gewissen zeitspanne entschlüsselt und verstanden werden, nützt es dem hacker nichts, denn das eben entschlüsselte programm wird nicht mehr akzeptiert [AGS, "Code Mess Up"].

Referenzen

[JEN] Nicholas R. Jennings, Michael J Wooldridge
"Agent Technology"
Springer Verlag, 1998

[GRE] >[http://www.iicm.edu/greif]

[Scheutz01] Autonomous Avatars ? From Users to Agents and Back

[Chen01] Equipping a Lifelike Animated Agent with a Mind

[Mendez01] An Overview of the Use of Mobile Agents in Virtual Environments

[Richard01] The InViWo Toolkit: Describing Autonomous Virtual Agents and Avatars

[AGS] >[ www.swe.uni-linz.ac.at/teaching/lva/ss00/seminar/AgentenSicherheit.pdf]

[FKS] >[ www.funkschau.de/heftarchiv/pdf/2000/fs06/fs0006048.pdf]

[SPAT] E. Spatford: "The Internet Worm Program", Computer Communication
Review 19(1), January 1989

[VERI] >[www.verisign.com]

[1] >[ http://www.iicm.edu/greif/node12.html]

[2] >[ http://www.puhli.de/uni/papers/ia/int_agenten.html]

[3] >[ http://www.gris.informatik.tu-darmstadt.de]



Weiterführende Informationen




Verweise auf Arbeiten anderer gruppen



Wissen bzw. Information, das von (mobilen) Agenten beschaffen wird, muss strukturiert dargestellt werden. Eine Erklaerung, was Wissen, was Information und was Daten sind, bekommt man bei Gruppe 8.

>[ http://cartoon.iguw.tuwien.ac.at:16080/fit/fit08/team9/welcome.html]


>Entstehungskontext | Konzepte und Techniken | Entwicklung und Auswirkungen | Praxis | Bewertung