一个有趣的博弈策略
本帖最后由 guanhuaming 于 2010-5-16 16:38 编辑A,B两人玩一个游戏。
A手中有100张牌,其中30张红色,70张绿色。A随机从手中剩下的牌抽出1张(抽出的牌不再放回去),然后B必须押注猜红色,每次可以押任何注数(任意自然数)。若B猜对颜色了,A得赔B所押的注数;若猜错颜色了,B所押的注数亏A所有。
请问B可有必胜押注策略,无论A抽出的100张牌任何顺序排列,B至少总数能胜1注?如有的话,B最少需要多少注码? 这个。。。每次都猜绿色不就行了? 不好意思,题目漏掉一点了。B从头到尾只能猜红色。 如果不允许不压,那么
一开始就压个较大的数,若赢了以后一律压1,若输了就翻倍再压,只要赢了以后就压1,这样就必赢。
------------------------
第一注至少压42注。 4# 056254628
这个押法肯定能赚,只是可能最大注码太多了。
要是前面连续70次都是绿色的话,那不断的翻倍就有点不现实了。
有没有更可行一些的策略? 还要一个方案:
前面每次都压1,最差的情况就是连续29次都赚,那么从第30次开始,就只能压足够多,第30次最少要压42注,接着最差的情况就是连输70次,(其中只要赢了,以后一律压1注) 还要一个方案:
前面每次都压1,最差的情况就是连续29次都赚,那么从第30次开始,就只能压足够多,第30次最少要压42注,接着最差的情况就是连输70次,(其中只要赢了,以后一律压1注)
056254628 发表于 2010-5-16 19:48 http://bbs.emath.ac.cn/images/common/back.gif
具体一点?? 如何能通过100张牌任何顺序排列?? 前面无论怎么压都可以,只要剩下只有1次赢的机会(只剩一张红牌),那么就必须压足够多的注(即本注赢了后,剩下的全输,也保证赢就行) 设$F(R,G,B)$表示剩余$R$张红牌,$G$张绿牌,赢$B$注所需的筹码数
则有$F(R,G,B)=min_{k=1}^N\{max\{F(R-1,G,B-k)-k,F(R,G-1,B+k)+k\}\}$
从边界出发,逐层往上递推
递推的同时要确定上界$N$
目标是求$F(30,70,1)$的值 本帖最后由 guanhuaming 于 2010-5-16 20:09 编辑
版主大人,上面的算法可以用计算机递推吧?
能否帮忙给个C++程序代码求解一下??