No preview image

1 collaborator

Default-person Nigel Gilbert (Author)


cellular automata 

Tagged by Nigel Gilbert over 12 years ago

opinion dynamics 

Tagged by Nigel Gilbert over 12 years ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 4.0pre3 • Viewed 388 times • Downloaded 26 times • Run 0 times
Download the 'Sitsim' modelDownload this modelEmbed this model

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


This program models one theory of how people's attitudes are influenced by other people. In the early 1980s, Bibb Latan? proposed a theory of 'social impact'. The theory states that "the impact of other people on a given individual is a multiplicative function of the 'strength' of members of the group (how credible or persuasive they are), their immediacy (a decreasing function of their social distance from the individual) and their number." (Latan? 1996:65).

The theory has been extensively tested in a wide range of settings and has received a lot of support. However, to understand its implications, we need to show not only the effect of other people on one individual, but also the effect of that individual on other people. This reciprocal influencing, where everyone influences everyone else, is more complicated to analyse, but can be shown simply in a simulation.

In this model, based on the original simulation called SITSIM (Nowak and Latan? 1994), turtles are distributed at random, each with a fixed, randomly assigned 'strength' (their persuasiveness). Each turtle has one of two opinions, either 'white' or 'black' (e.g. they prefer white or red meat; they are for or against abortion; they vote on the left or the right). Each turtle is then influenced by all the other turtles, changing its opinion if the sum of the impacts of the turtles opposing its current opinion is greater than the sum of the impacts of the turtles supporting its current opinion.

The impact of one turtle on another is calculated using an inverse power law, that is, the influence of one turtle on another is inversely proportional to their separation. So a nearby turtle is more influential than one far away. The influence also depends on the other turtle's persuasiveness, its 'strength'. In real life, the measure of separation may be physical distance, or it may be social distance (e.g. difference in status).

If a turtle changes its opinion, this will change the overall impacts experienced by all the other turtles. It might tip the balance so that another turtle changes its opinion and so on. Eventually, however, the system will settle down to an equilibrium.


Press 'setup' to give each turtle an initial strength and an initial opinion. Then press 'go' to get the turtles to influence each other.

Set INITIAL-WHITE to vary the percentage of turtles starting with a white rather than a black opinion.

Set EXPONENT to change the exponent of the inverse power law. A setting of 2 gives an inverse square law: a turtle's influence on another turtle is proportional to the square root of the distance between them. A setting of zero means that all distances are treated as equal (any number to the power of zero is equal to 1). A high setting means that only the nearest neighbours have any significant influence.

Set SELF-DISTANCE to change the effect of the turtle's own opinion on itself. If the value is low, the effect of other turtles' opinions is small, and the turtle will only change its opinion if there is a lot of opposing impact. If the value is high, self-influence becomes negligible. The original model used a distance to self of 0.84, meaning that the self is somewhat more influential than any other single turtle (the closest any other turtle can be is 1).


With the default settings (INITIAL-WHITE 50%, EXPONENT 2, SELF-DISTANCE 0.8), the turtles form into clumps sharing the same opinion. Although the initial equal division of opinion changes to a polarised one in which either black or white are in the majority, the minority is never overwhelmed by the majority. There are always some minority opinions remaining.

Run the model a few times and check that the minority always survives. How big is the minority?

Usually, there are one or two isolated turtles of one colour, surrounded by turtles of the other colour. How do they manage to resist the opposing opinions of their neighbours? (Hint: select an isolate and use a Turtle Monitor to examine their attributes).


Use the INITIAL-WHITE slider to reduce the number of turtles that hold the black opinion at the start. Notice that when the starting percentage of blacks is very small, there is a high chance that the black opinion will disappear entirely by the end of the run. How small can the initial percentage of black turtles be, yet still survive most of the time?

Return to an INITIAL-WHITE setting of 50% and investigate the effect of changing the inverse power law EXPONENT. What is the effect of setting the slider to 0? And to 10? Nowak found that as a general rule, the exponent has to be no smaller than the dimensionality of the social space (which is 2 in this model, because the turtles are on a two-dimensional grid) in order to obtain clustering.

