逻辑和人工智能

来源: texasredneck 2016-04-14 06:51:08 [] [博客] [旧帖] [给我悄悄话] 本文已被阅读: 次 (15393 bytes)
本文内容已被 [ texasredneck ] 在 2016-04-14 06:58:10 编辑过。如有问题,请报告版主或论坛管理删除.

                                                  逻辑和人工智能

 

“人工智能(英语:Artificial Intelligence, AI)亦称机器智能,是指由人工制造出来的系统所表现出来的智能。通常人工智能是指通过普通电脑实现的智能。该词同时也指研究这样的智能系统是否能够实现,以及如何实现的科学领域。”

维基百科这个词条还是相对严谨的。在这里我们得注意一个非常重要的问题,就是我们对人的智能了解得非常之少,基本上是不知道。所以说,我们能想办法定义智能(比如逻辑思维是一种智能),但是我们无法定义人的智能,不知道的东西怎么可能定义。许多人(包括一些所谓专家)在这一点上都没有弄清楚,把人工智能理解为机器模仿人的智能,但不知道的东西当然无法模仿,许许多多错误就是这样来的。

记忆毫无疑问是任何所谓智力的最基础的东西,计算机的记忆非常简单,任何能够有清晰状态的东西都可以作为存储器,现在我们广泛使用的是只有0,1两个状态的存储器,这只是因为利用了电子元件的一种性质。但是,人是怎么来记忆的,基本原理到现在我们根本就不知道。

下面来定义什么是计算机(电脑)。我们可以说一个有CPU,电源,输入,输出设备的东西,这是从硬件的角度来定义什么是计算机。如果是从原理(计算机科学),定义就非常简单,计算机就是用图灵机的模式来处理信息的工具。也就是说,计算机是一个工具,那么当然,用计算机来实现的人工智能也只是一种工具,任何把人工智能胡乱瞎吹的人都不是在谈科学,而是在写科幻。

下面还得要来定义什么图灵机,“其更抽象的意义为一种数学逻辑机,可以看作等价于任何有限逻辑数学过程的终极强大逻辑机器。(维基百科)”图灵机非常有意思,它极为简单又非常强大,历史上许多科学奇才(比如爱因斯坦)都认为这个世界的根本应该是极为简约的,图灵机就是一个极好的例证。在下面的讨论中,我们只要记住一点就足够了,图灵机是一个逻辑机器,也就是说它只能进行逻辑运算。

我们可以把需要处理的信息大致分为两类,一类本来就是逻辑问题,比如像数字运算,搜索,因为计算机本来就是一个逻辑处理器,所以这一类事情对它们一点问题都没有,飞快就完了;另一类并不是逻辑问题,最简单例子就是日常语言。当然计算机并不是完全不能处理这一类问题,而是必须得要把这些问题转变成为逻辑问题,它才能够处理,可以想得到,这就会对它的硬件和软件都会有一定的要求,不然就会吭哧半天,然后给你一个哭笑不得的答案。

下面一个问题自然就是,有没有一些事情是计算机完全不能处理的,计算机的能力有没有一条上线,如果有,在哪里?这个问题在上个世纪由哥德尔作出了重大的进展,因此他被人称为数学上的爱因斯坦。当然他并不知道后来的计算机,只是说逻辑有些事是做不到的,那么当然,计算机也就不可能做得到。

后来图灵把哥德尔不完全定律发展到了计算机科学领域,这就是图灵的停机问题,从这里入手好像简单一些。图灵告诉我们,不可能找到一个通用的办法来判断任何程序会不会停机。 要注意的是,图灵不是说人类不够聪明,而是说如果有这样的一个办法,就会产生逻辑问题,所以根本不可能,只有在逻辑崩溃,失效的情况下才有可能,那么当然,也就没有计算机了。

理解停机问题的重要性并不难,比如我想大家都知道哥德巴赫猜想,任一大于2的偶数,都可表示成两个质数之和。我们可以为计算机写一个简单的程序让它不停地往下找,如果有一个偶数不能成为两个质数之和,计算机就停机,输出这个质数。这样一来,这个猜想就转变成为了停机问题,判断计算机会不会停机实际上就是解决了这个猜想。很多数学上的问题都可以这样转变成为停机问题。

也许我应该强调一下,图灵并不是说我们找不到一个办法来证明哥德巴赫猜想的停机问题,不然那些数学家在忙乎什么?而是说没有一个万能办法来解决数学的所有问题,只可能有针对一个个问题的特殊程序。用哥德尔的话来说,当一个形式(数学)系统复杂到了某个程度,仅仅从逻辑是得不到的。或者用哥德尔那句简单的话,在数学上有些东西不可证,而我们必须得认为是真。

