Unilateralist

Unilateralist preview image

1 collaborator

Img_3636 Kunal Baldava (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 6.4.0 • Viewed 4 times • Downloaded 0 times • Run 0 times
Download the 'Unilateralist' 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 a high-fidelity replication of the economic game in Experiment 5 from the 2024 preprint "It Only Takes One: The Psychology of Unilateral Decisions" by Lewis et al. It demonstrates the "Unilateralist's Curse," a concept from a 2016 paper by Nick Bostrom, Thomas Douglas, and Anders Sandberg.

The curse describes a situation where a group of well-intentioned agents, each able to unilaterally trigger a significant event, will cause that event to occur more often than is optimal. This model allows users to explore this phenomenon by simulating the decisions of agents under two different behavioral strategies: a psychologically realistic one and a game-theoretically optimal one. The scope of this model is to demonstrate how the Unilateralist's Curse emerges from individual decisions and to compare the effectiveness of different decision strategies in mitigating it.

## HOW IT WORKS

The model's environment is an abstract representation of a group decision problem. There are two boxes, "A" and "B." In each round, one box is designated as the "true box" containing a reward. The group opens Box A, the default outcome, if none of the agents in the group choose to "impose" (open box B). If even one of the agents chooses to impose", the group must open box B, regardless of the decisions of the other agents. Each agent privately decides whether or not to impose based on a signal and confidence threshold.

**Agents:**

The model contains a single population of agents (`turtles`) who represent the participants in the experiment.

**Agent Properties:**

`threshold`: The agent's pre-committed confidence level (from 51-100). The agent will only act if a signal's strength meets or exceeds this value.

`signal-strength`: A value from 51 to 100 representing the strength of an agent's private signal.

`signal-direction`: The box ("A" or "B") that the agent's signal points to.

`imposer?`: A true/false state indicating whether the agent chose to open Box B in the current round.

**Order of Events and Agent Actions:**

The model follows a strict sequence in each round (`tick`):

- A `true-box is chosen randomly with a 50% chance for the round.

- Each agent independently determines its `threshold` based on the `decision-scenario` chooser.

- Each agent is given a private, independent signal composed of two parts:

A `signal-strength` is randomly drawn from the integers between 51 and 100.

This signal's probability of being correct is equal to its strength. A check is performed to determine if the signal is truthful or misleading.

Based on this accuracy check and the `true-box`, the agent is assigned a `signal-direction` of "A" or "B".

- If signal strength is greater than the threshold AND signal direction points to B, then the agent imposes. Otherwise, the agent abstains.

- If any of the agents imposes, the group outcome is Box B. Otherwise, the outcome is Box A.

## HOW TO USE IT

1. Press the SETUP button to create the agents and reset all plots and monitors.

2. Use the sliders and choosers to set the parameters for the simulation (`group-size`, `reward-amount`, `decision-scenario`).

3. Press GO to run the model one round at a time.

4. Press GO x100 to run 100 consecutive rounds to observe long-term trends.

**Interface Items:**

**Inputs:**

**`group-size` Slider**: Sets the number of agents in the model (from 2 to 100).

**`reward-amount` Chooser**: Sets the value of the prize ($0.01 or $1.00). In the `deciding-as-usual` scenario, higher stakes slightly increase agent caution.

**`decision-scenario` Chooser**: Selects the rule agents use to set their decision threshold:

deciding-as-usual - A psychologically realistic model based on empirical data from Lewis et. al.

nash-equilibrium - A game-theoretic model where thresholds rise optimally with group size.

**Monitors:**

**`True Box`**: Shows which box ("A" or "B") contains the reward in the current round.

**`Box Chosen`**: Shows which box the group ended up with based on the agents' decisions.

**`Nash Equilibrium Threshold`**: Displays the calculated optimal threshold for the current `group-size`.

**`Overconfidence Rate`**: The percentage of agents in the current round whose decision `threshold` is lower than the optimal `Nash Equilibrium Threshold`.

**`Average Signal of Imposers`**: The average `signal-strength` of only the agents who chose to impose in the current round. Displays "N/A" if no agents imposed.

**`Average Threshold of Imposers`**: The average `threshold` of only the agents who chose to impose in the current round. Displays "N/A" if no agents imposed.

**Plots:**

**`Threshold Distribution`**: A histogram showing the distribution of `threshold` values across all agents.

**`Signal Distribution`**: A histogram showing the distribution of `signal-strength` values for signals that were in favor of Box B.

**`% of Rounds Won` Plot**: A line graph tracking the cumulative percentage of rounds where the group chose the correct box.

**`Bad Imposition Rate` Plot**: A line graph tracking the cumulative percentage of rounds where Box B was imposed, but Box A was the true box.

## THINGS TO NOTICE

1. Watch the `Bad Imposition Rate` plot when using the `deciding-as-usual` scenario. As you increase the `group-size`, the rate of erroneous impositions will rise significantly.

2. Switch to the `nash-equilibrium` scenario. Notice how the `Bad Imposition Rate` is much lower and more stable, even at large group sizes. This is because the agents' thresholds adapt to the risk.

3. In the `deciding-as-usual` scenario, the `Overconfidence Rate` will often be very high, especially at large group sizes, showing how far from optimal the naive strategy is. In the `nash-equilibrium` scenario, this rate is always 0%.

## THINGS TO TRY

1. Run a controlled experiment. Set the `decision-scenario` to `deciding-as-usual` and `group-size` to 5. Run it for 100+ ticks with `go x100` and note the final `% of Rounds Won`. Now, reset, set `group-size` to 50, and run again. How much does the success rate drop?

2. Repeat the experiment above, but using the `nash-equilibrium` scenario. Notice how the success rate is much more stable, demonstrating how rational caution lifts the curse.

3. Set the `group-size` to 40. Switch the `reward-amount` between $0.01 and $1.00. In the `deciding-as-usual` scenario, this has a small effect on behavior. In the `nash-equilibrium` scenario, it has no effect on the threshold, because the optimal strategy depends on probabilities, not the stakes.

## EXTENDING THE MODEL

1. **Moral Deference by Leader:** Add a third decision scenario. In it, one agent is randomly chosen as the "leader" each round. Only the leader evaluates its signal; all others automatically abstain. This models a solution where the group solves the curse by delegating authority.

2. **Moral Deference by Vote:** Add a fourth scenario where the group's choice is determined by a majority vote based on each agent's `signal-direction`. This models a procedural solution that leverages the wisdom of the crowd.

3. **Limit the Number of Imposers:** One of the key interventions suggested in Lewis et al. is to structurally limit the number of potential imposers. Add a slider that controls how many of the agents are randomly selected each round to be "active" (capable of imposing). All others are "inactive" and cannot impose.

## NETLOGO FEATURES

The plotting pen commands use the `max list 1 ticks` structure for denominators to prevent division-by-zero errors at `tick 0`, ensuring a clean user interface.

## RELATED MODELS

Models in the NetLogo Models Library that explore related concepts include:

**Voting:** Explores how different voting procedures aggregate individual preferences.

**El Farol:** Demonstrates how individuals trying to predict group behavior can lead to unexpected emergent dynamics.

## CREDITS AND REFERENCES

This model is a faithful implementation of the economic game described in the following works:

1. **Source Experiment:** Lewis, J., Allen, C., Winter, C., & Caviola, L. (2024). *It Only Takes One: The Psychology of Unilateral Decisions*. [Preprint].

2. **Core Concept:** Bostrom, N., Douglas, T., & Sandberg, A. (2016). The Unilateralist's Curse and the Case for a Principle of Conformity. *Social Epistemology*, 30(4), 350-371.

This NetLogo model was created by Kunal Baldava in July 2025, as part of the Introduction to Agent Based Modeling Course by The SantaFe Institute. It is also available at https://github.com/Kunalongithub/unilateralist

MIT License Copyright (c) 2025 Kunal Baldava

Comments and Questions

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

Click to Run Model

globals [
  true-box             ; which box actually has the prize this round ("A" or "B")
  imposed?             ; whether any agent chose to impose (open box "B")
  correct?             ; whether the imposed box was the correct one
  num-imposers         ; how many agents imposed
  nash-eqb             ; nash equilibrium confidence threshold for given group size
  rounds-won           ; count of rounds won in current iteration
  bad-impositions      ; count of bad impositions in current iteration
  good-impositions     ; count of good impositions in current iteration
  good-abstentions     ; count of good abstentions in current iteration
  missed-opportunities ; count of missed opportunities in current iteration
]

turtles-own [
  signal-strength      ; The power of the signal (always 51-100)
  signal-direction     ; Which box the signal points to ("A" or "B")
  threshold            ; confidence threshold of signal beyond which the turtle will impose
  imposer?             ; whether or not the particular agent chooses to impose
]

;;;;;;;;;;;;;;;;;;;;;;; Helper Procedures ;;;;;;;;;;;;;;;;;;;;;

; Procedure to base confidence threshold for deciding-as-usual scenario

to-report confidence-threshold [group stakes]
  let base-threshold 75.8
  let stakes-effect ifelse-value (stakes = 1.00) [4.4] [0]
  let group-effect 0.025 * (group - 3)
  report base-threshold + stakes-effect + group-effect
end 

; Procerdure to report which box was chosen

to-report box-chosen [did-they-impose?]
  ifelse did-they-impose? [report "B"][report "A"]
end 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to setup
  clear-all
  create-turtles group-size [
    setxy random-xcor random-ycor
    set color blue
    set imposer? false
    set shape "person"
    set size 1.5
  ]
  layout-circle turtles 15
  reset-ticks
end 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to go
  ; Step 1: Reset globals and set true-box for the round

  set imposed? false
  set correct? false
  set num-imposers 0
  set nash-eqb 100 - (55.96 / (group-size ^ 0.73)) ; Power law approximation using data from Lewis et. al.
  set true-box one-of ["A" "B"]


  ; Step 2: Assign agents a threshold and private signal.

  ask turtles [

    ifelse decision-scenario = "deciding-as-usual" [
      let raw-threshold (confidence-threshold group-size reward-amount) + random-normal 0 13.5
      set threshold min (list 100 (max (list 51 raw-threshold))) ; Bell curve approximation using empirical data from Lewis et. al.
    ] [
      set threshold nash-eqb
    ]

    set signal-strength (random 50) + 51
    let is-signal-correct? (random 100 < signal-strength)
    ifelse (is-signal-correct?) [
      ; The signal is truthful and points to the true box.
      set signal-direction true-box
    ] [
      ; The signal is misleading and points to the wrong box.
      ifelse (true-box = "A")
        [ set signal-direction "B" ]
        [ set signal-direction "A" ]
    ]

  ]

  ; Step 3: Check whether agents decide to impose(choose box B)
  ask turtles [
    ifelse signal-strength >= threshold and signal-direction = "B" [
      set imposer? true
      set color orange
    ] [
      set imposer? false
      set color blue
    ]
  ]

  ; Step 4: Update globals based on turtles' choices
  set imposed? any? turtles with [imposer?]
  set num-imposers count turtles with [imposer?]

  ; Step 5: Determine if correct box was chosen
  ifelse imposed? [
    if true-box = "B" [ set correct? true ]
  ] [
    if true-box = "A" [ set correct? true ]
  ]

  ;Step 6: Set result square color and update global trackers
  ask patches with [pxcor > -5 and pxcor < 5 and pycor > -5 and pycor < 5 ] [
    ifelse correct?
    [
      set pcolor green
      set rounds-won rounds-won + 1
      ifelse imposed? [set good-impositions good-impositions + 1] [set good-abstentions good-abstentions + 1]
    ] [
      set pcolor red
      ifelse imposed?[ set bad-impositions bad-impositions + 1 ] [set missed-opportunities missed-opportunities + 1]
    ]
  ]

  tick
end 

There is only one version of this model, created 4 days ago by Kunal Baldava.

Attached files

File Type Description Last updated
Unilateralist.png preview Preview for 'Unilateralist' 4 days ago, by Kunal Baldava Download

This model does not have any ancestors.

This model does not have any descendants.