拍立得相机哪款好手机软件可以帮你选择最合适的象棋走法

人与电脑下国际象棋,随着计算机性能的提升,电脑最终会不可战胜吗?
1997年,美国卡内基梅隆大学的许峰雄博士开发的深蓝电脑成功地在战败世界棋王卡西帕罗夫,我想很多人都有印象吧。我们知道,在国际象棋中第一步只能走马或者兵,然后下一步能走的棋子和棋子可以走的位置也是有限的,那也就是说每走一步后对手能走的方案也是有限的。那么如果有一台电脑性能非常之强大,它计算并存储了对手每一种走法后可能出现的各种情况,并且知道最后的输赢(当然这需要非常巨大的计算量,我也没法算出来有多少)。那么我们可以不可以说,随着电脑性能的发展,有一天,我们将无法在国际象棋上战胜电脑,因为电脑已经知道了国际象棋的所有可能性,它只需知道选择不会输的道路走,就一定能赢。同理,在中国象棋或者围棋上是否也会发在同样事?
按投票排序
题主你多虑了,深蓝是1997年的事情了,电子科技发展如此迅速的时代,还用97年的思维来考虑事情就不合适了。实际上,在97年的深蓝之后,国际象棋特级大师和电脑的标准比赛里,你们人类就没赢过。我们从97年深蓝打败卡斯帕罗夫说起吧1998年:REBEL以5:3战胜了当时世界排名第二的维斯瓦纳坦·阿南德2000年:Deep Junior和九位特级大师各战一局,最后二胜五平二负,算平局2002年:Fritz和拉基米尔·克拉姆尼克以4:4战平,当时克拉姆尼克已经取代卡斯帕罗夫成为世界冠军了2003年:Deep Junior对卡斯帕罗夫,一胜六平一负,算平局2003年:X3D Fritz对卡斯帕罗夫,一胜三平一负,算平局2004年:国际象棋人机大战,三台电脑对三位特级大师(波诺马廖夫、托帕洛夫、卡尔亚金),一共十二局,电脑队六胜五平一负,完败特级大师队2005年:国际象棋人机大战,同样的三台电脑对三位特级大师(哈利夫曼、波诺马廖夫、卡西姆扎诺夫,都是曾经国际棋联的世界冠军),最后电脑队六胜六平,完败特级大师队2005年:Hydra对当时世界排名第七的迈克尔.亚当斯,五胜一平2006年:Deep Fritz对当时依然排名第一的克拉姆尼克,二胜四平。这一战已经很有意思了,之前的国际象棋电脑多是专门用来下象棋的机器,而Deep Fritz是运行在一台搭载了一枚至强DC 5160处理器的电脑上跑的,这款处理器的硬件跑分比现在市面上的英特尔i3还差一点。2009年:Pocket Fritz 4的棋力达到了特级大师级别,等级分2898。前面很多电脑已经能完胜特级大师了,为什么这个要单独拿出来说呢?因为这玩意儿是运行在手机上的,具体来说是HTC Touch HD。这还是五年前的手机了,处理器主频528MHz,内存288MB,这配置放到现在比淘宝上200-300一台的山寨机都差了好多。事实上,虽然硬件能力大幅度上升,但是算法的进步更多,Pocket Fritz 4每秒处理20000步,而深蓝每秒处理步,但是两者的棋力其实差不多,所以Pocket Fritz 4在手机上都能跑。现在最好的国际象棋引擎等级分已经是级别了,2500以上就是特级大师了,现在排名第一的马格努斯·卡尔森也才2900不到。国际象棋的最终解决方案/必胜策略还没被发现,但是以人类的棋力,别说不可能战胜的电脑了,不可能战胜的山寨手机都不是新鲜事了。参考资料:
在国际象棋与中国象棋领域,人类早已经不是电脑的对手。所以我们就不用操心这方面的事了。唯一可以让我们安心的事,围棋领域,电脑依然远远不如人类,甚至近期看不到超越人类的可能。我们来看看棋盘大小,国象是8*8 =64 格,中象是9*10 =90格,围棋是19*19=361格,电脑想用穷举法来暴力征服人类的想法可以简单的被排除了。361的棋盘上所形成的变化,比宇宙内的星星还要多。当然,在9*9的小棋盘上,电脑的表现已经相当不错,完全可以职业棋手抗衡了。如果不能用穷举法,那么从程序的角度来说,必须建立一个价值模型,来模拟人类下棋的过程。但是问题出现了,在象棋领域,每一个子力的价值大致都是固定的,一个车从开局到终局,价值基本不太会变。但是在围棋却完全不是那么一回事了,每一颗围棋子虽然都很平等,没有等级区别,但在对局过程中的价值是会变化的。前面还是棋筋,必须要救的棋,几手之后变成废子,可以随意舍弃的情况在围棋盘上几乎时时发生着。但这还不是大问题,真正的大问题是,围棋在绝大部分时候,连最优秀职业棋手也不知道最优的下法是什么。看下面一段报道:,东京。同为丰田杯被淘汰者的崔哲瀚与朴正祥邀请古力研究他两天前被李昌镐淘汰之局,不久“复盘求道派”李世石解决羽根直树匆匆加入。当问及为何要在打入前作一个偏损的交换时,古力深谋远虑的摆出一个刺刀见红的搏命变化。
崔哲瀚见罢,大笑。
负责翻译的朴正祥一边附和着笑,一边向古力解释:“小崔说,以李昌镐的风格是绝对不会这样冲断作战的”
“他打包票,李昌镐绝对不会的”看:围棋的乐趣就在于有太多的选择性了,选择多的连最一流职业棋手也无法判断哪一手是最优解,大多数时候,棋手是根据每个人的风格以及一瞬间的灵感来进行选择的。但是风格与灵感,电脑有这些东西吗?所以,在很长很长的一段时间里,在象棋程序已经踏翻专业棋手无数遍的时候,电脑程序依旧俳徊在入门级别的水平。在算法没有突破之前,电脑别说打败棋手,连刚入门的棋手都无法打败。与象棋比起来,算法才是电脑战胜人类的唯一希望。这已经不是电脑与人类的抗衡,而是程序员与棋手的较量。大概10年前后,某个程序员忽然灵光一现,电脑学不了人类,那我们学上帝扔骰子吧。于是,运用蒙特卡洛算法的电脑程序出现了。蒙特卡洛算法他并不直接判断每一手棋的价值,而是用扔骰子的方式判断棋盘上最有可能下的一手棋是哪一手。围棋在电脑眼里变成了一个概率游戏。采用新算法的电脑比之从前水平长进九子不止。很多业余棋手已经可以从与电脑对弈中得到乐趣,但是,打败人类还是遥不可及(现在电脑程序大约是职业棋手让四子左右的水平)。而且,这种算法已经没有突破空间了,不会随电脑的运算能力加强而提高水平。要想打败人类,必须还要有更强大的算法。甚至,我猜想,扔骰子也许是程序员走岔了路,最终解可能还是要回归到模拟人类的想法来解决这个问题。总之,我认为,在棋类领域,围棋可能是唯一人类可以碾压电脑的棋。而电脑要在围棋上打败人类,与电脑的强大与否关系不大,而在于程序员与数学家能不能设计出新的算法。
楼上们虽然说得都是对的,但全都是答非所问嘛……题主的核心问题在这里:我们知道,在国际象棋中第一步只能走马或者兵,然后下一步能走的棋子和棋子可以走的位置也是有限的,那也就是说每走一步后对手能走的方案也是有限的。那么如果有一台电脑性能非常之强大,它计算并存储了对手每一种走法后可能出现的各种情况,并且知道最后的输赢(当然这需要非常巨大的计算量,我也没法算出来有多少)。那么我们可以不可以说,随着电脑性能的发展,有一天,我们将无法在国际象棋上战胜电脑,因为电脑已经知道了国际象棋的所有可能性所以题主是在问暴力打表啊你们扯DeepLearning做什么!在直接回答题主问题之前,首先给题主介绍另一种分析思路。题主是通过开始状态唯一(显然)、状态转移有限(每次最多16个子可以动,每个子最多能动到63个地方,所以每次决策的集合大小不会超过16*63,这上界给得也太丧心病狂了)、有限步后终止(感谢长将和、逼和和三次重复局面大大简化了这里的论述……)这三个条件推出总状态数有限的。这是对的。但还有另外的思路:直接考虑棋盘上可能出现的状态。我们考虑任意在棋盘上摆棋子,成为一种棋盘“状态”,而不要顾及这状态是通过什么走法走出来、以及一个智商正常的人可不可能走出这棋局的。考虑到你所设想的那台“知道所有可能性”的电脑是“知道所有可能性”的,显然每一种摆法我们都应当考虑(我国际象棋下得不好,一下子想不出来有没有状态是无法走出的,除了没王),包括白方十六子俱全,黑方只剩一个光头王了这种状态。正常人肯定下不出来,但是要考虑不正常的人,不能让程序这时候茫然无措了呀。另外这个状态对于该黑方走和对于该白方走肯定是不一样的。然后我们的电脑将把这些状态全部存起来,并且开始提前做一些运算:计算每个状态(布子情况+落子方)是对于黑方必胜,白方必胜,还是必和,同时把对于落子方而言的最优决策记下来。怎么计算?从终态倒推。先把显然可以区分胜负(将死,和棋)的状态标记好,然后对于每一个状态(方便陈述,假设此时由黑方落子):如果不管怎么落子,之后形成的每一个的状态都已经被标记好胜负态,那么:如果这些状态每一个都是白方必胜,那么当前状态也只能是白方必胜,走到这儿黑方就可以滚粗了;如果这些状态中有至少一个是和棋,剩下都是白方必胜,那么记下来此时黑方应该走那步能走到和棋状态的,并把当前状态标记成和棋;如果这些状态中至少有一个是黑方必胜,那么记下来此时黑方应该走那步能走到黑方必胜状态的,并把当前状态标记为黑方必胜。如果有一步落子之后,形成一个我还不知道它胜负态的状态,那么先不管它,以后再说。容易知道,这样倒推大概也是可以把所有状态都标记好的(重复局面的和棋比较复杂,我觉得特殊处理应该能搞,等大神纠正)。如果我们通过这样的提前运算,能知道对于所有的状态的胜负态和最优决策,这游戏确实就不用玩了,计算机必赢无疑,至少是和。另外这里还有个小推论:如果真的可以得到这个表,那么最开始的局面:布子刚刚完成,其实最后的结局已经定了。因为开局也是一个状态,也有其必胜、必负、必和态。但我们能不能拿到这个表呢?现在我要开始算,所有的状态数有多少。首先从白方的16子中,选出在场上的棋子。王肯定在。所以,白方有x子存活,这x子不同组合的方案是(C代表组合数):显然黑子也是一样,为了方便理解换个变量名然后把这个子放到棋盘上,显然就是个排列数:统计所有的x和y,所以最后总的状态数:这个状态数大概是个什么水平?用斯特林渐近公式(感兴趣自己查吧~)大约可以搞出一个精确近似?不过我比较懒,暴力给个不精确下界,就算忽略两个组合数当成1,只考虑排列数,而且只考虑最后一项这个数就大约是以上了。再乘上前面的组合数,然后对每一项求和……我物理学得很烂,但我猜,就算我们以一个原子作为存储单元,打碎月球来做我们的硬盘都不太够……所以,你所说的那个方案,思路是对的,现实是不可能的。现在的电脑玩国际象棋,还是要用Machine Learning,Monte-Carlo,或者暴力alpha-beta之类的搜索算法和调参数技巧来解决。出现不可战胜的电脑?人几乎不可战胜的电脑,现在已经遍地是了。但这些“战无不胜”的电脑,和电脑下,还能是“不可战胜”的嘛?理论上战无一败的电脑,要等到上面说的那个暴力打表建立起来才行。
我也来试着回答一下这个问题吧。第一次长答,希望你喜欢。我自己小时候受过3年的国际象棋训练,也考过级。现在学的是计算机方面的专业,大一的时候写过一个黑白棋的AI,虽然也算不上非常厉害,但是和我自己下是没输过。关于交战历史,得票最高的答案已经说得非常清楚了。我可以从程序猿和一个业余国象爱好者的角度再补充一些。首先,题主提到“那么如果有一台电脑性能非常之强大,它计算并存储了对手每一种走法后可能出现的各种情况,并且知道最后的输赢(当然这需要非常巨大的计算量,我也没法算出来有多少)”这样的电脑在可以预见的将来应该不存在。我可以举一个例子,国际象棋中的残局这是国际象棋中著名的马象杀单王局面。这是一个白棋必胜局面。但是如果黑棋防守得当的话,这是国际象棋中著名的马象杀单王局面。这是一个白棋必胜局面。但是如果黑棋防守得当的话,白棋需要48步才能杀死黑王。而国际象棋中有一条规则是:双方50步不吃子、不走兵即为和棋。所以说如果黑棋不下错,白棋下错一步,很可能就赢不了了。去年国象全国女子赛上就有棋手因为在马象杀单王中失误导致没能赢棋我曾经把这个局面扔给Fritz13算过。算了一个多小时,深度才到38,也就是离终局至少差10步。后来我实在没耐心算了,因为从30步开始,深度每加深1时间都要长很多很多。搞不好一天都算不出来。这样一个简单的局面都难以穷尽,可想而知要达到题主所说的,存储所有局面有多难。国际象棋中,第一步棋的合法棋步有20种(8个兵向前走1到2步,两个马分布有2种走法)。随着棋局的发展,可以走动的棋子会比初始状态更多(比如白方在走了第一步王前兵之后,下一步合法棋步增加到30种:7个兵向前走1到2步,王前兵向前走一步,白格象走1到5步,皇后走1到4步,王走一步,王翼马三种走法,后翼马两种走法)一局棋,绝大多数情况不会低于20回合(双方各走20步)。事实上20回合就结束算是非常非常非常短的对局,感觉40~60回合比较常见,不久前我还在一个比赛中看到了90回合以上的对局。要计算题主所提到的“每一种走法后可能出现的各种情况”,我们可以乐观地估计一下:每步棋都是20种变化,并且双方下棋不超过20回合。这样得到的棋局种类是,大约是现在普通人使用的电脑每秒的计算速度差不多是这样的级别。一年有不到秒。即使你有一台比普通电脑快上一亿倍的超级电脑,这些变化还要算年。要知道宇宙的年龄也只有130亿年,也就是这个数量级。所以说,国际象棋的变化是无法像你说的那样算完的。计算机的速度很快,但是远没有快到那个程度。但是我们又注意到,如排名第一的答案所说,现在计算机的国际象棋水平非常高。我的老师曾经这样和我形容(大意):让世界冠军和最高水平的电脑下一盘棋,可能稍微有一点赢棋的机会。但是多下几盘总成绩基本上是不可能占优的。所以说,计算机下棋并不是盲目地暴力计算的。它的设计方法某种程度上借鉴了人类下棋时的思考方式。我们知道,水平再高的棋手也无法在只下几手的情况下预见到终局的局面。刚开始学棋的时候,老师总是会说要“算三步”“算五步”。AI下棋也是如此。减少计算的深度,可以有效控制计算量。往往五步之后局面好的一方,获胜的概率也高。比如你白赚了一个皇后,一般来说只要以后不犯低级错误就能赢棋。另外,告诉计算机怎样判断局势,也是减少计算量的必需手段。说一个最简单的方法:统计双方子力,后算9分,车算5分,马和象算3分,兵算一分。哪方的分多就认为哪方局势好。如果计算机按这样判断局势,大概就可以达到初学者的水平。在此基础上可以加上一些更细致的分析,比如根据哪方的子力更活跃(能下的地方多),兵的形状和高低,对敌方王城的威胁程度等等来加分或减分。知道了这些,就可以让电脑来比较好地下棋了。当然,一些搜索算法和优化手段也是必要的,像alpha-beta剪枝,A*算法之类。如果你用过Fritz这样的国际象棋软件,也会看到它在下棋的时候会动态给出对局面的评分。这个评分很多时候比职业棋手的判断更为精准。搜索深度根据局面的复杂程度,从六七步到二三十步不等。此外在国际象棋的AI中,开局库的使用也有很重要的作用。对于计算机来说,离棋局结束越近,也就越容易判断局势。相比之下,开局由于局势尚不明确,不太适合各类搜索方法。而且在一些高手对决中,开局下得不好后面很难弥补。所以各类国象软件都会有自己的开局库,里面存放了大量职业高手的对局,用这样的手段来弥补开局水平的不足。大概就说这些,想到了什么再补上。希望可以帮到你。Edit:今天看到一个很好的答案,其实说得比我更专业,推荐:中yunor的回答。
这个问题的答案是绝对的是,因为人类已经15年没战胜顶尖电脑了。但反过来说,最终的结果不是人战胜不了电脑,而是电脑也战胜不了人 —— 现在职业选手慢慢认知了完美棋局(perfect game)的结果是平局。所以人类将象棋分析透彻后,无论黑白能保证平局。这样国际象棋比的就是谁犯错更少了。
我从象棋角度来说这个问题,想来从棋理上国象和围棋也不会差太多。象棋水平主要就是两个东西一是算度,就是预测对手以后的几步会怎么走;二是形势判断,就是判断走完了之后形势和其他的形势的优劣。胡荣华老师说象棋的算度不难,难的是对形势的判断。因为面对一个局面,大部分招法是一看就行不通的,而剩下可走的就那么十多步棋,而且其中坏棋还占了一半,就算是业余棋手,只要水平不差,一步一步来分析,只要给够时间,心能沉下来,总能算出来。但是形势判断就不同,这没有固定的套路和标准,完全是依赖对以前经历过的盘面的记忆和感觉。而且有两个特点,不能推理:由于双方都可能走出漏着,所以不能说棋下赢了就是好局面,输了就是坏局面;认识非常主观:棋书上常说某盘棋中某一步“似劣实佳”的棋,就是说一般水平的棋手,甚至一般高手都感觉不好,但实际上是一步好棋的棋,而且高手之间也时不时达不成一致:某局面甲特大可能觉得是双方互有顾忌的两分局面,乙特大可能则觉得红方稍有一些优势,这就造成了对局面判断的主观性。计算机的优势在于穷举,而劣势在于感觉。如果不加算法优化,单用穷举,每多预测一步就复杂十多倍,显然不是目前摩尔定律所能追上的。这必然要求算法进行优化,而优化实际上就是用某些办法制造出计算机的“棋感”,然后根据“棋感”的优劣排除一些比较差的走法。但由于上面说的主观性,这些优化算法很有可能做的在一大部分情况下判断正确,但在一些情况下却把好棋误判为臭棋而舍弃掉。目前电脑上常见的软件都是做了优化的,可是把棋赛中见到的一些精彩的局面拿到电脑上模拟,也时常会出现电脑算不出的情况。当然,电脑最大的优势在于不会犯低级错误,而人往往会在几个小时的对弈之后由于疲惫走出随手棋或者昏招。以目前的情况来看,象棋比国象好一点,主要原因是象棋的残局比国象复杂得多,越往后越难预测,而围棋的复杂度比两者都要高很多,目前还远超电脑的计算能力。
参与过围棋AI的开发明确的说:是的!1 象棋和国际象棋,现在的主流比赛AI都是和AI对抗,人机对抗的都已经是作秀了。这个领域人完全不是机器的对手。2 围棋,现在机器还不是人的对手,但是已经越来越接近了。看了上面的答案,发现多数人对棋类AI的理解不是暴力枚举(笑)就是枚举+招法匹配,完全无视机器学习的存在。实际上第一代的GnuGo(一个主流的开源围棋AI)就是有限计算+招法匹配的思路,也就是大家普遍理解的人通过代码去教机器下棋的思路。但实际上这个思路被淘汰很久了。后来的FueGo的基于棋类数学模型的AlphaBetaTree+蒙特卡洛AI,这个更依赖于硬件和训练数据。再后来机器学习的思路被更多的加入到AI中。可以说AI的棋力实际是随着机器学习,和计算机运算存储能力这两个领域的发展而逐步提高的,而人类棋力的提高相对这两个领域的发展真的是太慢了。可以说围棋领域被赶上也是可预期的事情。甚至我觉得,之所以围棋AI还没有超越人是因为没有商业利益驱动,只有少数人因为兴趣而投身在这个领域的研究。如果有商业级别的研究团队加入,可能很快就····
算法问题并没有障碍,障碍只是机器性能问题。有很多电脑程序,虽然人类中的顶级大师能战胜它,但是业余高手都几乎不可能战胜。在很多事情上,比如单纯的高精度计算,人类本来就不可能战胜电脑。所以即使在象棋和国际象棋上,哪怕在围棋上,人类也不能战胜电脑了,也没什么可惊讶的,也并不说明人类就会被电脑控制。
TL;DR答案是:就下国际象棋而言,能力水平:单纯的人 & 单纯的电脑程序 & 人加程序人可以借助机器的辅助,加强人的智能。以下为解释。---凯文·凯利如是说 [1]1997年,沃森电脑的前辈、IBM公司的深蓝电脑在一场著名的人机大赛中击败了当时的国际象棋大师加里·卡斯帕罗夫(Garry
Kasparov)。在电脑又赢了几场比赛之后,人们基本上失去了对这类比赛的兴趣。你可能会认为故事到此就结束了,但卡斯帕罗夫意识到,如果他也能像深
蓝一样立即访问包括以前所有棋局棋路变化在内的巨型数据库的话,他在对弈中能表现得更好。也就是,人也可以利用电脑加强自己的下棋水平!如果这一数据库工具对于人工智能设备来说是公平的话,为什么人类不能使用它呢?为了探究这一想法,卡斯帕罗夫率先提出了“人加机器”(man-plus-machine)比赛的概念,即用人工智能增强国际象棋选手水平,而非让人与机器之间对抗。“半人半机”的选手,人+国际象棋程序,是当代最好的国际象棋选手!意外吗?这
种比赛如今被称为自由式国际象棋比赛,它有点儿像混合武术对抗赛,选手们可以使用任何他们想要用的作战技巧。你可以单打独斗;也可以接受你那装有超级聪明
的国际象棋软件的电脑给出的帮助,你要做的仅仅是按照它的建议来移动棋子;或者你可以当一个卡斯帕罗夫所提倡的那种“半人半机”的选手。半人半机选手会听
取人工智能设备在其耳边提出的棋路建议,但是也间或不会采用这些建议——颇似我们开车时候用的GPS导航一般。在接受任何模式选手参赛的2014年自由式
国际象棋对抗锦标赛上,纯人工智能的国际象棋引擎赢得了42场比赛,而半人半机选手则赢得了53场。当今世上最优秀的国际象棋选手就是半人半机选手
Intagrand,它是一个由多人以及数个不同国际象棋程序所组成的小组。-----补充阅读:人+程序的前景但最令人惊讶的是:人工智能的出现并未让纯人类的国际象棋棋手
的水平下降。恰恰相反,廉价、超级智能的国际象棋软件吸引了更多人来下国际象棋,比赛比以前增多了,棋手的水平也比以前上升了。现在的国际象棋大师(译者
注:国际象棋界的一种等级)人数是深蓝战胜卡斯帕罗夫那时候的两倍多。现在的排名第一的人类国际象棋棋手马格努斯·卡尔森(Magnus
Carlsen)就曾接受人工智能的训练,他被认为是所有人类国际象棋棋手中最接近电脑的棋手,同时也是有史以来积分最高的人类国际象棋大师。如
果人工智能能帮助人类成为更优秀的国际象棋棋手,那么它也能帮助我们成为更为优秀的飞行员、医生、法官以及教师。大多数由人工智能完成的商业工作都将是有
专门目的的工作,严格限制在智能软件能做到的工作之内,比如,(人工智能产品)把某种语言翻译成另一种语言,但却不能翻译成第三种语言。再比如,它们可以
开车,但却不能与人交谈。或者是能回忆起YouTube上每个视频的每个像素,却无法预测你的日常工作。在未来十年,你与之直接或者间接互动的人工智能产
品,有99%都将是高度专一、极为聪明的“专家”。[1]:
我一个室友利用电脑的象棋软件在QQ游戏大厅上和玩家对战,至今未尝一败……
让两台电脑对着下,如果电脑下国际象棋的算法中不存在随机因素的话,那么按理说每次下棋的套路都是一样的。观察结果,如果只有和棋,那没办法了,估计国际象棋的规则所限,在双方都按照“最优策略”下的情况下得到的只有和棋;如果一方赢一方输,那太好了,把赢棋的电脑那一方的棋谱记录下来,然后让人就按照这个棋谱跟电脑下,把把赢!~~如果电脑下国际象棋的算法中有随机因素的话,这个就会比较麻烦,但是可以从数学上证明国际象棋的不同的棋局数目是可数的,另外我不太了解国际象棋的规则是否有足够严格的限制所谓的“磨棋”,如果限制足够严格的话,那么不同的能够分出胜负和的棋局数目将会是有限的,尽管这个数字会很大。在默认不同的棋局数目是有限的情况下,我们考虑把一盘国际象棋的走法排成一棵(假想的)树,树的最底层的节点是所有的分出了胜负和的棋局。现在我们逆向考虑,先考虑“残局”,同时做出一个断言(或者也可以称之为定义):在进入“残局”时,必有一方存在必胜策略(或者不输策略)。(这个断言应该可以完全转化成用纯图论的语言来描述)。然后我们理论上就可以用纯数学的手段去分析这棵(假想的)树,找到进入“残局”的结点等等,然后我们就会发现电脑是否会变的不可战胜本质上只与国际象棋的规则有关,与“计算机性能的提升”与否无关。
请移步这里:两年前答的,略显粗糙……今天看了看,想的是:这是我说的么?
一个国际象棋大师,再强大,再不可战胜,算子能力再强,也只是人类而已,人类的运算能力终有尽头,他的能力反而受到了肉体的局限。他面对的是什么?他面对的是一堆专研于博弈论,用数学去研究游戏,拿game当research field当饭吃的,可能战斗力提升1%就可以发论文的研究人员,而当这些人类中最智慧的研究者组合在一起形成了算法,再配合来自于材料学,电力学等等等等专家和研究者的智力结晶组成的cpu,最终才是看上去棋力无比强大的计算机。所以,人类国际象棋玩家输给电脑,是一件早晚会发生的事情。或者说,象棋大师没有输给电脑,他输给的是人类智慧和汗水累积起来的奇迹。更糟糕的是,人类的棋手受到寿命的局限,一个新人,学10年棋,战斗到60岁,已经精力不再,而计算机的演进并不受时间地点的限制,而且经验和智慧可以复制。智力上的失败,从我们发明算盘就是已经注定了的事情,100位的加法这一比赛项目上,人类显然不能战胜算盘。而围棋,只是另一个加法而已
这个问题的最高票答案应该是不对的。人是有可能打败计算机的。或者准备的说,一个棋手是有可能打败无数个大师的联手。人不是输给机器,是输给无数过往大师的综合。首先一个问题:国际象棋有没有先手必胜的走法?答案是没有。一旦发现了这样的走法这个游戏也就没有意义了。计算机的运算能力并不是无穷的。假设计算机能够运算到30步后的所有形式共计100万亿种,那么请问他怎样选出对自己最优的局面?注意:这个时候的计算机已经不能再继续运算更多了。所以这个时候计算机就会去对应的选择他储存的棋谱。根据这些棋谱去选择最优的解法。比如在国际象棋棋谱中时常会有先人在复盘的时候标注符号:“?”“!”,甚至“!!!”来表示一步棋对以后局势的影响。这些棋谱经历了诸多专家长时间的反复修订绝大多数的情况下是几乎不可能出错的。一个人想要在短时间内击败这些专家的判断是几乎不可能的。但是,在计算机中储存的大量棋谱当中会不会有错误?一定会。所以只要我们能够拿到这个数据库,找出里面的引用棋谱错误,依旧可能获胜。当然,事实上棋手拿不到这样的保密数据。而且事实上过往的棋谱依旧是经过计算机本身算法的反复修订的。所以为了击败计算机,棋手需要的就是研发新的,计算机内没有储存的布局。计算机在面临新的对局时是没有办法拿出固有的取胜套路的。这个时候计算机依靠的就是“人设计的权重”来判断局面。你要是有这些权重,你就可以击败他。既然存在可能,那么事实上只要你运气够好,能力够强,依旧是有希望战胜超级计算机的。尤其是在一局定胜负的情况下。事实上,卡斯帕罗夫赢过深蓝一局。在那场世纪对决当中,他赢了第一局。最后也只是2.5比3.5惜败。(一胜三平两负)。一个人,输给无数程序员和过往的所有伟大棋手,真的不是件丢脸的事情。人不是输给机器,因为那台机器并没有自主的智慧。有没人能够在一个领域里面比过往的人的综合都强?我觉得有可能。因为已经过去的人是没有能力再创新的。--------------------------------------------------更新:本来更新是想详细介绍下几个算法和设计难点的,看了评论之后发现好多人都分不清楚科幻和科学了。总觉得计算机是可以有超越人类的自主思维的。我反正是真没办法了。
看算法,如果是野蛮穷举式的算法。。其实只要不断增大棋盘,计算机很容易被甩开。。但如果是智能的算法。。。就不好说了。。。计算机的威力还是在国际象棋体现比较多,在围棋领域,计算机还是很弱的
我想说一句废话,计算机能做的事情人类是干不过计算机,而且差距越来越大。计算机不能做的事情,在相当长的时间内都干不过人类。
会!这些游戏对计算机来说都是一类博弈程序。对计算机的困难主要取决于求解空间。国际象棋跟中国象棋实际上人已经下不过电脑了,只不过现在电脑还不能保证一定能赢人。你只要看一下求解空间较小的棋类游戏就很清楚了。我以前玩黑白棋,80年代的时候计算机就比人强了。还有国际跳棋,计算机早就能赢人了,但是最近科学家用超级计算机穷举了它的求解空间,证明了跳棋存在必胜战略,当然这个战略也就计算机记得住。目前跳棋是人类找到终极解决方案的最复杂棋牌类游戏,但是我觉得这些棋牌游戏,随着计算能力的提升,计算机对人必胜是很正常的事。
看到上面谈了很多, 有人认为棋谱(算法)是人类交给机器的, 人类是机器的师傅, 自然应该人类更厉害. 那你轻视了计算机的发展, 在这几十年里, 机器学习/遗传算法/分布式计算等技术的发展已经越来越完善, 人类逐渐的在告别向机器传授特定领域的技巧, 而改为告诉机器已知问题的答案, 或给定目标准则并引入优选机制, 由机器去自我总结和进化, 推导出综合或未知问题的最佳答案.机器学习维基百科: 遗传算法维基百科: 从Google的系统能自己学会如何找到一只小猫开始(这可不是你相机的人脸识别, 没有人给她猫脸的特征, 而是喂了她数不清的照片, 告诉她这是猫或这不是猫, 她自己去总结猫的特征), 到她再找到一只狗或一个人都不会再遥远了. 自从看了K.K的&&失控&&, 我觉得下棋或其他的智力游戏谁战胜谁将不重要了, 未来是人类与机器结合(配合)的共同进化.----------------------------------------------------------- 补充点玩笑 -----------------------------------------------------------但要小心Skynet()哦, 他可不单单想着跟你下象棋, 不知道哪天XFW(首字母为G是敏感词?)会不会也产生意识发飙了.
围棋被发明出来以后,连人类自己都还没玩明白,所以暂时还不能够开发出下围棋很牛逼的软件出来。
更重要的是找到算法吧,跟硬件上的性能提升相比。国际象棋和象棋的复杂程度大概在一个层面上,围棋会更复杂一点。}

我要回帖

更多关于 哪款手机性价比最高 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信