一个数学游戏

来源:互联网 发布:淘宝无线视频网址 编辑:程序博客网 时间:2024/05/17 06:40

一个古老的数学游戏,很早就知道了,但一直编程没编正确。今天终于正确了。

有1、2、3、4、5、6这6种牌,每种牌有3张。开始总点和记为24,然后两个人轮流选一张牌,然后从总点和里减去牌面值,直到总点和非正。谁取完牌后,总点和为0,则胜;若为负,则败。

 

例如:

24

A:3

21

B:6

15

A:1

14

B:2

12

A:5

7

B:3

4

A:4

A胜

 

问先取是否有必胜策略,或后取是否有?

 

 

下面是一段人和电脑玩的代码

 

 

下面是加强的版本,表征胜败不是用1,0简单表达,而是用了-1.0~1.0之间的实数,符号表示胜败,绝对值大小表示胜或败的强度,这样可以让电脑选择败强度低的局面(复杂,人能获胜的支路相对整个博弈树来要小,需要仔细选择),这样人可能容易出错。

另外在选择方案时,加入了一点随机性,以免每次博弈都是同样选择顺序(当,然胜败应该相同)。

 

 

 

原创粉丝点击