Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement Hawk-Dove game with risk-attitudes #15

Closed
3 tasks done
rlskoeser opened this issue Aug 22, 2023 · 2 comments
Closed
3 tasks done

implement Hawk-Dove game with risk-attitudes #15

rlskoeser opened this issue Aug 22, 2023 · 2 comments
Assignees

Comments

@rlskoeser
Copy link
Contributor

rlskoeser commented Aug 22, 2023

Game setup from @LaraBuchak :

Hawk/Dove Game: https://en.wikipedia.org/wiki/Chicken_(game)

H D
H 0, 0 3, 1
D 1, 3 2, 2

BACKGROUND: Blessenohl (unpublished paper) shows that the equilibrium in this game is different for EU maximizers than for REU maximizers (all with the same risk-attitude), and that REU maximizers do better as a population (basically, play DOVE more often)

We want to know: what happens when different people have different risk-attitudes.

GAME: Hawk-Dove with risk-attitudes
Players arranged on a lattice [try both 4 neighbors (AYBD) and 8 neighbors (XYZABCDE)]

X Y Z
A I B
C D E

Each player on a lattice (grid in Mesa):

  • Has parameter r [from 0 to 8] [or 0 to 4 on the 4 neighbors lattice]
  • Let h be the number of neighbors who played HAWK during the previous round. If h > r, then play DOVE. Otherwise play HAWK.
    • [or reverse inequalities? - make sure we're defining risk attitude consistent with other simulations]
    • [first round: randomly determined? Something else? See how initial conditions matter?]
    • [OR VARY FIRST ROUND: what proportion starts as HAWK
      • [Who is a HAWK and who is a DOVE is randomly determined; proportion set at the beginning of each simulation. E.g. 30% are HAWKS; if we have 100 players, then each player has a 30% chance of being HAWK]
    • Call this initial parameter HAWK-ODDS
  • Payoffs are determined as follows:
    • Look at what each neighbor did, then:
    • If I play HAWK and neighbor plays DOVE: 3
    • If I play DOVE and neighbor plays DOVE: 2
    • If I play DOVE and neighbor plays HAWK: 1
    • If I play HAWK and neighbor plays HAWK: 0

[could also change these, especially if we want negative payoffs to keep the total points manageable (e.g.: 2, 1, 0, -1). What makes it a HAWK/DOVE games is the order of the payoffs]

-Add all 8 of your payoffs

We want to see: do we end up with stable populations/regions playing HAWK/DOVE?
(e.g. for 90% of the population, the strategy each agent plays on round n is the same as it plays on n-1)
(e.g. distribution of HAWK to total population on each round stays within a 5% interval)

For 100 rounds: take max {hawks/total} minus min {hawks/total}, if that’s less than 0.05, stop (e.g., hawks at least 10% but no more than 15%)

QUESTION: do we meet either of these ending conditions?

(2) If so, what do these look like in terms both of risk attitudes and strategy played?

SPIT OUT: proportion of H vs. D
SPIT OUT: proportion of {H, r = 1}, {D, r = 1}, {H, r = 2} etc.

How does each risk attitude do in terms of points received over time?

Doesn’t depend on stopping
SPIT OUT: average cumulative payoff of r =1, average payoff of r = 2, etc.

VARIANT: After 10 rounds, each player looks at her neighborhood (4 or 8), and adopts the risk-attitude of the player with the most points.


updates:

  • adjust to allow specifying a single configurable risk attitude for all agents
  • customize display to use shapes to communicate choice of hawk/dove
  • revise choice logic so we're consistent in how we define r
@rlskoeser rlskoeser self-assigned this Aug 22, 2023
@LaraBuchak
Copy link
Collaborator

To match with how we're defining risk in the other simulations, this:

Let h be the number of neighbors who played HAWK during the previous round. If h > r, then play DOVE. Otherwise play HAWK.

Should be:

Let d be the number of neighbors who played DOVE during the previous round. If d > r, then play HAWK. Otherwise play DOVE.
[Intuitive idea: if I'm risk-avoidant, I only play HAWK if there are a lot of doves around me. More risk-avoidance requires a higher number of doves to get me to play HAWK. Our original text had said that large r means I require a lot of hawks to play DOVE, i.e., the higher the r the more I play HAWK.]

Or, if you want to keep it in terms of h = # of HAWKS:

Let h be the number of neighbors who played HAWK during the previous round. If 1 - h > r, then play HAWK. Otherwise play DOVE.

@rlskoeser
Copy link
Contributor Author

rlskoeser commented Sep 14, 2023

implemented in #16; reviewed in meeting 9/13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants