홀덤 수학
1. EV
1) 약간이라도 수익을 낼 수 있는 콜비용 기댓값의 상한
- 승리할 확률 \(p\), 승리할 경우 얻는 팟 사이즈 \(P\)라 하고, 상대의 벳에 대한 콜비용(=상대의 벳 사이즈)을 팟 사이즈의 \(k\)배(=\(kP\))로 표현하기로 하면, 콜 액션을 하기 전 후 스택 변화의 기댓값 \(EV\)는 다음과 같다.
\[EV = \ p\cdot P - (1-p) \cdot k P\]- 이 값을 양수로 하는 \(k\)값의 범위는 다음 부등식을 통해 알 수 있다.
\[EV = \ p\cdot P - (1-p) \cdot k P \ > \ 0\] \[k \ < \ {p \over (1-p)}\]편의상 \(p\)를 \(1 \over n \)으로 두면 다음을 얻는다.
\[k \ < \ {1 \over (n-1)}\]즉, 예를 들어 현재 보드의 상황으로 보아 평가되는 내 핸드의 승리 확률이 33% 정도로 예측된다면, 이때 EV상으로 이득이 될 수 있는 콜비용의 상한은 팟사이즈의 1/2이다. (즉, 내 핸드의 승리 확률이 33%에 못 미치는데 콜비용이 팟 사이즈의 1/2을 넘어선다면, 이를 콜 했을 경우 EV상으로 명백히 손해가 된다.)
- 상기한 수식 전개를 통해 얻은 수익의 기댓값은 콜 액션 시 잃는 최대 손해를 \(-kP\), 최대 수익을 \(P\)로 상정한 것으로서, 이는 실제 이 상황에서 콜 액션을 함으로써 얻는 수익이 통계적으로 위에서 얻은 \(EV\)보다 클 확률이 50%, 작을 확률이 50%에 해당함을 뜻한다. 이때 이 식을 이해함에 있어 주의해야 할 점이, 이 식은 프리플랍, 플랍, 턴에서 양 당사자가 현재 들고 있는 핸드와 보드에 깔린 공유카드를 통해 쇼다운까지 갔을 때 각 당사자가 승리할 확률을 수학적으로 계산했을 때를 기준으로 계산한 식이라는 것이다. 그러나 문제는, 이러한 \(p\)값을 게임을 플레이하는 당사자가 정확히 알 방법이 없다는 점이다. 즉 실제 게임을 플레이하는 당사자에게 있어서는 이 식이 갖는 의미는 단지 ‘참조한다’ 이상의 의미가 없다.
-
만약 프리플랍에서부터 지금까지 나와 상대의 베팅라인을 통해 \(p\)를 어느 정도 감으로 추측할 수 있다 하면, 이렇게 추측한 \(p\)와 현재 상대의 벳사이즈로 계산되는 \(k\)를 통해 현재 \(EV\)를 계산할 수는 있다.
-
‘상대가 제시하는 \(k\)값이 크면 클수록 \(p\)가 작다고 추측할 수 있다’라는 전제로 이 식을 생각해볼 수 있다. 예를 들어 \(p=1-k\)라는 관계가 존재한다고 생각하면, \(EV/P = 1 - k - k^2\) 꼴의 형태를 갖고, 이 값은 \(k\)가 0에서부터 서서히 증가하면서 감소하며 약 1/2과 2/3 사이 값을 가질 때 양수에서 음수로 전환된다. 즉, 상대가 제시하는 \(k\)가 약 1/2과 2/3 사이 값일 때까지는 ‘이 경우 EV상으로 손해가 아니다’라는 가정을 갖고 콜 액션을 취할 수 있다. 그러나 이는 어디까지나 \(p=1-k\)라는 값이 참이라는 전제하에 계산된 값이므로, 실제로 \(k\)가 그러한 범위의 값을 갖는다 해서 반드시 EV상으로 손해가 아니리라 생각할 수는 없다. 이런 기대를 갖고 콜 액션 여부를 결정했다가 상대가 이를 이용해 블러프를 할 수도 있는 것이다.
-
분명히 할 것은, 이 식은 ‘약간이라도 수익을 낼 수 있는 콜비용 기댓값의 상한’이지, ‘EV를 최대로 하는 콜비용’을 구하기 위한 식이 아님을 유의해야 한다. 물론 예를 들어 상대와 같은 스택을 들고 헤즈업을 하고 있는 상황이라면 약간이라도 EV가 있는 선택을 계속 하다 보면 언젠가 상대를 이길 수 있으므로 이런 경우에는 ‘지금 상황에서 콜이 조금이라도 EV가 있는지’ 여부를 아는 게 중요하다. 그러나 현재 내 판단이 EV가 충분히 높다는 보장이 없다는 뜻은, 반대로 이게 EV가 있는 선택이 아님에도 실수로 딱 한 번 EV가 있다고 판단하고 콜을 했을 때 발생하는 손해가 여태 누적해온 +EV들보다 더 클 수 있다는 뜻도 된다. 경우에 따라서는 ‘EV가 충분히 크다고 볼 정도로 \(p\)가 크다고 믿겨질 때에만 콜을 한다’라는 입장을 취해야 할 필요가 있을 수 있다.
2) 약간이라도 수익을 낼 수 있는 벳사이즈 기댓값의 상한
- 승리할 확률 \(p\), 승리할 경우 얻는 팟 사이즈 \(P\), 나의 벳 사이즈를 팟 사이즈의 \(k\)배(=\(kP\))로 표현하기로 하고, 그에 대해 상대가 폴드할 확률 \(p_f\)라 하면, 내가 벳을 하고 그에 대해 상대가 액션을 하기 전 후 스택 변화의 기댓값 \(EV\)는 다음과 같다.
\[EV = \ p_f \cdot P+ (1-p_f)\cdot [p \cdot (1+k) \cdot P - (1-p) \cdot k P]\]- 이 값을 양수로 하는 \(k\)값의 범위는 다음 부등식을 통해 알 수 있다.
\[EV = \ p_f\cdot P + (1-p_f) \cdot [p \cdot (1+k) \cdot P - (1-p) \cdot k P] > \ 0\] \[EV/P = \ p_f + (1-p_f) \cdot [p \cdot (1+k) - (1-p)\cdot k] > 0\]여기서, \(p_f=1\)인 경우를 가정하는 것은 의미가 없고, \(p_f=0\)인 경우는 위 식을 다소 간소화해 고찰할 수 있다는 점에서 의미가 있다. 이를 대입하고 정리해 보면 다음을 얻는다.
\[k \ < \ {p \over (1-2p)}\]편의상 \(p\)를 \(1 \over n \)으로 두면 다음을 얻는다.
\[k \ < \ {1 \over (n-2)}\]즉, 예를 들어 상대가 내가 얼마를 베팅하더라도 콜을 할 것으로 보이는 상황에서 현재 보드의 상황으로 보아 평가되는 내 핸드의 승리 확률이 25% 정도로 예측된다면, 이때 EV상으로 이득이 될 수 있는 벳 사이즈의 상한은 팟사이즈의 1/2이다. (즉, 내 핸드의 승리 확률이 25%에 못 미친다면, 팟 사이즈 1/2 이상 베팅할 경우 EV상으로 명백히 손해가 된다.)
-
상대가 폴드할 확률이 조금이라도 있어보인다면, 위 EV식에서 볼 때 뺄셈기호가 붙어있는 항에 붙은 계수가 점점 작아지는 셈이 돼 이보다 더 EV가 커지므로, EV상으로 이득이 될 수 있는 벳사이즈의 상한은 위에서 계산한 값보다 더 커진다.
-
위 식 계산을 보면, 콜 비용 EV식에 비해 승률이 훨씬 작은 경우에도 EV상으로 이득이 되는 벳사이즈 상한은 그에 비해 너무 큰 양상이 보인다. 이는 ‘상대방이 나의 벳에 콜을 하는 경우 상대방이 치른 콜비용이 그만큼 내가 얻는 수익이 될 수 있다’는 의미를 갖는 항이 기댓값 식에 추가로 포함됐기 때문이다. 실제로는 현재 벳을 하는 나는 여태까지의 베팅라인을 통해 내 핸드가 별로 강하지 않다는 암시를 상대에게 주었을 수 있고, 따라서 상대가 내 베팅에 폴드하지 않을 가능성이 높은 상황이라면 그만큼 나의 승률이 그다지 높지 않을 수 있다.
- 상기한 수식 전개를 통해 얻은 수익의 기댓값은 베팅 시 잃는 최대 손해를 \(-kP\), 최대 수익을 \((1+k) \cdot P\)로 상정한 것으로서, 이는 실제 이 상황에서 베팅을 함으로써 얻는 수익이 통계적으로 위에서 얻은 \(EV\)보다 클 확률이 50%, 작을 확률이 50%에 해당함을 뜻한다. 이때 이 식을 이해함에 있어 주의해야 할 점이, 앞서 콜 비용 기댓값 계산 때와 마찬가지로 이 식은 프리플랍, 플랍, 턴에서 양 당사자가 현재 들고 있는 핸드와 보드에 깔린 공유카드를 통해 상대가 폴드할 확률, 쇼다운에서 내가 승리할 확률을 수학적으로 계산했을 때를 기준으로 계산한 식이라는 것이다. 그러나 문제는, 앞서 언급한 바와 마찬가지로 \(p\), \(p_f\)값을 게임을 플레이하는 당사자가 정확히 알 방법이 없다는 점이다. 즉 실제 게임을 플레이하는 당사자에게 있어서 이 식이 갖는 의미는 콜 비용 기댓값 계산 때와 마찬가지로 단지 ‘참조한다’ 이상의 의미가 없다.
- 만약 프리플랍에서부터 지금까지 나와 상대의 베팅라인을 통해 \(p\), \(p_f\)를 어느 정도 감으로 추측할 수 있다 하면, 이렇게 추측한 \(p\), \(p_f\)와 내 벳사이즈의 \(k\)를 통해 현재 기대되는 \(EV\)를 계산할 수는 있다.
3) 내가 베팅할 차례일 때, 베팅 액션의 기댓값을 최대화하는 벳사이즈는 얼마일까?
- 베팅 액션의 기댓값 식을 다시 써 보자.
\[EV = \ p_f \cdot P+ (1-p_f)\cdot [p \cdot (1+k) \cdot P - (1-p) \cdot k P]\]- ‘내가 제시하는 \(k\)값이 크면 클수록 \(p_f\)가 크다고 추측할 수 있다’라는 전제로 이 식을 생각해볼 수 있다. 내가 얼만큼 벳하는지 자체는 당연히 쇼다운에서의 승률과 아무 관련이 없으나, 상대가 폴드할 확률과는 강력한 상관관계가 있다고 생각할 수 있으므로 이 추론은 상당히 의미가 있다.
- 이 추론을 수학적으로 전개하려면 \(p_f\)의 값이 \(k\)가 0에 가까워지면 0에 가까워지고 \(k\)가 점차 증가하면 1에 가까워지도록 하는 \(p_f\)를 설정할 필요가 있다. 여러 형태의 함수를 예로 삼을 수 있으나, 여기서는 sigmoid 함수를 변형한 함수를 상정하기로 한다. 다음 함수는 sigmoid 함수의 중심을 이동시키고 계수를 추가한 함수로서, \(k=0\)일 때 약 0.04의 값을 갖고 \(k\)값이 서서히 증가함에 따라 증가해 \(k\)값이 3이 되면 0.95를 넘어선다.
- 위 \(S(k)\)를 \(EV/P = \ p_f + (1-p_f) \cdot [p \cdot (1+k) - (1-p)\cdot k]\) 이 식의 \(p_f\) 대신 치환한 식을 쓰고, \(p\)를 예를 들어 0.9라는 임의의 상수를 갖는다 하고 \(k\)와 \(EV/P\)에 관한 그래프를 그려보면 다음과 같은 양상을 보인다.

