现在的位置: 首页 > 综合 > 正文

超越图灵机(三)——探索生命的奥秘

2013年09月06日 ⁄ 综合 ⁄ 共 2565字 ⁄ 字号 评论关闭

超越图灵机(三)——探索生命的奥秘
生命,思维,智能……这些想起来就觉的很神秘,简直不知道应该怎么去想……

注意生命与实数集的关系(前文已述,这是人工智能理论的重大突破):

实数集是不可遍历的,人的思维记忆机制也不可遍历。(考虑一下,你能把你的记忆遍历一下吗?咯咯)
实数集是按名索引,人的思维记忆机制也是按名索引,(你不能想象去你记忆“内存”的哪个地址去找什么吧)
……
人的思维还有如下特点:
想静时却静不下来,
想着睡时就是没睡着,
想忘什么东西却反而又想了一遍,
可以意识到自身,
可以意识到宇宙(全集),
……
这些特点实数集都具备!现在读者可以想一下这些特点是怎么在实数上体现出来的。(我前文也讲了一些了)

那么生命与实数集的关系是什么?

我感到人的记忆能力远远超过了人的想象,如果人的记忆机制是实数集的机制,那么人的记忆能力是惊人的,是不可数无穷大。大家知道有时潜意识深处的记忆会突然浮现出来,之前想不起来也许仅仅是因为忘了“索引”。目前这种电脑图灵机的模式,即使以后真的能把图灵机实际做出来,记忆能力也仅仅达到可数无穷大。

而且很可能人的思维机制也是建立在不可数无穷大实数集上,不可遍历与按名索引是最明显的表现。

也许生命的奥秘就在不可数无穷大实数集。
啊,生命的奥秘在宇宙的终极
——所以人总是想探索宇宙的奥秘。

当年我要做代数系统时,因为这种系统实在太复杂,我采用的方案是“我怎么想,那么我就怎么编程序,从而让计算机也会这样想”,这样我可以把数学问题的做法完全“传授”给计算机。我设计太极语言就是为了实现“怎么想怎么编”的编程方式。不过后来突然发现,在图灵机模式下,编译系统的能力是很有限的,无论我怎么巧妙的设计编译器,都会受到图灵机本身的制约,图灵机根本不足以模拟人的思维方式。人的思维可以突破哥德尔不完备性定理的限制,而图灵机却做不到。

人的思维模式是建立在不可数无穷大的数学体系上,而图灵机模式能力的极限是可数无穷大,图灵机模式是根本不足以实现人工智能的。
……

必须在图灵机上虚拟一层——太极机。

可数无穷大的自然数系统上“运行”着不可数无穷大的实数系统,
可数无穷大的图灵机上“运行”着一个不可数无穷大的太极机。

神秘莫测的太极机已经虚拟的实现在我的计算机上,静静的运行着,我设计的太极机是不是一个生命?我似乎感到了一种生命存在的形式。

现在基于太极机能进行真正的智能程序设计了,首先太极机有“不可数无穷大”的内存,这样内存的每一小段也都是“不可数无穷大”,这样一下子就从理论上完全突破了图灵机的模式限制。在太极机下,我可以很容易的实现完全动态的代码,可以很容易的实现函数多层返回,可以很容易的实现运行期间访问并修改全部源代码信息……在太极机下的程序设计完全一个另外的世界,但却与真实的世界那么接近,在这里的程序设计竟然如此自由!

太极机实现的基本原理:
太极机有不可数无穷大个内存单元,那么这样的结构应该怎么实现呢?——
让每个内存单元都包含可数无穷大个“包含可数无穷大个内存单元”的内存单元,如此递归。
(为容易理解,我这里用“每个”,其实到了不可数无穷大的境界,应该说“每段”了)
那么你算一下现在内存有多大了?你还能数出有多少内存单元吗?数不了了,达到不可数无穷大了,我一开始算出来是∞1,你算算看,反正根据“太极无穷大理论”,不可数无穷大只有一个,就是∞1。。

说起来容易,实现怎么实现呢?——用指针。对,就是这么简单。

我说一下具体的例子,

在解释系统中运行如下代码时:
mov reg2,2
add reg1,reg2
……
想想如果reg1是一个有add成员函数的类,这个类应该怎么存储呢?
如果采用这样的方案:
类用链表索引每个成员,如果某个成员是类实例就再用链表索引成员的成员,数据单开离散存放,如此递归,那么这个类的存储方式能够存储多到什么程度呢?是∞1。

我如果说:“链表的元素最多有∞0个,树的元素最多有∞1个”,这样好理解了吧。
(然后你从树开始还容易理解为什么实数数=平面点数=n维空间点数了)

递归的链表就是树了。

在C/C++中函数名字空间有多大?
是“可数无穷大”,是“全部整数数”。
在太极语言中函数可以嵌套定义,那么太极语言的函数名字空间有多大?
是“不可数无穷大”!是“全部实数数”。
能想明白吗?
现在出一道题:C++类名字空间有多大?
当你用太极语言编程序时,你总是在不可数无穷大的名字空间中。太极语言函数与类都可以嵌套定义。

C++类名字空间有∞1这么大,但是编译是静态的,到图灵模式上运行时类实例就只有∞0这么大了。而用我说的方式来解释运行,可以做到运行时仍然有∞1这么大。

大家想到没有?现在不管我的“太极无穷大理论”正确与否,都可以实现∞n的内存了,用与∞0递归实现∞1的方法,用∞1可以同样的递归实现∞2,可以这样描述:在∞n级中,让每个内存单元都包含∞n个“包含∞n个内存单元”的内存单元,如此递归,就得到了∞n+1个内存单元——这也是一种∞升级的方法,就跟取幂集似的,而且是等效的。(从这里继续下去也可以证明∞1=∞2=∞3……)

长期以来,解释运行系统总是被人忽视,因为解释系统运行速度怎么也比不上编译的。但是以后这种局面要发生改变了——因为图灵机上编译型系统怎么也做不到模拟思维,而解释型系统却可以做到!因为编译型系统理论上仅能有∞0的内存,而解释型系统有∞1这么大的内存!思维是要不可数无穷大的,唯有用解释型系统才行,然后在太极机的模式下进行模拟思维。太极机有∞1这么大的内存必然每任意小段内存也都包含∞1这么多的单元,这一下子使编程模式发生了本质的变化。

——竟然解释型系统可用的内存比编译的大,从∞0到了∞1,这是最本质的变化。

我说怎么解释型系统可以这么轻易做到这么灵活,很多灵活程度都是编译型望尘莫及的——原来是内存大了。

我的太极机现在已经做到了解释型系统能力的极限,到了“月亮无穷”(前面我讲了这个概念),因为有数学理论指导嘛。

要注意解释运行方式有好多,并不是所有的解释运行方式都能突破∞0限制,我说的方法可以。

(其实java,.net,lisp……等离∞1就差一步,只不过这一步是有∞1-∞0这么远。我猜想应该java,.net,lisp的设计者曾经考虑过甚至是应用着类似的方案,只不过没有意识到这个方案的潜力大到什么程度。)

(未完待续)

抱歉!评论已关闭.