Explore the effect of varying the SELF-DISTANCE. Setting it to a high value means that the turtle's own opinion counts for little in comparison with the other turtles' opinions.


Here are some suggestions for ways to extend the model.

- Introduce some 'noise'. In the real world, social influences are never communicated perfectly. What happens if the impact of one turtle on another is affected by a small random 'error' (which could be either positive or negative)?

- In the model, initial strengths are assigned at random from a uniform distribution and stay constant throughout the run. Investigate the effect of:

* giving every turtle the same strength

* giving a few turtles a high strength and rest a low strength (this models a setting in which there are a few influential leaders and the rest are less influential followers)

- Harder: Introduce a second attitude, which turtles hold independently of the first, but which follows the same rules of social impact. For example, if first attitude is about whether turtles have a white or black opinion, the second attitude might be about whether they favour blue or green. Compare the opinion clusters for the two attitudes. At the end of a run, do those turtles with a given opinion for one attitude tend to share the same opinion on the second attitude (e.g. do white turtles tend to be also those with red opinions)?

See Nowak and Latan? (1994) for many other suggestions for parameters that can be varied and their effects.


Cellular automata models, but notice that while the cells in CA models are only affected by their closest neighbours, in this model, every turtle is affected to some degree by every other turtle.


The original social impact theory is described in Latan?, B. (1981) The psychology of social impact. American Psychologist, 36: 343-356

The SITSIM model is described in Nowak, A. and Latan?, B (1994) Simulating the emergence of social order from individual behaviour, in N. Gilbert and J. Doran, Simulating Societies, London: UCL Press.

The following parameters are used in this model (these are the SitSim default settings):

Accumulative impact formula; No borders; Full window;

Monte Carlo update; Unit persuasiveness and supportiveness;

Uniform distribution of strength; Same coupling; Same reassignment;

No bias; No pre-clustering;

Infinite non-linearity coefficient; One attitude; Zero temperature

See also N. Gilbert and K.G. Troitzsch (1991) Simulation for the social scientist, Open University Press, chapter 7.


Nigel Gilbert August 22, 1996 (version in XLisp); July 25, 2002 (version in NetLogo); August 8, 2003 (revised)


Comments and Questions

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

Click to Run Model

globals [
    whites        ;; number of white turtles
    blacks        ;; number of black turtles
    changed?      ;; has any turtle changed its colour?

turtles-own [
    strength      ;; of influence, set at initialisation to a random value

to setup
    ask patches [
        set pcolor green + 3    ;; make the background light green
        ;; make each patch sprout one turtle and set the turtle's colour etc.
        sprout 1 [
            ifelse (random 100 < initial-white)
                [set color white]
                [set color black]
            set strength random 100
            set heading 0
            set shape "person"

to go
    set changed? false            ;; assume that no turtle will change its colour
    ask turtles [ beInfluenced ]
    if (not changed?) [ stop ]    ;; stop if no turtle has changed its colour

to beInfluenced                    ;; turtle procedure
    ;; find the impact of supporters and opposers and change my colour
    ;; if the opposers' impact is greater than the supporters'

    let impactFromWhite 0
  let impactFromBlack 0

    set impactFromWhite  sum [impact myself] of turtles with [color = white]
    set impactFromBlack  sum [impact myself] of turtles with [color = black]

    ;; if the impact from whites is greater than that from blacks, change the turtle's colour to
    ;; white, and vice versa

    if color = black and (impactFromWhite > impactFromBlack)
        [set changed? true set color white]
    if color = white and (impactFromBlack > impactFromWhite)
        [set changed? true set color black]

to-report impact [otherTurtle]    ;; turtle procedure
    ;; report the impact of otherTurtle on myself
    let d 0

    set d distance otherTurtle
    if (d = 0) [set d self-distance]
        ;; (exp ((ln d) * exponent)) calculates d to the power 'exponent'
    report square (strength / (exp ((ln d) * exponent)))

to-report square [x]
    report x * x

to countTurtles
    set whites count turtles with [color = white]
    set blacks count turtles with [color = black]

There is only one version of this model, created over 12 years ago by Nigel Gilbert.

Attached files

No files

This model does not have any ancestors.

This model does not have any descendants.