The Effect of Institutions

From Realpolitik.io
Jump to navigation Jump to search

Institutions can be thought of as constraining power relations. We can interpret them as power structures in which certain relationships are not permitted to change, while others can. The simplest way to represent an institution in the context of quantitative realism is as a set of constraints on a tactic matrix. An institution might cause a particular element of a tactic vector to be frozen, or it might make one relationship contingent upon another. Agents would be free to alter other, unconstrained tactics and simulations can then be run based on those assumptions. For example, we could define a defensive alliance, such that when one member is attacked, all counterattack:

Institutions - defensive alliance.png

Primary Use Cases

When analyzing international relations, one is often interested the effect of treaties on nation state behavior. Treaties can relate to a wide variety of subjects, but here we will concern ourselves with:

  • Mutual defense pacts
  • Non-aggression pacts
  • Other defense cooperation agreements
  • Trade agreements

The basic constraints implied by these treaties can be enforced as described below.

Representation in Code

Institutional constraints can take the form of either fixed relationships (such as a group of agents that all cooperate with each other) or defensive alliances (where an attack on one member triggers a counterattack by all). After a ternary tactic matrix T is generated by Monte Carlo Tree Search, these predefined constraints are applied to it, effectively hard-coding certain behaviors into a simulation. There are three ways to set up institutional constraints.

First, the ConstraintFixed function forces a group of agents to have interrelationships with a value of either {-1,0,1}. This function can be used to establish a bilateral or multilateral alliance, a neutrality pact, or a conflict that is assumed to continue. For example the following code would create a web of cooperation among agents 1, 2, and 3:

ConstraintFixed[T, {1, 2, 3}, 1]

Second, the ConstraintHub function defines a hub-and-spoke relationship structure among a group of agents. This constraint can be used to define a fixed hierarchy or a fixed attack on a central agent. For example, the following code creates a hub with agent 2 at the center and agents 1, 3, and 4 at the spokes:

ConstraintHub[T, 2, {1, 3, 4}, 1]

Finally, to define a defensive alliance among a group of agents, one can use the ConstraintAllianceD function. If any one of the alliance members is attacked, all of them will counterattack. Note that this occurs even if the attacker is a member of the alliance. The alliance can be either bilateral or multilateral. For example, the following establishes a defensive alliance among agents 4, 5, and 6:

ConstraintAllianceD[T, {4, 5, 6}]

These constraint functions can be linked together via ApplyConstraints, which is invoked at each step in the Monte Carlo game tree search process.



<< Prev | Next >>