或者我们这样来想,尽管我们有一个无比强大的计算机,哪怕有一个完美的学习程序,计算机仍然不可能发现某些数学定律,因为不是全部的数学定律都可以从逻辑中推理出来的。我们可以直截了当地说,计算机永远不可能发现哥德尔不完全定律,因为根据罗素悖论,任何命题不能涉及自身。这样理解应该容易一些,哥德尔不完全定律是数理逻辑的基础,而计算机不过是数理逻辑的一个应用,是根据那个定律而得到的东西,如果计算机再来发现自己的基础,那是什么玩意?这只是一种循环论证,和人想揪着头发离开地球是一回事。

如果从哲学上来理解上面的那些说法就是,数学里没有绝对真理,逻辑不允许。那么当然,任何绝对真理都应该包括数学,所以所谓绝对真理不可能存在。其实在逻辑上非常简单,一个绝对真理,也就是在任何情况下都正确的东西,如果有一个根据,那么这个根据就不能再用那个绝对真理来证明了,因为这是循环论证;而如果一个东西不需要证明就可以让我们坚信,那只能是上帝。 语言哲学认为过去的东西都没有摆脱神学,原因就在于此。

下面来谈一些相对简单的说法。 诺依曼是毫无争议的大牛人,曾经作过不小的努力,但却没有完成哥德尔不完全定律,挺遗憾,其实那个定律并不复杂,短短几句话,不是《红楼梦》。从这我们可以知道,这个定律肯定不能简简单单从逻辑推导出来,不然数学天才就是无用了。

科学也是如此,相对论肯定不是从逻辑中可以直接得到的,虽然其必须合乎逻辑。一些实验数据得不到解释,一些人绞尽脑汁,有些想法的确有点稀奇古怪,只有爱因斯坦是真正的盖世牛人,从一些崭新的观念出发,由此建立了现代物理。就像科学历史学家所说,科学发现并不是发明了什么新东西,那些东西本来就是在你身边(比如原子),而是发现一些新的观念,从而使你对这个世界有了不同的看法,就能看到你原来看不到的东西,理解原来你理解不了的世界。

如果我们认为上面的说法有道理,那么当然,单单凭借逻辑,我们得不到新东西。用语言哲学家的话来说,逻辑不过是重言式,我们从中不可能得到新东西,逻辑不过是把蕴含前提中的东西延伸,表达出来。那么当然,从计算机我们也得不到新东西。当然,这里的新东西是说我们得不到新的观念,新的理论等等这样的东西。

也许这样说容易理解一些,人类真正的创造力都是与非逻辑有关的,哪怕是在数学逻辑领域,计算机的工作原理决定了其永远不可能做到这一点,从这个意义上说,计算机没有创造力,所谓天才,就是逻辑解释不了的。

要是从心理学的角度来说,计算机和人有着不可逾越的鸿沟。人是有着感情,情绪,潜意识,这些东西极大地影响着人的思维和行为,而它们都不是能用逻辑来理解的。 在网上经常可以看到极为情绪化的争吵,甚至谩骂,哪里有一点点逻辑。就拿美国的总统竞选来说,情绪化的一塌糊涂。

比如说如果有一个功能不错的计算机,就会认为依靠遣返解决非法移民是做不到的。道理非常简单,所谓遣返,实际上是一个法律程序,必须要两个国家都同意。美国有一千多万的非法墨西哥移民,如果遣返,意味着墨西哥政府要安排那些人的工作,居住,教育,医疗等等等问题,这得需要多少钱?而本来这些人每年是在往墨西哥寄钱的。 所以墨西哥政府不可能同意美国的大规模遣返,实际上他们公开表达这种意见不是一次了,因为他们承受不了。那么当然,遣返就是不可能,这是一个非常简单的逻辑问题。

如果计算机再能继续推理,就是:相信大规模遣返的人不是幼稚就是在撒谎,由于有几千万人都想当总统,所以可能的候选人不可能幼稚,所以只有我们幼稚,那些候选人在投我们所好,目的自然就是选票。 如果这个计算机的内存足够大,就能知道所有以政治为职业的人都会说谎,与年代和国家无关。如果内存小一点,至少会知道美国总统在竞选时说的话,兑现的记录是一塌糊涂。计算机如果有感情,就会惊讶怎么还会有人相信,当然它没有,所以也理解不了感情,恐怕只好认为人的记忆不会超过四年。

人的感情是一个非常奇怪的东西,它使得人类坚强,也使得他们软弱;使得人类伟大,也使得他们渺小,真是说不清楚。能说的就是没有它,人就不是人了,会有极大的不同,而计算机永远不会有这个东西,因为它完全是反逻辑的。

