Illuminati - Control the world

Illuminati - Control the world preview image

1 collaborator

Alonsela Alon Sela (Author)

Tags

leadership, herd behavior, control 

Tagged by Alon Sela over 3 years ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 5.3.1 • Viewed 240 times • Downloaded 11 times • Run 0 times
Download the 'Illuminati - Control the world' modelDownload this modelEmbed this model

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


## WHAT IS IT?

This model is an attempt to understand the effect of a hidden leadership on a crowd.

Two groups of people interact:

The first, is a group of ultra liberal (non conservative) entities. They follow their peers and run after every new idea. They are illustrated by a Flocking dynamics (see Flocking Netlogo model Copyright 1998 Uri Wilensky).

The second is a group of ultra conservative - the Illuminati.

They only move in one direction with no change, OR move all together in a fully coordinated direction.

Two arrows show the mean direction of the regular people and that of the Illuminati.

The plot shows the difference between the two means.

## HOW IT WORKS

The Illuminati can either move to one singe direction or slowly change their move.

In both methods, they all move always in the same direction, and always together.

They can either be seen or hidden visually, but they are always not seen by the crowd, who observes them as a regular person.

The ultra liberal person (bird) follow three known rules: "alignment", "separation", and "cohesion". They do not know who are the Illuminati and who are the others. They just see their near neighbors as much as their vision permits.

For the regular group, simlar to the original flocking model, "Alignment" means that a each tends to turn so that it is moving in the same direction that nearby people .

"Separation" means that a person will turn to avoid another one which gets too close. "Cohesion" means that a person will move towards other nearby persons (unless another one is too close).

The "separation" rule overrides the other two, which are deactivated until the minimum separation is achieved. The three rules affect only the person's heading. Each person always moves forward at the same constant speed.

## HOW TO USE IT

Determine the population.

Determine the fractiopn of ultra-aurthodox in the population (fix-awalkers).

Determine the flocking parameters (vision, min-separation, max-turn).

## THINGS TO NOTICE

