Cellular Automata Modeling
1. When running the model, patterns of similar turtles begin emerging around a 30% self-preference level and the pattern really begins to emerge at a levels between 58% and 66%. At the lower levels the segregation demands for the turtles to be happy are easily met.
Pattern at 30% Pattern at 40%
Pattern at 66%
2. The threshold for my model exits at an approximate self-preference level of 76%. Below this, at 75%, my turtles VERY slowly become happy with their neighborhood/extended neighborhood and begin to form a pattern. Above 76% not enough turtles ever become happy enough for any substantial pattern to form.
>76% preference level the model is in complete chaos.
Here the model is at a 76% self-preference and the pattern solidifies around 250 ticks.
3. Increasing the levels of self-preference leads to larger areas of like turtles since their neighborhood has to fulfil the higher similarity requirements of the higher self-preference demand. This demand for higher segregation levels forces the turtles to keep moving until the desired level of likeness is reached with their nearest neighbors, and extended neighborhood.
76% led to large segregated neighborhoods. 50% led to smaller segregated neighborhoods.
4. The change in the unhappy-ratio becomes lower as the turtles find a neighborhood occupied by like colored turtles. It tells me that self-preference and the number of similar neighbors are dependent upon each other? (Pretty sure I don’t understand this question)
5. I think a conclusion that can be drawn from running this simulation is that whenever there is even a small desire within a population to have neighbors that are in some way similar, elements of segregation will exist; and as the desire for similarity increases, neighborhoods will become more effectively segregated.
76%
Additional Questions
1. What knowledge is gained from this model?
I believe that this model teaches us that within a population even a small desire for similarity can lead to instances of segregation.
2. What are the limitations of this model?
The limitation to this model is its one-dimensionality, the entire model is based off of one attribute, in this case color. There are many other social, geographic, and economic factors that can influence segregation.
3. How does this model interact with institutional policy (social systems) or geographic topography (natural – systems?)
It doesn’t, and that’s where it’s limitations lie. For example, a neighborhood with an underperforming school might see well off families emigrate from the neighborhood in search of a higher performing school. While more disadvantaged families are left behind.
Note: All simulations were run with 2000 turtles.
The Code:
globals
[
percent-similar
percent-unhappy
happy?-count
unhappy-count
unhappy-ratio
]
turtles-own
[happy?
similar-nearby
other-nearby
total-nearby ]
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 yellow ] ]
;; 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
set unhappy-count (count turtles with [not happy?])
set unhappy-ratio (percent-unhappy) / (percent-similar)
set happy?-count (count turtles with [happy?])
end
to make-movie
user-message “First, save your new movie file (choose a name ending with .mpg)”
let path user-new-file
if not is-string? path [ stop ]
setup
movie-start path
movie-grab-view
while [ ticks < 250 ]
[go
movie-grab-view]
movie-close
user-message (word “Exported movie to ” path)
end