Meme Difusion
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 a simple cellular automaton that simulates voting distribution by having each patch take a "vote" of its eight surrounding neighbors, then perhaps change its own vote according to the outcome.
HOW TO USE IT
Click the SETUP button to create an approximately equal but random distribution of blue and green patches. Click GO to run the simulation.
When both switches are off, the central patch changes its color to match the majority vote, but if there is a 4-4 tie, then it does not change.
If the CHANGE-VOTE-IF-TIED? switch is on, then in the case of a tie, the central patch will always change its vote.
If the AWARD-CLOSE-CALLS-TO-LOSER? switch is on, then if the result is 5-3, the central patch votes with the losing side instead of the winning side.
THINGS TO NOTICE
Watch how any setup quickly settles to a static state when both switches are off.
Watch what happens when only the CHANGE-VOTE-IF-TIED? switch is on. How is the result different?
Watch what happens when only the AWARD-CLOSE-CALLS-TO-LOSER? switch is on. How is the result different?
What happens when both switches are on?
EXTENDING THE MODEL
Try other voting rules.
Start with a nonrandom green-and-blue pattern. For example, one could make half of the world blue and half green.
Can you enhance the model to incorporate multiple colors and multiple votes? One might interpret shades of color to represent the degree of a patch's opinion about an issue: strongly against, against, neutral, etc. Each patch could have more than two choices and weighted votes: blue patches' vote could count twice, etc.
RELATED MODELS
Ising (a physics model, but the rules are very similar)
CREDITS AND REFERENCES
This model is described in Rudy Rucker's "Artificial Life Lab", published in 1993 by Waite Group Press.
HOW TO CITE
If you mention this model in an academic publication, we ask that you include these citations for the model itself and for the NetLogo software:
- Wilensky, U. (1998). NetLogo Voting model. http://ccl.northwestern.edu/netlogo/models/Voting. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
In other publications, please use:
- Copyright 1998 Uri Wilensky. All rights reserved. See http://ccl.northwestern.edu/netlogo/models/Voting for terms of use.
COPYRIGHT NOTICE
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, 2001.
Comments and Questions
turtles-own [ token ] globals [ token_values ] to inicia __clear-all-and-reset-ticks set token_values [] repeat num_tokens [ ifelse aleatorio [set token_values lput random-normal fitness 0.2 token_values] [set token_values lput fitness token_values] ] do-plots crt num_agentes ask turtles [ set shape "circle" set token random num_tokens set color color_token token setxy random-xcor random-ycor] end to reset ask turtles [ set shape "circle" set token random num_tokens set color color_token token setxy random-xcor random-ycor] end to go tick ask turtles [ let t [token] of one-of turtles ifelse random-float 1 < novidade [set token random num_tokens] [if random-float 1 < item t token_values [set token t]] set color color_token token ] end to-report color_token [t] report int (token / num_tokens * 140) end to-report entropia [lst] let symbols remove-duplicates lst let freq [] let l (length lst) foreach symbols [ let ctr 0 let symb ? foreach lst [ if ? = symb [set ctr ctr + 1]] set freq lput (ctr / l) freq ] let rep 0.0 foreach freq [set rep (rep + ? * log ? 2)] report (- rep) end to-report log-normal [u sgm] let b ln ( 1 + (sgm * sgm) / (u * u)) let s1 sqrt(b) let m1 (ln(u) - (b / 2)) report exp(random-normal m1 s1) end to-report tendencia [lst nivel] let out [] let cnt 0 while [length lst > 0 and cnt < nivel] [ foreach modes lst [ set out lput ? out set lst remove ? lst set cnt (cnt + 1) ]] report one-of out end to do-plots set-current-plot "Fitness" let xx n-values num_tokens [?] clear-plot set-plot-x-range 0 num_tokens (foreach xx token_values [plotxy ?1 ?2]) end
There is only one version of this model, created over 11 years ago by Antonio Fonseca.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Meme Difusion.png | preview | Preview for 'Meme Difusion' | over 11 years ago, by Antonio Fonseca | Download |
This model does not have any ancestors.
This model does not have any descendants.