Intelligente Softwareagenten

Torsten Kwast, wi3113


Seminar Linux, WWW, Java und Internet
1. Einleitung      Intelligente Softwareagenten      3. Grundlagen

2. Definition(en)

Übersicht




Seitenanfang nächster Abschnitt

Was genau ist ein Agent?

Diese Frage zu beantworten ist gar nicht so einfach. Es gibt leider keine eindeutige, allgemein anerkannte Definition darüber, was genau ein Agent ist. Die Beschreibungen der Wissenschaftler und Entwickler, die sich täglich damit beschäftigen, gehen teilweise erheblich auseinander, da ihre Sichtweisen stark davon abhängen, mit welchem Agenten sie sich gerade befassen.
Außerdem gibt es derzeit einen Trend in der Softwareindustrie, aus Marketinggründen jedes "neuartige" Stück Software als Agenten zu bezeichnen, was die Sache einer klaren Definition nicht gerade vereinfacht.

Im folgenden sind fünf Definitionen aufgeführt, die einen Eindruck vermitteln, wie unterschiedlich die Auffassungen teilweise sind. Sie wurden jeweils im Zusammenhang mit einem bestimmten Agenten gegeben.



Anhand dieser Auswahl von Aussagen ist erkennbar, daß eine eindeutige Definition von Agenten nicht so einfach möglich ist. Hinzu kommt, daß die meisten Definitionen Begriffe (wie zum Beispiel Umwelt und logisches Denken) verwenden, die wiederum nicht klar in der jeweiligen Definition beschrieben werden, also unterschiedliche Interpretationen erlauben.
Außerdem werden in jeder Definition jeweils nur Teilaspekte, von dem was einen Agenten ausmacht, berücksichtigt.




Seitenanfang vorheriger Abschnitt nächster Abschnitt

Merkmale von Agenten

Nichtsdestotrotz gibt es eine Reihe von Attributen, die bei der Definition von Agenten wiederholt verwendet werden. Dazu gehören unter anderem:

Autonomie meint das selbstartende Verhalten des Agenten. Er löst seine Aufgabe ohne das der Anwender ständig einschreiten muß.
Intelligenz der Agent versucht die ihm gestellten Aufgaben durch eigenes Denken zu erfüllen. Das kann zum Beispiel mittels einer Menge von Regeln bzw. aus Regeln abgeleiteter Regeln geschehen.
Adaption ist die Fähigkeit des Agenten durch eigene Erfahrungen zu lernen und dadurch das eigene Verhalten zu verbessern.
Reaktivität ein Agent nimmt seine Umwelt wahr und reagiert auf Veränderungen, die in ihr stattfinden.
Unabhängigkeit wird ausgedrückt durch die Konkretheit, mit der einem Agenten eine Aufgabe gestellt wird, d.h. je enger eine Aufgabe definiert ist, desto abhängiger ist der Agent.
Kontinuität meint die Aufrechterhaltung von Identität und innerem Zustand des Agenten über einen längeren Zeitraum.
Kommunikation ist die Fähigkeit des Agenten sich mit dem Benutzer und insbesondere mit anderen Agenten zu verständigen.
Mobilität ist vorhanden, wenn sich ein Agent selber von einem Computer auf einen anderen senden kann.

Diese Aufzählung ließe sich natürlich nach Belieben fortsetzen. Jedoch würde eine Definition, in der alle möglichen Eigenschaften eines Agenten aufgeführt sind, ihren Zweck, kurz und präzise zu sein, nicht erfüllen.




Seitenanfang vorheriger Abschnitt nächster Abschnitt

"Weak Notion of Agency"

Jennings und Wooldridge fassen deshalb in ihrer Definition, die in der Fachliteratur auch als "Weak Notion of Agency" (also: weiche Charakterisierung eines Agenten) bezeichnet wird, die wichtigsten der Attribute zusammen, die ein Agent besitzen muß, um als solcher bezeichnet zu werden.

Sie bezeichnen einen Agenten als ein System,

"... das die folgenden Eigenschaften besitzt:

