Institutional Formation
Model was written in NetLogo 5.0.5
•
Viewed 274 times
•
Downloaded 39 times
•
Run 0 times
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
What is this?
A model of insitutional formation I made for Constitutional Design class at Leiden University College.
Comments and Questions
Please start the discussion about this model!
(You'll first need to log in.)
Click to Run Model
globals [ supergame danger turtle1 turtle2 tieturtles closerturtlelink closerturtle turtletrust globalcit gameturtle gameturtlelink worstturtlelink worstturtle globaltrust group-size ;; current running size of group being explored biggestgroup groups ;; list of connected components truststore ] breed[boths both] breed[As A] breed[Bs B] breed[nones none] undirected-link-breed[connectors connector] turtles-own [ group explored? ;; used to compute connected components in the graph ] links-own [ linkgroup instcit mutualtrust ;; true if the link represents a loner joining a group ] ;;;;;;;;;;;;;;;;;;;;;;;; ;;; Setup Procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;;; to setup clear-all set-default-shape turtles "circle" ;; Set up the turtles and their characteristics setup-turtles color-turtles setup-links color-links set globaltrust 0 set danger 0 ;find-all-components reset-ticks end to setup-turtles create-turtles 100 ask turtles [ setxy random-xcor random-ycor ] ask turtles [ if random 4 < buttonCCC [ set breed boths ] if breed != boths and random 3 < buttonA [ set breed As ] if breed != boths and breed != As and random 3 < buttonB [ set breed Bs ] if breed != boths and breed != As and breed != Bs [ set breed nones ] ] end to setup-links ask turtles [ create-links-with other turtles ] ask links [ set instcit 0 set mutualtrust trustcontrol ;; Starting trust if (is-both? end1 = true) and (is-both? end2 = true) [set mutualtrust (mutualtrust + 30)] if (is-A? end1 = true) and (is-A? end2 = true) [set mutualtrust (mutualtrust + 20)] if (is-B? end1 = true) and (is-B? end2 = true) [set mutualtrust (mutualtrust + 20)] if (is-B? end1 = true) and (is-both? end2 = true) [set mutualtrust (mutualtrust + 20)] if (is-both? end1 = true) and (is-B? end2 = true) [set mutualtrust (mutualtrust + 20)] if (is-A? end1 = true) and (is-both? end2 = true) [set mutualtrust (mutualtrust + 20)] if (is-both? end1 = true) and (is-A? end2 = true) [set mutualtrust (mutualtrust + 20)] hide-link ] end ;;;;;;;;;;;;;;;;;;;;;;; ;;; Main Procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;; to go ifelse supergameswitch = TRUE [ set-supergame ] [set supergame 0] interact institutions if conflictswitch = TRUE [ conflict ] groupsize tick end to set-supergame let numberturtles count turtles set supergame (gamesleft * 1 * (1 / numberturtles)) end to interact carefully [ ask turtles [ fd 1 let closelinks my-links with [link-length < 10] let dangerouslinks closelinks with [mutualtrust < 25] let coollinks closelinks with [mutualtrust >= 25] set closerturtlelink max-one-of coollinks [mutualtrust] ; the guy who he is most close to set gameturtlelink one-of coollinks set worstturtlelink min-one-of dangerouslinks [mutualtrust] if worstturtlelink != nobody [ ifelse [who] of self != [who] of [end2] of worstturtlelink [set worstturtle [end2] of worstturtlelink] [set worstturtle [end1] of worstturtlelink] ] ifelse [who] of self != [who] of [end2] of closerturtlelink [set closerturtle [end2] of closerturtlelink] [set closerturtle [end1] of closerturtlelink] let x [xcor] of closerturtle let y [ycor] of closerturtle facexy x y fd 2 if worstturtlelink != nobody [ let xw [xcor] of worstturtle let yw [ycor] of worstturtle facexy xw yw bk 4 ] if dangerswitch = TRUE [ ifelse group != biggestgroup [set danger -0.5 * (biggestgroup - group) ] [set danger 0] ] ask gameturtlelink [ if mutualtrust > 100 [ set mutualtrust 100 ] if mutualtrust < 0 [ set mutualtrust 0 ] let trust1 (random-normal mutualtrust 10) / 100 let trust2 (random-normal mutualtrust 10) / 100 ifelse (1 - trust1) * danger + trust1 * 2 > (1 - trust1) * -2 + trust1 * (supergame + instcit) ; Payoffs from cooperating, FALSE is cooperate [ifelse (1 - trust2) * danger + trust2 * 2 < (1 - trust2) * -2 + trust2 * (supergame + instcit) ; both parties [set mutualtrust (mutualtrust - 0) set globaltrust (globaltrust - 0)] ; other party cooperates [set mutualtrust (mutualtrust - 10) set globaltrust (globaltrust - 10)] ] ; other party does not cooperate/robs [ifelse (1 - trust2) * danger + trust2 * 2 < (1 - trust2) * -2 + trust2 * (supergame + instcit) ; turtle cooperates [set mutualtrust (mutualtrust + 10) set globaltrust (globaltrust + 10)] ; other party cooperates [set mutualtrust (mutualtrust - 20) set globaltrust (globaltrust - 20) ] ; other party does not cooperate/robs ] ] ] ] [print "Error, I am alone!"] end to institutions ask links with [mutualtrust > 80] [ show-link set instcit 0.5 set linkgroup TRUE set turtle1 [end2] of self set turtle2 [end1] of self set tieturtles (turtle-set turtle1 turtle2) set color white set thickness 0.3 ask turtle1 [ let x [xcor] of turtle2 let y [ycor] of turtle2 facexy x y fd 2 ] ask turtle2 [ let x [xcor] of turtle1 let y [ycor] of turtle1 facexy x y ] ] ask links with [mutualtrust <= 80] [ set instcit 0 set color black set thickness 0.3 set linkgroup FALSE hide-link ] ask links with [mutualtrust < 25] [ set color red - 3 set thickness 0.1 hide-link ] end to groupsize ask turtles [ set group count my-links with [linkgroup = TRUE] + 1 ] set biggestgroup max [group] of turtles end to conflict ask turtles [ let closeturtles turtles in-radius 4 let dangerousturtle max-one-of closeturtles [group] if [group] of dangerousturtle > [group] of self [ if [mutualtrust] of (link [who] of self [who] of dangerousturtle) < 25 [ die ] ] ] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Visualization Procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; color links according to past experience to color-turtles ask turtles[ if (is-both? self = true) [set color brown] if (is-A? self = true) [set color blue] if (is-B? self = true) [set color red] if (is-none? self = true) [set color yellow] ] end to color-links ask links[ set thickness 0 set color black] end ; Copyright 2007 Uri Wilensky. ; See Info tab for full copyright and license.
There is only one version of this model, created over 11 years ago by Menno Schellekens.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Institutional Formation.png | preview | Preview for 'Institutional Formation' | over 11 years ago, by Menno Schellekens | Download |
This model does not have any ancestors.
This model does not have any descendants.