Als Software-Agent (auch Agent oder Softbot) bezeichnet man ein Computerprogramm, das zu gewissem eigenständigem (autonomem) Verhalten fähig ist. Das bedeutet, dass abhängig von verschiedenen Zuständen (Status) ein bestimmter Verarbeitungsvorgang abläuft, ohne dass von außen ein Startsignal gegeben wird oder während des Vorgangs ein äußerer Steuerungseingriff erfolgt.
Laut Wooldridge [1] gibt es keine allgemein anerkannte Definition eines Agenten. Es gibt zwar generelle Zustimmung, dass ein Agent selbstständig (autonom) sein muss, darüber hinaus gibt es aber wenig Einigung. Wooldridge versucht sich dennoch an einer Definition: "Ein Agent ist ein Computersystem das sich in einer bestimmten Umgebung befindet und welches fähig ist, eigenständige Aktionen in dieser Umgebung durchzuführen, um seine (vorgegebenen) Ziele zu erreichen."
Die Forschung über Künstliche Intelligenz definiert eine Software als Agenten, wenn sie folgende Eigenschaften besitzt, die den Grad der Autonomie beschreiben:
Dabei sind gleichzeitige Eingriffe von außen, die die Autonomie einschränken oder die Entscheidungskriterien verändern, nicht ausgeschlossen.
Kommt zu den genannten Eigenschaften die Fähigkeit hinzu, selbsttätig den Ausführungsort zu wechseln (zu migrieren), so spricht man von einem mobilen Agenten. Dazu braucht er Fähigkeiten, die ihn zu einer gewissen Anpassung an andere Infrastruktur befähigen. Siehe hierzu Migration (Informationstechnik), das solche Mechanismen seitens eines Menschen beschreibt.Intelligente Agenten zeichnen sich durch Wissen, Lernfähigkeit, Schlussfolgerungen und die Möglichkeit zu Verhaltensänderungen aus.
Ein Netz aus einer Teilmenge von autonomen Agenten, die miteinander kommunizieren können, nennt man eine Population. Diese Kommunikation wird durch die Dichte und die Verteilung der Agenten sowie deren Gruppierung und die zeitliche Varianz dieser Parameter beeinflusst.
Agenten werden große Einsatzmöglichkeiten in den Bereichen E-Commerce, Informationsrecherche, Simulation, Erledigen von Routineaufgaben und in autonomen Systemen eingeräumt. Aber auch komplexe Aufgaben, beispielsweise in automatisierten Verhandlungen, können durch Softwareagenten übernommen werden.[2] Im Bereich Simulation gibt es dabei das Spezialgebiet der Multi-Agenten-Simulation bzw. Gruppensimulation mit eigenen Softwareprodukten. Letzteres wird gerne im Spielebereich eingesetzt.
Es gibt zahlreiche Implementierungen von Agentenplattformen im wissenschaftlichen Umfeld. Diese haben meist einen speziellen Fokus, zum Beispiel intelligentes Verhalten, Sicherheit, effiziente Migration.
Eine ausführliche Übersicht über aktuelle Systeme, welches als Projekt (Co-ordination Action) im Rahmen des sechsten Forschungsrahmenprogramms der Europäischen Kommission gefördert wird, ist AgentLink.org[3].
Unter anderem existiert das umfangreiche, Java-basierte Agentenframework JADE.
Agententypen unterscheiden sich in der Agentenarchitektur (nicht zu verwechseln mit der Architektur, auf der das Umgebungsprogramm läuft). Unter einer Agentenarchitektur versteht man die Art und Weise, wie die Definition und Verwaltung des Agentenverhaltens erfolgt. Prinzipiell herrscht dabei eine große Begriffsvielfalt, aber die Einteilung in drei weitgehend anerkannte Bereiche ist möglich:
Reaktive (bzw. subkognitive) Agenten verfügen prinzipiell nicht über eigenes Wissen, sondern agieren nur aufgrund ihrer Wahrnehmungen direkt und ohne Entscheidungsprozess.
Folgende Agententypen treten in diesem Zusammenhang öfter auf:
Adaptive Agenten verwalten ein Modell der eigenen Prozess- und Parameterstruktur. Diese können der eigenen Vorgeschichte und erkannten oder gemessenen äußeren Bedingungen angepasst werden. Dadurch wird eine adaptive Regelung und damit beispielsweise eine hinsichtlich der Ressourcen optimale Ausführung möglich[4][5][6].
Kognitive Agenten verwalten ein Modell ihrer Umwelt in einer eigenen Datenstruktur[7][8][9]. Dadurch wird Planung der Aktionen und schließlich auch zielgerichtetes Handeln möglich. Eine bekannte Unterklasse ist die Agentendefinition in den BDI Agenten durch Angabe der Beliefs, Desires und Intentions.
Folgende Agententypen treten in diesem Zusammenhang öfter auf:
Dieser Artikel basiert auf dem Artikel Software-Agent aus der freien Enzyklopädie Wikipedia und ist unter der Lizenz Creative Commons Attribution/Share Alike verfügbar. Zusätzliche Bedingungen können anwendbar sein. In der Wikipedia ist eine Liste der Autoren verfügbar. |