BRECCIA: A Multi-Agent Data Fusion and Decision …...BRECCIA Agent P.L. Logic Module GeoWave...
Transcript of BRECCIA: A Multi-Agent Data Fusion and Decision …...BRECCIA Agent P.L. Logic Module GeoWave...
BRECCIA: A Multi-Agent Data
Fusion and Decision Support
Framework for Dynamic Mission
Planning
DDDAS 20171
David Sacharny, Tom Henderson, Robert
Simmons, Amar Mitiche, Xiuyi Fan and
Taylor Welker
DDDAS 2017
Cambridge, MA
7 August 2017
Colleagues
Robert
Simmons
Amar Mitiche
INRS
Montreal
Xiuyi Fan
Nanyang
Technological
University
Tom HendersonDavid
Sacharny
Taylor
Welker
DDDAS 20172
Acknowledgment
This material is based upon work
supported by the Air Force Office of
Scientific Research under award
number FA9550-17-1-0077
(DDDAS-based Geospatial Intelligence)
DDDAS 20173
DDDAS 20174
BRECCIA
BRECCIA
DDDAS 20175
BRECCIA and DDDAS
DDDAS 20176
1. Applications Modeling: e.g., Wind/Obscurant Simulations
BRECCIA and DDDAS
DDDAS 20177
2. Advances in Mathematical and Statistical Algorithms:
e.g., Probabilistic Logic
No Weak
Methods
BRECCIA and DDDAS
DDDAS 20178
3. Application Measurement Systems and Methods:
e.g., Path Planning
BRECCIA and DDDAS
DDDAS 20179
4. Software Infrastructures and System:
e.g., BRECCIA Multi-agent Server
BRECCIA: Summary
• Provides middleware for:
• real-time coupling of computation and
knowledge
• across heterogeneous platforms
DDDAS 201710
BRECCIA: Summary
• Provides uncertainty analysis for
• mission planning
• involving combination of:
• human statements
• simulation results
• sensor measurements
DDDAS 201711
BRECCIA: Summary
• Agents driven by uncertainty reduction:
• identification of major uncertainty sources
• uncertainty quantification
• propose measures for uncertainty reduction
DDDAS 201712
Two Main Results
• Probabilistic Logic
• New approach:
• system of nonlinear equations
• Results on large systems
• Multi-agent Middleware
• Real-time agent mission assessment
and replanning
DDDAS 201713
Uncertainty in Knowledge
BasesGiven:
• A set of propositions
(e.g., 𝑆1: 𝑈𝐴𝑉1 is operational)
• A set of probabilities for the propositions
(e.g., (𝑆1)[0.9])
Then, given a query (e.g., Q: Mission_OK),
determine its probability
DDDAS 201714
Probabilistic Logic
• SAT (Satisfiability Problem)
Given a propositional calculus formula,
find a truth assignment to each logical
variable so that the formula is true
E.g., S ≡ P & (PQ) (i.e., Modus Ponens premises)
P True and Q True satisfies S
DDDAS 201715
Probabilistic Logic
• PSAT (Probabilistic SAT Problem)
(Simple version!) Given a CNF formula,
and a probability assignment for each
conjunct, find a consistent probability
assignment for a query formula
E.g.: [0.7] 𝑆1: P
[0.7] 𝑆2: ¬P v Q
[?] Query: Q
DDDAS 201716
To Solve: Count Models
DDDAS 201717
% Counts
𝑡1𝑡2𝑡3𝑡4
Models
P Q
0 0
0 1
1 0
1 1
Sentences
P
¬P v Q
Probabilities
0.7
0.7
ω∈Ω models P 𝑡3+𝑡4 = 0.7
To Solve: Count Models
DDDAS 201718
Counts
𝑡1𝑡2𝑡3𝑡4
Models
P Q
0 0
0 1
1 0
1 1
Sentences
P
¬P v Q
Probabilities
0.7
0.7
ω∈Ω models ¬P v Q 𝑡1+ 𝑡2 + 𝑡4 = 0.7
To Solve: Count Models
DDDAS 201719
Solve:
𝑡3 + 𝑡4 = 0.7
𝑡1+ 𝑡2 + 𝑡4 = 0.7
𝑡1+ 𝑡2+ 𝑡3+ 𝑡4 = 1 add constraint
So solve:
0 0 1 11 1 0 11 1 1 1
𝑡1𝑡2𝑡3𝑡4
= 0.70.71
E.g.:
𝑡1𝑡2𝑡3𝑡4
=
00.30.30.4
To Solve: Count Models
DDDAS 201720
Solve:
𝑡3 + 𝑡4 = 0.7
𝑡1+ 𝑡2 + 𝑡4 = 0.7
𝑡1+ 𝑡2+ 𝑡3+ 𝑡4 = 1 add constraint
So solve:
0 0 1 11 1 0 11 1 1 1
𝑡1𝑡2𝑡3𝑡4
= 0.70.71
E.g.:
𝒕𝟏𝒕𝟐𝒕𝟑𝒕𝟒
=
0.30.00.30.4
To Solve: Count Models
DDDAS 201721
So solve query, e.g., P(Q), sum probabilities of models
of formula:
E.g., for
𝑡1𝑡2𝑡3𝑡4
=
0.30.00.30.4
then P(Q) = 𝒕𝟐+ 𝒕𝟒 = 0.4
E.g., for
𝑡1𝑡2𝑡3𝑡4
=
0.00.30.30.4
then P(Q) = 𝒕𝟐+ 𝒕𝟒 = 0.7
Thimm’s Formulation
DDDAS 201722
A constraint r, is a disjunction with a probability.
Ω is the set of all complete conjunctions (a literal from
every logical variable appears once and only once in a
complete conjunction).
Geometric View of Query
DDDAS 201723
Example of Ω
DDDAS 201724
Linear Formulation Issues
• Exponential Complexity (in number of
sentences)
• Uses SAT solvers to produce the matrix
• Solver Complexity:
• Constraints: 0 ≤ 𝑝𝑖 ≤ 1
• Multiple solutions
DDDAS 201725
New Formulation
• Assume Boolean random variables
are independent
• Express each disjunction clause as:
P(AvB) = P(A) + P(B) – P(A^B)
= P(A) + P(B) – P(A)P(B)
• Develop system of nonlinear
equations and solve for atom
probabilities; use these to solve query
DDDAS 201726
Example: Modus Ponens
DDDAS 201727
Some Observations
• Given n-Modus Ponens:
𝐴1𝐴1 → 𝐴2…
𝐴𝑛−1 → 𝐴𝑛
then standard approach needs 2𝑛
models, we solve it in linear time
DDDAS 201728
Some Observations
• Consider Russell & Norvig Wumpus
World:
DDDAS 201729
With logical variables:
• breeze: e.g., B11
• Gold: e.g., G23
• Pit: e.g., P22
• Stench: e.g., S44
• Wumpus: e.g., W34
Rules like: ¬P21 v B11
16*5 = 80 variables
Given the rules, there are:
583 sentences
Some Observations (cont’d)
DDDAS 201730
Breezes Gold Pits Stench Wumpus
Some Observations (cont’d)
DDDAS 201731
URBAN: Uncertainty Reduction-
Based Agent Network
• A mult-agent system specifically designed for geospatial-temporal analysis
across massive distributed datasets.
• Leverages the GeoWave project developed at the National Geospatial-
Intelligence Agency (NGA) (http://locationtech.github.io/geowave/) and the
open source frameworks Apache Hadoop (for distributed processing) and
Accumulo (for key/value database storage).
• Conceptually, a layer atop GeoWave that provides probabilistic logical
reasoning over space and time.
• Dissemination of knowledge in the form of probabilistic sentences and
maps published to GeoServer (http://geoserver.org/)
• Addresses tasking, processing, exploitation, and dissemination of data
(TPED) with an agile sensor network and the unifying concept of
uncertainty reduction.
DDDAS 201732
URBAN Implementation
DDDAS 201733
:Mission PlannerRRT* Planner
:UAV Manager
:Weather Monitor
FExample Instantiations of the BRECCIA Agent
:User
DB
GeoServer
Accumulo
Hadoop
• The BRECCIA Agent represents the
core abstraction for all agents in the
system.
• Agents are distributed across
specialized machines such as UAVs,
mobile laptops, or high performance
computers.
• The inherited components of each
BRECCIA agent enable an overall
system that is dynamic and data-
driven.
BRECCIA Agent
P.L. Logic Module
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
BDI Engine
URBAN
Implementation
34
• The Belief-Desire-Intention (BDI) engine serves a dual purpose • As a software architecture it facilitates the discussion and design of agents
• As a software cognitive model it enables goal-driven behavior (and in our particular implementation data-driven).
• Jason (http://Jason.sourceforge.net/wp/) provides the language interpreter and BDI
engine to BRECCIA agents.
BRECCIA Agent
P.L. Logic Module
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
BDI Engine
The Jason Reasoning Cycle. From Programming Multi-Agent Systems in AgentSpeak
Using Jason (pg. 68), by Rafael H. Bordini et al., 2007, England: John Wiley and Sons Ltd.
URBAN Implementation
35
BRECCIA Agent
P.L. Logic Module
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
BDI Engine
URBAN Implementation
36
• How does Jason enable data-driven behavior?• Plans are executed due to events which may be achievement requests or a change in belief.
• Example: Consider the case where a UAV is executing a path and periodically querying the
geospatial database for path obstruction. To cause the agent to re-plan in the event of an
obstruction, the code is as follows:
+path_obstructed(PathName) -> !replan(PathName)
• The language defined by Jason is inherently data-driven.
BRECCIA Agent
P.L. Logic Module
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
BDI Engine
React to the belief that path is obstructed… …by replanning
URBAN Implementation
37
• How do Uncertainty Reduction and Probabilistic Logic achieve an agile sensor
network and TPED?• Probabilistic logic and quantified uncertainty provide a means for applying well-known planning
algorithms to an abstract problem space.
• Certainty as a reward for plans:
• Rewards are higher for truth and certainty of positive sentences, or falsity and certainty for
negative sentences.
• Rewards are lowest for uncertain sentences, i.e. p=0.5.
• Non-biased sentences (i.e. inference rules) have a symmetrical reward function.
• The uncertainty reduction goal is executed by a plan to maximize the certainty reward
BRECCIA Agent
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
P.L. Logic Module
BDI Engine
URBAN Implementation
38
• Uncertainty Reduction Example• Consider the case where an analyst is cooperating with a UAV to gather information about a
location. Associated with a path plan for the UAV are the following sentences and inference for
mission success:
Plan A: a:path_obstructed[p=0.1], b:battery_ok[p=0.9], c:target_recorded[p=0.7], b^c -> mission_success [p=0.84]
• During the course of the mission, a second analyst, cooperating on an unrelated mission, reports seeing smoke at
a location that crosses Plan A’s path. Belief “a” updates, generates an event and causes the UAV agent to replan
– in this case two plans are generated, one to continue on with the mission and another to turn back.
Plan B: a:path_obstructed[p=0.1], b:battery_ok[p=0.8], c:target_recorded[p=0.7], b^c -> mission_success [p=0.82]
Plan C: a:path_obstructed[p=0.05], b:battery_ok[p=0.95], c:target_recorded[p=0.2], b^c -> mission_success [p=0.47]
BRECCIA Agent
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
P.L. Logic Module
BDI Engine
Target
UAV
Plan A
Plan B
Plan C
Legend
URBAN Implementation
39
• Uncertainty Reduction ExamplePlan A: a:path_obstructed[p=0.6], b:battery_ok[p=0.9], c:target_recorded[p=0.7], b^c -> mission_success [p=0.84]
Reward: R(a,0.6) + R(b,0.9) + R(c,0.7) + R(0.84) = 0.3
Plan B: a:path_obstructed[p=0.1], b:battery_ok[p=0.8], c:target_recorded[p=0.7], b^c -> mission_success [p=0.82]
Reward: R(a,0.1) + R(b,0.8) + R(c,0.7) + R(0.82) = 0.45
Plan C: a:path_obstructed[p=0.05], b:battery_ok[p=0.95], c:target_recorded[p=0.2], b^c -> mission_success [p=0.47]
Reward: R(a,0.05) + R(b,0.95) + R(c,0.2) + R(0.47) = 0.42
• Although the probability of mission success reduced by a small amount due to the
uncertainty in battery usage, the overall uncertainty for this set of sentences has
decreased by choosing Plan B.
BRECCIA Agent
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
P.L. Logic Module
BDI Engine
Target
UAV
Plan A
Plan B
Plan C
Legend
URBAN Implementation
40
• Uncertainty Reduction Example• Demonstrates how uncertainty reduction and probabilistic logic
facilitate planning over heterogeneous data – paths, events, human
observations.
• Provides justification for decision makers – the agent may request
guidance from the user if the plan alternatives are close to one
another
BRECCIA Agent
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
P.L. Logic Module
BDI Engine
URBAN Implementation
41
• GeoWave Connector• GeoWave enables agents to simultaneously access a distributed geospatial-temporal
database.
• Agents publish geospatial knowledge, written to the database, via GeoServer. This
enables remote sharing of this type of knowledge.
• In Jason, internal actions coded into the GeoWave connector provide direct access to
the databases.
• Example from weather agent:
+!share_storm_info(Location, Agent) ->
geowaveConnector::get_wms_url(Location, WmsUrl) ;
.send(Agent, tell, storm_info(WmsUrl).
• Data-driven response from UAV agent:
+storm_info(WmsUrl) -> !check_path_obstruction(WmsUrl)
BRECCIA Agent
P.L. Logic Module
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
BDI Engine
URBAN Implementation
42
• Distributed approach enables web-based user access:
BRECCIA Agent
P.L. Logic Module
GeoWave Connector
Specialized Functions
Uncertainty Reduct. Goal
BDI Engine
Prototype BRECCIA Client interface and Chat Window Featuring Map of Salt Lake City from
Local GeoServer Instance
URBAN Implementation
43
• Specialized Functions
• Current implementations of specialized functions include
• Connecting to MATLAB instances (Agents who know how to use MATLAB)
• RRT* path planner (Agents who know how to plan over space with vehicle
constraints)
• Wind Simulator (Agent that runs a wind vortex simulator)
• Ongoing work of specialized functions
• GDELT database query (Agents that can query the massive GDELT global event
database (http://www.gdeltproject.org/)
• OpenWeather API Agent (Agents that can query distributed weather information)
• UAV simulator (Agents that can run real-time UAV simulators)
• UAV controller (Agents that can control quadcopters in real-time)
BRECCIA Agent
P.L. Logic Module
Specialized Functions
Uncertainty Reduct. Goal
BDI Engine
GeoWave Connector
Conclusions
• Developed effective and efficient
probabilistic logic method
• Developed core of BRECCIA system
• URBAN: allows communicating,
autonomous agents
• Cloud computing
DDDAS 201744
Future Work
• Probabilistic Logic
• Use conditional probabilities
• P(A&B) = P(A|B)P(B)
• approximate P(𝐴1& 𝐴2 & … & 𝐴𝑛) by upper
bound:
• min(P(𝐴𝑖 & 𝐴𝑗)), 𝑖, 𝑗 = 1: 𝑛
• Extend to First Order Logic
• Exploit argumentation to reduce
analysis cost
DDDAS 201745
Future Work
• BRECCIA middleware
• Extend breadth of agents
• Extend depth of analysis
• Develop realistic ISR scenario
• Collaborate with Air Force ISR wing
• Measure performance
• Accuracy of uncertainty measures
• Time & Space Computational aspects
DDDAS 201746
Future Work
• Simulation
• Use full 3D QUIC-URB modeling system
• Exploit Gaussian process models of 3D
features
• Terrain
• Temperature
• Wind
• Obscurants
DDDAS 201747
Future Work
• Experiments
• Develop real-world ISR missions
• Small-scale experiments in lab
• Full-scale experiments (in SLC)
• Measures of performance (MOP)
& Effectiveness(MOE)
• Success (MOP)
• Time (MOP)
• Information adequacy (MOE)
DDDAS 201748
UTAH UAV Fleet
DDDAS 201749
Questions?
DDDAS 201750