In dieser Seminararbeit soll der Frage nachgegangen werden, wie die Kommunikation zwischen Softwareagenten abläuft. Neben einigen Grundlegenden Fragen (Was ist Kommunikation eigentlich?) wird daher zu Beginn ein Vergleich der verschiedenen möglichen Formen durchgeführt, wie die Kommunikation zwischen Agenten strukturell aufgebaut sein kann. Daran anschließend wird es als Einschub einige Erläuterung zur Sprachakttheorie geben, die für das spätere Verständnis zum Aufbau von Kommunikationsprotokollen sehr wichtig ist. Zum Schluss werden dann mehrere Kommunikationssprachen ausführlicher vorgestellt.
Kommunikation ist für Agenten essentiell wichtig, um an ihn gestellte Aufgaben bewältigen zu können. Ohne die Fähigkeit zur Kommunikation besteht keine Möglichkeit, von anderen Agenten zu lernen oder Informationen von diesen zu erhalten – was aber zur Lösung von komplexeren Aufgaben unabdingbar ist. In dieser Seminararbeit soll daher der Frage nachgegangen werden, wie Agenten möglichst effizient untereinander kommunizieren können.
Inhaltsverzeichnis
Einleitung
1) Grundlagen der Kommunikation
1.1) Der Begriff „Kommunikation“
1.2) Wozu wird Kommunikation bei Agenten benötigt?
1.3) Formen der Kommunikation von Agenten
2) Regeln der Kommunikation
2.1) Der Akt des Sprechens
3) Agentenkommunikationssprachen
3.1) Arten der Nachrichten zwischen Agenten
3.2) KQML
3.2.1) Grundlagen
3.2.2) Aufbau einer Nachricht
3.2.3) KQML – Eine Beispielkommunikation
3.2.4) Vermittler-Agenten
3.3) FIPA-ACL
4) Sprachen für den Inhalt von Kommunikationsakten
4.1) KIF
4.2) SQL
Zusammenfassung
Literaturnachweis
Einleitung
In dieser Seminararbeit soll der Frage nachgegangen werden, wie die Kommunikation zwischen Softwareagenten abläuft. Neben einigen Grundlegenden Fragen (Was ist Kommunikation eigentlich?) wird daher zu Beginn ein Vergleich der verschiedenen möglichen Formen durchgeführt, wie die Kommunikation zwischen Agenten strukturell aufgebaut sein kann. Daran anschließend wird es als Einschub einige Erläuterung zur Sprachakttheorie geben, die für das spätere Verständnis zum Aufbau von Kommunikationsprotokollen sehr wichtig ist. Zum Schluss werden dann mehrere Kommunikationssprachen ausführlicher vorgestellt.
Kommunikation ist für Agenten essentiell wichtig, um an ihn gestellte Aufgaben bewältigen zu können. Ohne die Fähigkeit zur Kommunikation besteht keine Möglichkeit, von anderen Agenten zu lernen oder Informationen von diesen zu erhalten – was aber zur Lösung von komplexeren Aufgaben unabdingbar ist. In dieser Seminararbeit soll daher der Frage nachgegangen werden, wie Agenten möglichst effizient untereinander kommunizieren können.
1) Grundlagen der Kommunikation
1.1) Der Begriff „Kommunikation“
Nach Wikipedia versteht man unter Kommunikation „die Übertragung von Informationen durch das Austauschen von Daten“ [01]. In der Praxis führt diese relativ allgemein gehaltene Definition dazu, dass sehr unterschiedliche Aktionen als Akt der Kommunikation gelten. Vom einfachen Schrei (z. B. bei Tieren als Signal zur Warnung der Artgenossen vor Feinden) über die teilweise keiner Grammatik-Regel gerecht werdende freie Sprache in menschlichen Unterhaltungen bis hin zur formal genauestens definierten Kommunikation von Computern bzw. anderer elektronischer Geräte.
Allen gemeinsam ist jedoch eines: Der Sender und der Empfänger der Nachricht müssen sich vor Beginn des eigentlichen Kommunikationsaktes auf eine gemeinsame Form und Sprache der Kommunikation geeinigt haben. Andernfalls werden sich Sender und Empfänger nicht verstehen, die Kommunikation als solche würde dadurch nutzlos werden.
1.2) Wozu wird Kommunikation bei Agenten benötigt?
Für viele Aufgaben benötigt man ein Netzwerk von Agenten, da einzelne Agenten oftmals nicht in der Lage sind, „komplexere und größere Probleme zu lösen, da diese oft sehr große Mengen an Wissen bzw. verteilte Problemlösungseinheiten benötigen“ [06]. Hat man ein ganzes Netzwerk von Agenten, ein sog. Multiagentensystem, kann ein solches Problem in kleinere Teilprobleme aufgeteilt und, in einer Kooperation der Agenten innerhalb des Multiagentensystems, gelöst werden. In diesem Agentensystem ist eine Kommunikation zwischen den einzelnen Agenten unbedingt nötig, um die Aufgaben aufzuteilen oder um Teilergebnisse untereinander zu kommunizieren.
1.3) Formen der Kommunikation von Agenten
Nach Sattler [04] gibt es bei Agenten – je nach Anwendungsfall - 5 verschiedene Möglichkeiten, eine Kommunikation zu realisieren.
Die einfachste (und in der Informatik generell sehr weit verbreitete) Methode ist der Prozeduraufruf. Hierbei ruft ein Agent über das Netzwerk eine öffentliche Funktion eines anderen Agenten auf und bekommt die gewünschten Daten von diesem zurück geliefert. Oftmals ist dieses Verfahren jedoch ungeeignet, da ein Agent dabei viele Details über seine innere Struktur offen legen muss, was aus Sicherheitsgründen oftmals schlicht und ergreifend inakzeptabel ist. Außerdem müssten bei Änderungen an einer Prozedur eines Agenten auch alle Agenten angepasst werden, die auf diese Prozedur zugreifen.
Als objektorientierter Ansatz zur Kommunikation hat sich das Prinzip der Common Object Request Broker Architecture (kurz CORBA) etabliert. Unter CORBA versteht man eine plattformunabhängige Middleware, in der formale Spezifikationen von Klassen und Objekten festgelegt werden. Insbesondere wird hierbei eine eindeutige Adresse und „einem Servant, der den Zustand und das Verhalten eines CORBA-Objektes repräsentiert“ [05]. Aus diesen Spezifikationen resultiert ein Schnittstellenmodell, welches dann für die einzelnen verwendeten Programmiersprachen bzw. Systeme umgesetzt werden kann.
Das Prinzip der indirekten Kommunikation wurde im Modell „Blackboard“ realisiert (siehe Abbildung 1.1). Hierbei wird ein zentraler Speicher eingerichtet, auf den alle Agenten zugreifen können um über ihn „Daten, Wissen und Informationen“ aus zu tauschen [04]. Eine direkte Kommunikation zwischen 2 Agenten ist nicht vorgesehen. Alle Daten, die ein Agent anderen Agenten zugänglich mache will, schreibt er in das zentrale Blackboard. Alle anderen Agenten können die gewünschten Informationen dann von dort abholen, wobei eine Filterung durch das Blackboard (z. B. durch Zugangsberechtigungen) möglich ist.
Abbildung in dieser Leseprobe nicht enthalten
Abb 1.1) Konzeptioneller Aufbau eines Blackboards
Eine Erweiterung dieses Modells ist durch einen Moderator und/oder Dispatcher möglich. Ein Moderator ist ein zentraler Manager, bei dem sich die Agenten um einzelne Aufgaben bewerben müssen, der Moderator verteilt daraufhin die Aufträge an die Agenten. Ein Dispatcher informiert die angeschlossenen Agenten über Veränderungen an den Daten im Blackboard.
In den meisten Fällen findet das Blackboard-Modell jedoch keine Anwendung, da man bei den meisten Agentensystemen verteilte Intelligenz installieren will, eine Zentrale Wissensdatenbank widerspricht diesem Ansatz komplett. Besonders wichtig ist heutzutage daher die Nachrichten- und Dialogbasierte Kommunikation von Agenten, die im weiteren Verlauf dieses Seminars daher auch ausführlicher betrachtet werden soll.
Bei der Nachrichten- und Dialogbasierten Kommunikation von Agenten stehen zwei Agenten in einem direkten Kommunikationsverhältnis zueinander. Um eine solche direkte Kommunikation von Agenten zu ermöglichen, ist es unbedingt erforderlich, ein Kommunikationsprotokoll festzulegen, in dem der Ablauf der Kommunikation, das Format der Nachrichten und die Kommunikationssprache geregelt ist. Beispiele für ein solches Protokoll sind KQML (Knowledge Query and Manipulation Language) und FIPA-ACL, die später noch ausführlich vorgestellt werden.
Als 5. und letztes Modell existiert schließlich noch die Gruppenkommunikation. Bei der Gruppenkommunikation findet eine direkte Kommunikation zwischen den einzelnen Agenten statt. Für den Datenaustausch ist ein zentraler Kommunikationskanal vorgesehen, die Daten können nicht nur an einzelne Agenten, sondern, über Broadcast- und Multicast-Adressen, auch an alle Agenten bzw. bestimmte Gruppen von Agenten geschickt werden. Ähnlich wie bei der Nachrichten- und Dialogbasierten Kommunikation ist auch hier ein Protokoll erforderlich.
2) Regeln der Kommunikation
Ein grundsätzliches Problem beim Austausch von Nachrichten ist das dazu notwendige gemeinsame Verständnis des Inhaltes. Insbesondere bei Fragen kommt es häufig vor, dass, je nach dem in welchem Kontext man sie gestellt bekommt, komplett verschiedene Antworten möglich sind. Auf die Frage „Wie hoch ist der IBM-Preis“ könnten, je nach Kontext, Antworten mit dem Aktienkurs von IBM, dem Preis für einen best. PC der Marke IBM, oder auch mit Informationen zu einem von IBM gestifteten Unternehmenspreis sinnvoll sein.
Da die Kommunikation zwischen Agenten der menschlichem Kommunikation sehr ähnlich ist, kann die menschliche Kommunikation als Modell für die Agentenkommunikation genutzt werden [10]. Als wichtigstes Modell hierfür gilt die Sprachakt-Theorie von Austin.
2.1) Der Akt des Sprechens
Die Theorie des Sprachaktes (je nach Quelle auch „Sprechakt“ genannt) geht auf den britischen Sprachphilosophen John L. Austin zurück, der diese im Jahr 1955 erstmals im Rahmen seiner Vorlesung „How to do things with words“ vorstellte [11]. „Die Sprechakttheorie geht davon aus, dass man mit einer Aussage nicht nur einen Sachverhalt beschreiben oder eine Tatsache behaupten kann, sondern einen direkten Einfluss auf seine Umwelt ausübt.“
Nach Austin besteht eine Sprechhandlung aus vier Teilen: Lokution (Struktur und Äußerung), Proposition (Aussage über die Welt), Illokution (Ziel) und Perlokution (beabsichtigte Wirkung) [11]. Die Proposition spielt im Rahmen der Agentenkommunikation jedoch keine Rolle.
[...]
-
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen.