大数据文摘出品

来源:ponderwall

编译:stats熊、钱天培

大胆想象一下,如果计算机可以自行编写程序,这会为人类带来什么样的变化?

与其辛苦研究计算机解决问题的方法论,敲出精准的代码,不如告诉计算机你想要什么,让它自己运行算法去解决你的需求。

听起来是不是很优秀呢?

“进化计算”正是研究这一大胆想法的学科。

我们可以把“进化计算”看做是一类人工智能和机器学习的分支。最早提出于20世纪50年代,进化计算旨在让计算机自行解决问题,而不需要人类编写一步步复杂的编程代码。理论上来说,这可能会让原本需要编写几周的代码在几分钟之内就可以实现。

这种理念可以让计算机去完成人类很难理解或者难以实现的复杂问题。计算机学家已经将进化计算应用到了一些实际问题上,包括为虾饲料配置最佳组合、最佳资产组合、通信技术、游戏行业和自动包装等。

那些研究进化计算的科学家们在这60多年时间里提出了大量建议。然而,进化计算的理论并没有在研究领域之外被广泛应用。

所以,为什么进化计算一直进展缓慢?

进化计算的原理

进化计算沿用了查尔斯.达尔文的自然选择学说,就是我们通常所知的“适者生存”。也就是说,一个物种里最弱小的(或者不太容易生存的)相继死亡而强壮的会生存。经过许多代以后,这样的物种会进化得越来越适应周围环境。

进化计算中,计算机为每个问题创造了大量的潜在答案。由于这些方案通常都是随机产生的,所以计算机刚开始肯定也不能我们关心的问题。但是,有些方案要比其他的更好。计算机可以从中排除最差的答案,找到最优解并发掘更多潜在答案。不同的答案会被融合在一起(这通常被叫做“交叉”),从而获得一个可以不断被测试和实验的新一代答案。

就像自然选择学说一样,另一个关于进化计算的重要元素是突变。所以,每过一段时间,被测试的答案就会产生一个既小而随机的变化。这就意味着,新的潜在方法会被创造,而仅仅使用交叉法是不能实现的。

理想情况下,由交叉和变异组合成的潜在新方案,会比他们的“父母”更好。但“进化”也不是每次都发生的,只有更多迭代产生,更好的解答才能浮现。对于进化学习来说,拥有数以万计的迭代是有迹可循的,就像自然选择需要数以万年去选择一个物种生存一样。

基因编程树

进化计算中最有名的莫过于基因编程。在基因编程中,一个计算机程序会让另一个程序经过演变来处理特定的问题。用户提供了一些衡量程序优劣的度量,然后演化过程接管,一切顺利的话,就会返回一个解决问题的程序。

尽管在科研界,基因编程研究已经取得了巨大进展,但是进化计算依旧很被难投入到商用中。这究竟是为什么呢?

为什么进化计算一直没被投入商用?

不同于其他很多技术,进化计算还未真正被商业领域接受。3D打印是在20世纪80年代发明的,经过很长一段时间的发展,现在已被用于工业制造。同样,增强现实、虚拟现实和人工智能也从研究领域中涌现出来,成为大型科技公司的主要产品。

阻碍进化计算商用的一个关键问题是,研究人员未能把重点放在商业领域感兴趣的问题上。

举个例子。计算机科学家已经深入研究了如何利用进化计算来为车辆制定路线。但是,研究者们通常只是研究问题的一些简单方面,而非是问题本质。很多汽车路径优化,用的是两点之间直线最短的原理。

在现实世界中,车辆行驶的路线很少遵循直线,而且必须考虑单向系统、故障、法律问题(比如司机必须休息多久)、时间限制以及其他很多问题。这种复杂性正是进化计算能够提供帮助的地方。

如果我们能够充分定义问题在现实世界中发生的情况,那么进化算法应该能够处理其复杂性。

另一个问题是,进化计算的结果有的时候很难解释。举例来说,尽管基因编程系统可能会创造一个完美的答案,但是这个答案是如何实现的,可能对于一个程序员来说是一个秘密,因为系统产生的代码可能十分复杂,并且难以理解。

进化计算系统的实现和支持也很复杂,这可能会让一些商业组织望而却步。如果有一个易于使用的框架来隐藏大部分潜在的复杂性,这将会有所帮助。尽管这些框架存在于科学界,但它们不容易被商业部门使用,更不用说家庭用户了。

IBM著名的软件工程师弗雷迪克.布鲁克斯曾经这样说道:你是不能通过增加人力来处理规模不断扩大的软件开发项目的。

如果有朝一日进化计算能够被投入商用,这对软件开发商来说将会是一个巨大的帮助。

相关报道:

https://ponderwall.com/index.php/2019/04/07/evolutionary-computation-self-programming/

未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

