Pythagoras ABM

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Pythagoras is a multi-sided agent-based model (ABM) created to support the growth and refinement of the U.S. Marine Corps Warfighting Laboratory's's Project Albert. Anything with a behavior can be represented as an agent. The interaction of the agents and their behaviors can lead to unexpected or emerging group behaviors, which is the primary strength of this type of modeling approach. As Pythagoras has grown in capability, it has been applied to a wide variety of tactical, operational and campaign-level topics in conventional and irregular warfare.


Pythagoras offers a unique set of capabilities in the area of agent-based simulations:
• Incorporates soft rules to distinguish unique agents
• Uses desires to motivate agents into moving and shooting
• Includes the concept of affiliation (established by sidedness, or RGB color value to differentiate agents into members of a unit, friendly agents, neutrals, or enemies
• Allows for behavior-changing events and actions (called triggers) that may be invoked in response to simulation activities
• Retains traditional weapons, sensors, and terrain

Example application[edit]

Irregular Warfare Pythagoras is best employed to study situations that are not well represented in traditional, legacy simulations. An illustrative example is an Improvised explosive attack on a vehicle convoy. Figure 1 shows a convoy of blue vehicle agents traveling down a road in an urban setting. There are three improvised explosive device agents emplaced along the roadside, and a triggering agent alongside the building. The convoy agents are told to follow one another, except for the leader agent at the head of the column, whose behavior is to drive along the road.

Figure 2 shows the situation after two of the vehicles have passed the corner of the building, 13 time steps after Figure 1. The triggering agent’s behavior is to watch for blue vehicles. Upon seeing two vehicles, the triggering agent orders the IEDs to change their behavior from completely passive (do nothing) to aggressive (attack!). The IEDs explode, killing two convoy vehicles, which become transparent, and damaging two others, which change their color. The IEDs did not attack the convoy until ordered to do so by the triggering agent. This simple scenario was constructed by one analyst in about two hours, and illustrates both the ease of use and the applicability of Pythagoras to many combat and non-combat analysis situations. This scenario was used to examine alternatives for convoy protection, such as IED


Agent-based simulations create software entities that are capable of responding to their perceived or actual situations based upon sets of decision rules. The interactions among different agents can create autonomous and emergent (i.e., unplanned and unforeseen) behavior. Pythagoras introduces new capabilities to modeling and simulation, such as “soft” decision rules, dynamic affiliation, behavior-change triggers, and non-lethal weapons effects.

Soft decision rules may create agent behaviors that emerge as unique within any class of agents that were originally defined as identical (except for incidental variables such as agent location).The soft decision rules can have a narrow range, indicating a well disciplined, homogenous group whose decision rules are similar or identical, or they can have a wide range, providing for significant variation among individuals. Soft decision rules can be used with all of an agent’s attributes, as well as leadership style and effectiveness, marksmanship, engagement desire, group affiliation preferences and other characteristics of the agent.

Dynamic affiliation allows agents to change sides as a function of events and actions that occur as the simulation plays out. One agent can change another agent’s affiliation using influence techniques, such as propaganda, through one-time actions that happen to the agent, or affiliation changes may simply evolve across multiple actions.

Behavior-change triggers allow agents to change their behavior as a function of events or actions. Agents can change from aggressive to passive behaviors as their attributes change or due to some action taken by a friend or enemy. Behavior changes can be induced by individual events, group events, or can be ordered by leader agents. There is no limit to the number of behaviors that can be defined by the user. These alternate behaviors can be chained together to create complex behavior trees. Non-lethal weapons not only cause suppression, they may also change the affiliation or attributes of an agent. Suppression causes an agent to cease activity for a period of time. The changed attributes or affiliations may cause a behavior change trigger to occur or may cause other agents to interact with the changed agent in a different way. Pythagoras retains many legacy simulation capabilities. It includes direct and indirect fire weapons, sensors, communication devices and terrain. Agents can represent people, weapon systems, or other objects. Both traditional combat and new, non-combat scenarios can be represented.

Latest improvements[edit]

Pythagoras is continuously being improved with new features and capabilities. It has recently added generic resources, generic attributes, communication devices, and expanded its recording of various measures of effectiveness for post-run analysis.

  • Multiple Generic Resources: The resources can be expended, created, transported and replenished, allowing Pythagoras to be used to study problems of logistics and distribution. Multiple echelons of supply can be represented. The fuel resource may be required for a unit to be able to move. Resource levels can cause changes in behavior.
  • Multiple Generic Attributes: Attributes can be changed across actions/events, and can be used to represent both physical aspects of an agent, such as fatigue, and emotional aspects, such as fear or morale. These attributes can be changed in many different ways. For example, attributes may change as a function of events that happen to an individual agent, such as losing its leader or an event that happens to the agent’s group, such as taking excessive casualties. Weapons that convey influence, such as a bull horn, could change the agent’s attributes. Once the attributes exceed a preset threshold, the agent may adapt a new behavior to reflect this change. A frightened agent, for example, may run from the enemy if its attribute representing fear reaches a certain level. Attributes can also be used as counters for triggering low frequency events and to facilitate weapon/target pairing.
  • Multi-channel Communications Devices: Pythagoras’ agents can pass information through a user-created network. The information not only includes information about other agents, but may also include attribute changes which will be applied to the receiving agent(s). User Created MOEs: Users can now write their own measures of effectiveness capturing software and add them to the library. Pythagoras will automatically detect the addition of the measure and create the interfaces between the agents and the recording software, allowing the user to capture the information as often as needed.
  • Play Forward Visualization Tool: The six displayed characteristics (x-y location, red, green, blue colors and transparency) can be mapped to any of these original six characteristics, the ten new generic attributes, health, the three generic resources, or fuel. This capability allows the user to watch the scenario unfold in many different dimensions. These recent improvements to Pythagoras have enabled more abstract scenarios to be constructed which include psychological operations, population dynamics and irregular warfare. In these scenarios, population segments influence one another through changes in their attributes caused by influencing communications. Military forces add their own influences through actions such as humanitarian assistance and disaster relief, whose influence then ripples through the population.


The diverse set of applications modeled with Pythagoras attest to its versatility and utility. Pythagoras has been used to study improvements to squad echelon night vision equipment in a peacekeeping scenario. It has been used to study tactics, techniques and procedures in response to a weapon of mass destruction attack on a military installation. Students at the Naval Academy have used it to study historical battles as diverse as The Battle of Ia Drang (one of the first US Army battles in Viet Nam), The Battle of Midway, and Chancellorsville. It was used to study tactics for using air-delivered ordnance to clear shallow water obstacles and mines. It is currently being used to support two different studies (one by Northrop Grumman and the other by students at the Naval Postgraduate School) of population dynamics in areas of the world where an insurgency is possible and the Marines are sent in to provide disaster relief after an earthquake.


Pythagoras runs on a PC or any other platform that supports Java 1.5 and JAXB 2.0. It is particularly suitable for data farming — executing large numbers of repetitions of parametric runs to identify areas of unexpected behaviors and nonlinear results in a coevolving landscape.


Its heritage traces back to Project Albert, an international project dedicated to research in the human aspects of warfare, such as intangibles, co-evolving goals and non-linear relationships.

Pythagoras originally began as a method by which the existing US Marine Corps-provided Archimedes model could be enhanced, modified, or controlled to enable it to run large problem sets on multiple platforms and be analyzed via data farming techniques on the Gilgamesh platform located at the Maui High Performance Computing Center (MHPCC).

External links[edit]