-
위 그래프를 보고 이렇게 해석할 수 있다.
-
상대방이 내 베팅에 콜을 하면 그만큼 팟 사이즈가 늘어나므로, \(k\)값이 작은 것보다는 적당히 큰 크기를 가질 때 기대할 수 있는 수익이 더 크다.
-
그러나 \(k\)값을 너무 크게 해서 상대방이 폴드를 할 확률이 높아진다면 그만큼 기대수익이 상대방이 폴드할 확률이 낮을 때보다 작아질 수도 있다. 따라서 상대방이 폴드하지 않을 만큼 적정 크기의 \(k\)값을 결정해 벳을 하는 것이 나의 기대 수익을 최대화하는 데 있어 중요하다.
-
-
위 그래프는 \(p=0.9\)일 때를 전제로 그린 그래프이므로, 예를 들어 \(p=0.1\)로 두고 그래프를 그리면 또 전혀 다른 양상을 갖는다. 이는 다음과 같다.

-
이 그래프를 보고 이렇게 해석할 수 있다.
-
승률이 아무리 낮더라도 그만큼 \(k\)값을 작게 베팅한다면 약간은 +EV가 있다.
-
그러나 승률이 낮은 만큼 \(k\)값을 점점 키운다면 그만큼 일정 범위 내에서는 반드시 EV가 음수가 된다.
-
\(k\)값이 일정 수준 이상 커진다면, 그 베팅은 블러핑임에도 불구하고, 그만큼 점점 상대가 폴드할 확률이 높아지기 때문에 기댓값 또한 상승한다.
-
한 가지 유의할 점은, \(k\)값이 커질수록 기댓값이 상승한다 해서 승률이 낮은 핸드를 들고 있을 때 매번 블러핑만 하는 것이 꼭 기대수익을 증가시킨다고 생각할 수는 없다. 위 추론은 ‘\(k\)값이 커질수록 상대가 폴드할 확률이 무조건 높아진다’라는 전제 하에 얻은 추론이므로, 만약 내가 승률이 낮은 핸드를 들고도 체크/폴드하지 않고 너무 자주 큰 베팅을 했다면, 상대는 그만큼 블러핑 확률이 높다고 보고, \(k\)값이 아무리 큰 베팅이라 하더라도 폴드가 아니라 콜을 할 확률이 높아질 수 있다. 이때는 위 추론의 전제가 바뀌므로 위 추론은 더 이상 적용되지 않는다.
-
또 생각해볼 점이, ‘\(k\)값이 커질수록 상대가 폴드할 확률이 무조건 높아지고, 작아질수록 상대가 폴드할 확률이 무조건 낮아진다’라는 생각이 정말로 실제 홀덤에서도 더 대세에 가까운 생각인지도 생각해봐야 한다. 반대로 \(k\)값이 작을수록 ‘저 정도 액수로 블러핑을 할 리가 없고, 그렇다면 상대의 핸드는 내 핸드보다 무조건 강할 것이다’라 생각하고 오히려 폴드 비율을 높이는 경우가 있을 수 있기 때문이다. (다만 이것이 상대가 일반적으로 갖고 있을 사고방식일 가능성은 낮아 보이긴 하다.)
-
-
2. 게임이론과 최적 블러핑 비율
1) 수식 리뷰
- 먼저, 벳 사이즈 기댓값 식을 다시 써 보자.
\[EV_B = \ p_f \cdot P+ (1-p_f)\cdot [p \cdot (1+k) \cdot P - (1-p) \cdot k P]\]문제를 간소화하기 위해, \(p=0\)이라고 생각하고 식을 정리해 보자.
\[EV_B/P = \ p_f - (1-p_f)\cdot k > 0\] \[p_f > k / (1+k)\]즉 내 벳 사이즈의 계수 \(k\)가 기댓값적으로 이익이 되기 위해서는 상대의 폴드 비율이 \(k/(1+k)\)보다 커져야 한다.
- 한편, 내 벳에 대해 콜/폴드 여부를 결정해야 하는 상대의 콜 비용 기댓값 식을 써보자.
\[EV_C / P = \ p(1+k) - (1-p)k\]우리가 궁금한 것은 ‘상대는 언제 콜 대신 폴드를 할 것인가’이다. ‘이 값이 음수라면 상대는 폴드할 것이다’라는 전제를 세우고, 내 벳 사이즈의 계수 \(k\)를 기준으로 상대가 자신의 승률을 계산하기 위해 고려할 변수인 \(p\)가 어떤 범위를 가질 때 위 식이 양수가 되는지에 관한 식을 써보면 이는 다음과 같다.
\[p > k / (1+2k)\]즉, 내가 어떤 \(k\)를 골라 벳을 했을 때, 상대가 생각하기에 자신의 \(p\)가 최소한 \(k / (1+2k)\)보다는 크다고 생각된다면 상대는 콜을 할 것이고, 아니라면 폴드를 할 것이라고 생각할 수 있다.
2) 게임이론 관점에서 보기
- 문제를 단순화하기 위해, 내가 상대와 공유카드 없이 각각 3장 중 어느 한 장을 핸드로 받는 홀덤을 하고 있고 이 세 장은 각각 A, K, Q라 하자. 그리고 내 액션 후 상대는 체크/콜/폴드만 할 수 있다 하자. 그렇다면 나는 A로는 100% 벳을 하는 게 맞고 K로는 100% 체크를 하는 게 맞다. (벳을 해봐야 상대가 K나 Q라면 더 얻을 수 있는 게 없고, 상대가 A라면 내 벳만 잃을 뿐이니까.) 이제 여기서 나는 Q로 얼만큼의 비율로 블러프를 해야 하는지를 생각해 보자.
-
나와 상대가 총 3번 게임을 한다 하면, 3번 중 1번의 확률로 나는 A가 나오고 3번 중 1번의 확률로 Q가 나온다. 여기서 블러프 빈도를 \(p_b\)라 하면, 3번 중 나는 총 \(1+p_b\)회 상대에게 벳을 하고 나머지는 체크/폴드를 한다.
-
즉, 상대 입장에서는 나와 3번 게임을 해서 내가 총 \(1+p_b\)회 베팅을 하는 것을 봤을 때, 이 중 \(p_b\)회 블러프가 있었을 거라고 생각할 수 있다.
- 게임이론의 관점에서 문제를 접근하면, 양 당사자는 각자 자신에게 가장 이득이 되는 선택을 할 것이므로, 벳을 하는 나는 블러프 빈도를 너무 높였다 손해가 발생한다면 블러프 빈도를 줄이고, 반대로 블러프 빈도가 너무 낮아서 EV가 충분히 +임에도 계속 기회를 날리고 있다는 생각이 들면 블러프 빈도를 높일 것이다. 상대는 반대로 콜 비율이 너무 낮았다가 상대의 블러프를 너무 허용한 듯 하다는 생각이 들면 콜 비율을 높일 것이고, 반대로 콜 비율을 너무 높였다가 상대의 밸류벳에 콜 비용만큼 계속 손해를 보게 된다면 콜 비율을 낮출 것이다. 결과적으로 양 당사자는 내쉬균형을 찾아갈 것이다.
-
상대가 K를 들고 있는 상황이고, 한편으로 나도 벳을 한 상황이라고 생각해 보자. 이때 상대가 생각할 상대의 승률 \(p = {p_b \over (1+p_b)}\) 이고, 이 말인즉 \(p_f = {1 \over (1+p_b)}\)다. 다만 상대는 \(p_b\)의 값이 정확히 무엇일지는 아직 알 수 없다. 그러나 게임이론의 관점에서 생각하면, 내가 블러핑을 너무 많이 한다면 상대가 그만큼 콜 비율을 높일 것이고 내가 블러핑을 너무 적게 한다면 그만큼 상대가 콜 비율을 낮출 것이므로, 결과적으로 상대가 생각하는 \(p_b\)는 실제 나의 \(p_b\)에 수렴하는 내쉬균형을 찾아갈 것이다.
-
한편으로 내 입장에서 생각해 보면, 나는 Q를 들고 있는 상황에서 \(p_b\)의 비율로 블러프를 할 것인데, 상대의 콜 비율보다 이 값이 커진 동안에는 그만큼 내가 큰 EV를 매번 챙길 것이나 상대가 자신이 손해보고 있다는 사실을 깨달으면 점차 콜 비율을 늘려나가고 또 내가 적은 비율로 블러프를 하는 동안에는 그만큼 상대가 높은 비율로 콜을 했다가 손해를 보고 점차 콜 비율을 줄여나가는 내쉬균형을 찾아가는 과정을 겪을 것이다.
-
내 입장에서 최선의 선택이 무엇인지 확인하려면, 상대는 나의 베팅 후 상대에게 최선의 선택이 무엇인지를 무엇을 기준으로 파악하는지를 볼 필요가 있다. 콜을 하는 상대의 입장에서 생각해 보면, 상대는 \(p = k / (1+2k)\) 이 식이 성립하는 지점이 최선이라고 믿고 콜/폴드를 결정하게 된다. 상대 입장에서 이보다 손해를 볼 수는 없고, 이보다 더 이득을 보려고 하면 또 내가 블러프 빈도를 조절하기 때문이다.
-
이 말인즉, 그렇게 생각하고 콜/폴드를 결정할 이를 상대하는 내 입장에서는 \(p = k / (1+2k) = {p_b \over (1+p_b)}\) 가 성립하도록 \(p_b\)를 결정하는 것이 내쉬균형에 다가가는 일이라는 말이 된다. 이 식을 정리하면 \(p_b = k/(k + 1)\) 이므로, 내쉬균형을 만족하는 \(p_b\)는 \(k\)값에 의해 결정됨을 알 수 있다.
-
한편 \(p_f = {1 \over (1+p_b)}\)가 된다 했으므로, \(p_b = k/(k + 1)\) 를 대입하면 \(p_f = {(1+k) \over (1+2k)} \) 가 된다. 그런데 여기서 얻은 \(p_f\)를 \(EV_B/P = \ p_f - (1-p_f)\cdot k\)에 대입해 보면, \(EV_B / P = {1 \over (1+2k)} \)으로, \(k\)값의 크기에 관계 없이 항상 베팅하는 나는 기댓값적으로 이익을 얻음을 알 수 있다. (이는 나의 베팅 후 콜/폴드 여부를 결정하는 상대가 자신의 EV를 0으로 만드는 비율로 콜/폴드를 결정한다 하더라도 마찬가지다.)
- 정리하면, 다음과 같은 결론을 얻을 수 있다.
(1) 블러프를 할 수 있는 포지션에 있는 쪽에서는 내가 일정 비율로 블러프를 한다는 믿음을 상대에게 줄 수 있다면 베팅을 하는 기회마다 굳이 매번 블러프를 하지 않아도 항상 기댓값적으로 이익을 얻는다. 이는 내가 진짜 강한 핸드를 들고 큰 베팅을 해도 상대가 블러프 가능성을 염두에 두어 EV상으로 손해 보지 않기 위해 일정 빈도 이상 콜을 할 확률이 있기 때문이다. (반대로 상대가 내가 블러프를 거의 하지 않는다는 확신을 갖도록 플레이를 해왔고 현재도 계속 그렇게 하고 있다면, 상대는 나의 높은 베팅에 거의 콜을 하지 않아 나는 상대적으로 기댓값적으로 비교적 더 손해를 보는 플레이를 하고 있는 셈이 된다.)
(2) 상대에게 ‘저 사람은 일정 비율로 블러프를 한다’라는 믿음을 심어줘야 하는 최적 블러프 빈도는 \(k\)값에 의해 간단히 계산할 수 있다.