人机大战:黑马程序员教李挖出电脑Bug
2016年3月9日,在韩国首尔四季酒店,一场事关人类尊严的围棋世纪大战拉开帷幕:手握14个世界冠军头衔的韩国天王李世石与人工智能AlphaGo的围棋巅峰对决吸引了全世界人类的目光。截止到2016年3月14日,人机大战已进行了四局,AlphaGo3比1领先李世石,四局的进程堪比一部连续剧。国内知名高端IT教育品牌——黑马程序员(传智播客旗下高端IT教育品牌)密切关注大赛进程,将从计算机软件技术的角度对这次大赛进行后续跟踪与分析报道,教大家挖出电脑狗的Bug。
首先我们先来回顾分析一下这四场战情: 第一局,李世石以无谱布局进行试探,但这一策略失败,最终告负。凭借黑马程序员多年软件教育开发的经验来看,李世石开局无谱布局可圈可点,但是由于不具备程序员与智能机器的逻辑思路,导致中场失利,首局败北收场。当此时,黑马程序员建议小李多向专业计算机软件开发人才程序员们请教,熟悉电脑操作思路与电脑逻辑思考语言,加快熟悉的步伐,使用电脑不善应对新招的方式进行突击。
第二局李世石多次回避打劫,输掉比赛后引起巨大争议。在此,黑马程序员不得不替小李子说一句:这是小李一人与谷歌众多具备深度思维的程序员的较量,本身的公平与否我们暂且不论,单就这份不断尝试了解的态度不得不让我们敬佩。无乱是李世石反败为胜还是“阿尔法狗”继续“得瑟”,终究都是人类智慧的胜利。(但是还是需要为我们的伟大的程序员们鼓起掌来!)
第三局,第一次出现打劫局面,但AlphaGo当时已有巨大的优势,最终中盘取胜。这时就有人预测,这是谷歌下得一盘大棋,结果或许会出现5:0的碾压式毫无疑问。黑马程序员一边为人类不忍,一边又不得不再次为程序员们喝彩!现在,当代表世界最高水平的韩国天王李世石三局都倒在“阿尔法”脚下的那一刻,一切都发生了改变。试想将来某一天,程序员们完全可以掏出自己开发的最普通的APP向任何一位职业高手叫板——“别得意,你信不信我就用它灭了你?!”而我们的黑马程序员毕业学员每一款毕业作品都展示着自己的骄傲与光荣。编程的力量,还有什么可以阻挡?!
第四局中,李世石总算是代表人类终获一胜,而且是以极具戏剧性的方式。在第四局中,李世石在中盘阶段第78手“挖”,被多位观战棋手称为神之一招,此后电脑连续下出多步诡异的臭棋,观战的黑马程序员们戏称其为死机性招法。在黑马程序员学习的学生都知道,比赛期间期间“阿法狗”的作者,我们程序员们同行黄士杰业忍不住摇头叹息,就连小李也一度笑场。最后电脑中盘认输。黑马程序员评估认为:电脑不具备人类的反向思维能力,会一度在形势评估方面发生严重错误,也会出现未知Bug,所以早下了9手之后才恢复正常。就像我们的产品要调控兼容,适应不同版本一样。“阿尔法狗”说到底就是一个人工智能电脑产品,也会不可避免地拥有一些常见的电脑问题。在此在此恭喜小李三局过后,找到了AlphaGo的弱点。
从第一局就可以看出,电脑是回避打劫的。第三盘出现打劫之后,电脑并没有采取最佳处理方法。13日那一局很可能展示,电脑在面对打劫和与打劫相关的复杂局面时处理得并不好,可能出现这种情况与复杂计算有关。之前打劫是否能成为攻击电脑的方向还是一个疑问,但李世石验证出了这一点。
从以前的情况看,电脑围棋程序都是存在自己的Bug,比如Zen和Crazy Stone(疯石)都是在蒙特卡洛算法基础上研究的。之前电脑围棋程序在这方面有明显弱点,但这一次谷歌的团队取得了突破,他们解决了这个问题,他们将评价函数与蒙特卡洛算法整合了,这就变得更强。
电脑系统在短兵相接的时候也会出现漏洞,现在就来黑马程序员学习高端IT技术,开发属于自己的智能软件,抓抓电脑bug吧!。
|