Irish and English
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
In the 13th century, Ireland was a patchwork of provinces ruled by native clan chiefs and English magnates. The relationships between them are hard to systematize, for they acted independently, and the English Crown (which nominally ruled over everyone) often encouraged factionalism.
However, independent as their actions were, English magnates did manage to settle and colonize most of the territory of Ireland, relying on military might and strategic alliances with native clans to overwhelm their enemies. Irish chiefs often did the same, counting on powerful foreigners to help them against rivals.
Irish and English is a simplified model of this process. The agents are Irish and English elites who will wage wars, build alliances and protect their allies in an abstract representation of medieval Ireland
HOW IT WORKS
Each time unit represents the time required to decide on, plan and organize a military raid. Agents might seek alliances with other agents and wage wars against their rivals. Allied agents will decide whether to support their peers in their military endeavors or abandon them to their fate.
The likelihood of adopting a cooperative or hostile approach depends on two properties: bellicosity and power. The more beligerant a agent is, the more likely it will pursue conflict. The more powerful one becomes, the more it will dissuade potential attackers and invite potential allies.
Bellicosity and power change depending on agents' actions. Power is always lost on combat, as even a successful campaign incur in expenses and attrition. Losers, however, lose much more. Bellicosity will increase each time an agent becomes involved in a war, and decrease by being in an alliance.
If two agents nurture an alliance for long enough, their bellicosity will drop to 0, as they grow complacent with the political security. If an agents gets left out, it might lash out against the others, growing ever more beligerant without an alliance to balance the lure of warfare.
Irish agents have an additional property: stability. It represents the fractious nature of Irish clans, and the difficulties encountered by chiefs in securing the support of their vassals. Irish nobles value military prowess, and will comply to kings who do well in battle. However, if an agent suffers through a string of defeats, it will see its subjects move to greener pastures. Stability acts as a discount factor to power: the more it drops, the more an agent's power pool shrinks.
Agent properties
power - military strength. Determines the prospect of victory when waging war, and the likelihood of obtaining allies
ally-power - military strength of allied agents
war-effort - sum of power + ally-powers
bellicosity - propensity to declare war.
allies? - number of allies
stability (irish only) - internal stability of the clan, representing the compliance of vassal chiefs. Acts as a discount factor to calculate power. Increases after military victories, decreases after defeats.
Environment
The environment is a simple Voronoi diagram representing the holdings of Irish chiefs and English magnates. Actions occur within network segments involving agents connected by alliances and warfare links. Alliances are depicted in white, active wars in black. There is a third class of links, alliance requests, that do not appear on the map.
Setup
The setup button randomly distributes agents within the model space. The stability of Irish actors is always set at 1.0. The ally count is always set at 0. The value of other properties (number of agents, bellicosity, power) is assigned based on inputs in the interface tab.
Time step
Each time unit is divided into the following steps:
Wars are cleared
replenish-power - power is replenished and recalculated (eg. Irish's stability factor)
offer-alliance - agents decide whether to send an alliance request
accept-alliance - agents who received an alliance request decide whether to accept it. If they, they become allies.
declare-war - agents decide whether or not to declare war on other agents.
opt-out - allies of warmongering agents decide whether to contribute to the war effort. If they decline, the alliance is dissolved
wage-war - Warring agents "roll" their war-effort score against one another. Warfare alwas take a toll on power, but losers lose much more.
Perish - agents with 0 power or less die
refresh-territory - patches refresh the Voronoi diagram
Alliance-requests are cleared
The model stops if all agents of a given breed perish. However, it may also come to a standstill if they reach a cooperative equilibrium (i.e. nobody attacks anybody). This gridlock can be broken by the modeler with the help of some tools in the interface.
HOW TO USE IT
The interface allows the modeler to adjust the model's critical parameters: number of agents, power and bellicosity of each breed.
The "stability" switch activates or de-activates the stability variable for Irish agents. The "warfare" chooser determines whether agents are allowed to declare war on agents of the same breed.
In addition, there are three buttons designed to interact with the model during a run. "Clear alliances" kills all alliances. "Provoke" increases the bellicosity of a given breed. Together, they can be used to break a standstill.
The output graphs plot the overall power of agents, total number of alliances and active wars, and stability and bellicosity of each agent. The latter one is useful to indicate if it is necessary to provoke agents.
Agent distribution can vary in significant ways depending on the choice of parameters. One breed might dominate the entire map, or reach a cooperative equilibrium with the other. By experimenting with the inputs, the modeler can try several combinations to compare with documented historical outcomes.
THINGS TO TRY
In the 13th century, the English colonized most of the territory of Ireland. The remaining chiefs preserved their power largely due to alliances with some of the foreigners. Which choice of parameters produces this outcome?
In the 14th and 15th centuries, the Irish overwhelmed the English, reducing their influence to small areas on the East coast. What set of conditions produce similar developments?
Nationalistic historiography used to paint the colonization of Ireland as the united struggle of a people against foreign oppressors. Try experimenting with the "warfare" chooser. Does limiting aggression to raids between breeds significantly affect the outcome? In which circunstances?
What set of parameters arrive at standstills more often? What does it take to break them?
EXTENDING THE MODEL
This model is roughly based on some intuitive ideas behind the behavior of English and Irish elites in the 13th century, but it is in no way validated. The parameters are mock variables and do not conform to historiographical observations.
Most importantly, it does not take in account the role of reputation and history of cooperation in the agents' propensity to cooperate. (DUFFY 1996, PERROS 1995). The bellicosity property is an attempt to provide some dynamism to the agents' actions, but does not adequately represent the adaptative nature of political decision making. Incorporating these factors to the model will make it more realistic.
Frame (2013) has added that agents' standing in broader social circuits played a crucial role in Anglo-Irish relationships. The incorporation of a network model of Irish and English nobility would bring these observations to the agent-based environment. It would also take in account the role of English vassals, which are absent from the current model.
Historically, the English magnates and some of the Irish chiefs were subject to the English Crown and its representative in Ireland, the justiciar. Adding them as agents to the model would allow us to factor in royal interference in Anglo-Irish relationships.
The model also operates on a virtual space, with no impact to the agents' decisions. Medieval elites were a landed aristocracy, and their ability to wage war was directly tied to their capacity to draw resources and manpower from their holdings. Moreover, O'Byrne (2003) and others have shown that castle building had a negative impact on the Irish's propensity to cooperate with the English, as they relied on the ability to move their troops and cattle herds around unhindered. Incorporating some sort of spatial model (a GIS or otherwise) to the environment would allow us to investigate these factors.
NETLOGO FEATURES
The model uses the create-temporary-plot-pen procedure to plot bellicosity and stability. It allows us to plot the variable of each agent individually. Because create-temporary-plot-pen requires a string, we also need to use the "word" procedure to turn each turtle's number (their "who" value) into a string. See bellicosity and stability plots in the interface tab for the full code.
RELATED MODELS
See Hotelling's Law and Voronoi models in the NetLogo library for other uses of the Voronoi diagram
CREDITS AND REFERENCES
The code for the refresh-territory procedure was based on Uri Wilensky's Voronoi model in the Netlogo library
Copyright and License
Este obra está licenciado com uma Licença Creative Commons Atribuição-NãoComercial 4.0 Internacional.
Bibliography
DUFFY, S. King John’s Expedition to Ireland, 1210: The Evidence Reconsidered. Irish Historical Studies, v.30. n.117, 1996, pp. 1-24
FRAME, R. Ireland after 1169: Barriers to Acculturation on an ‘English’ Edge. In: STRINGER, K.J.; JOTISCHKY, A. (Ed.) Norman Expansion: Connections, Continuities and Contrasts. Farham: Ashgate, 2013, pp. 115-144
O’BYRNE, E. War, Politics and the Irish of Leinster 1156-1606. Dublin: Four Courts, 2003
PERROS, H. Crossing the Shannon Frontier: Connacht and the Anglo-Normans, 1170-1224. In: BARRY, T.; FRAME, R.; SIMMS, K. Colony and Frontier in Medieval Ireland. London/Rio Grande: Hambledon Press, 1995, pp. 118-138
Wilensky, U. (2006). NetLogo Voronoi model. http://ccl.northwestern.edu/netlogo/models/Voronoi. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
Comments and Questions
breed [ irish an-irish ] breed [ english an-english ] undirected-link-breed [ alliances alliance ] undirected-link-breed [ wars war ] directed-link-breed [ alliance-requests alliance-request ] globals [ power-english ;; sum of the power of all English agents power-irish ;; sum of the power of all Irish agents ] turtles-own [ power ally-power war-effort bellicosity allies? ] irish-own [ stability ] to setup clear-all setup-agents ask turtles [ set allies? count alliance-neighbors ] reset-ticks end to setup-agents set-default-shape irish "crown" ask n-of (num-irish) patches with [ count turtles-here = 0 ] [ ;; an alternative procedure to create turtles. Makes it easier to work with the Voronoi diagram sprout-irish 1[ set color 53 set stability 1.0 set power irish-power * stability set size ( 1 + 2 * ( power / 100 ) ) ;; sizes matches the power meter. The stronger the agent, the bigger it is. set bellicosity irish-bellicosity ] ] set-default-shape english "chess rook" ask n-of (num-english) patches with [ count turtles-here = 0 ] [ sprout-english 1[ set color 13 set power english-power set size ( 1 + 2 * ( power / 100 ) ) set bellicosity english-bellicosity ] ] ask patches [refresh-territory] end to go ask wars [ die ] ;; unlike alliance requests, wars are killed at the beginning of a tick, so we can see which ones have formed at each tick set power-english sum [ power ] of english ;; set up "power" as a global variable so it can be plotted set power-irish sum [ power ] of irish if not any? irish [ stop ] ;; if there are no agents of any one breed, stops the simulation if not any? english [ stop ] ask turtles [ set allies? count alliance-neighbors replenish-power offer-alliance accept-alliance declare-war opt-out wage-war set size ( 1 + 2 * ( power / 100 ) ) perish ] ask patches [ refresh-territory ] ask alliance-requests [ die ] tick end ;; Environment Procedures to refresh-territory set pcolor [color + 2] of min-one-of turtles [distance myself] ;; this is the code that generates the Voronoi diagram end ;; Turtle Procedures to replenish-power set power ( power + 10 ) if power >= 100 [ ;; power needs to be capped, lest it baloons indefinitely set power 100 ] if breed = irish and stability? [ set power ( stability * power ) ] end to offer-alliance if allies? = 0 [ if any? other turtles with [ allies? = 0 ] [ ask one-of other turtles with [ allies? = 0] [ create-alliance-request-from myself] ask alliance-requests [ set color yellow ] ;; alliance-requests are colored yellow for debugging purposes only. Since they are killed the same time unit they are generated, we never get to see them ] ] if allies? > 0 [ set bellicosity bellicosity - 0.1 if bellicosity <= 0 [ ;; bellicosity needs to be capped, lest it drop below 0.0 set bellicosity 0 ] ] end to accept-alliance if any? in-alliance-request-neighbors with [ power >= [power] of myself ] [ ask out-alliance-neighbors [ die ] ;; agents suspend offers of alliance if they happen to receive a favorable one. This is to ensure each agent gets only one ally. if any? alliance-request-neighbors [ create-alliance-with one-of alliance-request-neighbors ] ask alliances [ set color white ] ] end to declare-war if warfare = "all-out" [ if any? other turtles with [ not alliance-neighbor? myself and power <= [ power ] of myself ] [ ;; agents won't wage wars with enemies more powerful than themselves if random-float 1.0 < bellicosity [ ;; the "roll" that determines propensity to declare war ask one-of other turtles with [ not alliance-neighbor? myself and power <= [ power ] of myself ] [ create-war-with myself] ask wars [ set color black] ] ] ] if warfare = "irish-english" [ if any? other turtles with [ not alliance-neighbor? myself and power <= [ power ] of myself and breed !=[ breed ] of myself ] [ if random-float 1.0 < bellicosity [ ask one-of other turtles with [ not alliance-neighbor? myself and power <= [ power ] of myself and breed !=[ breed ] of myself ] [ create-war-with myself] ask wars [ set color black] ] ] ] end To opt-out if any? alliance-neighbors with [ any? war-neighbors ] [ if any? alliance-neighbors with [ power < 0.5 * [power] of myself ] [ ;; if an agent gets too weak, its allies will ditch it. ask my-alliances [ die ] ] ] end to wage-war set ally-power sum [ power ] of alliance-neighbors set war-effort power + ally-power ask war-neighbors [ ifelse ( [ war-effort ] of self ) * random-float 1.0 < ( [ war-effort ] of myself ) ;; calculation that determines the outcome of wars [ set power ( power - random-float 30 ) set bellicosity bellicosity + 0.1 if bellicosity > 1 [ set bellicosity 1 ] if breed = irish and stability? [ set stability stability - 0.1 ] ;; irish agents lose stability when defeated ] [ set power ( power - random-float 10 ) ;; loss of power due to attrition and war expenses set bellicosity bellicosity + 0.1 if bellicosity > 1 [ set bellicosity 1 ] if breed = irish and stability? [ set stability stability - 0.1 ] ] ] end to perish if power <= 0 [ die ] end ;; Interface Button Procedures to clear-alliances ask alliances [ die ] end to provoke-english ask english [ set bellicosity bellicosity + 0.1 ] end to provoke-irish ask irish [ set bellicosity bellicosity + 0.1 ] end
There is only one version of this model, created almost 8 years ago by Vinicius Marino Carvalho.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Irish and English.png | preview | Preview for 'Irish and English' | almost 8 years ago, by Vinicius Marino Carvalho | Download |
This model does not have any ancestors.
This model does not have any descendants.
Muhammad Abubakar
How do I download this model? (Question)
Hi, I am having difficulty downloading this model. Anytime I attempt to download, a dialogue box pop up saying Windows cannot complete the extraction/The destination file could not be created. I will appreciate any advice or link, please. Thank you. Kind regards. Muhammad
Posted almost 7 years ago