Taskable Agents Architecture Written in Java TRL Knowledge

Taskable. Agents Architecture • Written in Java • TRL Knowledge Representation Language - For Capturing Procedural Knowledge (Tasks & Methods) • APTE Method Selection-Algorithm • Inference Engine JARE - Java Automated Reasoning Engine - Knowledge Base with Facts and Horn Clauses - Updating World With Facts

Taskable. Agents TRL Task Decomposition Hierarchy TRL KB: tasks & methods APTE Algorithm Process Nets operators World Simulator messages assert, query, retract results sensing Other Agents JARE KB: facts & Horn-clauses messages

Task Representation Language (TRL) • Provides descriptors for: goals, tasks, methods, and operators • Tasks: “what to do” – Can associate alternative methods, with priorities or preference conditions – Can have termination conditions • Methods: “how to do it” – Can define preference conditions for alternatives – Process Net - Procedural language for specifying how to do things - While loops, if conditionals, sequential, parallel constructs - Can invoke sub-tasks or operators - Semantics based on Event Logic

Task Representation Language (Cont. ) • Operators: lowest-level actions that can be directly executed in the simulation environment, e. g. move unit, send message, fire on enemy • Each descriptor is a schema with arguments and variables • Conditions are evaluated as queries to JARE

Two Conditions of Methods • Preconditions: Must be satisfied for the method to be “applicable”. • Preference Condition: If satisfied, the method is preferred than other methods.

Example TRL Knowledge (: Task Monitor (? unit) (: Term-cond (destroyed ? unit)) (: Method (Track-with-UAV ? unit) (: Pref-cond (not (weather cloudy)))) (: Method (Follow-with-scouts ? unit) (: Pref-cond (ground-cover dense)))) (: Method Track-with-UAV (? unit) (: Pre-cond (have-assets UAV)) (: Process (: seq (: if(: cond(not(launched UAV)))(launch UAV)) (: let((x y)(loc ? unit ? x ? y))(fly UAV ? x ? y)) (circle UAV ? x ? y))))

Dynamic Selection of Methods • Find all applicable methods whose preconditions are satisfied by the current knowledge base (including state information inferred from rules). • Among applicable methods, select the method whose preference condition is satisfied. • Otherwise, select one of the applicable methods randomly.

Task-Decomposition Hierarchy level 1 T 1 level 2 M 1 T 3 level 3 T 2 T 5 T 4 level 4 M 7 M 12 M 92 level 5 T 15 Tx =Task Mx = Method C = Condition T 18 T 40 T 45 T 40 C T 45 M 60 T 2

Adaptive Protocol for Task Execution (APTE) • Task decomposition tree – Selecting appropriate methods for tasks – Instantiating the process networks for selected methods – Identifying sub-tasks that could be taken as “first steps” – Recursively expanding these sub-tasks further downward • Collecting the set of all active operators and selecting one to execute

APTE (Cont. ) T 1 M 1 T 3 M 2 M 3 T 5 T 2 T 7 T 4 T 6 process net

Adapt to Dynamic Environment Taskable agents adapt to a dynamic environment in two ways: 1. It postpones its decisions on method selection until it needs to execute it. 2. If the environment changes such that the decision on method selection is no longer valid, the agent re-evaluates the methods to select an alternative method.

APTE (Cont. ) T 1 M 1 T 1 M 2 M 1 M 3 M 2 M 3 adapt T 3 T 5 T 2 T 7 T 4 T 6 process net After T 2 completes T 5 T 2 T 7 T 4 T 6 process net
- Slides: 12