Партийная конкуренция в РФ
Model was written in NetLogo 5.0.5
•
Viewed 248 times
•
Downloaded 15 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 [gini-index-reserve lorenz-points ] breed [leaders] breed [opposers] breed [spoilers] patches-own [energy apathy] turtles-own [support] to setup clear-all setup-patches loyals protest ask turtles [set support support + 1] setup-leaders setup-opposers setup-spoilers update-lorenz-and-gini reset-ticks end to setup-patches ask patches [set pcolor green ] ask patches [set energy 0] ask patches [set apathy 0] end to loyals ask n-of кол.-лояльных-зон patches [ set pcolor yellow set apathy 1 ] end to protest ask n-of кол.-зон-недовольства patches [ set pcolor blue set energy 1 ] end to setup-spoilers create-spoilers количество-спойлеров ask spoilers [ setxy random-xcor random-ycor ] ask spoilers [set color grey] ask spoilers [set shape "mouse side"] end to setup-leaders create-leaders количество-лидеров ask leaders [ setxy random-xcor random-ycor ] ask leaders [set color red set size 1.2] ask leaders [set shape "bear"] ask leaders[set label-color blue - 1 ] ask turtle 0 [ifelse партия-власти? [set size 1.5 set support support + 2 watch-me] [set size 1.2 set support support + 1] ] end to setup-opposers create-opposers количество-претендентов ask opposers [ setxy random-xcor random-ycor ] ask opposers [set color white - 1] ask opposers [set shape "person business"] ask opposers [set label-color orange ] end to go if ticks = 450 [ stop] if ticks = 449 [ask patches [if pcolor = blue [ set pcolor white ] ]] ;; stop after 500 ticks if ticks = 449 [ask patches [if pcolor = yellow [ set pcolor black ] ]] ;; stop after 500 ticks if ticks = 449 [ask patches [if pcolor = green [ set pcolor white ] ]] ;; stop after 500 ticks move-leaders move-opposers move-spoilers ask leaders [compete] ask opposers [take-yours] ask opposers [retaliate] ask spoilers [spoil] update-lorenz-and-gini tick end to move-leaders ask leaders [ right random 360 forward 1 ask turtle 0 [ ifelse партия-власти? [forward 2] [forward 1]] ] end to move-opposers ask opposers [right random 360 forward 1] ask one-of opposers [ifelse кооперация-претендентов? [move-to one-of leaders forward 1] [right random 360 forward 1]] ask opposers [ifelse макс-конкурентность? [move-to one-of leaders forward 1] [right random 360 forward 1] ] end to move-spoilers ask spoilers [ifelse макс-конкурентность? or агрессия-спойлеров? [move-to one-of opposers forward 1] [right random 360 forward 1] ] end to spoil ask spoilers-here [if sum [count spoilers-here] of neighbors >= 2 and sum [count opposers-here] of neighbors = 1 [ help-leaders ]] end to compete ask leaders-here [if sum [count opposers-here] of neighbors < 2 and energy < 1 [ win-votes ] ] end to retaliate ask opposers-here [if sum [count opposers-here] of neighbors >= 1 and sum [count leaders-here] of neighbors < 2 and sum [count spoilers-here] of neighbors < 2 and apathy < 1[ persuade ]] end to take-yours ask opposers-here [if sum [count leaders-here] of neighbors < 1 and energy > 0 [persuade] ] end to win-votes ask leaders-here [if pcolor = green [ set pcolor black set support support + 1 ask turtle 0 [ ifelse партия-власти? [set support support + 0.5] [set support support + 0]]] if pcolor = yellow [ set pcolor black set support support + 1 ask turtle 0 [ ifelse партия-власти? [set support support + 1] [set support support + 0]]] if pcolor = white [ set pcolor black set support support + 1 ask turtle 0 [ ifelse партия-власти? [set support support + 0.5] [set support support + 0]]] ifelse показать-поддержку? [ set label support ] [ set label "" ] ] end to persuade ask opposers-here [ if pcolor = green [ set pcolor white set support support + 1] if pcolor = blue [ set pcolor white set support support + 1 ask turtle 1 [ ifelse ведущая-опп.-партия? [set support support + 1] [set support support + 0]]] if pcolor = black [ set pcolor white set support support + 1 ask turtle 1 [ ifelse ведущая-опп.-партия? [set support support + 0.5] [set support support + 0]]] ifelse показать-поддержку? [ set label support ] [ set label "" ] ] end to help-leaders ask spoilers-here [ if pcolor = green [ set pcolor black set support support + 0.5 ask turtle 0 [set support support + 1] ] if pcolor = blue[ set pcolor black set support support + 0.5 ask turtle 0 [set support support + 1]] if pcolor = white [ set pcolor black set support support + 0.5 ask turtle 0 [set support support + 1]] ] end to update-lorenz-and-gini let sorted-supports sort [support] of turtles let total-support sum sorted-supports let support-sum-so-far 0 let index 0 set gini-index-reserve 0 set lorenz-points [] repeat count turtles [ set support-sum-so-far (support-sum-so-far + item index sorted-supports) set lorenz-points lput ((support-sum-so-far / total-support) * 100) lorenz-points set index (index + 1) set gini-index-reserve gini-index-reserve + (index / count turtles) - (support-sum-so-far / total-support) ] end ;Иванов В.Г., РУДН, 2012 г.
There is only one version of this model, created over 10 years ago by Vladimir Ivanov.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Партийная конкуренция в РФ.png | preview | Preview for 'Партийная конкуренция в РФ' | over 10 years ago, by Vladimir Ivanov | Download |
This model does not have any ancestors.
This model does not have any descendants.