是否有AI,机器或自动定理证明器从输入构建源代码?

时间:2015-05-27 21:17:49

标签: artificial-intelligence

我认为我的头衔非常简洁。是否有AI,机器或自动定理证明器(ATP)从输入构建源代码?关于我所得到的一个非常简单的想法是“Hey AI / Machine / ATP,请构建一个'hello world'源代码。”

  1. 如果不是源代码,那么为LLVM IR,Java字节码或MSIL创建输出呢?

3 个答案:

答案 0 :(得分:1)

所以上周我参加了一个回答我问题的讲座。我要找的是Program Synthesis

虽然它并没有像我想象的那样完成,但是#34; Hey AI / Machine / ATP,为我建立了一个'#34; hello world"程序"简单引用维基百科:

Program synthesis is a special form of automatic programming that is most
often paired with a technique for formal verification. The goal is to 
construct automatically a program that provably satisfies a given high-level 
specification.

答案 1 :(得分:0)

目前无法通过对问题的口头描述生成通用程序。您的定位语言(或机器代码)在这里没有什么区别。

您可以轻松编写一个程序,以您输入的任何编程语言发出“Hello World”源代码“请在C ++中编写'Hello World'。”非常简单地。但是它只能做你硬编码的东西。

遗传编程

人工智能/计算机科学的一个分支是关于优化,甚至从头开始生成能很好地解决特定任务的程序。

一种流行的方法是genetic programming,其中程序代码经过几代人的演变,并且会受到变异,选择和交叉繁殖的影响。

但是要让所有这些工作,您必须正式描述您的任务,而优化只是发现一个能够很好地执行此任务的程序。从口头描述中产生编程问题的形式描述(其本身就是某种形式的编程)的问题尚不可解决。

答案 2 :(得分:0)

不正确。我从1975年6月和1977年3月开始研究这个问题。我发现了8个用于综合计算机程序的一般推理规则。该算法继续发展。见http://arxiv.org/abs/1501.01363。没有人会发表它,因为计算机科学学术出版是一个老男孩的俱乐部,只接受大学教授的论文。看看任何学术期刊,你会发现每篇论文都是由一位教授 - 或者是一家富裕公司或大学的研究员, SRI。