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]:
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.
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.
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).
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).
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.
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.
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]
|