What is the role of conservatism in society? How JUST BY NOT CHANGING one`s direction, a small fraction of the population can eventually change a substancially larger fractions than its own.

How fast the herd is being controled by the Illuminatti.

What is the required fraction of Illuminati to control the entire croud.

## THINGS TO TRY

What happen when personakl similarity (minimal distance) grows or reduced to 0.

Wht initial conditions make the croud easier to control by the Illuminati?

## EXTENDING THE MODEL

## NETLOGO FEATURES

## RELATED MODELS

Flocking

## CREDITS AND REFERENCES

This model is strongly constructed upon the model of flocking (Copyright 1998 Uri Wilensky. All rights reserved.).

While the changes are minor, their interpretation is interesting enought to show it on a model of itself.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

The FLOCKING model is inspired by the Boids simulation invented by Craig Reynolds. The algorithm we use here is roughly similar to the original Boids algorithm, but it is not the same. The exact details of the algorithm tend not to matter very much -- as long as you have alignment, separation, and cohesion, you will usually get flocking behavior resembling that produced by Reynolds' original model. Information on Boids is available at http://www.red3d.com/cwr/boids/.

## HOW TO CITE

## COPYRIGHT NOTICE

Flocking - Copyright 1998 Uri Wilensky. All rights reserved.

Permission to use, modify or redistribute this model is hereby granted, provided that both of the following requirements are followed:

a) this copyright notice is included.

b) this model will not be redistributed for profit without permission from Uri Wilensky. Contact Uri Wilensky for appropriate licenses for redistribution for profit.

This model was created as part of the project: CONNECTED MATHEMATICS: MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL MODELS (OBPML). The project gratefully acknowledges the support of the National Science Foundation (Applications of Advanced Technologies Program) -- grant numbers RED #9552950 and REC #9632612.

This model was converted to NetLogo as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227. Converted from StarLogoT to NetLogo, 2002.

Comments and Questions

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

Click to Run Model

breed [walkers walker]
breed [arrows arrow]



walkers-own [
  flockmates         ;; agentset of nearby walkers
  nearest-neighbor   ;; closest one of our flockmates
]

arrows-own [
  flockmates         ;; agentset of nearby walkers
]

globals [
  max-align-turn
  max-cohere-turn
  max-separate-turn
  differance


  ]

to setup

  clear-all
  let a random 200
  random-seed a
  set max-align-turn max-allowed-turn
  set max-cohere-turn max-allowed-turn
  set max-separate-turn max-allowed-turn

  create-walkers population
  ask walkers
    [ifelse  who >= ( population * fix-walkers )
      [ set color yellow   ;; random shades look nice
        set size 0.5  ;; easier to see
        setxy random-xcor random-ycor
   ;     set firstrun  "true"
        set heading random 360
      ]
      [set color red   ;; random shades look nice
       set shape "arrow"
       set size 2  ;; easier to see
       setxy random-xcor random-ycor
       set heading 42
      ]
    ]
    reset-ticks

    create-arrows 1
       [set xcor -10
        set ycor -10
        set shape "thin_arrow"
        set color 43
        set heading mean [heading] of walkers with [color = yellow]
        set size 10
        set flockmates turtles with [color = yellow]
       ]
       create-arrows 1
       [set xcor -5
        set ycor -10
        set shape "thin_arrow"
        set color 13
        set heading mean [heading] of walkers with [color = red]
        set size 10
       ]
end 

to go
  set max-align-turn max-allowed-turn
  set max-cohere-turn max-allowed-turn
  set max-separate-turn max-allowed-turn
  ask walkers with [color = yellow][ flock ]
  if Illuminati-change? [
    ask walkers with [color = red][
      ifelse Illuminaty-Random-Move? [
        ifelse (random-float 1 >= 0.5)
          [rt 0.05 * Illuminati-change-speed]
          [lt 0.05 * Illuminati-change-speed]]
      [rt 0.05 * Illuminati-change-speed]]
  ]

  repeat 5 [ask walkers [ fd 0.1 ]]

  ask arrow Population [
    set heading mean [heading] of walkers with [color = yellow]
    set size population / standard-deviation [heading] of walkers with [color = yellow]]

  ask arrow (Population + 1) [
    set heading mean [heading] of walkers with [color = red]]


  set differance abs(mean [heading] of walkers with [color = yellow] - mean [heading] of walkers with [color = red] )

  ifelse (hide_Illuminati? = true)
    [ask walkers with [color = red][set hidden? true]]
    [ask walkers with [color = red][set hidden? false]]
  if (differance < 5) [if stop-when-aligned? [stop]]
  tick
end 

to flock  ;; walker procedure
  find-flockmates
  if any? flockmates
    [ find-nearest-neighbor
      ifelse distance nearest-neighbor < minimum-separation
        [ separate ]
        [ align
          cohere ] ]
end 

to find-flockmates  ;; walker procedure
  set flockmates other walkers in-radius vision
end 

to find-nearest-neighbor ;; walker procedure
  set nearest-neighbor min-one-of flockmates [distance myself]
end 

;;; SEPARATE

to separate  ;; walker procedure
  turn-away ([heading] of nearest-neighbor) max-separate-turn
end 

;;; ALIGN

to align  ;; walker procedure
  turn-towards average-flockmate-heading max-align-turn
end 

to-report average-flockmate-heading  ;; walker procedure
  ;; We can't just average the heading variables here.
  ;; For example, the average of 1 and 359 should be 0,
  ;; not 180.  So we have to use trigonometry.
  let x-component sum [sin heading] of flockmates
  let y-component sum [cos heading] of flockmates
  ifelse x-component = 0 and y-component = 0
    [ report heading ]
    [ report atan x-component y-component ]
end 

to-report degree-from-avg-herd-to-avg-enligtened  ;; observer walker procedure
  ;; We can't just average the heading variables here.
  ;; For example, the average of 1 and 359 should be 0,
  ;; not 180.  So we have to use trigonometry.
  let x-component sum [sin heading] of flockmates
  let y-component sum [cos heading] of flockmates
  ifelse x-component = 0 and y-component = 0
    [ report heading ]
    [ report atan x-component y-component ]
end 
;;; COHERE

to cohere  ;; walker procedure
  turn-towards average-heading-towards-flockmates max-cohere-turn
end 

to-report average-heading-towards-flockmates  ;; walker procedure
  ;; "towards myself" gives us the heading from the other walker
  ;; to me, but we want the heading from me to the other walker,
  ;; so we add 180
  let x-component mean [sin (towards myself + 180)] of flockmates
  let y-component mean [cos (towards myself + 180)] of flockmates
  ifelse x-component = 0 and y-component = 0
    [ report heading ]
    [ report atan x-component y-component ]
end 

;;; HELPER PROCEDURES

to turn-towards [new-heading max-turn]  ;; walker procedure
  turn-at-most (subtract-headings new-heading heading) max-turn
;  ]
end 

to turn-away [new-heading max-turn]  ;; walker procedure
  turn-at-most (subtract-headings heading new-heading) max-turn
end 

;; turn right by "turn" degrees (or left if "turn" is negative),
;; but never turn more than "max-turn" degrees

to turn-at-most [turn max-turn]  ;; walker procedure
  ifelse abs turn > max-turn
    [ ifelse turn > 0
        [ rt max-turn ]
        [ lt max-turn ] ]
    [ rt turn ]
end 

to-report shanon-entropy
end 

There is only one version of this model, created over 3 years ago by Alon Sela.

Attached files

File Type Description Last updated
Illuminati - Control the world.png preview Preview for 'Illuminati - Control the world' over 3 years ago, by Alon Sela Download

This model does not have any ancestors.

This model does not have any descendants.