© 2010 by Elbit Systems | Elbit Systems Proprietary
ADAPT: Abstraction Hierarchies to Succinctly Model Teamwork
Meirav Hadad1, Avi Rosenfeld2
2Department of Industrial Engineering,Jerusalem College of Technology,
Jerusalem, Israel
1Research Division, Elbit Systems Ltd,
Rosh Ha'Ayin 48091, Israel
© 2010 by Elbit Systems | Elbit Systems Proprietary
Modeling the Simulator’s Teamwork
How to Model Teamwork?SharedPlansSteamTaemsTeamcoreBite
Limitations of Previous Approaches:Often unclear how to create formal rules
How can we encode the expert’s knowledge
In previous approaches all rules needed to be defined in advance
Very limiting, especially when dynamics must be considered
© 2010 by Elbit Systems | Elbit Systems Proprietary
Issues Specific to Simulation
Simulator often has relatively limited resourcesWhat is the size of the model?
What is the memory amount needed per agent?How fast is the processing time?Real time required!
Our goal is to simulate hundreds of agents
© 2010 by Elbit Systems | Elbit Systems Proprietary
4
1 2
3
Teamwork Example
4
© 2010 by Elbit Systems | Elbit Systems Proprietary
Autonomous Dynamic Agent Planning for TeamworkCreates two Hierarchical Planners – a group and task plannerUses abstract search techniques to generally define hierarchiesOnly during run time are the exact constraints addressed (elaboration)
5
Our Solution: ADAPT
© 2010 by Elbit Systems | Elbit Systems Proprietary
1 2
4 3
© 2010 by Elbit Systems | Elbit Systems Proprietary
ADAPT: What is Novel?
ADAPT is an A.I. Teamwork EngineUses 3 steps
Branching Step (very big number of states)Refinement Step (add the constraints)Pruning Step (very small model)
7
© 2010 by Elbit Systems | Elbit Systems Proprietary
Branching Step
Identifies possible methods for expanding partial planGet all the possible methods from library of task methods and group methodsExample of possible task methods for air attack
Option 1 Option 2
© 2010 by Elbit Systems | Elbit Systems Proprietary
Refinement Step
Adding information based on constraints (DCOP)1. Receive the set of the all possible task methods2. Receive the set of the all possible group methods3. Match the group methods to the task methods:
1. make intersection between the constraints of task and group methods 2. match the sub-tasks’ constraints of to sub-groups, create sub-
constraint vector c1, c2, …, cn for each matching
4. Each group member checks its matching level for each sub-constraint vector and put its matching grade at each method
© 2010 by Elbit Systems | Elbit Systems Proprietary
Refinement Step
© 2010 by Elbit Systems | Elbit Systems Proprietary
Pruning Step Remove Unpromising Candidates
1. Assignment and Matching Tables are built for each method and each method is graded according to the Task Assignment algorithm
2. The method with the greatest assignment grade is selected to be elaborated
3. If successful, association is done
© 2010 by Elbit Systems | Elbit Systems Proprietary
Pruning Step
© 2010 by Elbit Systems | Elbit Systems Proprietary
A High Level Overview of the Simulator
13
Simulation Engine
AI EngineADAPT
Group KB Editor
Task KB Editor
Real Time Control
Group DB
Task DB
© 2010 by Elbit Systems | Elbit Systems Proprietary
World S
tate
AI EngineCooperation Level
Decision Maker
Association
TaskPlanner
GroupPlanner
Constraints
Task Plan
Constraints
Group plan
GroupKB
TaskKB
Real TimeControl
FailuresHandler
Perception
Action
Re-planning\
Reassignment
recommendation
General Description of an ADAPT Agent
© 2010 by Elbit Systems | Elbit Systems Proprietary
Teamwork State Results
BITE ADAPT Max ADAPT Average
#of Agents Task Group Task Group Task Group
5 561 18 44 5 37.1 3.67
8 624 146 53 8 39.65 6.29
12 829 400 68 8 56.86 6.17
© 2010 by Elbit Systems | Elbit Systems Proprietary
Actual Run Times
Low Change Middle Change High Change0
0.02
0.04
0.06
0.08
0.1
0.12
Total TimeTask PlannerGroup Planner
Tim
e (s
econ
ds)
© 2010 by Elbit Systems | Elbit Systems Proprietary
ADAPT = teamwork into group and task plannersUses abstract search to build model incrementallyLarge savings in teamwork model size
Example how ADAPT used in a realistic simulation domainHow can ADAPT be used in other domains?Are the savings dependent on domain specifics?
17
Conclusion and Future Work