所以从小的方面来说,计算机永远不能成为莎士比亚,永远写不出《红楼梦》,因为它们不可能有感情;在大的方面,要控制人类,无非只有两种办法,武力和忽悠,武力当然不可能,但它们无法去忽悠一个它们所不了解人类,所以它们永远不可能控制世界。

我想这样说是不错的,计算机不能取代人,因为我们根本就不知道什么是人,所以我们做不出一个自己不知道的东西,实在无法可想。

下面来说从图灵的停机问题所得到的一个重要结论,就是计算机程序的bug不可能完全避免。 从没有一个通用程序来解决停机问题我们可以知道,也就没有一个通用办法来解决bug,那么就可以说,bug是不可能完全避免的。

所谓程序其实就是想办法把具体问题转变成为逻辑运算,这样计算机才能够一步步的执行,而所谓bug,就是程序中出了逻辑问题,计算机就没有办法做下去或者做得不对,所以所谓解决bug就是要解决一系列相关的逻辑陈述之间有没有逻辑问题,因为无论干什么程序说到底都是都是这种东西。 既然都是一系列相关的逻辑陈述,如果我们有一个通用办法来知道任何陈述之间会不会有逻辑问题,那么事情就非常完美了,任何程序用这个办法来检查检查就可以知道有没有bug。不管这个事情有多么复杂,只要理论上可以我们总是有办法可想。

如果没有,程序如果用人来检查,当然不可能保证没有bug,因为人都是会犯错的;如果用计算机,那就得有一个程序,但是,这个检测的程序仍然是人写的,所以仍然不能断定有没有bug,这个怪圈是没有办法出去的。所以说,我们没有办法来解决计算机的bug问题。

其实这个问题是非常严重的,在实际应用中,可靠性始终是第一位的。比如在计算机和李世石的第四盘中,计算机突然一下发疯了,下出了不可思议的昏招,当然,我不知道是bug还是程序本身就不完善。但是,很多事情并不是下棋,玩玩而已,如果是在股市上,要是人工智出了这样的问题,也许公司就会破产,那个智能都会被拍卖掉(估计没有人买),这种错误是不能有的,而如果bug不能避免,我们凭什么说不会有这样的事情呢。

另一个问题就是前面所说,计算机并非不能解决非逻辑的问题,而是得想办法把它转换成逻辑。但是,这里有一个不好办的事情,就是如何来判断对错。按照语言哲学的观点,非逻辑的东西是没有对错的。 比如说,把《红楼梦》翻译成为英文,这肯定不是一个单纯能够严格用逻辑来解决的问题,要用到复杂的软件和硬件,这都不是问题,现在这些东西发展得飞快。

但是,我们如何能判断翻译的质量,则是一个无法解决的问题。当然,这个问题比较特殊,如果我们认为这个翻译程序是双向的,就可以让它再把英文的翻译回来,来看有多少的相同的地方(这恐怕是标准的理工思维)。看起来不错,但是,相同地方多就一定好,我表示怀疑,这种文学语言的理解太难了,本来就不可能有一个标准,各人是不一样的。而找不到一个判断好坏的标准,在技术上就不知道应该怎么做。

多得很的问题并不是这样的,什么样的思维都找不到判断对错的线索。比如说,如果要计算机来当法官或者陪审员,那是怎么能办得到。 实际上这个世界最重要的事情都不是能简单地用逻辑来处理的,计算机找不到答案,我们可以说这是不幸,但也可能是万幸,谁知道呢?

当我听到有人说,李世石代表人类来和计算机战斗的时候,就有一点想笑,计算机还不是人类发明的一个工具吗,说到底还不是人和人在争峰。就像一个西部牛仔和武林高手争斗,你能说武林高手代表人类和手枪战斗吗?手枪背后是科学技术,肯定是胜利者,但科学技术的背后还不同样是人。这个世界是好还是坏,是走向悲剧还是喜剧,都是我们决定的,与机器有何关系?

计算机的基础理论都是几十年前那一帮大牛人弄出来的,以后只能算技术上的进步,再也没有根本性突破。所以说,这个世界其实还是那样,人工智能不过是一种图灵机罢了,不要以为它能够改变世界。也许用那一句哲人的话:这个世界并没有变化,改变的只是我们自己。

所有跟帖: 

Let's look at this scenario: -中间小谢- 给 中间小谢 发送悄悄话 (581 bytes) () 04/15/2016 postreply 15:52:02

人的bug 和AI bug不是一个数量级的 -niersi- 给 niersi 发送悄悄话 niersi 的博客首页 (276 bytes) () 04/18/2016 postreply 07:02:17

请您先登陆,再发跟帖!