Segregation
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Stability and Segregation in Hierarchical Networks of Armed Forces
Thomas Rieth IABG mbH, Einsteinstraße 20, D-85521 Ottobrun, Germany rieth(at)iabg.de
Many countries lack a certain level of safety and security, and the fragility of the armed forces in crisis regions is of interest. Corruption and ethnic segragation are often the main drivers that reduce the stabiliy and integrity of armed forces.
WHAT IS IT?
Our model aims to investigate pattern formation in hierarchical structures built by members of different ethnic groups and military ranks. It includes the distribution of the soldiers’ pay with some commanders being corrupt and taking away their inferiors’ pay. Starting with the root soldier in the centre, the hierarchical structure is constructed, where the number of levels in the hierarchy (military ranks), the number of ethnic groups, and the number of inferiors that each higher level ranked soldier has below him are given. This can also be referred to as the multiplicity factor for the increasing number of soldiers on each level.
This order of the model does not, however, does not determine the number of the lowest level of foot soldiers. In other words, our model allows the setting of the number of the lowest-rank soldiers. With the above network, we create an artificial environment with various agents, all soldiers of different ranks and different ethnicities, reflecting a highly simplified armed forces.
HOW IT WORKS
Following the method of agent-based modeling (ABM), our agents are equipped with a certain set of rules, described in the following. The behaviour of soldiers is discriminated into preference or non-preference of one’s own ethnic origin for the distribution of pay, referred to as corrupt. Corruption, in our model, means that the corrupt soldiers takes his pay and then distributes the earnings of his subordinates among them in a manner which prefers subordinates of the same ethnicity and who are corrupt themselves. This system assumes that money "trickles" through the system starting with the highest ranks and ending with the lowest ones. In this process, money is being distributed, diverted, and redirected by corrupt superiors.
Two processes influence the stability of the hierarchical network. First, soldiers at the lowest level, the rank and file, leave the network if their pay is not sufficient, and may re-join again at a later time. We use leaving and re-joining soldiers to reflect the desertion of rank and file soldiers in the security forces, their defection to local warlords, and a low re-enlistment rate of the armed forces . This feature represents a limited pool where soldiers for the armed forces can be retrieved, and a re-joining probability is a measure for the limited disposability of soldiers. The second process influencing the network’s stability are soldiers at higher levels selecting another superior, i.e. they change their loyalty thereby reflecting the not unusual shifts of alliances within Afghan society.
In the model, we also play with the amount of income determined not only by corrupt officers, but also by the state. In other words, the norm or standard earnings for each soldier are set at the value of 1, independent of the soldiers’ ranks. However, the model allows changing the amount of provided payment (deviating from the above norm) in order to simulate the system’s behaviour in different scenarios, ranging from too little pay to very generous incomes provided by the Afghan state.
During each simulation step the acquired pay of each soldier is reduced by one which simulates that every soldier spends his money for living. Corrupt soldiers spend an additional amount in order to survive in the system; if they take money from others, they most likely also have to pay more to their superiors. If a soldier’s pay is not sufficient, i.e. the pay decreases below zero, the soldier will be dissatisfied and locally change the structure of the network either by leaving the network or selecting another superior. The number of satisfied soldiers, on the other hand, is used as a measure for the network's stability. While soldiers at the lowest level – here called leaf-soldiers – are able to leave the network if their pay is not sufficient, and join again at a later time (reintegration is determined by a given probability), soldiers at higher levels – here called officers – start selecting another superior. Officer behaviour does not apply for the root soldier in the centre, or head officers at the level just below the root level.
While non-corrupt soldiers distribute the received payment evenly and honestly among their subordinates, the corrupt soldier prefers first other corrupt subordinates of same ethnicity, secondly subordinates of the same ethnicity, and third subordinates of a different ethnic group. The first case involves the additional costs mentioned earlier paid by corrupt soldiers. In the second case, the amount of pay to the next level is increased by a multiplication factor of the corruption costs, while in the third case, the corrupt superior pays his inferior too little or nothing. During the distribution of various incomes, the receiving corrupt soldier will distribute the payment accordingly.
HOW TO USE IT
Click the setup button to set up the hierachical netwotk. Click the go button to start the simulation. Pressing the ** step** button wil simulate only a single tick.
With the button Change Corruption of Root and Change Ethnic of Root the individual properties of the root soldier can be changed. After pressing one the buttons from Change Ethnic with Mouse and Change Corruption with Mouse, and selecting a soldier using the mouse, the soldiers individual properties can be changed. Do not forget to release the button by pressing on it again, to stop using this feature.
Building the Structure
Starting from the root soldier in the centre, the hierarchical structure is constructed. The slider number-of-levels defines the depth of the hierachy, and the slider multiplicity-of-levels is the factor for the increasing number of soldiers on each level. The number-of-leaf-soldiers provides the number of soldiers on the lowest level. In doing so, we create an artificial environment with various agents, all soldiers of different ranks and different ethnicities.
Setting Individual Properties
During setup each soldier is sorted into an ethnic group, where the number of the different ethnic groups is given by the slider number-of-ethnics. Based on the slider fraction-of-corruption the corruptioness of each soldier is chosen randomly.
Mechanism of Corruption
The payment of all soldiers is distributed by use of the hierarchical network structure. A value of one for the individual pay is used as a norm or standard earnings for each soldier, independently of their level. Based on the number of soldiers in the network and their hierarchical structure the total amount of payment is calculated; this amount of required payment will vary while soldiers are joining or leaving the structure.
The slider fraction-total-pay allows changing the amount of the provided payment by a factor in order to simulate the system’s behaviour in scenarios of underpay or well-funded net-work.
While non-corrupt soldiers distribute the the received payment evenly and honestly over all subordinates, the corrupt soldier prefer
- ) other corrupt subordinates of same ethnicity
- ) over subordinates of the the same ethnicity
- ) over subordinates of a different ethnic group
In case (1) the amount of pay to the next level is increased by a multiplication factor of (1 + corruption-costs)
, while in case (3) it is reduced by a factor (1 - corruption-costs)
. During the distribution of pays, the receiving corrupt soldier will distribute the payment according the list described above. Whenever the amount of payment is not sufficent, the payment for the following subordnites in the list will be nothing.
During each simulation step - i.e., tick - the acquired pay of each soldier is reduced by one. Corrupt soldiers have to pay an additional amount given by corruption-costs. If a soldier’s pay is not sufficient, i.e., the pay decreases below zero, the soldier will be dissatisfied and change the structure of the network either by leaving the network or selecting another superior. The number of satisfied soldiers is used as a measure for the network's stability.
Dynamic Processes of Structural Changes
If a soldier's pay is not sufficient, i.e., the pay decreases below zero, the soldier will change the structure of the network either by leaving the network or selection of another superior. The soldier agents' variable is-happy? describes their satisfaction: whenever the available pay sinks down to zero, the variable's value is set to false, and the agent is dissatisfied. This will lead either to leaving the structure for soldiers at the lowest level, or changing its position for soldiers at higher levels.
Ethnical segregation energy visualizes the ethnic clustering of soldiers. The individual segregation energy is calculated for each soldier by comparing his ethnic with these of his direkt neighbors. A different ethnicity increases the energy by one, while the same ethnicity decreses it by one. Free moving soldiers with no neigbours will have seperation energy of zero. By adding all individual values of seperation energy the total energy of the hierachical structure can be calculated. The lower the network’s seperation energies is observed the more homogeneous the observed structure will be, i.e., a clustering of the ethnic groups occurs.
Leaving the network
Soldiers at the lowest level - so called leaf-soldiers - are able to leave the network if their pay is not sufficient, and join again at a later time. The reintegration is determined by a probabilty that is defined by the slider joining-probability
Changing the structure
Soldiers at higher levels - so called officers - start selecting another superior. This rule can not apply for the root soldier or head officers at the level just below the root level.
THINGS TO NOTICE
Depending on the setup of the network, one can observe more or less easily the formation of clusters of corruption and same ethnicity.
Networks with a high grade of corruption show the formation of ethnic clusters.
THINGS TO TRY
Try to change the number of the ethnic groups.
Find out if there is a main difference if the root soldier is corrupted or not.
Find out how much payment is required to keep the network stable.
EXTENDING THE MODEL
Calculation of a measure that describes the danger of seperation.
Sanction and other measures against corruption, leaving, or changing the structure; rules for punishment. On the other side, the spreading of corruption.
Different fraction for the ethnis.
This section could give some ideas of things to add or change in the procedures tab to make the model more complicated, detailed, accurate, etc.
NETLOGO FEATURES
Mouse features of Netlogo in change-soldier-ethnic
and change-soldier-corruption
to change individual properties of a soldier.
Arrangement of the hierarchical network with layout-radial
of the soldiers connected by directed command
links.
RELATED MODELS
This development of this model was inspired by Schelling's model of segregation. One can be found in the NetLogo Models Library. See http://ccl.northwestern.edu/netlogo/models/Segregation .
CREDITS AND REFERENCES
Schelling, T. C. (1969). Models of Segregation; The American Economic Review; Vol. 59, No. 2, Papers and Proceedings of the Eighty-first Annual Meeting of the American Economic Association (May, 1969), pp. 488-493. http://www.casos.cs.cmu.edu/education/phd/classpapers/Schelling_Segregation_1969.pdf
Clark W. A. V. (1991). Residential Preferences and Neighborhood Racial Segreagation: A Test of the Schelling Segregation Model; Demography; Volume 28, Issue 1 (Feb. 1991), pp. 1-19. http://smg.media.mit.edu/library/Clark.ResidentialSegregation.pdf
Rauch, J. (2002). Seeing Around Corners; The Atlantic Monthly; April 2002;Volume 289, No. 4; 35-48. http://www.theatlantic.com/issues/2002/04/rauch.htm
Schelling, T. (1978). Micromotives and Macrobehavior. New York: Norton.
Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
Comments and Questions
breed [ soldiers soldier ] directed-link-breed [ commands command ] soldiers-own [ level ; level = 0: leaf, level = number-of-levels : root ethnic is-corrupt? is-happy? separation-energy ; based on ethnic differences sum-of-subordinates ; all levels down pay ; normed to full pay of one unit per tick ] globals [ network-leavings network-changes ethnic-segregation-energy provided-pay-transfer ] to setup-globals ;;ask patches [ set pcolor white ] set network-leavings 0 set network-changes 0 set ethnic-segregation-energy 0 set provided-pay-transfer 0 end to startup if number-of-levels < 6 and number-of-leaf-soldiers < 2501 [ setup ] end to setup clear-all setup-globals setup-world setup-soldiers reset-ticks end to go go-soldiers tick if is-ready-to-stop? [ stop ] end to-report is-ready-to-stop? report ( not any? soldiers with [ not is-happy?] ) end to setup-world ask patches [ set pcolor white ] end to setup-soldiers let local-level 0 let local-number 1 while [ local-level < number-of-levels] [ create-soldiers local-number [ set level number-of-levels - local-level if local-level > 0 [ create-command-to one-of soldiers with [ is-next-higher-level? ] ] ] set local-number multiplicity-of-levels * local-number set local-level local-level + 1 ] create-soldiers number-of-leaf-soldiers [ set level 0 create-command-to one-of soldiers with [ is-next-higher-level? ] ] ask soldiers [ setup-soldier ] update-network end to setup-soldier set shape "person" setxy random-xcor random-ycor set ethnic random number-of-ethnics set is-corrupt? random-float 1.0 < fraction-of-corruption set is-happy? true update-soldier end to update-soldier set size 1.5 * sqrt (level + 1) set color ethnic * 10 + 5 ifelse is-officer? [ ifelse is-corrupt? [ set label (word level "*") ] [ set label (word level) ] ] [ if is-corrupt? [ set label "*" ] ] end to-report is-officer? report level > 0 end to-report is-head-officer? report level >= (number-of-levels - 1) end to-report is-leaf? report level = 0 end to-report is-root? report level = number-of-levels end to-report is-in-structure? report any? my-out-commands end to-report is-free? report not any? my-out-commands end to-report is-next-higher-level? report level = [level] of myself + 1 end to-report is-different-ethnic-in-command? report [ethnic] of end1 != [ethnic] of end2 end to-report is-boss-corrupt? report [is-corrupt?] of end2 end to update-network ask soldiers [ set sum-of-subordinates 0 ] ask soldiers with [ is-root? ] [ walk-soldier-network ] update-separation-energy if optimize-layout [ layout-soldiers-network ] end to update-separation-energy ask soldiers [ let local-energy 0 ask my-out-commands [ ifelse is-different-ethnic-in-command? [ set local-energy local-energy + 1 ] [ set local-energy local-energy - 1 ] ] ask my-in-commands [ ifelse is-different-ethnic-in-command? [ set local-energy local-energy + 1 ] [ set local-energy local-energy - 1 ] ] set separation-energy local-energy ] set ethnic-segregation-energy sum [separation-energy] of soldiers end to walk-soldier-network let local-subordinates 0 ask my-in-commands [ ask end1 [ walk-soldier-network ] set local-subordinates local-subordinates + 1 + [sum-of-subordinates] of end1 ] set sum-of-subordinates local-subordinates end to go-soldiers ask soldiers with [ is-root? ] [ set provided-pay-transfer (sum-of-subordinates + 1) * fraction-total-pay transfer-pay-soldier-network provided-pay-transfer ] set network-leavings 0 set network-changes 0 ask soldiers [ ifelse is-free? [ if not is-root? [ move-free-soldier ] ] [ ifelse is-leaf? and not is-happy? [ leave-the-network-soldier ] [ if not is-head-officer? and not is-happy? [ change-in-network-soldier ] ] ] ] update-network end to move-free-soldier set heading random 360 if can-move? 1 [ forward 1 ] if joining-probability > random-float 1.0 [ create-command-to one-of soldiers with [ is-next-higher-level? ] ] end to leave-the-network-soldier set network-leavings network-leavings + 1 ask my-out-commands [ die ] end to change-in-network-soldier set network-changes network-changes + 1 ask my-out-commands [die ] let new-command-soldier one-of soldiers with [ is-next-higher-level? ] if is-soldier? new-command-soldier [ create-command-to new-command-soldier ] end to layout-soldiers-network ask soldiers with [ is-root? ] [ layout-radial soldiers commands self ] end to transfer-pay-soldier-network [ pay-transfer ] set pay pay - 1 if is-corrupt? [ set pay pay - corruption-costs ] ifelse is-leaf? [ set pay pay + pay-transfer ] [ ifelse is-corrupt? [ distribute-pay-corrupted pay-transfer ] [ distribute-pay-honestly pay-transfer ] ] set is-happy? not (pay < 0) if pay < 0 [ set pay 0 ] end to distribute-pay-corrupted [pay-transfer] set pay pay + corruption-costs let local-pay-sum pay-transfer - corruption-costs ask my-in-commands [ if not is-different-ethnic-in-command? [ ask end1 [ if is-corrupt? [ let local-pay (sum-of-subordinates + 1) * (1 + corruption-costs) if local-pay > local-pay-sum [ set local-pay local-pay-sum ] set local-pay-sum local-pay-sum - local-pay transfer-pay-soldier-network local-pay ] ] ] ] ask my-in-commands [ if not is-different-ethnic-in-command? [ ask end1 [ if not is-corrupt? [ let local-pay (sum-of-subordinates + 1) if local-pay > local-pay-sum [ set local-pay local-pay-sum ] set local-pay-sum local-pay-sum - local-pay transfer-pay-soldier-network local-pay ] ] ] ] ask my-in-commands [ if is-different-ethnic-in-command? [ ask end1 [ let local-pay (sum-of-subordinates + 1) * (1 - corruption-costs) if local-pay > local-pay-sum [ set local-pay local-pay-sum ] set local-pay-sum local-pay-sum - local-pay transfer-pay-soldier-network local-pay ] ] ] if local-pay-sum > 0 [ set pay pay + local-pay-sum ] end to distribute-pay-honestly [pay-transfer] set pay pay + pay-transfer let local-payings 0 let local-factor (pay-transfer / (sum-of-subordinates + 1)) ask my-in-commands [ ask end1 [ let local-pay precision ((sum-of-subordinates + 1) * local-factor) 8 set local-payings local-payings + local-pay transfer-pay-soldier-network local-pay ] ] set pay pay - local-payings end to-report logarithmic-pays let local-list map ln filter [ [?1] -> ?1 > 0 ] ([pay] of soldiers) if empty? local-list [ set local-list (list -1 )] report local-list end to-report satisfaction report 100 * count soldiers with [is-happy?] / count soldiers end ;;; ============ mouse procedures ====================================== to change-soldier-ethnic if mouse-inside? and mouse-down? [ ask patch mouse-xcor mouse-ycor [ ask soldiers in-radius 2 [ ask min-one-of soldiers [distancexy mouse-xcor mouse-ycor] [ show ethnic set ethnic (ethnic + 1) mod number-of-ethnics update-soldier ] ] ] display wait 1 ] end to change-soldier-corruption if mouse-inside? and mouse-down? [ ask patch mouse-xcor mouse-ycor [ ask soldiers in-radius 2 [ ask min-one-of soldiers [distancexy mouse-xcor mouse-ycor] [ set is-corrupt? not is-corrupt? update-soldier ] ] ] display wait 1 ] end
There are 4 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
2014-04-02_Segregation_and_Stability.pdf | Dokumentation and Analysis | 11 months ago, by Thomas Rieth | Download | |
2014-04-02_Segregation_und_Stabilität.pdf | Dokumentation und Analyse (German) | 11 months ago, by Thomas Rieth | Download | |
Segregation.png | preview | Preview for 'Segregation' | about 11 years ago, by Thomas Rieth | Download |
This model does not have any ancestors.
This model does not have any descendants.