\documentclass[12pt,fleqn,a4paper]{report}
\usepackage[austrian]{babel}
\usepackage{german}
\usepackage{amsfonts}
\usepackage{latexsym}
\usepackage{xspace}
\usepackage{epsfig}
\usepackage{psfrag}
\usepackage{graphicx}

\textheight	680pt
\textwidth	460pt
\topmargin	-40pt
\oddsidemargin	  5pt
\evensidemargin	  5pt
\parindent	  0pt

\begin{titlepage}
\title{\textbf{Kommunikation in Multi-Agenten-Systemen} \\ PS Einf"uhrung in die Bioinformatik}
\author{Markus Amersdorfer (markus.amersdorfer@sbg.ac.at) \\ Michael Noisternig (michael.noisternig@sbg.ac.at) \\ \\ Version: 16. M"arz 1999 \\ Uhrzeit: 12:30 - 13:00 \\ \\ LV-Leiter: Dipl.-Ing. Mag. Roland Schwaiger}

\date{}
\end{titlepage}

\clearpage
\begin{document}
\maketitle
\begin{abstract}
{\sl Dieser Artikel gibt eine Einf"uhrung zum Thema Agenten.}
\end{abstract}

\chapter{Einleitung}
\section{Was ist ein Agent?}
Zu allererst mu"s gesagt werden, da"s es keine allgemein akzeptierte Definition eines Agenten gibt. Im ``Webster'' wird ein Agent folgenderma"sen definiert: ``Ein Agent ist eine Komponente, die f"ur eine andere, autorit"atsbesitzende Komponente arbeitet, entweder als Repr"asentant oder als ein Werkzeug, mit dem eine steuernde Intelligenz ein Ziel erreichen will.'' Diese Definition ist schwer verst"andlich.
\cite{bib1} beschreibt einen Softwareagenten als ein Programm, das "uber eine ausdrucksvolle Agentenkommunikationssprache mit anderen Programmen kommunzieren kann, um Informationen (Daten und Code) auszutauschen. Agenten haben eine nachrichtenbasierte Schnittstelle, die unabh"angig 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.

\section{Was ist der Unterschied zwischen einem Objekt in der OOP und einem Agenten?}
Ein Unterschied ist, da"s Agenten eine einheitliche und immer gleich verst"andliche Sprache haben. Dies ist jedoch nicht ausreichend, da es zum einem, wie sp"ater beschrieben, Nachrichten gibt, die gar nicht klar definiert sind und somit immer anders verstanden werden k"onnen, und zum anderen, weil auch Programme in einem System, in dem ein Kommunikationsprotokoll als Sprache verwendet wird, diese Eigenschaften erf"ullen, z.B. e-mail-Programme in einem e-mail-System mit SMTP als Kommunikationssprache.
\cite{bib2} 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"onnen selbstst"andig handeln und insofern Handlungen ablehnen oder annehmen (execution autonomy). Auf den Punkt bringt es \cite{bib4}: Im Gegensatz zu Objekten haben Agenten Ziele und handeln aktiv, um diese zu erreichen.

\section{Was sind also die wichtigsten Eigenschaften eines Agenten?}
\begin{itemize}
 \item {Autonomie:} ein Agent kann beliebig aufgebaut sein (design autonomy) und er kann selbst w"ahlen, welche Handlungen er ausf"uhrt (execution autonomy)
 \item {Reaktivit"at:} jeder Agent mu"s auf Ver"anderungen in seiner Umgebung entsprechend reagieren
 \item {Interoperabilit"at:} Agenten m"ussen Informationen mit anderen Komponenten (Agenten, Programmen, Menschen) austauschen k"onnen
\end{itemize}

\section{Klassifizierung von Agenten}
Weitere Eigenschaften kann man auch zur Klassifizierung verwenden \cite{bib3}, \cite{bib4}, \cite{bib5}:
\begin{itemize}
 \item {Intelligenz:} ein Agent kann die beste L"osung in einer bestimmten Situation finden
 \item {Adaptivit"at, Flexibilit"at:} ein Agent ver"andert sein Verhalten aufgrund seiner fr"uheren Erfahrungen
 \item {Zielorientierung:} ein Agent arbeitet aktiv, um ein Ziel zu erreichen
 \item {Charakter:} ein Agent besitzt eine ``Pers"onlichkeit'' und einen emotionalen Status
 \item {Mobilit"at:} ein Agent kann sich zwischen verschiedenen Rechnern bewegen
\end{itemize}

\section{Anwendungsgebiete f"ur Agenten}
Im folgenden einige Projekte der Software Agent Group \cite{bib6} am MIT, gegr"undet von Pettie Maes.

\begin{enumerate}
 \item Butterfly (1998-Present)\\
       by Neil W. Van Dyke\\
       Butterfly ist ein Agent, der stichprobenartig tausende laufende IRC-Channels (Internet Relay Chat) dursucht, und f"ur den Benutzer interessante vorschl"agt.
 \item Amalthea (1996-Present)\\
       by Alexandros G. Moukas, Pattie Maes\\
       Anstatt einen Agenten mit der "uberm"achtigen Aufgabe zu betrauen, f"ur den Benutzer relevante jedoch weitverstreute Informationen des Internets zu sammeln, basiert Amalthea auf einem Multi-Agenten-System, welches diese Aufgabe mittels mehrerer Agenten ausf"uhrt und dem Benutzer das Ergebnis pr"asentiert. Weiters pa"st sich das System den sich ver"andernden Bed"urfnissen des Benutzers an.
 \item 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"are der Einzelnen Gruppenmitglieder vernachl"assigt.
 \item Challenger (1996)\\
       by Alexandros G. Moukas, Anthony Chavez, Pattie Maes\\
       Challenger ist ein Multi-Agenten-System, welches f"ur die Durchf"uhrung von Aufgaben die Rechenzeit verschiedener Computer verwendet.
 \item Webdoggie (1994-1995)\\
       by Yezdi Lashkari, Pattie Maes\\
       Webdoggie ist ein System, welches mittels zusammenarbeitendem Filtern f"ur den Benutzer m"oglicherweise interessante Internetseiten findet.
\end{enumerate}


\appendix
\chapter{Protokolle}

\section{9. 3. 1999, 12:30 - 13:00}
Universit"at Salzburg, Institut f"ur Computerwissenschaften und Systemanalyse, B"uro von R. Schwaiger\\
Teilnehmende Personen: R. Schwaiger, M. Noisternig\\
Protokollf"uhrer: M. Noisternig\\
\\
Inhalt:\\
\\
Grunds"atzlicher Aufbau des zu erstellenden Dokuments (in \LaTeX):\\
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"atestens Montag 13:00 per E-Mail.\\
\\
\\
\section{16. 3. 1999, 12:30 - 13:00}
Universit"at Salzburg, Institut f"ur Computerwissenschaften und Systemanalyse, B"uro von R. Schwaiger\\
Teilnehmende Personen: R. Schwaiger, M. Amersdorfer, M. Noisternig\\
Protokollf"uhrer: 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"ur Agenten''\\
``Klassifizierung f"ur Agenten''\\
``Mu"s ein Agent kommunizieren''\\

\bibliographystyle{ieeetr}
\bibliography{ComInMAS}
\end{document}
