2017-07-10 15:38:20 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - - INTRO! - - - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
< p id = "intro" >
2017-07-15 02:29:31 +00:00
During World War I, peace broke out.
2017-07-10 15:38:20 +00:00
< br > < br >
2017-07-15 02:29:31 +00:00
It was Christmas 1914 on the Western Front.< br >
Despite strict orders < i > not< / i > to chill out with the enemy, British< br >
and German soldiers left their trenches, crossed No Man's Land,< br >
and gathered together to bury their dead, to exchange gifts, to sing.
2017-07-10 15:38:20 +00:00
< br > < br >
2017-07-15 02:29:31 +00:00
Meanwhile: it's 2017, the West has been at peace for decades, and< br >
we're less trusting than ever. Fewer and fewer people say they trust their< br >
governments, their media, or even < i > each other< / i > . So here's our puzzle:
2017-07-10 15:38:20 +00:00
< br > < br >
2017-07-15 02:29:31 +00:00
< b > Why, even in good times, do friends become enemies?< br >
And why, even in bad times, do enemies become friends?< / b >
< br > < br >
I think game theory can help explain our epidemic of distrust – < br >
and how we can fix it! So, to understand all this...
2017-07-10 15:38:20 +00:00
< / p >
< p id = "intro_button" >
...let's play a game. →
< / p >
2017-07-10 18:06:22 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - - ONE OFF! - - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
2017-07-15 02:29:31 +00:00
< p id = "label_you_cooperate" >
you< br > cooperate
< / p >
< p id = "label_you_cheat" >
you< br > cheat
< / p >
< p id = "label_they_cooperate" >
they< br > cooperate
< / p >
< p id = "label_they_cheat" >
they< br > cheat
< / p >
< p id = "label_you" >
you< br > ↙
< / p >
< p id = "label_them" >
other player< br > ↘
< / p >
2017-07-10 18:06:22 +00:00
< p id = "oneoff_0_top" >
2017-07-15 02:29:31 +00:00
< b > THE GAME OF TRUST< / b >
2017-07-10 18:06:22 +00:00
< br >
2017-07-15 02:29:31 +00:00
You have one choice.
In front of you is a machine: if you put a coin in the machine,
the < i > other player< / i > gets three coins – and vice versa.
You both can either choose to COOPERATE (put in coin), or CHEAT (don't put in coin).
2017-07-10 18:06:22 +00:00
< / p >
2017-07-15 02:29:31 +00:00
2017-07-10 18:06:22 +00:00
< p id = "oneoff_0_btm" >
2017-07-15 02:29:31 +00:00
Let's say the other player cheats, and doesn't put in a coin.< br >
What should you do?
2017-07-10 18:06:22 +00:00
< / p >
< p id = "oneoff_1_cheated" >
2017-07-15 02:29:31 +00:00
Exactly! Why let that moocher mooch off of you?
2017-07-10 18:06:22 +00:00
< / p >
2017-07-15 02:29:31 +00:00
2017-07-10 18:06:22 +00:00
< p id = "oneoff_1_cooperated" >
2017-07-15 02:29:31 +00:00
Alas, turning the other cheek just gets you slapped!
2017-07-10 18:06:22 +00:00
< / p >
2017-07-15 02:29:31 +00:00
2017-07-10 18:06:22 +00:00
< p id = "oneoff_1_top" >
2017-07-15 02:29:31 +00:00
If you cooperate & they cheat, you lose a coin while they gain three. (score: -1 vs +3)
However, if you both cheat, neither of you gain or lose anything. (score: 0 vs 0)
< b > Therefore: you should CHEAT.< / b >
2017-07-10 18:06:22 +00:00
< / p >
2017-07-15 02:29:31 +00:00
2017-07-10 18:06:22 +00:00
< p id = "oneoff_1_btm" >
2017-07-15 02:29:31 +00:00
But let's say the other player cooperates, and puts in a coin.< br >
What should you do now?
2017-07-10 18:06:22 +00:00
< / p >
< p id = "oneoff_2_cheated" >
2017-07-15 02:29:31 +00:00
Wow, that's mean... and also the correct answer!
2017-07-10 18:06:22 +00:00
< / p >
2017-07-15 02:29:31 +00:00
2017-07-10 18:06:22 +00:00
< p id = "oneoff_2_cooperated" >
2017-07-15 02:29:31 +00:00
Sure, seems like the right thing to do... < i > or is it?< / i >
2017-07-10 18:06:22 +00:00
< / p >
2017-07-15 02:29:31 +00:00
2017-07-10 18:06:22 +00:00
< p id = "oneoff_2_top" >
2017-07-15 02:29:31 +00:00
Because if you both cooperate, you both give up a coin to gain three. (score: +2 vs +2)
But if you cheat & they cooperate, you gain three coins at their cost of one. (score: +3 vs -1)
< b > Therefore: you "should" still CHEAT.< / b >
2017-07-10 18:06:22 +00:00
< / p >
2017-07-15 02:29:31 +00:00
2017-07-10 18:06:22 +00:00
< p id = "oneoff_2_btm" >
2017-07-15 02:29:31 +00:00
And < i > that's< / i > the dilemma of trust.
You'd both be better off trusting each other, but trust leaves you vulnerable.
But what happens if we can...
2017-07-10 18:06:22 +00:00
< / p >
2017-07-15 02:29:31 +00:00
2017-07-10 18:06:22 +00:00
< p id = "oneoff_button_next" >
2017-07-15 02:29:31 +00:00
...play more than once? →
2017-07-10 18:06:22 +00:00
< / p >
2017-07-12 21:24:26 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - - ITERATED - - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
2017-07-15 02:29:31 +00:00
< p id = "iterated_intro_top" >
< b > Now, let's play for real.< / b > < br >
You'll be playing against 5 different opponents, each with their own "personality".
With each opponent, you'll play anywhere between 3 to 7 rounds.
Can you trust them? Or rather... can they trust < i > you?< / i >
< / p >
< p id = "iterated_intro_btm" >
Choose your first, < b > real< / b > move:
< / p >
2017-07-13 18:49:49 +00:00
< p id = "iterated_info_1" >
2017-07-15 02:29:31 +00:00
opponent: [X] of [Y]
< / p >
2017-07-13 18:49:49 +00:00
< / p >
< p id = "iterated_info_2" >
your total score:
< / p >
2017-07-12 21:24:26 +00:00
2017-07-15 02:29:31 +00:00
< p id = "iterated_score_start" >
And your total score is...
< / p >
< p id = "iterated_score_1" >
which is, wow, actually < i > impressively< / i > bad.
< / p >
< p id = "iterated_score_2" >
which, uh, could be worse!
< / p >
< p id = "iterated_score_3" >
which ain't bad!
< / p >
< p id = "iterated_score_4" >
which is pretty good!
< / p >
< p id = "iterated_score_5" >
which is < i > perfect!< / i > Congrats you have too much time on your hands.
< / p >
< p id = "iterated_score_x" >
...i have no idea how you did that.
< / p >
< p id = "iterated_score_end" >
(the lowest & highest possible scores are 8 and 49, respectively)
< / p >
2017-07-12 21:24:26 +00:00
2017-07-15 02:29:31 +00:00
< p id = "who_were" >
So who were these strange characters you just played against?
< / p >
< p id = "character_tft" >
< b > COPYCAT:< / b >
Hello! I start with Cooperate, and afterwards, I just copy whatever you did in the last round. Meow
< / p >
< p id = "character_all_d" >
< b > ALWAYS CHEAT:< / b >
< i > the strong shall eat the weak< / i >
< / p >
< p id = "character_all_c" >
< b > ALWAYS COOPERATE:< / b >
Let's be best friends! < 3
< / p >
< p id = "character_grudge" >
< b > GRUDGER:< / b >
Listen, stranger. I'll start cooperatin', and keep cooperation',
but if y'all ever cheat me, I'LL CHEAT YOU BACK TIL THE END OF DAYS.
< / p >
< p id = "character_prober" >
< b > DETECTIVE:< / b >
First: I analyze you. I start: Cooperate, Cheat, Cooperate, Cooperate.
If you cheat back, I'll act like Copycat.
If you never cheat back, I'll act like Always Cheat, to exploit you.
Elementary, my dear Watson.
< / p >
< p id = "characters_teaser" >
Now, what if these characters were to play...
2017-07-12 21:24:26 +00:00
< / p >
< p id = "characters_button" >
2017-07-13 15:07:33 +00:00
...against each other? →
2017-07-12 21:24:26 +00:00
< / p >
2017-07-15 02:29:31 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - TOURNAMENT! - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
2017-07-12 21:24:26 +00:00
< p id = "place_your_bets" >
It's tournament time!
These five characters will now play against each other – 10 paired games, 10 rounds per game.
< br > < br >
Place your bets: who do you think will get the highest *total* score?
< / p >
< p id = "next_match" >
next match
< / p >
< p id = "tournament_winner" >
COPYCAT! (Note: this play-style is also known in game theory as "Tit For Tat")
< br > < br >
Congrats, you placed your bet on the right horse.
< br > < br >
Sorry, //////.
< br > < br >
Now, here's the strange thing: Copycat can _never_ beat another player in the trust game (because it never tries to take advantage of others), it can only ever do _as well as_ the other player. And yet overall, Copycat wins! This, despite being simpler than Detective, nicer than Always Cheat, and more forgiving than Grudger. It almost seems to imply that the Golden Rule is not just a moral truth, but a *mathematical* truth:
< br > < br >
*Do unto others as you would have them do unto you.* ~Copycat
< br > < br >
And *that's* why "peace" broke out in the trenches of World War I. Each side was playing a deadly game of trust with each other, but because the nature of trench warfare means they have to face the same group of soldiers over and over again, that allowed a Copycat-like strategy – the unspoken law of "live and let live" – to evolve.
< / p >
< p id = "tournament_teaser" >
...but does Copycat *always* win? →
< / p >
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - EVOLUTION! - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
< p id = "evolution_intro" >
< / p >
< p id = "evolution_intro_button" >
< / p >
2017-07-12 21:46:38 +00:00
< p id = "button_step" >
step
< / p >
2017-07-12 21:24:26 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - NOISE! - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
2017-07-10 15:38:20 +00:00
2017-06-28 14:53:43 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - - SANDBOX! - - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
2017-06-26 19:52:49 +00:00
2017-06-28 14:53:43 +00:00
< p id = "sandbox_population" >
2017-06-29 02:12:32 +00:00
Start off with this distribution of players:
2017-06-28 14:53:43 +00:00
< / p >
< p id = "sandbox_payoffs" >
The payoffs in a one-on-one game are:
< / p >
2017-06-28 20:28:15 +00:00
< p id = "sandbox_reset_payoffs" >
reset payoffs
< / p >
2017-06-28 14:53:43 +00:00
<!--
When translating the following, keep the "[N]", with square brackets,
as a placeholder for the number. Some of these need double-translations,
one for the plural version, one for the singular version.
-->
< p id = "sandbox_rules_1" >
Play [N] rounds per one-on-one game
< / p >
< p id = "sandbox_rules_1_single" >
Play [N] round per one-on-one game
< / p >
< p id = "sandbox_rules_2" >
After each tournament, eliminate the bottom [N] players & reproduce the top [N] players
< / p >
< p id = "sandbox_rules_2_single" >
After each tournament, eliminate the bottom [N] player & reproduce the top [N] player
< / p >
< p id = "sandbox_rules_3" >
2017-06-28 20:28:15 +00:00
In each round of a one-on-one game, there's a [N]% chance a player makes a mistake
2017-06-28 14:53:43 +00:00
< / p >
2017-07-12 21:24:26 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - CONCLUSION! - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
< p id = "conclusion" >
blah blah blah blah
2017-07-12 21:46:38 +00:00
blah blah blah blah< br >
blah blah blah blah
blah blah blah blah< br >
2017-07-12 21:24:26 +00:00
blah blah blah blah
blah blah blah blah< br >
blah blah blah blah
blah blah blah blah< br >
< / p >
< p id = "conclusion_button" >
< 3
< / p >
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - CREDITS! - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
2017-06-28 14:53:43 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - THE PLAYERS - - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
< p id = "label_tft" >
2017-07-10 15:38:20 +00:00
Copycat
2017-06-28 14:53:43 +00:00
< / p >
2017-06-29 02:12:32 +00:00
< p id = "label_short_tft" >
copycat
< / p >
2017-06-28 14:53:43 +00:00
< p id = "label_all_d" >
Always Cheat
< / p >
2017-06-29 02:12:32 +00:00
< p id = "label_short_all_d" >
2017-07-10 15:38:20 +00:00
cheater
2017-06-28 14:53:43 +00:00
< / p >
< p id = "label_all_c" >
Always Cooperate
< / p >
2017-06-29 02:12:32 +00:00
< p id = "label_short_all_c" >
2017-07-10 15:38:20 +00:00
cooperater
2017-06-28 14:53:43 +00:00
< / p >
< p id = "label_grudge" >
Grudger
< / p >
2017-06-29 02:12:32 +00:00
< p id = "label_short_grudge" >
grudger
< / p >
2017-06-28 14:53:43 +00:00
< p id = "label_prober" >
2017-07-10 15:38:20 +00:00
Detective
2017-06-28 14:53:43 +00:00
< / p >
2017-06-29 02:12:32 +00:00
< p id = "label_short_prober" >
detective
< / p >
2017-06-28 14:53:43 +00:00
< p id = "label_tf2t" >
2017-07-10 15:38:20 +00:00
Copykitten
2017-06-28 14:53:43 +00:00
< / p >
2017-06-29 02:12:32 +00:00
< p id = "label_short_tf2t" >
copykitten
< / p >
2017-06-28 14:53:43 +00:00
< p id = "label_pavlov" >
2017-07-10 15:38:20 +00:00
Simpleton
2017-06-28 14:53:43 +00:00
< / p >
2017-06-29 02:12:32 +00:00
< p id = "label_short_pavlov" >
2017-07-10 15:38:20 +00:00
simpleton
2017-06-28 14:53:43 +00:00
< / p >
< p id = "label_random" >
Lol So Random
< / p >
2017-06-29 02:12:32 +00:00
< p id = "label_short_random" >
random
< / p >
2017-06-28 14:53:43 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - - SMALL LABELS! - - - - - -->
<!-- - - - - - - - - - - - - - - - - -->
< p id = "label_cooperate" >
cooperate
< / p >
< p id = "label_cheat" >
cheat
< / p >
< p id = "label_play" >
play
< / p >
2017-06-28 20:28:15 +00:00
< p id = "label_stop" >
stop
< / p >
2017-06-28 14:53:43 +00:00
< p id = "label_step" >
step
< / p >
< p id = "label_reset" >
reset
< / p >
< p id = "label_population" >
population
< / p >
< p id = "label_payoffs" >
payoffs
< / p >
< p id = "label_rules" >
rules
< / p >
2017-06-26 19:52:49 +00:00
< p id = "label_play_tournament" >
1) play tournament
< / p >
< p id = "label_eliminate_bottom_5" >
2) eliminate bottom 5
< / p >
< p id = "label_reproduce_top_5" >
3) reproduce top 5
< / p >
2017-07-12 13:42:17 +00:00
2017-07-12 21:46:38 +00:00
< p id = "label_next" >
next
< / p >
2017-07-12 13:42:17 +00:00
<!-- - - - - - - - - - - - - - - - - -->
<!-- - - - NAVIGATING CHAPTERS - - - -->
<!-- - - - - - - - - - - - - - - - - -->
< p id = "chapter_intro" >
0. Introduction
< / p >
< p id = "chapter_oneoff" >
1. One Game
< / p >
< p id = "chapter_iterated" >
2. Repeated Game
< / p >
< p id = "chapter_tournament" >
3. One Tournament
< / p >
< p id = "chapter_evolution" >
4. Repeated Tournament
< / p >
< p id = "chapter_noise" >
5. Making Mistaeks
< / p >
< p id = "chapter_sandbox" >
2017-07-12 21:46:38 +00:00
6. Sandbox Mode
2017-07-12 13:42:17 +00:00
< / p >
< p id = "chapter_conclusion" >
7. Conclusion
< / p >
< p id = "chapter_credits" >
2017-07-12 21:46:38 +00:00
Credits
2017-07-12 13:42:17 +00:00
< / p >