以下是翻译Optaplanner创始人Geoffrey De Smet的一篇文章《Does A.I. include constraint solvers?》。

  因为英语及中文表达习惯的差异,以该博文发表示Optaplanner官网,其描述的问题及概念具有一定的上下文关联性;因此,为了认还不太熟悉Optaplanner的同学更容易理解,令文章更符合中文母语读者的阅读习惯,我并没有完全按字面生硬直译。其中添加了一些扩展性的意译,基本上能在脱离Optaplanner官网上下文情况下,一定程序上表达到Geoffrey的意思吧,有不正之处请大家多多指点。为谢!


  人工智能的寒冬已经过去,这几年以来,人工智能技术的关注点又出现了增长。不仅仅是我们这些人工智能方面的极客,商界也因看到了其潜力,而进行了投资。为了获得资本青睐,一些研究项目也被重新塑造,贴上人工智能技术的名头。那么,约束求解器能否也使用人工智能的标签呢?

历史小知识:第5代(计算机)计划

  近20年以来,人工智能是个不太受人待见的语汇,要了解其原因,我们需要回到1982年,当时日本决定大力投资第5代计算机 - 一个人工智能平台,将要超越现有的计算机,并打破IBM的垄断。作为应对与跟进措施,其它国家也启动了类似的计划,突然间,研究经费从天而降,引致80年代的人工智能热潮。

  最终计划还是失败了。尽管获得了近10年的资助,但第5代计划的研究中,几乎没有展示出任何实用的成果。之前的一些研究,包括:大数据,智能电话和更高速的计划机,均未达到可行。其它一些研究则完全无用。

  这些研究失败以后,在上世纪90年代及2000年代初,人工智能的概念被彻底败坏了,人们都认为人工智能是不可行的。技术开发界很快结束了他们的人工智能技术名头。约束求解器则加强了与运筹学的相关性;搜索引擎只扮演了一个简单的字典搜索功能;规则引擎则侧重于决策表方面的发展。这些领域都避免提及它们与人工智能相关。而神经网络研究是个例外。

神经网络算法:一项技术吃通天下?

  过去几年间,神经网络算法令人工智能技术再次神奇起来。神经网络算法模拟我们大脑中的神经元(其实不如你想象那样).它是一个黑盒,可以将输入数据转换成你想要的输出数据,这功能主要通过多层神经网络的加总相乘算法实现。数十年来,这类算法均存在精度过低的问题,但近期兴起的大数据,及对更好反向传播算法的发现,此情况出现了翻天覆地的变化。其中后者使用了多层神经网络,神经网络层越多,则相当于实现了一种深度学习。

  时至今日,神经网络算法已经可以进行人脸和声音识别,若与其它人工智能技术(例如:极小极大算法,泽者注:一种博弈算法 )混合使用,这些程序甚至可以击败(象棋)世界冠军,听起来非常神奇。但终究到底,这些都属于模式识别问题;若面对其它(泽者注:非模式识别)问题,这些技术是处理不了的。例如,神经网络算法无法找到一条从罗浮宫到罗马斗兽场的最快路径,无法创建一套美国公路旅行指南。

人工智能的正确应用

  神经网络并不是一种普适的人工智能算法, 也不是一种约束求解器或生产规则系统。就此而言,每一类算法,只能解决人工智能领域中的一些部分问题。这也许是一件好事:不存在哪一种算法会把自己训练成天网(译者注:电影《终结者》中的人工智能防御系统),进而对人类构成威胁。

  因此,通过智能软件去解决业务问题,需要根据具体用例来选择合适的算法:

借用的原文图

  但这(译者注:神经网络的模式识别局限性)并没有阻止学者们的尝试,有很多关于使用神经网络算法去解决车辆路线规划或雇员排班的研究,只是其符合度还不如约束求解算法,例如:禁忌搜索法和模拟退火法。当有15%的行驶时间节省量时,为什么要满足于1%的节省量呢(译者注:在车辆路线规划案例中,通过约束求解算法能得到15%的行驶时间节省,为什么还要退而求其次,满足于神经网络算法得到的1%节省量呢)

  相反,约束求解算法却无法解决臭名昭著的关于热狗的图像识别问题。

所有的算法都可以产生智能吗?

  尽管计算1234乘以5678的结果并不容易,但我们并不认为这个计算方法是一种人工智能。同理,那些排序算法也不是人工智能,为什么呢?

  也许是因为这些问题都不存在误差容限,但人工智能却存在,例如:你给出一张哈仕奇的图片,有人把它识别为狼;当你给出一个TSP问题,需要画出最短旅行路线时,人们会给出不同质量的确定性的结果集。

  或者那些计算和排序算法是可以被人类理解得到的,这些算法并不是一个黑盒,它可以相当容易地知道,计算机是如何把输入数据,一个指令接着一个指令地转化为输出结果。

约束求解决器的求解又是怎样的一个动作过程呢?

  从历史上看,约束求解器(如Optaplanner)明显是运筹学的一个分支领域,同时也不能排除它属于其它领域(泽者注:约束求解器不仅仅属于运筹学领域).我认为约束求解器也可以纳入人工智能领域,不仅仅是一些论文和书刊如是说,主要是因为掌握约束求解器的应用案例,本身就是已经是一个复杂问题。无论是人类的规划师排出来的解决方案,还是特定算法得出来的解,其质量者具有巨大的不确定性。若给定一个足够大的数据集(译者注:问题数据集),是不可能找到一个绝对最优解的。此外,尽管现有的一些算法已有40年历史了,但研究 人员仍在寻找并发现一些新的算法。

  你觉得呢?约束求解器是不是人工智能的其中一个分支?

如需了解更多关于Optaplanner的应用,请发电邮致:kentbill@gmail.com
或到讨论组发表你的意见:https://groups.google.com/forum/#!forum/optaplanner-cn
若有需要可添加本人微信(13631823503)或QQ(12977379)实时沟通,但因本人日常工作繁忙,通过微信,QQ等工具可能无法深入沟通,较复杂的问题,建议以邮件或讨论组方式提出。(讨论组属于google邮件列表,国内网络可能较难访问,需自行解决)