德州扑克学习笔记20190801

这篇我们主要讲讲概率啊,期望啊,EV 啊什么的。

概率相信大家都懂,九年级数学课本第 25 章。

期望就是数学期望,自己百度,扫一眼就行了。

这篇文章的重头戏是 EV。

那什么是 EV 呢?说高级也不高级,说简单也不简单…… 看样子就像某个东西的缩写对吧。告诉你吧,是 Expect Value (期望收益)。是不是很水很容易理解啊。算也很好算。如果 P1P_1P1​ 代表赢的概率, w1w_1w1​ 代表赢的回报。P2,w2P_2,w_2P2​,w2​ 是输的数据,不存在平手(注意这里的 w2w_2w2​ 一般是负数)。则EV=P1×w1+P2×w2EV=P_1\times w_1+P_2\times w_2EV=P1​×w1​+P2​×w2​

如果 EV 的值是正的,说明可以搏一搏,说不定真变个摩托;如果是负的,那还是别博了比较好。有的时候 EV 为负但不必败(败家乐),但经过无数把游戏后是亏损的。

那么问题来了,赢的概率应该怎么算。

先介绍一个概念叫听牌。听牌的意思就是你等关键的一张牌来以后你就糊了。比如 9TJK 听 Q 成顺。如果此时是转牌圈,那么河牌是 Q 的概率是 45224×100%=8%\frac4{52-2-4}\times100\%=8\%52−2−44​×100%=8%。但是在考场上肯定不能拿纸笔算(抠机子)啊,我们得钻点空子才行。

四二法则是用来快速计算听到牌概率的技巧,有 1% 左右的误差。如果此时你在翻牌圈听 NNN 张牌,那么转、河两张中出至少一张你听的牌的概率约为 4N%4N\%4N%。

举个例子,你持 9T,翻牌 JJK,你听 Q。一共有 4 张 Q,那么听到牌的概率就是 16%。

这就是四二法则中的四。接下来说二。如果你在转牌圈听 NNN 张牌,那么你听到牌的概率约为 2N%2N\%2N%。与上例类似,不再赘述。

于是我们写出了以下程序

#include<cstdio>
#include<cstdlib>
#include<cstring>

int poolsize;
int raisesize;
int chance;

int main(){
	puts("");
	while(1){
		printf("\tPool Size:  ");
		scanf("%d",&poolsize);
		printf("\n\n\tRaise Size: ");
		scanf("%d",&raisesize);
		printf("\n\n\tWin Chance: ");
		scanf("%d",&chance);
		printf("\n\n\n\tThe EV is %.2lf\n\n\n",(chance*poolsize-raisesize*(100-chance))/100.0);
		printf("-----------------------------------\n\n");
	}
}
上一篇:js-事件1_阻止事件冒泡_弹框菜单


下一篇:js-事件1_事件对象event/ev 兼容性及其简易写法