Game Theory in Organized Crime
Model was written in NetLogo 5.0.5
•
Viewed 1744 times
•
Downloaded 72 times
•
Run 0 times
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Info tab cannot be displayed because of an encoding error
Comments and Questions
Please start the discussion about this model!
(You'll first need to log in.)
Click to Run Model
globals [endowment] breed [criminals a-criminal] breed [governmentagents a-governmentagent] breed [criminals2 a-criminal2] criminals-own [money] criminals2-own [money] governmentagents-own [money] patches-own [countdown] to setup clear-all ask patches [set pcolor green] if endowment? [ask patches [ set countdown random-normal 0 1 endowment-return set pcolor one-of [green red] ] ] set-default-shape criminals "criminals" create-criminals initial-number-criminals [ set color black set size 2 setxy random-xcor random-ycor ] set-default-shape criminals2 "criminals2" create-criminals2 initial-number-criminals2 [ set color blue set size 2 setxy random-xcor random-ycor ] set-default-shape governmentagents "governmentagents" create-governmentagents initial-number-governmentagents [ set color white set size 2 set money initial-state-strength setxy random-xcor random-ycor ] set endowment count patches with [pcolor = green] reset-ticks end to go if not any? turtles [ stop ] ask criminals [ take-money ; Should we not make a slider to adjust this threshold? So we can show that dependent on state-strengt you can get different equilibriums? move ; I think, according to the paper, that that can be of great value to look at different cases death cheat multiply-criminals fight lie ] ask criminals2 [ take-money ; Should we not make a slider to adjust this threshold? So we can show that dependent on state-strengt you can get different equilibriums? move ; I think, according to the paper, that that can be of great value to look at different cases death cheat multiply-criminals2 fight2 lie ] ask governmentagents [ move cooperate cooperate2 catch-criminals catch-criminals2 ] if endowment? [ ask patches [ endowment-return ] ] set endowment count patches with [pcolor = green] if benefit-cooperation < 0.5 [ask criminals [lie]] if benefit-cooperation < 0.5 [ask criminals2 [lie]] tick end to take-money if pcolor = green [ set pcolor red set money money + 1 ] end to move rt random 50 lt random 50 fd 1 end to death if money < 0 [die] end ;; to catch-storeowners ;; let mafia-power sum ([money] of mafious in-radius 20) / 100 ;; let ProbRefuse-myself sum ([money] of cops in-radius 20) / 100 ;; let prey one-of storeowners-here ;; if prey != nobody ;; [ask prey [ifelse (((ProbRefuse-myself * ((storeowners-thrust-in-govs-ability-to-fight-mafia * police-power) / 2 ))) < mafia-power ) ;; [set money money - 3 ask patches in-radius 5 [endowment-return]] [set money money - 1 ask patches in-radius 2 [stop endowment-return]]]] ;; ifelse (((ProbRefuse-myself * ((storeowners-thrust-in-govs-ability-to-fight-mafia * police-power) / 2 ))) < mafia-power ) ;; [set money money + 3] [set money money + 0] ;; end ; to catch-criminals ; let market-profit sum [money] of criminals ; let government-power sum [money] of governmentagents ; let prey one-of criminals-here ; if prey != nobody ; [ask prey [ifelse market-profit > government-power and random-float 100 > 90 ;; According to paper ; [set money money - (sum [money] of criminals-here)] [set money money + 0]]] ; If true, criminals gets reduced money, if not there no change ; ifelse market-profit > government-power [set money money + (sum [money] of criminals)] [set money money + 0] ; end ; If true the government gets the money of the criminals, if not, nothing happens to cooperate let market-profit sum [money] of criminals let government-power sum [money] of governmentagents let prey one-of criminals-here if prey != nobody [ask prey [ifelse market-profit > government-power * ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) and ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) != 0 [set money money + (sum [money] of criminals-here / 1000) * (1 + benefit-cooperation) ] [set money money + (sum [money] of criminals-here) / 1000 * benefit-cooperation / 2.5 ]]] ; Funker ikke ; If true, criminals gets reduced money, if not there no change ifelse market-profit > government-power * ( statepropensitytoCONTINUEtocooperatewithcriminals / ( 10 * statepropensitytoSTARTtocooperatewithcriminals) ) and ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) != 0 [set money money + (sum [money] of criminals-here) * (1 + benefit-cooperation) * pi] [set money money + 0] ; Funker end to cooperate2 let market-profit2 sum [money] of criminals2 let government-power sum [money] of governmentagents let prey one-of criminals2-here if prey != nobody [ask prey [ifelse market-profit2 > government-power * ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) and ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) != 0 [set money money + (sum [money] of criminals2-here / 1000) * (1 + benefit-cooperation) ] [set money money + (sum [money] of criminals2-here) / 1000 * benefit-cooperation / 2.5 ]]] ; Funker ikke ; If true, criminals gets reduced money, if not there no change ifelse market-profit2 > government-power * ( statepropensitytoCONTINUEtocooperatewithcriminals / ( 10 * statepropensitytoSTARTtocooperatewithcriminals) ) and ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) != 0 [set money money + (sum [money] of criminals2-here) * (1 + benefit-cooperation) * pi] [set money money + 0] ; Funker end to catch-criminals let prey one-of criminals-here if prey != nobody [ask prey [ifelse ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) = 0 and benefit-cooperation = 0 and random-float 100 > 90 ;; According to paper [set money money - (1 + benefit-cooperation) * (sum [money] of criminals-here)] [set money money + 0]]] ifelse ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) = 0 and benefit-cooperation = 0 and random-float 100 > 90 [set money money + (sum [money] of criminals-here)] [set money money + 0] end to catch-criminals2 let prey one-of criminals2-here if prey != nobody [ask prey [ifelse ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) = 0 and random-float 100 > 90 ;; According to paper [set money money - (1 + benefit-cooperation) * (sum [money] of criminals2-here)] [set money money + 0]]] ifelse ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) = 0 and random-float 100 > 90 [set money money + (sum [money] of criminals2-here)] [set money money + 0] end to cheat let prey one-of governmentagents-here if prey != nobody [ask prey [ifelse ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) = 0 and random-float 100 > 90 ; [set money money - (sum [money] of governmentagents-here)] [set money money + 0]]] ;always when they start to become more powerful ifelse ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) = 0 [set money money + (sum [money] of governmentagents-here)] [set money money + 0] end to endowment-return if pcolor = red [ ifelse countdown <= 0 [set pcolor green set countdown endowment-rate ] [set countdown countdown - 1 ] ] end to multiply-criminals let my-money sum [money] of criminals-here let enemy-money sum [money] of criminals2 if my-money > 100 * (enemy-money / (benefit-cooperation + 0.01)) and ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) <= (benefit-cooperation * 10) or count criminals < count criminals2 [hatch 1 rt random-float 360 fd 1 set money money - (sum [money] of criminals-here)] end to multiply-criminals2 let my-money sum [money] of criminals2-here let enemy-money sum [money] of criminals if my-money > 100 * (enemy-money / (benefit-cooperation + 0.01)) and ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) <= (benefit-cooperation * 10) or count criminals2 < count criminals [hatch 1 rt random-float 360 fd 1 set money money - (sum [money] of criminals2-here)] end to fight let my-profit sum [money] of criminals let enemy-profit sum [money] of criminals2 let prey one-of criminals2-here if prey != nobody [ask prey [ifelse my-profit < enemy-profit and random-float 100 > 90 ;; According to paper [set money money - (sum [money] of criminals2-here)] [set money money + 0]]] ifelse my-profit < enemy-profit [set money money + (sum [money] of criminals2-here) ] [set money money + 0] end to fight2 let my-profit sum [money] of criminals2 let enemy-profit sum [money] of criminals let prey one-of criminals-here if prey != nobody [ask prey [ifelse my-profit < enemy-profit and random-float 100 > 90 ;; According to paper [set money money - (sum [money] of criminals-here)] [set money money + 0]]] ifelse my-profit < enemy-profit [set money money + (sum [money] of criminals-here) ] [set money money + 0] end to lie let government-power sum [money] of governmentagents let enemy-profit sum [money] of criminals let enemy2-profit sum [money] of criminals2 let prey one-of governmentagents-here if prey != nobody [ask prey [ifelse ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) != 0 and benefit-cooperation < 0.5 and (enemy-profit + enemy2-profit) * benefit-cooperation = initial-state-strength * government-power and random-float 100 > 90 ; [set money money - (sum [money] of governmentagents-here)] [set money money + 0]]] ;always when they start to become more powerful ifelse ( statepropensitytoCONTINUEtocooperatewithcriminals / 10 * statepropensitytoSTARTtocooperatewithcriminals ) != 0 and (enemy-profit + enemy2-profit) * benefit-cooperation = initial-state-strength * government-power and random-float 100 > 90 [set money money + (sum [money] of governmentagents-here)] [set money money + 0] end
There is only one version of this model, created over 9 years ago by Benedito Neto.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Game Theory in Organized Crime.png | preview | Preview for 'Game Theory in Organized Crime' | over 9 years ago, by Benedito Neto | Download |
This model does not have any ancestors.
This model does not have any descendants.