作者:《职场》记者石丹

处于科学大趋势前沿的计算机技术正孕育着重大的变革,尽管今天计算机的人工智能还是专用型智慧,但谁知道在微软亚洲研究院这种处于全球领先的计算机研究机构里会不会在某一天“生”出计算机的通用型智慧呢,尤其是遇到许峰雄这种计算机科技狂人的时候。

如果许峰雄跟国际象棋大师卡斯帕罗夫过招,他胜的可能性几乎为零;可如果后者是与他设计的会下棋的电脑过招,那么许峰雄赢的几率可能是百分之一百。

尽管已经有十年之遥,人们依旧还能清晰记得1997 年5

月发生的那场国际象棋人机世纪大战。电脑“深蓝”战胜国际象棋大师卡斯帕罗夫,成为当之无愧的“世界冠军”。从此,“深蓝”背后的许峰雄便被冠以“深蓝之父”的称呼。现在,“深蓝”的“爸爸”就坐在我眼前:样貌平实,头发花白,语速很快。每每至一个话题时候,他是要停顿十几秒的,怕是在脑中做数据处理呢,之后便又开始滔滔不绝。

再过一些年,许峰雄又会不会成为别的什么之父,不得而知,我们只是晓得,他身上那股子疯狂的钻研劲头,让他成“什么之父”也都在情理之中。

人机博弈,抑或人人博弈?

做科研的人似乎都有那么一骨子“倔”,这种固执在徐峰雄到了卡内基梅隆、遇上“人机博弈”课题后,愈发明显了起来。他总是说自己走“人机博弈”的道路“完全是机缘”。“有位教授来找我,要我帮忙去完成一台能下国际象棋的电脑。我喜欢下棋,也喜欢电脑,还知道让电脑学会下棋的努力已经持续了很多年;但直到那时为止,电脑还只是具有业余级别的棋力。我喜欢做这件事,可是我不能同意教授的计划。”

他们打算按照国际象棋的64

个格子做出一块芯片,所以那是一个很大的东西。“我觉得这种做法很笨,对教授说,现在的技术可以把这些东西装进一个晶片,为什么要做64

块?教授坚持当时流行的观点:如果加快电脑速度,必然增加电脑体积,我说‘不一定’,结果我和教授发生了冲突,教授认为我根本不想做。当然,后来我决定做,并不是为了跟教授赌口气。”

“如果是赌气的话,这个代价也太大了。而是,我认定那是一个可以做的事情。计算机博弈的研究其实是对计算机处理能力的极限的不断挑战。”他说。现在回头看“深蓝”的价值,除了是在历史进程上有价值外,更多是给我们的研究提供了很多思考路径。“比如现在在微软我们主要做的是硬件加速,考虑这些硬件设备如何让Web

Search

的速度提升。‘深蓝’是一个软件加硬件的结合体,尽管跟现在的研究有些差别,但是思路是可以用当时深蓝的研发过程来做的。

回到当时,在得到自己另一位导师支持后,许峰雄打算用6

个月做出人家需要用两年完成的晶片。对他来说,这是一个前所未有的旅程。他每天从早到晚坐在电脑前。第一个月,他要把36000

个晶体放在一块长6.8 厘米、宽6.7 厘米的芯片上,每一条线路都要重新设计;又用了4

个月,他把那些线路一点一线画出来,有几万个点和几万条线,其中大部分依靠手工完成。每周的工作时间超过70小时。

第六个月开始的时候,他把36000个晶体连同所有电路全都装在芯片上了,再多一条线都加不进去。然后开始检测,在发生错误的地方重新开始。如果说之前的工作时间还比较长的话,最后这个月里,他几乎需要每天半夜就爬起来工作。“6

月大限”过后,他的芯片真的诞生了,不仅能够正常工作,而且证明比那64 个芯片组成的系统还要快10 倍。

他把自己的第一个成就叫做“晶体测试”。自此,许峰雄狂热地爱上了他的芯片,热情与日俱增,似乎没有止境。“我想做一台更快的机器。”四年后“深思”诞生,它拥有200

块芯片和两个处理器,每秒钟能分析70 万个棋位。半年以后,“深思”战胜特级大师本特·拉尔森,声名大噪。1989

年许峰雄跟两个朋友一起进入IBM,开始了“深蓝”的制造。再后来的事情,大家都知道了。

曾经有人问许峰雄,如果你跟“深蓝”博弈,谁会胜?他说,“我可以掀开他的后盖,去看它里面在怎么运算啊。”这可以被看成一个幽默的解答,也回答了很多人对于人工智能取代人的智能的担忧。“这其实很简单,当我们拔掉深蓝的插座,它就没有办法了。现在,类似‘深蓝’这种人工智能,更多是专用型智慧,而非人的通用型智慧。将来有一天机器具备通用型智慧的时候,可能才会出现统治人的智慧的一天。但现在看来,电脑还没有那个能力。”

据说,他现在又重操“计算机博弈”的“旧业”——而这次是围棋。

“移动计算”大未来

许峰雄现在负责微软的平台元件组,主要从事与硬件相关的研究。“我们的一些项目面向微软的硬件部门,但是大部分项目针对移动应用和服务。对核心软件算法,特别是服务端软件算法的硬件加速,是我们当前的主要目标。我们感兴趣的领域包括:基于FPGA

平台,采用硬件实现并加速一些软件算法或者系统。借助这个平台,我们使原系统的性能( 如速度、容量和功耗等)

得到数量级的提高。目前我们已经成功加速了一些机器学习算法,同时正在将该平台应用到新的领域,例如数据挖掘、网络服务、移动计算等。当前我们的首要任务是加速在微软使用的各类机器学习和数据挖掘算法。”他说。

