SegregationSeeds
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This is a modification of Uri Wilensky's model "segregation". The paragraphs below are of the original model except the last one in each section which has been added by me.
This project models the behavior of two types of turtles in a mythical pond. The red turtles and green turtles get along with one another. But each turtle wants to make sure that it lives near some of "its own." That is, each red turtle wants to live near at least some red turtles, and each green turtle wants to live near at least some green turtles. The simulation shows how these individual preferences ripple through the pond, leading to large-scale patterns.
This project was inspired by Thomas Schelling's writings about social systems (such as housing patterns in cities).
I added two more buttons "red" and "green" which enable to the user to create some more green or red turtles where he/she likes them to be.
HOW TO USE IT
Click the SETUP button to set up the turtles. There are equal numbers of red and green turtles. The turtles move around until there is at most one turtle on a patch. Click GO to start the simulation. If turtles don't have enough same-color neighbors, they jump to a nearby patch.
The NUMBER slider controls the total number of turtles. (It takes effect the next time you click SETUP.) The %-SIMILAR-WANTED slider controls the percentage of same-color turtles that each turtle wants among its neighbors. For example, if the slider is set at 30, each green turtle wants at least 30% of its neighbors to be green turtles.
The % SIMILAR monitor shows the average percentage of same-color neighbors for each turtle. It starts at about 50%, since each turtle starts (on average) with an equal number of red and green turtles as neighbors. The % UNHAPPY monitor shows the percent of turtles that have fewer same-color neighbors than they want (and thus want to move). Both monitors are also plotted.
You can use the "red" and "green" buttons to create some more turtles red or green by clicking with your mouse. Please be careful each time only one button is activated.
THINGS TO NOTICE
When you execute SETUP, the red and green turtles are randomly distributed throughout the pond. But many turtles are "unhappy" since they don't have enough same-color neighbors. The unhappy turtles jump to new locations in the vicinity. But in the new locations, they might tip the balance of the local population, prompting other turtles to leave. If a few red turtles move into an area, the local green turtles might leave. But when the green turtles move to a new area, they might prompt red turtles to leave that area.
Over time, the number of unhappy turtles decreases. But the pond becomes more segregated, with clusters of red turtles and clusters of green turtles.
In the case where each turtle wants at least 30% same-color neighbors, the turtles end up with (on average) 70% same-color neighbors. So relatively small individual preferences can lead to significant overall segregation.
You can create conglomerates of "red" or "green" turtles and see how they evolve.
THINGS TO TRY
Try different values for %-SIMILAR-WANTED. How does the overall degree of segregation change?
If each turtle wants at least 40% same-color neighbors, what percentage (on average) do they end up with?
EXTENDING THE MODEL
Incorporate social networks into this model. For instance, have unhappy turtles decide on a new location based on information about what a neighborhood is like from other turtles in their network.
Change the rules for turtle happiness. One idea: suppose that the turtles need some minimum threshold of "good neighbors" to be happy with their location. Suppose further that they don't always know if someone makes a good neighbor. When they do, they use that information. When they don't, they use color as a proxy -- i.e., they assume that turtles of the same color make good neighbors.
See if little conglomerates lead to greater ones. See if they act as seeds to conglomeration.
NETLOGO FEATURES
n-of
and sprout
are used to create turtles while ensuring no patch has more than one turtle on it.
When a turtle moves, move-to
is used to move the turtle to the center of the patch it eventually finds.
CREDITS AND REFERENCES
Schelling, T. (1978). Micromotives and Macrobehavior. New York: Norton.
See also a recent Atlantic article: Rauch, J. (2002). Seeing Around Corners; The Atlantic Monthly; April 2002;Volume 289, No. 4; 35-48. http://www.theatlantic.com/issues/2002/04/rauch.htm
I approprietely embodied in the segregation model the "Mouse" code.
HOW TO CITE
If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:
- Wilensky, U. (1997). NetLogo Segregation model. http://ccl.northwestern.edu/netlogo/models/Segregation. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
- Gkaras, G. (2014) NetLogo SegregationSeeds model. http://modelingcommons.org
COPYRIGHT AND LICENSE
Copyright 1997 Uri Wilensky.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.
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
globals [ percent-similar ;; on the average, what percent of a turtle's neighbors ;; are the same color as that turtle? percent-unhappy ;; what percent of the turtles are unhappy? ] turtles-own [ happy? ;; for each turtle, indicates whether at least %-similar-wanted percent of ;; that turtles' neighbors are the same color as the turtle similar-nearby ;; how many neighboring patches have a turtle with my color? other-nearby ;; how many have a turtle of another color? total-nearby ;; sum of previous two variables ] to setup clear-all if number > count patches [ user-message (word "This pond only has room for " count patches " turtles.") stop ] ;; create turtles on random patches. ask n-of number patches [ sprout 1 [ set color red ] ] ;; turn half the turtles green ask n-of (number / 2) turtles [ set color green ] update-variables reset-ticks end to go if all? turtles [happy?] [ stop ] move-unhappy-turtles update-variables tick end to move-unhappy-turtles ask turtles with [ not happy? ] [ find-new-spot ] end to find-new-spot rt random-float 360 fd random-float 10 if any? other turtles-here [ find-new-spot ] ;; keep going until we find an unoccupied patch move-to patch-here ;; move to center of patch end to update-variables update-turtles update-globals end to update-turtles ask turtles [ ;; in next two lines, we use "neighbors" to test the eight patches ;; surrounding the current patch set similar-nearby count (turtles-on neighbors) with [color = [color] of myself] set other-nearby count (turtles-on neighbors) with [color != [color] of myself] set total-nearby similar-nearby + other-nearby set happy? similar-nearby >= ( %-similar-wanted * total-nearby / 100 ) ] end to update-globals let similar-neighbors sum [similar-nearby] of turtles let total-neighbors sum [total-nearby] of turtles set percent-similar (similar-neighbors / total-neighbors) * 100 set percent-unhappy (count turtles with [not happy?]) / (count turtles) * 100 end to turtle-draw-red if mouse-down? [ if number > count patches [ user-message (word "This pond only has room for " count patches " turtles.") stop ] ask patch mouse-xcor mouse-ycor [if not any? other turtles-here [ sprout 1 [ set color red ] ]] update-variables reset-ticks ] end to turtle-draw-green if mouse-down? [ if number > count patches [ user-message (word "This pond only has room for " count patches " turtles.") stop ] ask patch mouse-xcor mouse-ycor [if not any? other turtles-here [ sprout 1 [ set color green ] ]] update-variables reset-ticks ] end ; Copyright 1997 Uri Wilensky. ; See Info tab for full copyright and license.
There is only one version of this model, created over 10 years ago by Georgios Gkaras.
Attached files
No files
Parent: Segregation
This model does not have any descendants.