Winning Strategy for two-player Coup
This is not a how-to-play guide. This is a how-to-win guide.
Five cards are dealt to both my opponent and I.
Game starts.
Now, let's define some notations for convenience:
A, B, C, D, E denotes any random character in Coup
i_have(nX) denotes the event that I was dealt n number of X cards, where X ∈ {A, B, C, D, E}. If undefined, n == 1
u_have(nX) denotes the event that my opponent was dealt n number of X cards, where X ∈ {A, B, C, D, E}. If undefined, n == 1
P(Y) denotes the probability of some event
C(Y) denotes the combination of some event
nCr denotes the number of combination of n pick r
The winning formula is simple:
- Guess what cards your opponent have
- Guess what cards your opponent pick
- Prepare bluffs
- Play
1. Guess what cards your opponent have
There are 2 signals:
- The cards you are dealt with tells you what cards your opponent might have
- How long your opponent spend on card-picking tells you how much choice or even the choices they have
Given i_have(0A),
P(u_have(>=1A))
= 1 - C(u_have(0A)) / C(any)
= 1 - 7C5 / 10C5
= 0.92
P(u_have(2A))
= C(u_have(2A)) / C(any)
= 3C2 * 7C3 / 10C5
= 0.42
P(u_have(3A))
= C(u_have(3A)) / C(any)
= 7C2 / 10C5
= 0.08
Given i_have(1A),
P(u_have(>=1A))
= 1 - C(u_have(0A)) / C(any)
= 1 - 8C5 / 10C5
= 0.78
P(u_have(1A))
= C(u_have(1A)) / C(any)
= 8C4 * 2C1 / 10C5
= 0.56
P(u_have(2A))
= C(u_have(2A)) / C(any)
= 8C3 / 10C5
= 0.22
Given i_have(2A),
P(u_have(1A))
= C(u_have(1A)) / C(any)
= 9C4 / 10C5
= 0.5
which makes sense because your opponent can pick any 1 of the 2 piles containing A
Possible card dealts to you and what they mean:
- i_have(ABCDE)
- assume opponent has all different
- i_have(2A0BCDE)
- assume opponent has all different
- i_have(2A2BC0D0E)
- assume opponent has CDE and either of A or B.
- i_have(3ABC0D0E)
- assume opponent has DE and either of B or C
Implications:
- I can lie about the cards I don’t have. There’s only 8% chance my opponent has all 3 of the same cards. It’s still risky though. There’s a 42% chance my opponent has at least 2 of the same. They might just shoot at 42%
- If I have 2 of the same character, calling my opponent’s bluff of that character is risky. Getting it right is 50-50
I can further guess what cards were dealt to my opponent by the time spent on picking their cards. This is highly subjective, but we need to take into account whose turn it is to make the first move, and what cards the opponent might have. Usually, the more time they spend, the more choices they have. It could also mean that they have bad cards.
Always be the last to pick cards unless I want to throw off my opponent.
2. Guess what cards your opponent pick
This is very subjective, but it gets easier and easier to guess as you play more and learn more about how your opponent plays. If they were dealt >=2 of Duke, do they usually not pick Duke and bluff their way?
Depending on who's the first to move:
- They are first to move: they would want assassin
- I am first to move: they would want contessa
3. Prepare to bluff
- If I don’t have captain & ambassador, and opponent wants to steal coins, what do I say?
- Assassin & contessa has an asymmetric payoff
- Ambassador is the most useless
4. Play
- Getting opponent to reveal their card first is always better. I can validate my guess with a better accuracy. They lose 1 ability. When it’s my turn to reveal, I can plan for the best course of action
- Ignore bluffs if you can still win without calling their bluffs
Meta-strategy
Remember how your opponent plays:
- When they keep losing because invalid call of bluffs, do they keep trying or do they stop trying?
- Do they tend to lie when they have 2 of the same character?
- Do they tend to be honest?
- What combination of cards do they usually use? When they reveal 1, it’s easier to guess the other.
Their strategy changes too. When keep getting called on bluffs, they might begin playing honestly.