120 likes | 196 Views
TaskableAgents 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
E N D
TaskableAgents 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
OtherAgents TaskableAgents TaskableAgents TRL Task Decomposition Hierarchy assert, query, retract APTE Algorithm TRL KB: tasks & methods JARE KB: facts & Horn-clauses Process Nets results messages sensing operators messages World Simulator
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
Preconditions: Must be satisfied for the method to be “applicable”. Preference Condition: If satisfied, the method is preferred than other methods. Two Conditions of 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))))
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. Dynamic Selection of Methods
Task-Decomposition Hierarchy level 1 T1 level 2 M1 T3 level 3 T2 T5 T4 level 4 M7 M12 M92 M60 level 5 T40 T15 T18 T40 T45 T2 C T45 Tx =Task Mx = Method C = Condition
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.) T1 M1 M2 M3 T3 T5 T2 T7 T4 T6 process net
Taskable agents adapt to a dynamic environment in two ways: It postpones its decisions on method selection until it needs to execute it. 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. Adapt to Dynamic Environment
APTE (Cont.) T1 T1 M1 M1 M2 M2 M3 M3 adapt T3 T3 T5 T5 T2 T2 T7 T7 T4 T4 T6 T6 process net process net After T2 completes