“根据摩尔定律,我们认为移动计算在未来将成为计算的主要形式,因此以往的研究主要侧重于这个领域。在软件方面,我们着眼于系统软件,以及面向特殊设备的软件。在硬件方面,正在探索如何实现无线供电系统。游戏外设及相关软件,采用摄像头和惯性传感器,我们正在研究更为自然流畅的游戏控制方式。这些研究成果同样地将会被拓展到游戏控制以外的场合。”

许峰雄说到他的工作总是一副难以被打断的样子。其实,每个人身上都拥有无限的潜力。大多数人从来没有尽善尽美地表现自己的能力,是因为他们从来没有想清楚自己到底想要什么,从来没有产生过一种想要抓住什么东西的冲动。只有很少的人能够意识到自己真正想要的东西,感觉到它正在前边召唤,不顾一切地去抓住它。而许峰雄恰是因为这份强烈的召唤让他产生了勤奋,发挥着天分,激励着他超越一切障碍,与众不同。

python计算机博弈程序_许峰雄博弈电脑智慧相关推荐

  1. python二分法查找程序_查找Python程序的输出| 套装2(基础)

    python二分法查找程序 Program 1: 程序1: a = 10 b = 3 res = a/b print "a/b: ", res res = float(a/b) p ...

  2. python判断素数程序_使用面向对象方法检查素数的Python程序

    python判断素数程序 This program will check whether a given number is Prime or Not, in this program we will ...

  3. python嵌入到程序_在应用中嵌入Python:转

    前面的章节讨论如何扩展Python,如何生成适合的C库等.不过还有另一种情况:通过将Python嵌入C/C++应用以扩展程序的功能.Python嵌入实现了一些使用Python更合适的功能.这可以有很多 ...

  4. python计算机博弈程序_全国计算机博弈大赛

    机器博弈竞赛走进中小学--人工智能科普公益活动 中国大学生计算机博弈大赛暨中国计算机博弈锦标赛是中国人工智能协会主办的专业竞赛,由中国人工智能协会机器博弈专业委员会(以下简称:机器博弈专委会)组织实施 ...

  5. python编程第一程序_第一个Python程序_Python编程开发教程

    第一个Python程序 用notepad++编写程序代码 语言设置为python(高量显示函数和关键字)(注意:行首不能有空格,Python对缩进要求严格) 命令提示符运行 cd \文件名 #打开py ...

  6. python国际象棋ai程序_用Python编写一个国际象棋AI程序

    最近我用Python做了一个国际象棋程序并把代码发布在Github上了.这个代码不到1000行,大概20%用来实现AI.在这篇文章中我会介绍这个AI如何工作,每一个部分做什么,它为什么能那样工作起来. ...

  7. python解魔方程序_写一个解二阶魔方的程序

    本文需要读者有一定的魔方基础, 最起码也要达到十秒内还原二阶魔方的水平, 并且手上最好有一个二阶魔方, 否则文中的很多东西理解不了. 另外, 这里使用的算法是我自己写着玩的, 如果你需要更成熟和专业的 ...

  8. python 代码转程序_如何用pyinstaller把自己编写的python源代码转换成可执行程序?...

    昨天慢步熬夜写了一篇干货满满的文章,不知道什么原因,文章并未被推荐. 今天再来换个方式写一次. 把自己编写的python源代码转换成可执行程序 笔者继续用自编的<货币兑换程序3.0>为例. ...

  9. 用python写秒杀程序_马上双十一,教你用Python实现秒杀系统

    简书博客地址: https://www.jianshu.com/u/8f4d80000566 大家好,我是老表 阅读文本大概需要 10 分钟 坚持学习很难,养成学习习惯更难 架构搭建是重点,代码或语言 ...

最新文章

  1. 解决bootstrap下的图片自适应问题
  2. 深入理解 C 指针阅读笔记 -- 第二章
  3. 移动开发:android , IOS html5
  4. 使用Amazon Simple Queue Service(SQS) 实现简单的消息服务
  5. MySQL MHA 安装
  6. SpringSecurity过滤器链加载原理
  7. 传统公司部署OpenStack(t版)简易介绍(八)——Dashboard模块部署
  8. USB摄像头视频监控项目学习笔记
  9. 漫画:五分钟看懂车联网
  10. angualr 单选全选方法(适用购物车/各种列表删除等)
  11. 计算机应用基础模块2客观题答案 文档,计算机应用基础网上形考答案模块2Word2010文字处理系统客观题答案.doc...
  12. 【转载】Apache如何设置访问一个目录需要密码
  13. Docker入门者手册
  14. 常见分布的期望方差矩母函数
  15. ntpwedit 提示密码未修改_关于开启密码控制策略所引发的一些问题
  16. Java 如何保证线程安全,你真的清楚吗
  17. 【挖坑记】JZOJ 4722 跳楼机
  18. Primeng修改组件样式
  19. 小升初数学暑假班招生中
  20. 五款最出色的数据恢复工具

热门文章

  1. python爬虫 同花顺_使用Python抓取同花顺资金流数据
  2. 哔哩哔哩小助手(GUI)
  3. OpenCL和CUDA全解释
  4. cmsplus实战之仿[我扫网]之三:新建并配置仿站工程信息
  5. 高质量作品集PPT模板合集(字体包和作品集封面原始文档)
  6. ALV的lvc_s_layo和lvc_s_fcat参数详解
  7. 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接 解决方案
  8. BURNINTEST FOR LINUX CLI
  9. HTML生日祝福 视频背景+视频祝福
  10. 递归求斐波那契数列第n个数