Pythagoras: A New Agent-based Simulation System - Northrop ...
Pythagoras: A New Agent-based Simulation System - Northrop ...
Pythagoras: A New Agent-based Simulation System - Northrop ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
Edmund J. Bitinas, Zoe A. Henscheid, and Lap V. Truong<br />
<strong>Northrop</strong> Grumman Mission <strong>System</strong>s, Information and Technical Services Division<br />
<strong>Pythagoras</strong> is a new agent-<strong>based</strong> simulation (“distillation”) originally<br />
developed by <strong>Northrop</strong> Grumman to support Project Albert, a U.S. Marine<br />
Corps–sponsored international initiative focusing on human factors in<br />
military combat and noncombat situations. <strong>Pythagoras</strong> introduces new<br />
capabilities to modeling and simulation, such as soft decision rules,<br />
dynamic sidedness, behavior-change triggers, and nonlethal weapons. Soft<br />
decision rules create instances of agents from the same agent class whose<br />
behaviors can be unique to the agent. Dynamic sidedness allows agents to<br />
change sides as a function of events and actions. Behavior-change triggers<br />
allow agents to change their behavior as a function of events or actions.<br />
Nonlethal weapons not only cause suppression, they may also change the<br />
sidedness (affiliation) of an agent. <strong>Pythagoras</strong> scenarios include a cavesearch<br />
scenario in which U.S. Marines look for an elusive agent. In a<br />
peacekeeping scenario, the Marines use short-range nonlethal weapons<br />
(such as leaflets or food) to sway the affiliation of villagers, while an enemy<br />
is broadcasting anti-Marine propaganda with an indirect-fire nonlethal<br />
weapon (a bullhorn). <strong>Pythagoras</strong> is written in Java, runs on a PC, and is<br />
hosted at the Maui High Performance Computing Center, where it is available<br />
for data farming—executing large numbers of repetitions of parametric<br />
runs to identify areas of unexpected behaviors and nonlinear results in a<br />
coevolving landscape.<br />
Introduction<br />
Traditional combat modeling and simulation have concentrated on the physical aspects<br />
of combat. Rates of movement, rates of fire, lethality, the effect of weather, terrain,<br />
etc., are all phenomena that are measurable to some degree and lend themselves to<br />
mathematical representations. However, as Figure 1 shows, the combat environment<br />
involves not only the physical world, but also human factors (features that motivate<br />
soldiers or deter them from engaging in combat) and leadership (the ability to inspire,<br />
integrate, and employ soldiers and weapons to attain an objective). The three components<br />
are tightly coupled. For example, weapons work best when used by well-trained<br />
troops who are directed by enlightened leaders.<br />
Six years ago, the U.S. Congress authorized an applied research project to evaluate<br />
nontraditional combat simulation techniques potentially useful for addressing three<br />
areas that were largely omitted in existing combat simulations:<br />
• Nonlinearity: Small changes in input can have disproportionate effects on outcomes.<br />
• Intangibles: Human factors, leadership, and other intangibles can change outcomes.<br />
• Coevolving landscape: Adversaries continually anticipate one another’s actions,<br />
and base their decisions on that anticipation.<br />
Technology Review Journal • Spring/Summer 2003 45
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
Figure 1. Combat environment: Physical elements, human factors, and leadership are<br />
tightly coupled<br />
With those three research objectives in mind, Project Albert was conceived. Initially<br />
led by the U.S. Marine Corps Combat Development Command (MCCDC) at Quantico,<br />
Virginia, the project is currently headed by the Marine Corps Warfighting Laboratory,<br />
also at Quantico. It quickly expanded into an international effort involving eight other<br />
countries. The approach was to proceed in parallel along three different but related<br />
paths. First, Project Albert would harness the power of supercomputing technology to<br />
enable massive experimentation and analysis on a scale then rarely, if ever, attempted.<br />
Second, the consortium would develop a set of visualization tools to assist in the<br />
analysis of the experiments. Third, Project Albert commissioned the development of<br />
new agent-<strong>based</strong> simulations (called distillations) that did not start with the traditional<br />
physical foundations, but instead concentrated on the exploration of human factors and<br />
leadership in the combat environment. For a description of Project Albert, see the Web<br />
page [1].<br />
Overview of <strong>Pythagoras</strong> Distillation<br />
<strong>Northrop</strong> Grumman was tasked to build a new distillation that used agent-<strong>based</strong> technology<br />
in diverse, innovative ways to model human behavior and its effect on combat and<br />
noncombat situations. Three design criteria were specified for the new distillation:<br />
• It must be easy enough to use that a military officer with a nontechnical degree<br />
could learn it in no more than eight hours.<br />
• It must incorporate fuzzy logic in some way.<br />
• It must be data farmable (i.e., able to run in batch mode on a parallel-processor<br />
supercomputer—specifically, at the Maui High Performance Computing Center in<br />
Maui, Hawaii).<br />
The resulting prototype distillation, christened <strong>Pythagoras</strong>, enables a user to create<br />
various intelligent agents and assign them behaviors <strong>based</strong> on motivators and detractors.<br />
46<br />
Weapons<br />
Sensors<br />
Platforms<br />
Ammunition<br />
Terrain<br />
Weather<br />
• Decision Making<br />
Intelligence<br />
Communication<br />
Inspiration<br />
Physical<br />
Elements<br />
Leadership<br />
Human<br />
Factors<br />
Technology Review Journal • Spring/Summer 2003<br />
Morale<br />
Training<br />
Confidence<br />
Fatigue<br />
Fear<br />
Comradeship
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
The agents can either act as individuals or be loosely or tightly controlled by one or<br />
more leader agents. <strong>Pythagoras</strong> is written in Java, making it platform-independent. It<br />
can be run in a supercomputer environment as a batch job, enabling tens of thousands of<br />
repetitions to be run in a short time; or it can be used and run interactively on a PC<br />
through a graphical user interface (GUI).<br />
<strong>Pythagoras</strong> offers a unique set of capabilities in the area of agent-<strong>based</strong> simulations:<br />
• Incorporates soft rules to distinguish unique agents<br />
• Uses desires to motivate agents into moving and shooting<br />
• Includes the concept of affiliation (established by sidedness, or color value) to<br />
differentiate agents into members of a unit, friendly agents, neutrals, or enemies<br />
• Allows for behavior-changing events and actions (called triggers) that may be<br />
invoked in response to simulation activities<br />
• Retains traditional weapons, sensors, and terrain<br />
Each capability is discussed below.<br />
Soft Rules to Create Individuality<br />
Each person has a unique interpretation of language. History offers countless examples<br />
of military orders whose intent was misinterpreted, leading to unexpected and sometimes<br />
disastrous consequences. In a military context, an order may be given as “Hold<br />
fire until the enemy gets close.” To a fighter pilot, close may be six miles, but an<br />
embassy security guard may interpret the same order to mean six feet. And even if<br />
several people agree on a distance—say, 400 feet—some will evaluate that distance a<br />
little long and be seen as trigger-happy, whereas others will evaluate it a little short and<br />
be seen as overcautious.<br />
Fuzzy logic attempts to capture the complex, dynamic nature of the world and the human<br />
interpretation of that world, while creating a mathematical underpinning that will allow a<br />
“crisp”-thinking digital computer to represent and act on it. However, for analysis, we<br />
determined that a strict interpretation and implementation of fuzzy logic might cloud the<br />
interpretation of the results of our <strong>Pythagoras</strong> experiments. Instead, we designed a<br />
feature for <strong>Pythagoras</strong> called soft decision rules, which not only assigns each agent its<br />
own threshold within the fuzzy-logic trade space but also ensures traceability. It avoids<br />
the “everything is gray” phenomenon that sometimes occurs in direct implementations<br />
of fuzzy logic.<br />
<strong>Pythagoras</strong> allows all decision variables and some human factors to be softened by the<br />
user. The approach is to reflect variation between individual agents by establishing a<br />
midpoint for the variable in question and then allowing the user to provide a uniformly<br />
distributed range around that value. When an agent is instantiated at the beginning of a<br />
scenario run, it selects its decision-variable values from the distribution at random. By<br />
controlling the spread, agents can be instantiated as very homogeneous (e.g., welltrained,<br />
disciplined military troops) or quite heterogeneous (e.g., a crowd of villagers),<br />
or some value in between. Each decision variable has its own control, so some aspects<br />
of behavior can be tight, others loose. Figure 2 illustrates three alternative degrees of<br />
individuality.<br />
Technology Review Journal • Spring/Summer 2003 47
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
Figure 2. Three alternative degrees of individuality<br />
In each of the three cases illustrated in Figure 2, the midpoint for the behavior variable<br />
is 5. That value might, for example, represent the minimum number of enemies from<br />
which an agent would retreat. The red uniform distribution represents a firm, homogeneous<br />
behavior variable, for which the range is ±1 around the midpoint of 5. The green<br />
uniform distribution depicts a softer behavior variable, for which the range is ±2 around<br />
the midpoint, indicating that the value of the behavior variable could lie in the range of 3<br />
to 7. The loosest of the three definitions for the behavior variable is described by the<br />
blue uniform distribution. In that case, the range is ±4 around the midpoint, and values<br />
for the behavior variable could range from a low of 1 to a high of 9. Individual behavior<br />
drawn from such a loose distribution would be quite heterogeneous.<br />
<strong>Agent</strong> Desires to Move<br />
In <strong>Pythagoras</strong>, agents can be assigned movement desires, from the possible selections<br />
listed in Table 1, to determine their movement paths as a scenario unfolds. During each<br />
decision cycle, an agent establishes which desires are active (e.g., too far from a leader),<br />
and, if the sum of the desires to move exceeds a user-determined threshold, the agent<br />
then uses the strengths of the desires to determine a direction of movement. If multiple<br />
desires are active, they can be adjudicated at the user’s discretion by one of four<br />
alternative methods:<br />
• Through vector algebra, using direction weighted by desire<br />
• By priority (i.e., the strongest desire)<br />
• At random, with the relative weight of each desire determining its probability of<br />
selection<br />
• By applying vector algebra for only the two strongest desires<br />
Although the list of existing desires is small, it can be used to represent a variety of<br />
behaviors.<br />
48<br />
Probability<br />
0.6<br />
0.5<br />
0.4<br />
0.3<br />
0.2<br />
0.1<br />
0<br />
0<br />
2<br />
4 6<br />
Decision Threshold<br />
Common decision threshold = 5<br />
Firm/low individuality range ±1 around the threshold<br />
Soft/medium individuality range ±2 around the threshold<br />
Loose/high individuality range ±4 around the threshold<br />
Technology Review Journal • Spring/Summer 2003<br />
8<br />
10<br />
Firm<br />
Soft<br />
Loose
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
Table 1. Decision variables (desires) used to establish agent movement directions<br />
Toward (if d> ) or away from (if d< ) closest leader<br />
Toward (if d> ) or away from (if d< ) closest unit member<br />
Toward farthest unit member (if d> )<br />
Toward next way point (if d> )<br />
Toward (if d> ) or away from (if d< ) nearest enemy<br />
Toward small number of enemy (if number of enemy within deand e><br />
Toward objective<br />
At random<br />
Continue in same direction<br />
Stay in place<br />
)<br />
Avoid bad terrain (if mobility < or detection > or defense < )<br />
Prefer good terrain (if azimuth, mobility > and detection < and defense > )<br />
d = Distance<br />
= Specified value (different for different variables)<br />
e = Enemy count<br />
Once the agent chooses a direction of movement <strong>based</strong> on the active desires, the agent<br />
reviews the terrain suitability of the selected path. If the terrain is unsuitable because of<br />
movement, concealment, and/or protection considerations, the agent first looks to the<br />
right and left of the desired path until suitable terrain is identified. The agent then<br />
searches farther to the right and left to see if an additional shift of direction will put the<br />
agent on preferred terrain. For example, the desired path may put the agent in a swamp,<br />
so the agent will look right and left until a path on grass is found. Then the agent may<br />
search a few more degrees (the range is user controlled) to see whether a road is<br />
available in roughly the desired direction.<br />
Dynamic Sidedness for Two-Dimensional Affiliation<br />
In <strong>Pythagoras</strong>, each agent may be assigned a value for each of the three color<br />
properties—red, green, and blue—that can be used to establish affiliation among the<br />
agents. One, two, or all three of the properties can be used to establish an affiliation, and<br />
different agents can use different sets of properties for that purpose. <strong>Pythagoras</strong> uses<br />
the terms greenness, blueness, and redness to make the properties generic (and allow<br />
for visual display of the property in the scenario playback tool). Each of the three<br />
properties can take a value from 0 to 255 (which corresponds to standard color-monitor<br />
gun settings used by Java to control image colors). Figure 3 shows an example of both<br />
blue and green being used to establish affiliation.<br />
<strong>Agent</strong>s with similar color (as measured by either the difference in absolute value or the<br />
root sum square of the differences of the active colors) are considered to be members<br />
of the same unit. Those whose color is close are considered to be friends. Those whose<br />
colors are far apart are considered to be enemies. Colors between those of enemy and<br />
friendly agents represent neutrals. That approach allows for multiple affiliations within a<br />
single scenario, as might be found in a crowd; or it can be used to establish command<br />
hierarchies, as would be found in a military organization (e.g., slightly different blue<br />
uniforms could represent different companies).<br />
Technology Review Journal • Spring/Summer 2003 49
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
Blueness<br />
0<br />
0<br />
255<br />
Greenness<br />
Figure 3� Two-color sidedness used to establish two-dimensional affiliation<br />
Sidedness, or color value, is governed by soft rules at the start of the simulation (agents<br />
can be initiated with more or less redness, for example) and can be changed over the<br />
course of the simulation by various events and actions, such as those listed in Table 2�<br />
Because not all colors are required to establish affiliation, one or two colors could be<br />
used to represent a different property—for example, fear, hunger, morale, or intelligence�<br />
Increases and decreases in that property can alter agents’ perception of one<br />
another� Alternatively, such a change can cause a behavior-change event, described<br />
below�<br />
Table 2� Currently implemented side-change events and actions<br />
50<br />
255<br />
• Being shot at<br />
– One change for each occurrence<br />
– Paintball weapons<br />
Arriving at way point<br />
Arriving at objective<br />
Detecting no leader from same unit<br />
All is well<br />
– Used to restore original conditions<br />
– Example:<br />
Temporarily no leader, then leader reacquired<br />
Technology Review Journal • Spring/Summer 2003<br />
Unit<br />
Friendly<br />
Neutral<br />
Enemy (anything<br />
outside the<br />
outermost circle)
Behavior-Change Triggers<br />
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
The final feature of <strong>Pythagoras</strong> that is used to represent behavior is the behavior-change<br />
event/action, or trigger. When an agent experiences one of the events/actions listed in<br />
Table 3, the current behavior template is replaced by a new one, defined by new movement<br />
and shooting desires, new color-change values, and a new set of behavior-change<br />
triggers. For example, an agent can be set to walk up and down a street, as if on patrol,<br />
but when the agent is shot at, his behavior changes to look for protective terrain, such as<br />
a doorway.<br />
To enhance behavior-change triggers, the user can decide how they will be applied.<br />
A trigger can affect either an individual agent or a user-defined group of agents, or it<br />
may cause an agent to order subordinates to change their behavior (for example, “Sound<br />
the charge!”). For that purpose, leadership can be defined as either charismatic or<br />
hierarchical:<br />
• Under charismatic leadership, agents follow the highest or strongest leader.<br />
• Under hierarchical leadership, agents follow the lowest ranking leader whom they<br />
consider to be their leader (troops follow the sergeant, who follows the major, who<br />
follows the general). Thus, orders can ripple through a group of agents, much as<br />
they would in a military organization.<br />
As usual in <strong>Pythagoras</strong>, the behavior-change threshold values are governed by soft rules,<br />
so some agents will be more resistant to change. In addition, an agent can be assigned an<br />
obedience value that determines, at random, whether the agent will accept or reject an<br />
ordered behavior-change event/action.<br />
Because the behavior template for an agent includes new triggers, and each template<br />
is uniquely named, a series of templates can be constructed to represent a complex<br />
behavior tree or network, with agents moving from one behavior to another as a scenario<br />
Table 3. Currently implemented behavior-change triggers<br />
Events/actions that cause agent to change behavior include<br />
– Being shot at<br />
– Detecting enemy<br />
– Detecting friend<br />
– Arriving at way point or objective<br />
– Suffering friendly casualties (fewer than x%<br />
known remaining)<br />
– Losing leader (no leader within d)<br />
– Red, green, or blue becoming greater or less than c<br />
– Absolute time step<br />
– Relative time step<br />
Trigger reads new, complete, explicitly named behavior template (including setting<br />
new triggers)<br />
Delay before behavior takes effect (future capability), which simulates communication/<br />
spinup time<br />
x = Force strength<br />
d = Distance<br />
c = Color value<br />
Technology Review Journal • Spring/Summer 2003 51
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
unfolds. Because they are separate objects, different agent types can share the behavior<br />
templates, and there is no practical limit to the number of templates that can be created.<br />
Weapon Options<br />
<strong>Pythagoras</strong> allows agents to carry as many as three different weapons. Weapons can be<br />
either direct fire (which requires a line of sight) or indirect fire (which does not):<br />
• Direct-fire weapons have range-dependent probabilities of hit—and of kill, given a<br />
hit—which may be modified by the target agent’s vulnerability.<br />
• Indirect-fire weapons have circular-error-probable accuracies and lethal radii, both<br />
of which may be range-dependant.<br />
An indirect-fire weapon’s lethal radii can be modeled using either the traditional Carlton<br />
damage function or a “cookie-cutter” blast. The Carlton damage function describes the<br />
damage radiating out from a hit point through the following equation:<br />
where Pk is the probability of kill, distance is the distance of the target from the impact<br />
point, and radius is the size of the blast radius. The cookie-cutter blast causes an equal<br />
amount of damage to all objects within the blast radius, regardless of their distance from<br />
the impact point. Both weapon types have input rates of fire and limited ammunition.<br />
In <strong>Pythagoras</strong>, the target may be suppressed for multiple time steps by a hit by a directfire<br />
weapon or a near miss by an indirect-fire weapon that does not kill the target.<br />
Suppressed agents do not move, sense, or shoot, but they recover those capabilities after<br />
a user-input amount of time. At the user’s discretion, kills can be random (stochastic),<br />
deterministic (fractional damage), or a combination of both.<br />
<strong>Agent</strong>s can also change each other’s colors, by using military countermeasures or<br />
nonlethal weapons that can act as paintball guns. An example of a nonlethal weapon<br />
would be propaganda that alters an agent’s affiliation in some way. Propaganda in the<br />
form of leaflets can be modeled as a direct-fire weapon aimed at a specific target. On<br />
the other hand, preaching or any other form of public speech or exhortation can be<br />
modeled as an indirect-fire weapon, aimed in a general direction and affecting everyone<br />
within range.<br />
<strong>Agent</strong>s will automatically shoot at enemies within range, unless they are given a “hold<br />
fire” command that allows them to shoot only if fired on within a user-specified number<br />
of time steps. The user can assign agents multiple weapons and set the weapon selection<br />
criteria to be <strong>based</strong> on either the highest probability of hit (best chance that the target<br />
will be suppressed) or the lowest probability of kill (for a nonlethal situation).<br />
Multiband Sensors<br />
Sensors are also abstracted. Each agent may have up to three, each of which operates in a<br />
specific signature band, labeled A, B, or C. The sensors have a range-dependent probability<br />
of detection, which is modified by intervening terrain and a target agent’s detectability.<br />
For example, signature band A could be the bandwidth of the naked eye and signature<br />
band B might describe the bandwidth of an infrared device. A terrain feature, such as<br />
foliage, would thwart the naked eye’s view, but an infrared device could “see” the<br />
52<br />
P=e<br />
k<br />
–[( distance × distance)/( radius × radius)]<br />
,<br />
Technology Review Journal • Spring/Summer 2003
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
thermal image of a camouflaged person standing in the foliage. Such foliage could be<br />
modeled in <strong>Pythagoras</strong> as having a concealment value of 100% in band A and 0% in<br />
band B.<br />
Sensors also have a field of view and, for modeling humans, a probability that the agent<br />
is looking forward (i.e., in the direction of travel), to the side, or to the rear. Terrain<br />
features reduce the probability of line of detection differently in each band.<br />
Representation of Terrain<br />
All agents exist in a user-defined playbox of up to 1000 × 1000 pixels. On the playbox,<br />
a user can create terrain features—polygons that have a floor, a ceiling, and factors for<br />
mobility; concealment in each of the three signature bands; and protection that reduces<br />
the weapon’s effectiveness. Currently, a pixel can be associated with at most one terrain<br />
feature. <strong>Agent</strong>s can either move on the terrain or floor or operate at an altitude.<br />
Sample Scenarios<br />
<strong>Pythagoras</strong> has two major advantages:<br />
• It can be used quickly to assess various sample scenarios.<br />
• It can be combined with more complex and detailed models to provide insights into<br />
situations that may not be possible with other simulations.<br />
Rapid prototyping of scenarios, weapons, sensors, behavior patterns, etc., allows users<br />
to undertake complex problems in new ways without the burden of months of software<br />
development. Several sample scenarios are discussed below.<br />
Village Patrol. We have used <strong>Pythagoras</strong> to study crowd behavior in an antiterrorist/<br />
force protection scenario, represented as a village patrol, developed for the Marine<br />
Corps to evaluate various night-vision devices in peacekeeping operations. Figure 4<br />
shows a screen shot of the “play forward” capability of the <strong>Pythagoras</strong> GUI for that<br />
scenario. The scene is a village with buildings, parks, and streets, represented in Figure 4<br />
as large areas of color—e.g., the geometric shapes such as rectangles and trapezoids<br />
denote buildings. The blue dots represent Marines, the red dots are peaceful villagers,<br />
and the orange dots are hostile villagers. The hostiles include a terrorist leader, located<br />
in a religious structure, who can communicate with the hostiles, warning them of the<br />
presence of the Marines.<br />
Marine agents patrol the village at night, inspecting the villagers and looking for<br />
terrorists. The Marines are directed in part by a scout/sniper team that is strategically<br />
placed to help spot villagers. The villagers and terrorists alike move toward the food<br />
distribution point at the harbor at the top of the screen. Peaceful villagers, once<br />
approached by Marines and found to have proper identification and no weapons, are<br />
directed to the food distribution point. Hostile villagers attempt to avoid the Marines<br />
and are shackled in place after the Marines find and inspect them. Measures of effectiveness<br />
(MOEs) include the number of villagers detected and fed, the number of<br />
hostiles shackled, and the number of hostiles reaching the food distribution point, a<br />
potentially disastrous event.<br />
We first used this scenario to establish a night-vision-capability base case by modeling<br />
the probability of detection for the <strong>Pythagoras</strong> sensors, applying the results of physics-<br />
Technology Review Journal • Spring/Summer 2003 53
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
Road<br />
Figure 4. Antiterrorist/force protection in village patrol scenario<br />
<strong>based</strong> models of various night-vision capabilities, e.g., MODTRAN, IICCD, NVTherm/<br />
Acquire, IIMRC, and SSCAM. The models considered a variety of climatic conditions<br />
(e.g., desert or tropical) and ambient light conditions (e.g., cloudy night or quarter<br />
moon). To gain insight into the benefits of various devices and mixes of devices in a<br />
fairly traditional peacekeeping scenario, we then repeated the base-case runs, distributing<br />
various mixes of new night-vision devices among the Marines, and compared the<br />
resulting MOEs to one another and to the base-case MOEs.<br />
The scenario itself was built in a few days, and the sensor capabilities were altered by<br />
changing the eXtensible Markup Language (XML) files in a batch mode or by substituting<br />
one XML data block for another. We made the entire analysis proceed quickly, so<br />
that hundreds of cases could be analyzed.<br />
Battle of Midway. To represent human behaviors of opposing military forces, a U.S.<br />
Naval Academy midshipman majoring in history has used <strong>Pythagoras</strong> to study the<br />
options available to the Japanese Admiralty at the Battle of Midway. Historically, when<br />
the Japanese learned of the presence of U.S. aircraft carriers, they changed the weapon<br />
loads on their attack aircraft from bombs (which they planned to use against Midway<br />
Island) to torpedoes. Alternatively, the Japanese commander could have sent the aircraft<br />
to attack the U.S. fleet with the already-loaded bombs. Or he could have decided to use<br />
fighter aircraft as escorts to the bombers, allowing more bombers to penetrate our<br />
fighter defenses.<br />
54<br />
WP1<br />
WP5<br />
WP1<br />
<strong>Agent</strong>’s name<br />
WP1<br />
WP1<br />
WP1<br />
WP1<br />
WP1<br />
WP2<br />
WP1<br />
WP4<br />
WP2<br />
WP1<br />
WP5<br />
WP1<br />
WP6 WP3 WP6 WP3<br />
Body of Water<br />
WP1<br />
WP4<br />
WP1 WP2<br />
WP1<br />
WP0<br />
WP8<br />
WP1<br />
Technology Review Journal • Spring/Summer 2003<br />
WP4<br />
WP1<br />
WP3<br />
WP1<br />
WP4<br />
WP1<br />
WP2<br />
River<br />
WP1<br />
WP1<br />
WP8
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
The midshipman first created a base case from the historical record, setting a scale for<br />
the battle (in terms of miles per pixel), speeds of the combatants (pixels per time step),<br />
and various sensor and weapon capabilities. He estimated the capabilities using the<br />
historical record for ships sighted, weapons launched, and ship damage in the base case.<br />
He then altered the decision made by the Japanese, sending the bombers alone in one<br />
case and adding some of the available fighter escorts in another.<br />
He found that the results on the Japanese carrier fleet were the same—all four carriers<br />
were sunk regardless of the Japanese admiral’s decision. However, the decision to send<br />
the attack aircraft armed with bombs would have resulted in the loss of one to two U.S.<br />
carriers, had they gone in alone; or two to three U.S. carriers, had they gone with escorts<br />
and detected the U.S. carrier that was operating alone. Since the Japanese at the time<br />
still had carriers operating in the Aleutians and the Coral Sea, and the United States had a<br />
total of just three carriers in the Pacific, the strategic result could have been dramatically<br />
different, delaying the U.S. counteroffensive in the Pacific.<br />
The midshipman was able to build the base case in a few days, calibrate it, and complete<br />
the model runs in less than one week.<br />
Clearing Shallow-Water Obstacles. The Marine Corps was searching for a near-term<br />
solution to the problem of shallow-water obstacles used to disrupt or defeat a Marine<br />
Corps surface assault. One proposed option was to use bombs—specifically, the 2000-lb<br />
Joint Direct Attack Munition (JDAM)—to clear shallow-water obstacles and mines. A<br />
JDAM could use impulse and overpressure to detonate mines close to the explosion.<br />
More distant mines would be pushed aside by the blast plume, which propagates well in<br />
water. That capability was tested at Eglin Air Force Base, Florida, in a shallow pond,<br />
carefully measuring the effects of various sizes of bombs in various depths of water. The<br />
necessary number of bombs remained to be determined, as well as spacing and delivery<br />
accuracy. The question posed to Project Albert was, “Could <strong>Pythagoras</strong> help at all?”<br />
In answering that question, it was ascertained that, while physics can measure the<br />
behavior of objects in the physical world, <strong>Pythagoras</strong> can measure behaviors as well. To<br />
use <strong>Pythagoras</strong>, we had to reproduce in <strong>Pythagoras</strong>’ terms the physical behavior of the<br />
various components of the system. Mines and obstacle agents were created, as were<br />
amphibious assault vehicle (AAV) agents.<br />
The AAV agents’ behavior was modeled such that they maintained specified spacing<br />
between one other as they moved through a series of way points. That behavior allowed<br />
the AAVs to form a ragged column and move ashore. Each AAV stopped whenever it<br />
encountered an obstacle, because the obstacle would suppress the AAV by firing a<br />
nonlethal weapon at it. However, the mine would fire a lethal weapon at the AAV at the<br />
range of half its width, representing the effect that resulted when the AAV hit the mine.<br />
With just one shot per mine, each mine killed at most one AAV.<br />
To enable the JDAMs’ effects to work properly in <strong>Pythagoras</strong>, two components were<br />
required: destruction and movement. To model the destruction and movement effects, a<br />
bomber agent (B-2) was created to drop the JDAMs on hit-point agents. The placement<br />
of the hit points represented the various options for weapon delivery and overall<br />
accuracy, combining target location error and weapon delivery error into a single offset<br />
from the weapon aim point. The mines and obstacles initially perceived the aim points to<br />
be neutral, because appropriate sidedness (color) values were used. However, when the<br />
hit points were actually attacked by an indirect-fire weapon—the JDAM—all mines that<br />
Technology Review Journal • Spring/Summer 2003 55
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
were close enough to the explosion were detonated using <strong>Pythagoras</strong>’ cookie-cutter<br />
blast capability.<br />
However, because the aim points were modeled with a vulnerability setting of zero,<br />
they were unharmed by the JDAMs’ effects—so only their color was changed through<br />
<strong>Pythagoras</strong>’ paintball weapon capability. The aim points were also assigned a nonzero<br />
leadership value. When the aim points’ color changed, the mines and obstacles perceived<br />
the aim points to be their leaders and were assigned a behavior to move away from their<br />
leader to a distance equal to the blast plume of the bomb. When the JDAM impacts<br />
were spaced in time, some obstacles were blown forward along the lane that was<br />
being cleared through the obstacles. They were then blown backward along the same<br />
lane by a subsequent bomb, creating a seesaw effect.<br />
We found that, when the AAVs had poor ability to navigate through the lane created by<br />
the JDAMs, their survivability was even worse than if no JDAMs had been dropped at all,<br />
because the mines that were blown out of the channel combined with mines that were<br />
unaffected, resulting in a much denser minefield than was originally there. Although the<br />
result is intuitive, none of the analysts involved thought of that outcome until it was<br />
observed in <strong>Pythagoras</strong>. Thus, the lanes must be marked well enough to avoid navigation<br />
errors and must be wide enough to allow safe passage.<br />
Competing for Hearts and Minds. A test scenario demonstrated the use of soft rules.<br />
A set of villagers was created whose colors varied randomly from shades of red to<br />
shades of blue. A set of peacekeepers, armed with short-range, nonlethal weapons, was<br />
sent into the village. The short-range weapons represented leaflets or candy bars. A<br />
villager receiving a leaflet became more blue and friendly to the peacekeepers. Simultaneously,<br />
a charismatic enemy organizer in the town hall was using an indirect-fire, widearea-effect<br />
weapon—a bullhorn. Exposure slowly turned the villagers deeper red. Once<br />
red enough, the villagers perceived the charismatic enemy organizer to be their leader<br />
and moved off to the town hall. (One variant gave them rocks to throw at the peacekeepers,<br />
once they became hostile.)<br />
The peacekeepers were typically able to placate only a limited number of villagers, the<br />
rest going to the town hall to become followers of the charismatic organizer. Occasionally,<br />
however, when all remaining villagers had been pacified, a few peacekeepers would<br />
head to the town hall to attempt to turn some of the followers back into villagers.<br />
Eventually, a steady-state condition was created between the number of villagers and the<br />
number of followers. In one case, the charismatic leader ran out of batteries for his<br />
bullhorn. Soon the peacekeepers moved up to the town hall and pacified all of the villagers.<br />
Once the source of their discontent had been eliminated, pacification was easy.<br />
Summary<br />
The combination of changing color, changing strength of desire or motivation, behaviorchanging<br />
events/actions, and group and individual dynamics—all present in the current<br />
<strong>Pythagoras</strong> prototype—has already demonstrated that this new capability offers a<br />
powerful, flexible way to represent human behavior in military modeling and simulation.<br />
Soft rules allow each agent (or object, in a traditional legacy simulation) to be created<br />
slightly or greatly different from other agents of the same class. In a combat model, for<br />
example, some troops would be better marksmen, braver, or more obedient than others.<br />
56<br />
Technology Review Journal • Spring/Summer 2003
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
<strong>Pythagoras</strong>’ development continues with additional features, new desires and triggers,<br />
and other agent capabilities. Its application to various military problems is only now<br />
being uncovered, but agent-<strong>based</strong> simulation tools are the future of military modeling<br />
and simulation. <strong>Pythagoras</strong> will help to lead the way.<br />
Summary<br />
1. U.S. Marine Corps, Project Albert Web site, http://www.projectalbert.org or http://<br />
mcwl.quantico.usmc.mil/divisions/albert/index.asp.<br />
Author Profiles<br />
Edmund J. Bitinas, an operations research analyst for<br />
<strong>Northrop</strong> Grumman Mission <strong>System</strong>s’ Information and<br />
Technical Services Division, <strong>System</strong>s Analysis and Engineering,<br />
has specialized in developing military models and<br />
simulations for more than 24 years. He designed and developed<br />
Combat IV and has applied it to more than 50 different<br />
campaign-level studies and analyses. He has supported the<br />
Ballistic Missile Defense Organization on Theater Missile<br />
Defense campaign-level issues, performed campaign studies<br />
of the Joint Strike Fighter for the Turkish Air Force and<br />
Singapore Air Force, and supported the U.S. Air Force Air<br />
Combat Command in the 2001 Quadrennial Defense Review,<br />
also performing campaign analyses. Mr. Bitinas currently<br />
supports the U.S. Marine Corps on a variety of analysis tasks.<br />
He is also the lead analyst for the Marine Corps’ participation<br />
in the development and testing of the Joint Wargaming<br />
<strong>System</strong>. In addition, he is designing software for Project<br />
Albert. He holds a BS in computer science and an MS in<br />
operations research from the Illinois Institute of Technology.<br />
edmund.bitinas@ngc.com<br />
Zoe A. Henscheid, an operations research analyst for<br />
<strong>Northrop</strong> Grumman Mission <strong>System</strong>s’ Information and<br />
Technical Services Division, has supported a variety of<br />
analysis tasks for the U.S. Marine Corps. She has established<br />
baseline ammunition requirements for the proposed High<br />
Mobility Artillery Rocket <strong>System</strong>, assessed current and<br />
potential weapon system capabilities across several<br />
Expeditionary Fire Support missions, and established a<br />
multiattribute value model used to assess multirole radar<br />
system alternatives. She holds a BS in industrial engineering<br />
from the University of Illinois, Champaign-Urbana, and has<br />
completed graduate courses in industrial engineering.<br />
zoe.henscheid@ngc.com<br />
Technology Review Journal • Spring/Summer 2003 57
<strong>Pythagoras</strong>: A <strong>New</strong> <strong>Agent</strong>-<strong>based</strong> <strong>Simulation</strong> <strong>System</strong><br />
58<br />
Lap V. Truong, a software engineer for <strong>Northrop</strong><br />
Grumman Mission <strong>System</strong>s’ Information and Technical<br />
Services Division, has specialized in software development<br />
for more than six years. He supported the development<br />
of a secure Internet Web site for the Security and<br />
Exchange Commission’s Electronic Data Gathering<br />
Analysis and Retrieval <strong>System</strong>. He holds an MS in computer<br />
science with a concentration in software engineering<br />
from George Mason University. He is pursuing an MS<br />
in technology management at George Mason University.<br />
lap.truong@ngc.com<br />
Technology Review Journal • Spring/Summer 2003