君臣两个对弈下棋 两台绝顶聪明的电脑下棋对弈,谁会赢? 理由是什么?
棋类运动,甚至人类历史上,发生过无数次,弱小一方对面优势大到不可能输的一方,却发生了绝地大翻盘的事情。抛去东方神秘力量之类的因素,这种事情一般只有三种可能:
一、弱势一方运气逆天;
二、所谓的优势其实是幻觉,是误判;
三、优势方犯了巨大错误。
大多数棋类运动,包括围棋,不存在运气问题,所以第一条我们先不考虑。
李世石对AlphaGo的第一场其实就是第二种情况。下到中盘的时候,我看的直播说只要李世石不犯错,基本就不会输了。下完后的复盘结论是,当时优势其实在AlphaGo一边。这就引出一个很严肃的结论:人类的判断可能跟真实局势相差甚远。如果绝顶聪明的电脑能判断出真实局势,那么它眼中的局势很可能跟你看到的完全不一样。
这局势有多不一样?很可能人觉得自己占据优势的时候,绝顶聪明的电脑觉得人已经输了。如果此时换成两个人来接着下棋,还能下得有来有回,但在绝顶聪明的电脑眼里,这不过是菜鸡互啄罢了。
我举一个星际中的例子:
100条狗冲20个架好的坦克阵,谁会赢?如果是人来打,坦克大比分赢;换成电脑,小狗大比分赢。人会觉得坦克优势无限大,但如果双方都完美操作的话,坦克一点机会都没有。
那么优势方犯错呢?当然,绝顶聪明的电脑应该不会犯错。AlphaGo不是绝顶聪明,第四盘它犯错了。当然它也算非常聪明了,很快它就意识到自己劣势了,之后它怎么下的?它在乱下。为什么?因为它的学习过程里包含大量自己和自己对弈的过程,所以它默认它是在和另一个接近绝顶聪明的对手下棋。绝顶聪明的对手不会犯错的;绝顶聪明的棋手不会挖坑给对面,因为他知道绝顶聪明的对手不会往下跳。所以乱下并无所谓,反正无论怎么走都是挣扎;只要对面不犯错,自己怎么走都是输了。。
所以这里有个思考题:如果有一步棋,你这么下了,对面只要应对正确,就必赢。但是对面中间随便一步出现最微小的偏差,你就立刻赢了。那么,你会不会这么下?或者简单的来说,你会不会卖个破绽给对面?
反正绝顶聪明的电脑不会。关羽使拖刀计阵斩了不少对手,不过如果是绝顶聪明的电脑来的话,它会直接从上去把武圣砍了。
绝顶聪明的电脑就是这么无趣。2016/3/15
================================================
如果真的是聪明绝顶的电脑,那情况只会是以下三者之一:
电脑1开局求和,电脑2接受(和)
电脑1开局认输,电脑2接受(先手输)
电脑1开局下了一步,电脑2认输,电脑1接受(先手赢)
补充一下,常见的围棋象棋之类的棋是finite sequential game of perfect information。
finite是指有限步内结束,比如国际象棋规定三次重复局面等情形:;中国象棋也有类似的规定。这些规定保证这些棋不可能永远下下去。
sequential game则是指博弈双方轮流做决定,和双方同时做决定的simultaneous game相对应。前者例子就是各种下棋,后者例子有猜拳。
perfect information是指双方完全掌握所有信息。perfect information的例子包括所有明棋;imperfect game的例子包括大多数牌类游戏,军棋,带战争迷雾的RTS(红警手动斜眼)。
策梅洛定理说明,对于这类游戏,如果其中不包含随机因素(单指棋盘上的随机因素,比如发牌扔骰子。下棋的电脑被断电这类随机因素不算),那么可以通过递归推导使得至少一方获得必不败策略。
如果不要求排除随机因素,则这类游戏保证有pure strategy equilibrium。也就是说,均衡状态下,双方有确定策略,但是不保证确定结果。
与pure strategy equilibrium相对的是mixed strategy equilibrium,混合策略。例如,石头剪子布里面,均衡状态下就没有确定策略(你确定出剪刀的话一定会被确定出石头的克),只有混合策略(双方出手前按1/3,1/3,1/3的概率随机决定是石头还是剪刀还是布)。
总结一下就是,
如果是有限步内结束,双方轮流移动,局势对双方透明,不含随机因素的棋类游戏,则一定有确定的最优策略,以及对应的确定的结果。(象棋,围棋)
如果是有限步内结束,双方轮流移动,局势对双方透明,包含随机因素的棋类游戏,则一定有确定的最优策略,以及对应的不确定的结果。(大富翁)
如果是有限步内结束,双方轮流移动,局势对双方不完全透明的棋类游戏,则至少一定有混合的最优策略,以及对应的不确定的结果。(军棋;梭哈)
===============================================================
有人说这不是绝顶聪明而是预知未来,这是不对的。即使游戏中有随机因素,信息也不透明,但博弈树是确定的,计算机可以把所有可能结果以及对应概率都算出来,进而算出最优策略,简单的伪代码只要几十行就可以写清楚。
这结论与一些常识违背是因为,大多数情况下这棵博弈树太特么大了,大到现在最强的电脑做不到,可预见的将来也做不到。典型例子如围棋,状态数大概有一亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿亿这个级别。但题主问的是绝顶聪明的电脑,那咱就不考虑这麻烦了。
==============================================================
有些人可能不明白博弈树、必败态之类的概念,或者觉得为什么开局认输太傻了,一定要下到输。其实如果真的遍历完博弈树的话,在哪一步认输并没有区别。因为双方都计算力很高把博弈树遍历了,一方发现自己处于必败态,那么往下走就没意义了,因为你无论怎么走都是必败态,只要对手不失误,那就是从失败走向失败。
我举一个简单的例子,很多人都玩过井字棋(tic-tac-toe)。这个棋只有两万多种棋局,用电脑很容易搜完所有节点。如果双方都不犯错的话,结果只能是和棋。普通人甚至多玩几次就可以发现必不败走法。两个熟悉井字棋的成年人是不会玩井字棋的,因为这棋太简单以至于开始下之前胜负就分明了。我们觉得象棋、围棋之类的没有必胜走法,只是因为这棋太复杂,无论人还是电脑都无法遍历整个博弈树,甚至只能推算到几步之后。
所以在计算力不足(也就是不够绝顶聪明)的情况下怎么玩,是棋类的魅力所在。我抛个砖,电脑常用的算法是,不搜索整个博弈树,而是通过宽度或广度优先搜索加剪枝遍历接下来的若干步的可能走法(印象里当年的深蓝能往后推12步),并给每个最终状态打分(例如后100分,车50分,兵5分,关键位置200分,等等,数字是我胡诹的)来评判局势的好坏。
更多阅读
路由器怎么连接两台电脑,路由器怎么设置? 多个路由器连接设置
路由器大家应该都比较了解,它是一个网路分支,由它可以一根网线就能分散网络,让多台电脑都能上网。但是一般路由器的设置也不是那么简单,这里我们就来说说一下路由器怎么链接两台电脑。路由器怎么连接两台电脑之有线路由器路由器分
两台电脑如何共享文件 两个电脑怎么共享文件
两台电脑如何共享文件——简介在工作学习中,我们经常会遇到两台电脑相互传输文件的例子,如何高效简洁的完成文件共享,下面我们来以一个实际案例进行演示【案例】:我要从同学的电脑上拷几部电影两台电脑如何共享文件——工具/原料普通
一条网线怎么连接两台电脑 交换机和路由器的区别
一条网线怎么连接两台电脑——简介以前仓库有一台电脑。现在要增加一台。在不加设备的情况下如何实现可以上网呢?方法如下:一条网线怎么连接两台电脑——方法/步骤一条网线怎么连接两台电脑 1、先了解一下路由器,交换机接,MODE,网卡的R
两台电脑如何共享打印机 精 怎样共享一台打印机
两台电脑如何共享打印机 精——简介现在办公室都采用了局域网的方式方便共享或联系,特别是对于共享打印机打印,能让几个不同的电脑同时使用同一台打印机进行打印工作。那么,如何设置打印机的共享呢?请阅读下文!两台电脑如何共享打印机
怎样设置两台电脑用一个hub共享上网adsl+hub _宁n adsl共享上网
朋友实在看不下去我这个计算机相关人士在这日新月异,更新换代跟眨眼一样的年代里还用着中古式的电脑,所以忍痛低价半送的把她心爱的电脑给了我,我是相当的感谢,毕竟要我现在从干瘪的口袋里再抠出一份电脑钱还是蛮困难的……所以家里现