# Evolution of Norms

Model was written in NetLogo 5.2.1
•
Viewed 324 times
•
Downloaded 22 times
•
Run 0 times

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)

## Comments and Questions

Please start the discussion about this model!
(You'll first need to log in.)

Click to Run Model

globals[defections turtlecount turtleno punishcount metapunishcount sd mn difft] turtles-own[points boldness vengefullness seen? punish?] to setup clear-all set turtlecount 20 set defections 0 addturtles turtlecount 0 0 0 reset-ticks end to go100 repeat 100[ go ] end to go ask turtles[ repeat 4[ set punishcount 0 set metapunishcount 0 ;; Chance of being seen set seen? random-float 1 ;; Defect if think you can get away with it if seen? < boldness / 7 [ ;; Choose to defect set points points + 3 set defections defections + 1 ask other turtles [ ;; hurt caused by defection set points points - 1 ;; Did they see this? if random-float 1 < seen?[ ;; Yes, they saw it set punish? random-float 1 ;; Are they going to punish? ifelse vengefullness / 7 > punish? [ ;; they also chose to punish set punishcount punishcount + 1 set points points - 2 ] [ ;; They did not punish; Enforce metanorm version? if Metanorm[ ask other turtles[ ;; enforce metanorm? if random-float 1 < seen?[ set metapunishcount metapunishcount + 1 set points points - 2 ] ] set points points - (9 * metapunishcount) set metapunishcount 0 ] ] ] ] ;; Apply punishment to defector set points points - (9 * punishcount) set punishcount 0 ] ] ] ;; evolution. Turtles replicate more if successful in strategies set sd standard-deviation [points] of turtles set mn mean [points] of turtles ask turtles[ ;;show points if points >= mn + sd[ ;; Most successful individuals have 2 offspring hatch 2 [ set points 0 setxy random 30 random 30 ] ] if (points >= mn - sd) and (points < mn + sd) [ ;; Mean individuals have just one hatch 1 [ set points 0 setxy random 30 random 30 ] ] die ] ;; even up the numbers to 20 set difft turtlecount - count turtles ifelse difft < 0[ repeat difft * -1[ ask turtle max[who] of turtles [ die ] ] ][ addturtles difft 0 0 0 ] ;; mutation ask turtles[ if random-float 1 <= 0.01[ set boldness random 8 ] if random-float 1 <= 0.01[ set vengefullness random 8 ] ] ;;update-plots tick set defections 0 end to addturtles [num bold venge pts] create-turtles num[ ifelse bold = 0[ set boldness random 8 ][ set boldness bold ] ifelse venge = 0[ set vengefullness random 8 ][ set vengefullness venge ] set points pts setxy random 30 random 30 set shape "person" set size 3 set color blue ] end

There is only one version of this model, created over 4 years ago by Paul Matthews.

## Attached files

File | Type | Description | Last updated | |
---|---|---|---|---|

Evolution of Norms.png | preview | preview | over 4 years ago, by Paul Matthews | Download |

This model does not have any ancestors.

This model does not have any descendants.