Kommunikation in Multi-Agenten-Systemen PS Einführung in die Bioinformatik

Markus Amersdorfer (markus.amersdorfer@sbg.ac.at) Michael Noisternig (michael.noisternig@sbg.ac.at)

Version: 16. März 1999 Uhrzeit: 12:30 - 13:00

LV-Leiter: Dipl.-Ing. Mag. Roland Schwaiger

Zusammenfassung

Dieser Artikel gibt eine Einführung zum Thema Agenten.

Kapitel 1

Einleitung

1.1 Was ist ein Agent?

Zu allererst muß gesagt werden, daß es keine allgemein akzeptierte Definition eines Agenten gibt. Im “Webster” wird ein Agent folgendermaßen definiert: “Ein Agent ist eine Komponente, die für eine andere, autoritätsbesitzende Komponente arbeitet, entweder als Repräsentant oder als ein Werkzeug, mit dem eine steuernde Intelligenz ein Ziel erreichen will.” Diese Definition ist schwer verständlich. [1] beschreibt einen Softwareagenten als ein Programm, das über eine ausdrucksvolle Agentenkommunikationssprache mit anderen Programmen kommunzieren kann, um Informationen (Daten und Code) auszutauschen. Agenten haben eine nachrichtenbasierte Schnittstelle, die unabhängig ist von internen Datenstrukturen und Algorithmen (design autonomy). Auf Nachrichten zeigen sie ein bestimmtes Verhalten. Jedoch besitzen auch Objekte in der Objektorientierten Programmierung (OOP) diese Eigenschaften.

1.2 Was ist der Unterschied zwischen einem Objekt in der OOP und einem Agenten?

Ein Unterschied ist, daß Agenten eine einheitliche und immer gleich verständliche Sprache haben. Dies ist jedoch nicht ausreichend, da es zum einem, wie später beschrieben, Nachrichten gibt, die gar nicht klar definiert sind und somit immer anders verstanden werden können, und zum anderen, weil auch Programme in einem System, in dem ein Kommunikationsprotokoll als Sprache verwendet wird, diese Eigenschaften erfüllen, z.B. e-mail-Programme in einem e-mail-System mit SMTP als Kommunikationssprache. [2] liefert eine wesentlich bessere Definition eines Agenten: Ein Agent ist ein Programm, das auf seine Umgebung reagieren und mit (interoperability) und ohne weitere Agenten agieren kann. Agenten können selbstständig handeln und insofern Handlungen ablehnen oder annehmen (execution autonomy). Auf den Punkt bringt es [3]: Im Gegensatz zu Objekten haben Agenten Ziele und handeln aktiv, um diese zu erreichen.

1.3 Was sind also die wichtigsten Eigenschaften eines Agenten?

• Autonomie: ein Agent kann beliebig aufgebaut sein (design autonomy) und er kann selbst wählen, welche Handlungen er ausführt (execution autonomy)

• Reaktivität: jeder Agent muß auf Veränderungen in seiner Umgebung entsprechend reagieren

• Interoperabilität: Agenten müssen Informationen mit anderen Komponenten (Agenten, Programmen, Menschen) austauschen können

1.4 Klassifizierung von Agenten

Weitere Eigenschaften kann man auch zur Klassifizierung verwenden [4], [3], [5]:

• Intelligenz: ein Agent kann die beste Lösung in einer bestimmten Situation finden

• Adaptivität, Flexibilität: ein Agent verändert sein Verhalten aufgrund seiner früheren Erfahrungen

• Zielorientierung: ein Agent arbeitet aktiv, um ein Ziel zu erreichen

• Charakter: ein Agent besitzt eine “Persönlichkeit” und einen emotionalen Status

• Mobilität: ein Agent kann sich zwischen verschiedenen Rechnern bewegen

1.5 Anwendungsgebiete für Agenten

Im folgenden einige Projekte der Software Agent Group [6] am MIT, gegründet von Pettie Maes.

1. Butterfly (1998-Present) by Neil W. Van Dyke Butterfly ist ein Agent, der stichprobenartig tausende laufende IRC-Channels (Internet Relay Chat) dursucht, und für den Benutzer interessante vorschlägt.

2. Amalthea (1996-Present) by Alexandros G. Moukas, Pattie Maes Anstatt einen Agenten mit der übermächtigen Aufgabe zu betrauen, für den Benutzer relevante jedoch weitverstreute Informationen des Internets zu sammeln, basiert Amalthea auf einem Multi-Agenten-System, welches diese Aufgabe mittels mehrerer Agenten ausführt und dem Benutzer das Ergebnis präsentiert. Weiters paßt sich das System den sich verändernden Bedürfnissen des Benutzers an.

3. Yenta (1995-Present) by Lenny Foner Yenta ist ein agentenbasiertes System, welches verschiedene Benutzer mit gleichen Interessen oder Arbeitsaufgaben gruppiert und zu zwischenmenschlicher Kommunikation anregt, dabei jedoch nicht die Privatshpäre der Einzelnen Gruppenmitglieder vernachlässigt.

4. Challenger (1996)

by Alexandros G. Moukas, Anthony Chavez, Pattie Maes Challenger ist ein Multi-Agenten-System, welches für die Durchführung von Aufgaben die Rechenzeit verschiedener Computer verwendet.

5. Webdoggie (1994-1995) by Yezdi Lashkari, Pattie Maes Webdoggie ist ein System, welches mittels zusammenarbeitendem Filtern für den Benutzer möglicherweise interessante Internetseiten findet.

Anhang A

Protokolle

A.1 9. 3. 1999, 12:30 - 13:00

Universität Salzburg, Institut für Computerwissenschaften und Systemanalyse, Büro von R. Schwaiger Teilnehmende Personen: R. Schwaiger, M. Noisternig Protokollführer: M. Noisternig

Inhalt:

Grundsätzlicher Aufbau des zu erstellenden Dokuments (in L^{A}TEX): Titelseite Abstract Einleitung zu den Fragen “Was ist ein Agent?” und “Was ist Kommunikation in diesem Zusammenhang?” Literaturverzeichnis (BIB-File)

Festlegung der Abgabe des Dokuments bis spätestens Montag 13:00 per E-Mail.

A.2 16. 3. 1999, 12:30 - 13:00

Universität Salzburg, Institut für Computerwissenschaften und Systemanalyse, Büro von R. Schwaiger Teilnehmende Personen: R. Schwaiger, M. Amersdorfer, M. Noisternig Protokollführer: M. Amersdorfer, M. Noisternig

Inhalt:

Besprechung des ersten Dokument-Entwurfs.

Zu erledigende Aufgaben:

“Unterschied zwischen Objekt (im Sinne von OO-Programmierung) und Agent” “Anwendungen für Agenten” “Klassifizierung für Agenten” “Muß ein Agent kommunizieren”

Literaturverzeichnis

[1] S. P. K. Michael R. Genesereth, Software Agents. Standford University.

[2] M. P. Singh, Agent Communication Languages: Rethinking the Principles. North Carolina State University, 1998.

[3] A. derzeit nicht erhebbar, What are agents? http://www.ee.mcgill.ca/TILDEbelmarc/UAA.whatUNDERSCOREareUNDERSCOREagents.html.

[4] A. G. Stan Franklin, Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents. University of Memphis, Insititute for Intelligent Systems, http://www.msci.memphis.edu/TILDEfranklin/AgentProg.html.

[5] P. Csurgay, Intelligent Agents for Telecoms Applications. ITEM/NTNU, http://www.item.ntnu.co/TILDEcsurgay/eunice/index.htm.

[6] S. A. Group, http://agents.www.media.mit.edu/groups/agents/.