号称能自动编程60年,“进化计算”究竟进化到哪一步了?相关推荐

  1. 什么是人工智能自动编程?它只是一个噱头吗?

    简介:一个普通的开发者是否已经有了一些有用的工具,这些工具使用人工智能技术提高了他的生产力? 作者 | 梧忌 毫无疑问,人工智能将改变软件开发的方式 -- 我们已经看到了一些尝试将人工智能应用到软件开 ...

  2. 王垠:自动编程是不可能的 我为什么不在乎人工智能

    编者语:在17年人工智能热的大背景下,有时候需要不同的观点让自己的路走的更加辩证和客观. 正文/王垠 有人听说我想创业,给我提出了一些"忽悠"的办法.他们说,既然你是程序语言专家, ...

  3. 弹幕炸了!OpenAI直播大秀语音指挥AI自动编程,也就比老罗TNT强亿点点

    金磊 梦晨 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 刚刚,OpenAI又玩出了一个新高度. 只输入自然语句,AI就自动做了个小游戏! 划重点:不! 用! 你! 编! 程! 来,感受 ...

  4. catia如何整列加工_CATIA V5 R20加工模块的自动编程方法

    在数控加工领域,运用CATIAV5R20自动编程方法一方面可以方便地实现零件的数控编程,生成高效.高精度的NC程序:另一方面,可以通过实体仿真刀具路径,检验是否有明显的过切或者干涉现象,及时作出相应的 ...

  5. Copilot 自动编程AI工具

    OpenAI与GitHub联合构建的AI自动编程工具Copilot,Copilot基于自然语言处理模型GPT-3搭建而成,Copilot预览版已经正式上线Visual Studio Code平台 Op ...

  6. 机器码农:深度学习自动编程

    /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ 张俊林 (本文2016年发表于<程序员>杂志) (想更系统地学习深度学习知识?请参考:深度学习枕边书) 随着深度学 ...

  7. 基于数字孪生的机器人焊接自动编程关键技术

    在焊接制造中,存在着大量非标准化.定制化焊接件,需要机器人在焊接过程中具有较高的适应性和柔性,传统的示教-再现型机器人很难直接应用于这样的实际焊接生产中,因此要实现机器人智能化焊接应用还有很多亟需解决 ...

  8. 自动编程软件面世 我们还需要程序员吗?

    自动编程软件面世 我们还需要程序员吗?  出处:PConline 责任编辑:zzh [04-6-9 11:04]  作者:太平洋新闻中心 xqy 来自美国芝加哥的消息,一家名为Care Technol ...

  9. 编程语言c沙浦,大兴智能机械数控加工中心自动编程的分类及其编程特点

    大兴智能机械数控加工中心自动编程的分类及其编程特点 简单来说,数控加工中心也属于一种CNC数控铣削加工设备.其特点都是以铣削加工为主,借助于合适的加工刀具都可以对工件的铣.钻.铰.镗.攻等工序进行集中 ...

最新文章

  1. 专访旷视副总裁彭广平:旷视为何选择收购艾瑞思?
  2. html+css+javaScript 写一个简单游戏 看了就会
  3. 《易学C++(第2版)》——1.4 C++能够做些什么
  4. java 自定义监听_Spring 中的自定义事件
  5. cuckoo沙箱常见报错总结
  6. java comparator_一个Java程序员的成长历程(012)天
  7. mac下selenium+python环境搭建
  8. P2P技术简介(包括BT软件的分析)(转)
  9. 计算机拓展名cad,CAD用到的各种文件格式有哪些
  10. 市场项目交接文档初稿
  11. 中控考勤仪IFace302多线程操作时无法订阅事件
  12. [树莓派][GPIO][风扇][断点直播]树莓派4B加装风扇并实现风力和CPU温度控制
  13. Java实现判断是否参加上秒杀活动
  14. 服务器和客户端TSL协议不一致
  15. 扫地机器人半湿拖布_居然能自己洗拖布?云鲸智能扫拖一体机帮你真正解放双手...
  16. 解决 NDP40-KB2468871不能安装
  17. M5stack StickCplus ESP32物联网开发板初体验
  18. mysql建库、建表命令、sql语句大全
  19. 【Django】二手交易市场开发备忘录
  20. java健康检查代码_SpringBoot实现项目健康检查与监控

热门文章

  1. 零基础学Python:一文看懂数字和字符串
  2. 必看!清华大学刘洋教授“浅谈研究生学位论文选题”方法,3月7日1小时视频公开课(附视频PPT下载)...
  3. 重磅 | 2018年清华大学研究生新生大数据
  4. 带你测试对比深度学习框架!TensorFlow,Keras,PyTorch...哪家强?(附数据集)
  5. 「AI大牛」陶大程出任京东探索研究院院长!曾连续6年入选全球高被引科学家...
  6. 【干货】105页周志华教授《机器学习手推公式》开源PDF
  7. 福布斯:14位技术专家预测,未来哪些行业将被AI颠覆?
  8. AI技术如何帮助研究人员重现历史的气味?
  9. “神经+符号”:从知识图谱角度看认知推理的发展
  10. 中国科学院徐俊刚:自动深度学习解读