- Action Description Language
-
Die Action Description Language (ADL) ist ein Planungssystem insbesondere für Roboter. Sie gilt als Weiterentwicklung von STRIPS.
Der Sinn einer Planungssprache ist es, bestimmte Zustände in der Umwelt darzustellen und darauf basierend automatisiert eine Abfolge von Aktionen zu bestimmen, die zu einem gewünschten Ziel führen. Ein Ziel ist dabei ein bestimmter teilweise spezifierter Zustand. Damit eine Aktion ausgeführt werden kann, müssen bestimmte Vorbedingungen erfüllt werden; nach der Ausführung hat die Aktion Effekte, durch die sich die Umwelt verändert. Die Umwelt wird dabei mittels bestimmter Prädikate beschrieben, die entweder erfüllt oder nicht erfüllt sind.
Im Gegensatz zu STRIPS gilt bei ADL der Grundsatz der „offenen Welt“: Was nicht im Zustand vorkommt, ist unbekannt. Außerdem sind auch negative Literale und Disjunktionen erlaubt.
Beispiel
Als Beispiel kann man sich das Problem des Luftfrachttransportes vorstellen, bei dem bestimmte Güter von einem Lufthafen per Flugzeug zu einem anderen Flughafen transportiert werden müssen und die Flugzeuge jeweils Be- und Entladen werden müssen. Die nötigen Aktionen wären Beladen, Entladen und Fliegen; über die Prädikate In(c,p) und Bei(x,a) könnte man ausdrücken, ob eine Fracht c sich in einem Flugzeug p befindet und ob sich ein Objekt x an einem Flughafen a befindet.
Die Aktionen könnten dann folgendermaßen definiert werden:
Action(Beladen(c : Fracht, p : Flugzeug, a : Flughafen), Vorbed : Bei(c, a) ^ Bei(p, a) Effekt : ¬Bei(c, a) ^ In(c, p))
Action(Entladen(c : Fracht, p : Flugzeug, a : Flughafen), Vorbed : In(c, p) ^ Bei(p, a) Effekt : Bei(c, a) ^ ¬In(c, p))
Action(Fliegen(p : Flugzeug, von : Flughafen, zu : Flughafen), Vorbed : Bei(p, von) ^ (von ≠ zu) Effekt : ¬Bei(p, von) ^ Bei(p, zu))
Literatur
- Stuart Russell, Peter Norvig: Künstliche Intelligenz: Ein moderner Ansatz, August 2004, Pearson Studium, ISBN 3-8273-7089-2 (deutsche Übersetzung der 2. Auflage), S. 469-471
Wikimedia Foundation.