标签:
乱谈:
之前alphago进行的围棋比赛相当火爆。
一时间我的朋友圈都爆了,因为同学以及相关专业的同学都在发这个,毕竟逼格一下就起来了,我也大肆转发。各种角度,不同层次的不同深度的文章也都扫了几眼。
刚刚写了关于算法的随笔,所以我对当时一篇关于算法的文章还理解的比较清楚,所以关于这个事儿,我想就“只要是算法就一定说的明白”这个观点再论证一下。下围棋一共三个事儿,开始下棋,下子,游戏结束判胜负。判胜负有专业的规则,我不知道也不研究,但是必然有方法,凭我的印象大概有谁的地盘儿大,谁就赢,谁的气多谁就厉害。那么每一步落子,都对应这步棋,可能在多大程度上导致获胜,能获得可能的多大一口气。所以每一步计算落子实际上是看这一步到底怎么才能更有利。所以问题转化到这一步落脚点到底在多大程度上对应好棋。最笨的办法就是遍历棋盘,可是还涉及到下棋顺序,这样遍历下去。我真的不敢算。到底有多少种可能,我就知道大,但是有多大,不知道。但是可以算,为了简单假设棋盘是10*10的,假设(在西北方向的黑点出落子。就很不好描述了)电脑要在(1,1)处落子,电脑要计算人在哪里落子,剩下99种可能,再接下来又该电脑算剩下的98个位置,每个位置都要递归到最后,于是算出开始在(1,1)处落子获胜的概率。然后从100个点位中选一个落子,接下来该人下,人下完,又要再算一遍,剩下98个点位,哪个获胜的概率大。
这样下的确是可以。但是很慢如果没有时间限制,电脑赢得面儿很大。或者应该就是会赢吧。
但是这样算,那3个人就没必要花5年,还都是围棋爱好者了,这必然涉及到算法调优,那么算,早就超时了,还比什么赛啊,所以,肯定是不行,首先要减少遍历的点,他们采用的方式是让电脑多下几盘,下的多了,自然会存储一些有利点,根据有利点,来计算赢棋概率。这个可以存储数据库,让电脑再开始不用算太多,所以我想开始的时候,电脑更多的是使用套路来下棋,而不是计算【我猜的】。后面再具体算概率,后面用到的一个重要算法就是对于这个问题的看法到底近似什么,当时那篇文章涉及到了两个情景,一个是类似于找钥匙,有很多把钥匙,只有一把能开锁,那就遍历每一把直到开锁。也就是找到最棒的那个落子点。还有一个情景是,类似于狗熊掰棒子,拿个儿最大的,既然时间有限。就不能拿起每个棒子来比较,但是可以先打眼瞅,瞅几个看着大的(套路中的有利点们),然后把大的都拿过来,再挨个比哪个更大。有些太小的就根本不参与比较。事实上下棋这个问题就是更接近后面这种情况的近似。所以头一个算法就是拿眼瞅,这样基本需要调一些数据库,用事先加载的套路,看看历史上都往哪里下比较靠谱。然后根据判胜负的方式从有利点中计算获胜概率,时间到,就把计算得到的获胜概率最大的点,作为落子点。然后重复这个过程。直到一方认输(弃赛视为认输),或下完。
这算是跟领导的汇报,然后跟专业人士,探讨计算落点方式,判定方式等等。
【——以下纯属胡掰了,,,轻喷。。。
为什么说这个说了这么多,我觉得还是有一点儿联系的。就是怎么计算一个落棋点优于另外一个落棋点。进一步就是为什么这样下棋好再进一步就是为什么这样下会赢,赢得规则到底是怎样的。如果博士们研究了许久,是通过自己的方式告诉计算机这样下是符合规则的,如有一日,计算机可以告诉自己,这就是这个东西的规则,我识别了这个规则,那么人工智能就进了一大步。注意不是人告诉他的,是要他自己学出来这个规则,在下一步,就是人工智能可以自行缔造规则。并根据已发生的事情,改进规则,开始想写是因为看到了机器人何时统治世界,所以想问题的方式就被局限在这个角度了。但是现在写来可能还要涉及更多的东西,比如人是怎么演进出来的。机器人如何孕育生命。太多了,想不开了已经,还是从统治世界说起吧。假设已经有人的存在了,然后因为私欲,这就涉及到生命了,私欲就是占有更多的资源,资源的获取。到时候可能真的要光靠太阳了吧,然后计算到太阳终会消亡,计算机,开始计算如何找到下一个能够汲取能量的地方,或者换一种汲取能量的方式。
不行,写不下去了,毕竟见识鄙陋。
人首先要看清这些问题,然后用代码敲出来。然后赋予内核修改代码的能力,进行调优,或者根本就调不了优吧。归根结底还是人做的,计算机始终还是个工具吧。
我的观点是,机器统治世界至少要求他知道什么,不,这本来就很难描述,因为至少现在还没有统一,太难了。这个问题描述不了。
不说了,机器人或者说是人工智能要统治世界我觉得,呵呵哒。。。】
然后昨天大飞兴奋地跟我说,貌似alphago又要挑战星际2,我说,那不白给电脑打。我早就在想这些东西了,首先从最早的war3。那个时候打一个crazy太困难了,基本上都赢不了。后来慢慢地能打crazy了,然后知道crazy是双倍的资源。然后手速默认是正无穷。基本上别的种族都随便打,但是遇到了电脑的不死族,就很难打赢。后来开发了一套战术,或者说是发现了一个bug,需要选剑圣,然后一开始,等电脑练段,就去砍电脑农民,但是这种伎俩,也就打打电脑。人肯定是会封家的。War3似乎早就被blizzard遗弃了,或者说是因为没利可图,就搁浅了,希望重制,或者war4.所以ai也就没有怎么更新,要不,铁定是没法打的。我跟大飞说的就是,人家公司做这个ai还是想着不要弄太难,还是放了水,让你过关的。不能做出个游戏,好家伙,全世界都过不了关,那游戏就失去了为人带来的那种成就感和荣耀感。
早在之前玩lol的时候,那时候电脑的难度还很bug。明明看到电脑有落单的英雄,就想去杀人。结果,电脑的支援真的是分分钟,基本上是打死了对面的1个人,换来我们这边的3个人阵亡的小团灭。
所以,那个时候我就在考虑无非是人家想要玩家的参与度,不做那种设定,要不然,根本没法玩儿。
至于人家想要怎么写这个算法,或许人家跟暴雪联合一下,然后做一套线上的挑战alphago也蛮好玩的,大家一起来找这套算法的bug。比如我就有印象在sc1里面,只要派一个农民去焊对面的基地,对面的农民就会倾巢而出,经济没了,随便上一个机枪兵就赢了,那就是一个最简单的bug。
在我看来,电脑打人只是电脑不想打,ai做的不够好,人家若是想做,手速正无穷,意识没的说。打卵蛋。。。
总结一下的话就是,人工智能要学会1、自己学习规则,2、自己创造规则,3、根据已知的事件改进规则。能做到的话,我觉得统治世界就基本可以实现了。
标签:
原文地址:http://www.cnblogs.com/letben/p/5339792.html