打字猴:1.700530524e+09
1700530524
1700530525 ——刘易斯·卡罗尔
1700530526
1700530527 一位教授刚刚在一所教风甚严的大学完成了一场关于宇宙起源和结构的讲座,一位穿着网球鞋的老太太走到讲台上说:“不好意思,先生,但是您刚才全讲错了。事实是,宇宙正坐在一只大乌龟的背上”。教授决定迁就她的想法,问道:“真的吗?那你告诉我,这只乌龟站在什么东西上面呢?”老太太脱口而出,回答道:“它站在另一只乌龟的背上。”教授接着问:“那另一只乌龟站在什么东西上面呢?”老太太干脆地回答说:“另一只乌龟”。教授又问了一遍刚才的问题。老太太的脸上划过一丝不耐烦的神情,说道:“省省力气吧,底下全是乌龟。”
1700530528
1700530529 ——罗尔夫·兰道尔
1700530530
1700530531 本书第六章“构建新大脑”中指出,理解智能有点像剥洋葱——剥开一层又是一层。最后,我们得到的是很多洋葱皮而不是洋葱。换句话说,智能——尤其是人类智能是在很多层面上工作的。我们可以逐层分析理解人类智能,但整个过程要求所有的层级都按照正确的方式一起运转。
1700530532
1700530533 以下是我曾在第四章中描述过的三种进化模式的深入观点,每种方法都可以给定义详细的问题提供“智能”解决方案。但是智能实体所处的环境通常十分复杂,所以如果想要创造一种可以在复杂环境中反应灵活的系统,需要以适当的手段把这些方法整合起来,交流过程涉及不同层次的理解力时尤其如此。举例来说,比如我们要构建一个庞大的神经网络,并试图训练它理解所有语音和语言的复杂性,最后的成效会非常有限。如果我们能够以人类特有的方式分不同层次解决这个问题,就会获得更可观的结果。
1700530534
1700530535 人类大脑是用同样的方式组织在一起的,是各个特定区域的复杂集合体。我们学习了大脑的并行算法后,就可以用各种途径扩大其规模。举个简单的例子,大脑中负责逻辑和递归思维的区域是大脑皮层,其中只有800万个神经元。我们已经构建了比它大几千倍、运转速度快几百万倍的神经网络。设计智能机器(直到机器能够从人类手里接管这档杂事为止)的关键在于设计智能的架构,将构成智能构建模块中相对简单的方法结合起来。
1700530536
1700530537 递归公式
1700530538
1700530539 以下是一个为困难的问题创造智能解决方案的简单公式。请仔细听好了,不然就会漏掉重要信息。
1700530540
1700530541 这个递归公式是:
1700530542
1700530543 “下一步,我会进行最优选择。如果完成了,就是完成了。”
1700530544
1700530545 也许这个公式有点儿过于简单了,我承认乍一看它确实没什么太多内容。但它所发挥的作用将令人吃惊。
1700530546
1700530547 我们先想一想由递归公式解决问题的经典案例:国际象棋对弈。国际象棋被认为是一种智力博弈,至少到最近为止还算是。大多数观察家仍然认为要下好一盘棋就需要良好的智力。所以,我们的递归公式在这一领域会发挥得如何呢?
1700530548
1700530549 国际象棋是一种一次移动一步的游戏,目标就在于要选择“最优的”每一步,那么,让我们定义一种可以进行“最优走步”的呈现。把递归公式应用到国际象棋当中,我们就可以换个说法,具体如下:
1700530550
1700530551 挑选最优行动方案:“挑选最优行动方案。如果我赢了,则任务完成。”
1700530552
1700530553 先等一下,稍后你就能看出其中的道理了。我需要进一步分解国际象棋的其他方面,也就是博弈里并不是只有我一人,我还有个对手,她也在移动。先假设她也能走出好棋。如果该假设不正确,那我就得到一次机会,而不是一个问题。那么递归公式是:
1700530554
1700530555 挑选最优行动方案:“假设我的对手也会挑选最优行动方案,据此我得挑选最优行动方案。如果我赢了,则任务完成。”
1700530556
1700530557 此时,我们需要考虑递归的本质。递归规则就是依据自身进行定义的。递归规则就是一种循环,但为了追求有效性,我们可不想永远循环下去,因此还需要一个逃离循环的出口。
1700530558
1700530559 为了解释清楚递归,我们还需要考虑一个例子:简单的“阶乘”函数。要计算n的阶乘,需要用n乘以(n–1)的阶乘。这是循环的部分——我们按照其自身特点定义该函数。还需要规定1的阶乘为1。这就是我们的逃离出口。
1700530560
1700530561 现在来计算2的阶乘。根据定义,
1700530562
1700530563 2的阶乘=2×(1的阶乘)。
1700530564
1700530565 我们已经知道1的阶乘是怎么计算机的,因此得以摆脱无限递归。将(1的阶乘)=1代入,可得:
1700530566
1700530567 2的阶乘=2×1=2。
1700530568
1700530569 回到国际象棋,可以看见挑选最优行动方案这一“函数”是递归的,因为我们按照它自身定义了最佳移动方法。对弈的棋盘策略中看上去不痛不痒的一句话“如果我赢了,则任务完成”,其实是我们的逃离出口。
1700530570
1700530571 我们再考虑一下我们所知的国际象棋。此处需要仔细考虑问题的定义。我们意识到要挑选最优行动方案,需要先列出可能要走的那几步棋。这并不太复杂。对弈中任何一次移动都是由规则定义的。虽然国际象棋的规则相较其他博弈更复杂,但直接易懂且容易编程。因此,我们列出了一些棋局走法并挑选出了最优走步。
1700530572
1700530573 但哪一种才是最优的呢?如果这种移动能让我们获胜那就太棒了。所以,我们仅需参考规则并且选择一种能立刻将住对方的王的方法即可。也许我们还没那么幸运,也许所有可能的移动方法中都没有可以让我们迅速获胜的办法,但仍然需要考虑这种移动方法究竟能让我们获胜还是失败。在这种情况下,需要考虑我们制定规则附加的那个不起眼的前提“假设我的对手也会这么做”。毕竟,获胜与否还取决于对手可能怎么做,需要站在对方的立场想一想她的最佳移动方法是什么。如何做到这一点呢?这就是递归发挥作用的时候了。有一个步骤刚好可以做到,叫作“挑选最优行动方案”,可以让它来决定对手的最优走步。
[ 上一页 ]  [ :1.700530524e+09 ]  [ 下一页 ]