人工智能如何让机器自动写编写程序代码

上传人:ali****an 文档编号:121762645 上传时间:2020-02-25 格式:DOC 页数:9 大小:30.51KB
返回 下载 相关 举报
人工智能如何让机器自动写编写程序代码_第1页
第1页 / 共9页
人工智能如何让机器自动写编写程序代码_第2页
第2页 / 共9页
人工智能如何让机器自动写编写程序代码_第3页
第3页 / 共9页
人工智能如何让机器自动写编写程序代码_第4页
第4页 / 共9页
人工智能如何让机器自动写编写程序代码_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《人工智能如何让机器自动写编写程序代码》由会员分享,可在线阅读,更多相关《人工智能如何让机器自动写编写程序代码(9页珍藏版)》请在金锄头文库上搜索。

1、人工智能如何让机器自动写编写程序代码! 对于一台电脑来说,它可能写下它自己的程序吗?人类软件开发者有一天能够被电脑取代吗?如同一个农民,一个流水线工人,一个电话运营员被取代一样,软件开发者会是下一个吗?这篇论文诠释了这个概念:回复:ai写代码 下载论文论文的精华部分: 接下来我们将会描述创造一个人工智能程序的实验,人工智能工程能够开发其自己的程序,执行一个遗传算法,具有自我修正的代码。上面这个代码是由人工智能程序创造的。这个人工智能被设计出写能够自我修正的代码。上面的代码是在29分钟中写出来的。其程序语言是brain-fuck。什么是BrainFuck ?BrainFuck 语言,是一种按照“

2、Turing complete”思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainFuck 语言只有八种符号,所有的操作都由这八种符号的组合来完成。 BrainFuck 基于一个简单的机器模型,除了八个指令,这个机器还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。 人工智能占据写代码人工智能随着电脑科技,硬件,CPU的发展,不断地发展着。随着计算机越来越快发展,更多的计算被执行,所以人工智能算法所要求的计算密集型处理能够被实现。人工智能习惯对于我来说,让人工智能写程序是我的爱好。我指

3、的是从一个完全白手起家,对于程序完全没有认知的人工智能,它自己学习如何去创造功能性程序。 这是个艰难的任务:首先,使用使if/else条件写一个随机程序看起来并不是那么智能。无论是BASIC,C,C+语言,都不能产生一个能够运行的程序。因为这些语言都是以被人类使用为目的的,对于人工智能来说太复杂。 最终的目标是创造一个能够写自己的处理软件,图像编辑工具和浏览器的计算机程序。我坚定于这样的想法是可能的。 很多的猴子和破碎的打字机这个想法源于无限猴子定理:这个定理描述了如果你有1000只猴子,在打字机上不断地敲击足够长的时间的话,它们最终会创造由莎士比亚写出的话剧。这听起来很荒唐,但是给定足够的时

4、间,这些猴子最终会创造出随机的文字,组成莎士比亚的作品。如果这些猴子得到指引呢?每次其中一个猴子敲对键盘的话,就会得到奖励。在足够长的时间后,猴子能够开始习得规律和模式。遗传算法遗传算法是一种人工智能,以生物进化为模型。人工智能随机选择一系列的指令(DNA中的一个),检查结果的合适度。在很多的程序中,比方说100个程序,选择出最佳合适度的进行配对,产生后代。 每一代得到额外的多样性,由进化的技巧例如轮盘选择,交叉,和突变而来。这个过程在每一代中重复。但愿产生更好的结果,直到找到解决方法。遗传算法执行适者生存法则。最合适的生存下来,并被执行。遗传算法可以被划分为人工智能搜索算法。在巨大的问题空间

5、中寻找具体的解决方案。为什么是Brain-fuck解释器?开始寻找简单的程序语言,用有限数量的指令,来训练人工智能程序使用。Assembly(ASM)很接近,但是仍然包含太多的排列。听起来很幽默,最后brain-fuck解释器产生,产生了上面的代码。 brain-fuck最初被设计的初衷是一个笑话程序语言,产生于对于人们使用来说,它的难度是怎样。它实际上有着一些对于电脑来说不同的优势。Brain-fuck作为人工智能程序语言的优势1. Turning complete 完全图灵这意味着它在理论上能够解决任何的计算问题。有着这样能力的程序语言打开了很大可能性的序列。总之很多(如果不是所有的的话)

6、计算机程序被设计来执行计算。 2. 由简化的只有8个指令的序列组成简化的指令序列减少了搜索空间,很容易搜索到目标程序代码。随着计算机运行越来越快,问题空间能够被搜索到。然而,搜索空间需要被限制。限制程序指令在8个不同的字母,人工智能能够更快运行,在合理的时间内获得最优的合适度。 3. 很容易建立一个解释器指令系列很好整理,容易理解。因此,创造一个执行程序的简单解释器很直接。在包含人工智能程序+遗传算法的解释器中,代码能够被优化,运行更快。这也能提供安全约束。人工智能能够获得解释器的内部内容,例如内存,指令和输出。这在计算合适度中非常有用。然而,第三方的编译器的这些内容很难获得。 4. 每个指令

