DeepCoder初步了解
来源:互联网 发布:淘宝网如何收藏宝贝 编辑:程序博客网 时间:2024/06/17 05:31
DeepCoder是微软和剑桥大学联合开发的一种计算机算法,可以用于自行编写代码并解决简单的数学问题。该系统分成两个组成部分:代码编写算法,以及搜索潜在代码的机制。该算法发表于2016年11月的论文中。
论文地址:点击打开链接
DeepCoder所用的技术叫程序合成( program synthesis),通过截取已有软件的代码行来组成新的程序。通过学习一系列代码片(code fragment)的输入(inputs)和输出(outputs)数据,DeepCoder能自动摘取出对目标任务有用的代码片。
DeepCoder 使用被称作“程序组合”(program synthesis)的方法,只要给定系统输入值和需要的输出结果,DeepCoder 便可透过搜寻其他程序的程序代码,挑出适合的程序代码片段,再组合成可运作的程序,让程序顺利生成需要的结果。事实上,这个步骤就像许多工程师常做的事:在程序问答网站 Stack Overflow 上搜寻适合的程序代码,再“复制贴上”他们认为可行的程序代码片段。
机器的检索速度、广度、及深度强于人类程序员,DeepCoder 能更全面、广泛地搜寻程序码范例,因此程序代码的组合方式可能是过去人类从未想过的。此外,DeepCoder 将机器学习应用在每次的搜寻和组合程序代码,相较于旧有系统需要花费好几分钟才能选出正确的程序组合,DeepCoder 只需几秒就能写好程序,且速度还会随着练习越来越快。
该研究尚在早期阶段,目前只能写出 5 行左右的程序代码,难度相当于程序竞赛网站中最简单的问题。DeepCoder 只能透过组合程序代码片段来写程序,并不能靠自己生成一段全新的程序代码,也还没办法写出企业等级的软件,或是 App 等更复杂的程序代码。
麻省理工大学研究员 Solar-Lezama表示,程序员并不会因此而失业,“在程序员为DeepCoder搭建起程序框架之后,就能够将精力放在更复杂、更需要经验驱动的事情上”。该系统的目的并非想要取代人类工程师,而是让电脑协助完成写程序过程中最无趣的地方,工程师可以将时间拿去做更复杂、更有创造力的工作。
- DeepCoder初步了解
- SPRING 了解初步
- Jawe的初步了解
- Jawe的初步了解
- 初步了解osworkflow designer
- (二)初步了解
- 初步了解Oracle
- 初步了解CSS
- 初步了解CSS3
- Felix?OSGi? -初步了解
- 环境变量初步了解
- 初步了解接口测试
- skyeye初步了解
- Linux管道初步了解
- opencms初步了解
- 初步了解com
- Linux管道初步了解
- windows7 embedded 初步了解
- 决策树实现
- Reverse Singly LinkedList的方法探讨
- 在ssh中用struts2标签读取list数组集合
- C++之MYSQL的简介
- Angular2的一些快捷查看
- DeepCoder初步了解
- 使用 Matplotlib 绘图
- MFC webBrowser 禁止加载图片、背景声音、ActiveX 等
- 关系数据库完整性
- 【LintCode】合并排序数组 II
- ios11 beta 版 降级文件
- 516. Longest Palindromic Subsequence (Medium)
- hashCode方法与HashSet类
- 最大网络流Dinic算法