网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月26日
漏签
0
天
人工智能吧
关注:
114,016
贴子:
505,332
看贴
图片
吧主推荐
视频
游戏
1
2
3
4
5
6
7
下一页
尾页
104
回复贴,共
7
页
,跳到
页
确定
<<返回人工智能吧
>0< 加载中...
如何实现自编程序?
只看楼主
收藏
回复
ruiaijun
T1000
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我以前曾经用很多主题讨论自编程序问题和“自编程序算法”,现在我们可以研究它的母程序和小程序如何编写了。
通过对具体演示程序的编写,我们可以确信“自编程序算法”的可行性
stringoe
自动驾驶
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
lisp相当于自编程序
操作对象是他自己,就是函数表
218.82.29.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
随机生成二进制代码,也可以叫做是自编程序算法。
请问老rui 你的自编程 效率有多高?
分析过吗
brainmaker
扫地机
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
随机生成二进制代码,也可以叫做是自编程序算法。
请问老rui 你的自编程 效率有多高?
分析过吗?
用多少时间能取得什么样的效果?
ruiaijun
T1000
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
作者: 218.82.29.* 2008-5-5 21:35
随机生成二进制代码,也可以叫做是自编程序算法。
请问老rui 你的自编程 效率有多高?
分析过吗?
用多少时间能取得什么样的效果?
----------------------------------
把“随机生成二进制代码”作为指令,会造成我在“自主和需要”一主题了谈到的“CPU错认程序性的死机”(该主题第9楼)。是不能那么做的。
如何提高自编程序的效率?正是本主题要研究、讨论的重点。
brainmaker
扫地机
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
作者: ruiaijun 2008-5-6 07:51
“CPU错认程序性的死机”这个问题很好解决。
你可以随机生成高级语言的代码,然后再编译。可以保证程序不会死机。
然后还可以把时间中断程序外加上去,可以保证程序在有限时间内终止。
但这样做的效率也是非常低的。
你可以看看 遗传编程,
http://www.genetic-programming.org/
它的效率比随机生成代码高一些,并且用遗传编程生成的代码还申请了好几个专利。
但它还是没能实现“强人工智能”。效率还是太差。
brainmaker
扫地机
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
作者: ruiaijun 2008-5-6 07:51
如何提高自编程序的效率?正是本主题要研究、讨论的重点。
--------------------------
不知道老rui有什么高招
brainmaker
扫地机
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这个方法只能保证不死机,但是你会连编译程序的语法错误关也通不过。那是有谁来修改随机生成的程序?使它满足起码的语法规则呢?
-----------------------------------------
其实高级语言编译出来后,就是一棵语法树。只要你随机去构造一棵树就没问题。
你可以看看lisp等函数编程语言。要随机生成没语法错误的程序非常容易。遗传编程 也常基于lisp语言。
brainmaker
扫地机
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
作者: ruiaijun 2008-5-6 16:21
这个问题还是用演示程序来回答吧。
----------------------------------------
什么时候能有答案啊?期待~~~~
brainmaker
扫地机
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你说的第一点,如果这个循环需要运行10000000000000后结束,
那么也不能判断为死循环。不过可以用定时中断来防止死机。
第四点,其实现在的很多语言都有自己的虚拟机。比如java python c#……。不用编译的
brainmaker
扫地机
2
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
防止死循环的办法太多了,还可以限制 程序执行多少个指令后终止。
我要说的是,就算防住死循环,就能自动编程吗?
第四个问题,用机器码直接执行比在虚拟机上执行程序,只在速度方面有优势。
直接用机器码运行,我想也不是自编程系统的必要条件。
其实老rui的反射算法程序,也是一个虚拟机,可以把里面的反射弧等看做程序(指令)和数据。
222.40.115.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
是呀
ruiaijun
T1000
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
一、“自编程序算法”的一些特点。
1、“自编程序算法”相当于在原来语言中提供一个新语言。
编程必须有程序语言。
但是“自编程序算法”可以在任何计算机语言中,为我们提供一个新的计算机语言。这也是这种语言可以实现自编程的关键。
此话怎么讲?
它就是说,我们可以把任何一种计算机语言编写的程序,看成是一种编译软件,使它能够自编并运行自编的程序。或者说,它可以把任何一种计算机语言编写的程序,看成是一个虚拟机,自编并运行自编的程序。
但是,由“自编程序算法”提供的“计算机语言”已经不是原来的计算机语言,它有自己的词汇和语法。
“自编程序算法”就是规定这种“计算机语言”的词汇和语法的方式。
ruiaijun
T1000
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
2、“自编程序算法”的运行平台——“母程序”
“母程序”是“自编程序算法”的一个运行平台,它按照该算法原理,由人来编写。因此“母程序”是一个“人编程序”,是一个提供自编程序能力的“人编程序”。
这意味着什么?
它意味着“自编程序”必须依赖一个“人编程序”来工作。计算机的“自编程序能力”,由“人编程序”中获得。没有这个“母程序”的支持,让计算机自编程序是不可能的!
让计算机自己编写程序,有很多方法。其中,支持自编的程序的智能越高,编写出的程序会越与人编写的程序接近。
但是我偏偏不选择高智能程序来支持自编,我选择的是无智能的程序来支持自编。
在很多人看来,编写程序本身就是高智能的工作,无智能自编程序,几乎不可能。而我从动物和人的“尝试错误学习”(自主学习)中看到了无智能自编程序的可能。
它无非就是一个先胡乱组编,再通过一个外界检验的循环反馈过程对程序进行选择,最后确定成功程序的过程。这中间没有不需要自编系统有任何智能,只要它“耐心的”接受外界的检验就是了。
这就是我的“母程序”的特色。这个“母程序”的结构我将在稍后介绍。
ruiaijun
T1000
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
3、“自编程序算法”如何确定词汇的。
首先要明确:因为原则上,“自编程序算法”可以在任何计算机语言中使用,因此它不是给原来的计算机语言提供词汇。它是为“以原来语言为基础的新语言”提供词汇。
“自编程序算法”提供的词汇不是别的,而是在原来语言基础上运行成功的若干“小程序”。
也就是说在新语言中,没有什么常量、变量、运算符号、表达式之类的词汇。也没有语句、函数等词汇组合。它们都由原来的语言表达。新语言只有唯一种类的词汇——小程序。
这种唯一种类词汇的设置,保证了在使用语言上,各个小程序是平等的。因此用胡乱组编的方式组织程序,也不会出现死机问题。
由无智能的“母程序”来自编程序,唯一的危险。就是会因不了解语言规则,而是程序不停机,即死机。而计算机本身又无法判别自身的停机问题。
我们这样的设置,就避免了自编出的程序,运行时出现死机现象。
“自编程序算法”还规定:自编的成功程序,也可以作为小程序,即作为新语言的程序语言,由“母程序”用来编写新的程序。
也就是说,原始的“小程序”不必很多,随着自编程序的编写,新的“小程序”会不断出现,编程可依据的词汇也就会不断增多。
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示