In der künstlichen Intelligenz sind reaktive Agenten autonome Systeme, die Aktionen basierend auf aktuellen Reizen auswählen, ohne sich auf ein internes Modell der Welt zu stützen. Sie sind ein zentrales Konzept im reaktiven Planen, einer Gruppe von Techniken zur Aktionsauswahl, die sich in zwei Punkten vom klassischen Planen unterscheiden: Sie arbeiten zeitnah und bewältigen hochdynamische und unvorhersehbare Umgebungen, und sie berechnen in jedem Augenblick nur eine nächste Aktion basierend auf dem aktuellen Kontext. Der Begriff reaktives Planen geht mindestens auf das Jahr 1988 zurück und ist gleichbedeutend mit dem moderneren Begriff dynamisches Planen.
Reaktive Agenten führen keinen persistenten internen Zustand, wie etwa ein Weltmodell oder eine Erinnerung an vergangene Ereignisse. Stattdessen reagieren sie direkt auf Sensorinputs oder Umgebungsreize, was sie einfach, schnell und robust unter wechselnden Bedingungen macht. Dies steht im Gegensatz zu deliberativen Agenten, die Aktionssequenzen mittels symbolischem Denken planen. Reaktive Agenten werden oft mithilfe reaktiver Pläne implementiert, die gespeicherte Strukturen darstellen, welche die Prioritäten und das Verhalten des Agenten beschreiben.
Darstellung reaktiver Pläne
Reaktive Pläne können auf verschiedene Weise dargestellt werden, wobei jede eine grundlegende Darstellungseinheit und ein Mittel zur Zusammensetzung dieser Einheiten zu Plänen erfordert. Häufige Darstellungen umfassen Bedingungs-Aktions-Regeln, endliche Zustandsmaschinen, Fuzzy-Logik und konnektionistische Netzwerke.
Bedingungs-Aktions-Regeln
Eine Bedingungs-Aktions-Regel oder Wenn-Dann-Regel ist eine Regel der Form: wenn Bedingung, dann Aktion. Diese Regeln werden Produktionen genannt. Die Bedeutung ist unkompliziert: Wenn die Bedingung zutrifft, wird die Aktion ausgeführt. Die Aktion kann extern sein (z. B. etwas aufheben) oder intern (z. B. eine Tatsache in den Speicher schreiben oder eine neue Menge von Regeln auswerten). Bedingungen sind normalerweise boolesch, und Aktionen werden entweder ausgeführt oder nicht.
Produktionsregeln können in flachen Strukturen oder Hierarchien organisiert sein. Beispielsweise besteht die Subsumptionsarchitektur aus Schichten miteinander verbundener Verhaltensweisen, die jeweils eine endliche Zustandsmaschine darstellen, welche auf geeignete Eingaben reagiert. Diese Schichten sind zu einem Stapel organisiert, wobei höhere Schichten die Ziele niedrigerer Schichten übernehmen. Andere Systeme verwenden Bäume oder enthalten Mechanismen, um zu ändern, welche Regeluntermenge derzeit am wichtigsten ist. Flache Strukturen sind einfach zu erstellen, ermöglichen jedoch nur einfaches Verhalten oder erfordern komplexe Bedingungen, um den Mangel an Struktur auszugleichen.
Ein wichtiger Teil der verteilten Aktionsauswahl ist die Konfliktlösung, die Konflikte auflöst, wenn die Bedingungen mehrerer Regeln gleichzeitig zutreffen. Methoden umfassen das Zuweisen fester Prioritäten, das Zuweisen von Präferenzen (wie in der Soar-Architektur), das Erlernen relativer Nützlichkeiten (wie in ACT-R) oder die Nutzung einer Form von Planung. Expertensysteme verwenden oft einfachere Heuristiken wie Aktualität, aber die Garantie guten Verhaltens in großen Systemen mit einfachen Ansätzen ist schwierig. Konfliktlösung ist nur für Regeln notwendig, die sich gegenseitig ausschließende Aktionen vorschlagen.
Endliche Zustandsmaschinen
Eine endliche Zustandsmaschine (FSM) ist ein Modell des Systemverhaltens, das in der Informatik weit verbreitet ist. Für das Agentenverhalten besteht eine typische FSM aus Zuständen und Übergängen zwischen ihnen. Übergänge sind Bedingungs-Aktions-Regeln der Form: wenn Bedingung, dann aktiviere neuen Zustand. Zu jedem Zeitpunkt ist nur ein Zustand aktiv, und seine Übergänge werden ausgewertet. Übergänge können auch zum selben Zustand führen, um Übergangsaktionen auszuführen, ohne den Zustand zu ändern.
Verhalten kann auf zwei Arten erzeugt werden: Zustände können mit atomaren Aktionen (Handlungen) oder mit Skripten verknüpft sein. Eine Handlung wird bei jedem Zeitschritt ausgeführt, in dem der Zustand aktiv ist. Häufiger ist jeder Zustand mit einem Skript verknüpft, das eine Sequenz von Aktionen beschreibt; wenn ein Übergang einen neuen Zustand aktiviert, wird das vorherige Skript unterbrochen und das neue gestartet. Komplexe Skripte können in hierarchische FSMs zerlegt werden, wobei Zustände Unterzustände enthalten. Hierarchische FSMs sind rechnerisch äquivalent zu Standard-FSMs, erleichtern jedoch das Design. Ein Beispiel ist die Verwendung hierarchischer FSMs für Bots in Computerspielen, wie von Damian Isla im Jahr 2005 beschrieben.
Fuzzy-Ansätze
Wenn-Dann-Regeln und FSMs können mit Fuzzy-Logik kombiniert werden, wodurch Bedingungen, Zustände und Aktionen annähernd und weich statt boolesch werden. Dies führt zu weicherem Verhalten, insbesondere bei Aufgabenübergängen. Die Auswertung von Fuzzy-Bedingungen ist jedoch viel langsamer als die von scharfen Gegenstücken. Architekturen wie die von Alex Champandard vorgeschlagenen haben diesen Ansatz untersucht.
Konnektionistische Ansätze
Reaktive Pläne können auch mithilfe konnektionistischer Netzwerke ausgedrückt werden, wie etwa künstlicher neuronaler Netze oder Free-Flow-Hierarchien. Die Grundeinheit hat Eingabelinks, die abstrakte Aktivität zuführen, und Ausgabelinks, die Aktivität an nachfolgende Einheiten weiterleiten. Einheiten fungieren als Aktivitätstransduktoren und sind typischerweise in Schichtstrukturen verbunden. Vorteile umfassen weicheres Verhalten, Anpassungsfähigkeit und die Möglichkeit, Inhibition für präskriptive Beschreibungen zu nutzen. Nachteile umfassen die Schwierigkeit, Verhalten zu entwerfen, und Beschränkungen auf relativ einfache Verhaltensweisen, insbesondere wenn Anpassungsfähigkeit erforderlich ist.
Algorithmen für reaktives Planen
Typische Algorithmen für reaktives Planen werten Wenn-Dann-Regeln aus oder berechnen den Zustand eines konnektionistischen Netzwerks. Einige Algorithmen haben besondere Merkmale. Beispielsweise verwendet der Rete-Auswertungsalgorithmus einen Cache aus dem vorherigen Schritt, um zu vermeiden, alle Regeln bei jedem Zeitschritt neu auszuwerten, was die Effizienz verbessert. Skriptsprachen können ebenfalls verwendet werden, wobei Regeln oder FSMs Primitive einer Architektur sind, was flexible und schnelle Entwicklung ermöglicht.
Anwendungen und Bedeutung
Reaktive Agenten werden häufig in Robotik, Computerspielen und Simulationssystemen eingesetzt, in denen Umgebungen dynamisch und unvorhersehbar sind. Sie sind ein grundlegendes Konzept in der künstlichen Intelligenz und stehen im Gegensatz zu stärker deliberativen Ansätzen. Die Einfachheit und Geschwindigkeit reaktiver Agenten machen sie für die Echtzeitsteuerung geeignet, etwa in autonomen Fahrzeugen und Spielfiguren. Die Forschung in diesem Bereich hat Bereiche wie maschinelles Lernen und neuronale Netze beeinflusst, in denen konnektionistische reaktive Pläne implementiert werden.
Einschränkungen und Erweiterungen
Reaktive Agenten mangelt es an der Fähigkeit, vorauszuplanen oder über langfristige Konsequenzen nachzudenken, was ihre Verwendung bei Aufgaben einschränkt, die strategisches Denken erfordern. Sie können jedoch in hybriden Architekturen mit deliberativen Systemen kombiniert werden. Erweiterungen umfassen hierarchische FSMs, Fuzzy-Logik und Lernmechanismen, um Verhalten im Laufe der Zeit anzupassen. Das Feld entwickelt sich mit Fortschritten im Deep Learning und bei großen Sprachmodellen weiter, obwohl reaktive Agenten ein eigenständiger und praktischer Ansatz für viele Echtzeitanwendungen bleiben.