Autonomie
(autonomy)
Agenten operieren ohne das direkte Einschreiten des Anwenders und haben eine gewisse Kontrolle über ihre Aktionen und inneren Zustand.
Soziale Fähigkeiten
(social ability)
Agenten interagieren mit dem Anwender und mit anderen Agenten mit Hilfe einer Agentenkommunikationssprache. Die Kommunikation erfolgt auf einer semantischen statt auf einer syntaktischen Ebene, d.h. sie erfolgt nicht über Befehle sondern über Aufforderungen, Angebote, Anfragen, Erklärungen etc.
Reaktivität
(reactivity)
Agenten nehmen ihre Umwelt wahr und reagieren rechtzeitig und in einer angebrachten Art und Weise auf Veränderungen, die in ihr stattfinden. Unter Umwelt wird verstanden: ein Anwender via graphischer Benutzeroberfläche, eine Ansammlung anderer Agenten, das Internet oder dies alles zusammen.
Voraushandlung
(pro-activeness)
Agenten reagieren nicht einfach nur auf die Umwelt, sondern sie sind auch in der Lage zielgerichtetes Verhalten an den Tag zu legen, indem sie die Initiative ergreifen."



Seitenanfang vorheriger Abschnitt nächster Abschnitt

"Stronger Notion of Agency"

Durch die Einführung weiterer Merkmale kann die vorstehende Definition verschärft werden. Es wird dann von einer verstärkten Charakterisierung ("Stronger Notion") gesprochen.
Diese wird ereicht, indem dem Agenten "mentalistische" Eigenschaften, wie zum Beispiel Überzeugungen (beliefs), Absichten (intentions), Verpflichtungen (commitments) etc. zugeschrieben werden. Alle diese Zustände werden nach vorgegebenen Regeln verändert oder kreiert.
Das Konzept der mentalistischen Eigenschaften wurde von Shoham entworfen. Für ihn ist die Bezeichnung Agent auch nur dann gerechtfertigt, wenn sich dieser nicht durch andere, einfachere Systeme erklären läßt.




Seitenanfang vorheriger Abschnitt

Zusammenfassung

Zusammenfassend kann gesagt werden, daß es keine eindeutige Definition gibt. Die Schwierigkeit besteht darin, den Agenten zu beschreiben und gleichzeitig von normaler Software abzugrenzen. Das hat zwei Gründe:
  1. Eine bestimmte Menge der Agenteneigenschaften trifft auch immer auf normale Programme zu, womit die Definition "schwammig" wird.
  2. Auf der anderen Seite kann ein Agent nicht genau genug beschrieben werden, indem nur solche Attribute verwendet werden, die nicht auf Standardsoftware zutreffen.
Ein mathematisches Konzept könnte eine eindeutige Definition liefern. Doch auch die von Franklin und Graesser auf dieser Grundlage entwickelte Definition versagt an den "Kanten" (Extremen).
Passend dazu muß festgehalten werden, daß die meisten Softwareagenten, die heute existieren für einen ganz speziellen Zweck geschaffen wurden, d.h. sie können die meisten der oben aufgeführten Eigenschaften gar nicht vorweisen.

In den folgenden Kapiteln werde ich mich an der Definition von Jennings und Wooldridge ("Weak Notion of Agency") orientieren. Bei der Agentenprogrammierung kommt dann das Konzept von Shoham ("Stronger Notion of Agency") zum Tragen.


Die nachstehende abschließende Bemerkung von Bradshaw zeigt, wie sich der Umgang mit dem Begriff 'Agent' in Zukunft gestalten könnte:

" Letztendlich werden Zeit und Erfahrung sowohl die Bedeutung als auch die Überlebensfähigkeit des Begriffs Agent bestimmen. ... Indem die öffentliche Auseinandersetzung mit nützlichen und technisch realisierbaren Implementationen von Agentensoftware zunimmt, wird der Term Agent etwas bedeuten, was jedermann versteht, weil er schon viele Beispiele dafür gesehen hat oder er wird ungebräuchlich, weil er einen Begriff beschreibt, welcher nicht länger angebracht ist. "



Seitenanfang

Seminar Linux, WWW, Java und Internet
1. Einleitung      Intelligente Softwareagenten      3. Grundlagen