Партийная конкуренция в РФ

Партийная конкуренция в РФ preview image

1 collaborator

Default-person Vladimir Ivanov (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.0.5 • Viewed 248 times • Downloaded 15 times • Run 0 times
Download the 'Партийная конкуренция в РФ' modelDownload this modelEmbed this model

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.