7、一个字节因为每个指令只是一个字节,很容易找到每个double。 5. 扩展指令的可能性存在很多程序语言的解释器简单地执行代码,保存记忆值,支持输入和输出的操控台。然而,扩展解释器支持产生图标,文件系统途径是可能的。如何运行人工智能程序工作如下:1. 一个genome由一组的double 组成。2. 每个gene等同于在brainfuck语言中的指令。3. 从大量随机的genome开始。4. 解码每个genome成为想要的程序,转化每个double成为对应的指令并执行程序。5. 在输出的基础上得到每个程序的合适度,然后将它们排序。6. 使用轮盘选择,交叉,和突变方法将最好的genome配对,产生

8、新的一代。7. 使用新的一代重复过程,知道达到目标的合适度。因为合适度方法是计算最集中的部分(执行程序中每个gene),人工智能程序使用Parallel。用这种方法,它能够为每一代多个genome执行多样的合适度算法。这个允许程序利用最大化CPU资源,利用多样的CPU核心。这个程序也能够保存状态,防止程序突然关闭,然后从离开的地方继续搜索。The Fitness Method合适度方法通过产生程序的结果的获得得分运行。这个分数通过在观察每个字母输出进行计算,减去和目标字母的数值差距。当然,最初很多产生的程序不能够编译,更不用说将文字输出到操控台。这些被废弃了,支持至少能够输出一些东西的程序。进

9、一步引导和金湖知道输出结果和目标的解决方案接近。 解释指令序列Brainfuck由以下指令序列组成。 结果人工智能最后成功地在一分钟内5700代后写下程序输出“hi”,在一分钟内。产生了如下的代码:+-+>+>+-+<>+.+.-.,-#>><>尽管以上的代码有语法错误,例如不匹配的括号。我们的模拟解析器计算结果直到程序无法运行。所以语法错误并不影响合适度。 你可以尝试将以上的代码放入brain-fuck解析器,点击“开始调试”,忽略警告提示,点击运行到断点。注意输出。 如果我们去掉多余的代码,会得到以下句法上有效的代码: +-+>+>

10、;+-+<>+.+.看下面的截屏,当程序运行时候截取下来的。 人工智能学习写程序人工智能学习写程序 人工智能找到解决方案 这是一张历史图表,画出合适度和时间的关系。能看到人工智能是如何学习在目标语言中写程序和达到想要的解决方案。 Hello人工智能最后成功地写下程序输出“hello”,在29分钟内252,0000代后,产生了如下的代码: 1.+-+-+>-<+>+<><>+>-.-.+.+,<><+,.+>.,+<><>2.+.,+.-在每代的过程中,人工智能都接近解决方案,但是一对字母

11、在一个循环中相互束缚。人工智能能够解决这个问题,创造出一个内在的循环。成功输出正确的字母,继续处理程序。人工智能学习写程序人工智能找到解决方案合适度和时间的关系图表执行程序,人工智能开发Hi!人工智能成功写下程序“Hi!”,在两个小时七分钟1,219,400代 之后。产生了如下的代码:>-<+>+<+>-.+><><><->>>+.这实际上是我最喜欢的环节。运行,并且看到为什么(点击开始调试运行到断点)。好像电脑知道在知道做什么的感觉。很有趣的是,我们注意到怎么产生这个程序花费了比之前长的时间。很可能是因为使用

12、的文字,包括大写字母和一个标志。另外两个例子使用了字母(在ASCII系统中的数值特别接近)。因此人工智能能够很容易找到。人工智能找到解决方案执行程序,人工智能开发合适度和时间的关系图表reddit人工智能最后成功在22分钟195,000代后写成了reddit的程序。代码如下:1.+>+<+>+.-.-.-+.+.+,.,+,-+-,+>+.+<><><>2.-<>.>+.-.+.由于长度,可能由于d的位置。这是一个挑战。人工智能学习写程序人工智能找到解决方案 合适度和时间的关系图表Hello world在两个小时和5

13、80,900代后,产生了这个程序。代码如下:1.-><>-<+->>+<+>.-.+-+.+.+>+<><+><><>+.+-2.-+.-.+.-,.-,.>.+<><><+>+.+.+,.,<><>3.,+,+-<><><><-><>-<>+-,-<.>-+<>+<><><><-,-,.&g

14、t;<>4.>+<><><>.-+<->-,-+>-,如果去掉多余的代码,打印如下:1.-><>-<+->>+<+>.-.+-+.+.+>+<><+><><>+.+-2.-+.-.+.-,.-人工智能找到解决方案 合适度和时间的关系图表I love all humans在十个小时和6057,200代后,产生了这个程序。代码如下:1.+>+<+>-.+<+.>+2.+.+.+.-.-<.>-.+.-<.>-.+.-.-3.-.+.+.-+,.-<><><-+><><-+,-,->+-<><><><>4.,><><.><><-.><>如果去掉多余的代码如下:1.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号