,倒入沸水,再加上一匙糖和牛奶,然后叮的一声,一杯西式好茶就这样出现在眼前。这就是一种算法。17
在过去几十年间,生物学家已经有明确结论认为,那位男士按下按钮,接着喝茶,也算是一套算法。当然,这套算法比自助饮料机要复杂得多,但仍然是一套算法。“人类”这套算法制造出的不是茶,而是自己的副本(就像你按下自助饮料机的一系列按钮,得到了另一台自助饮料机)。
控制自助饮料机的算法,是通过机械齿轮和电路来运作的。控制人类的算法,则是通过感觉、情感和思想来运作的。至于猪、狒狒、水獭和鸡,用的也是同一种算法。以生存问题为例:有只狒狒看到附近树上挂着一串香蕉,但也看到旁边埋伏着一只狮子。狒狒该冒着生命危险去摘香蕉吗?
这可以看作计算概率的数学问题:一边是不摘香蕉而饿死的概率,一边是被狮子抓到的概率。要解开这个问题,狒狒有许多因素需要考虑。我离香蕉多远?离狮子多远?我能跑多快?狮子能跑多快?这只狮子是醒着还是睡着?这只狮子看起来很饿还是很饱?那里有几只香蕉?香蕉是大是小?是青的还是熟的?除了这些外在信息,狒狒还要考虑自己身体的内在信息。如果它已经快饿死了,就值得不顾一切去抢香蕉,别再管什么概率了。相反,如果它刚刚吃饱,多吃只是嘴馋,那又何必冒生命危险?
想要权衡所有变量和概率之后得到最好的结果,狒狒需要的算法会比控制自助饮料机的算法复杂得多,然而计算正确得到的奖励也大得多,那就是这只狒狒的生命。如果是只胆小的狒狒(也就是它的算法会高估风险),就会饿死,而形成这种胆小算法的基因也随之灭绝。如果是只莽撞的狒狒(也就是它的算法会低估风险),则会落入狮子的口中,而形成这种鲁莽算法的基因也传不到下一代。这些算法通过自然选择,形成了稳定的质量控制。只有正确计算出概率的动物,才能够留下后代。
但这还是非常抽象。到底狒狒要怎么计算概率?它当然不会忽然从耳后抽出一支铅笔,从裤子后面的口袋掏出笔记本,然后开始用计算器认真计算奔跑速度和所需体力。相反,狒狒的整个身体就是它的计算器。我们所谓的感觉和情感,其实各是一套算法。狒狒感觉饿,看到狮子的时候会感觉害怕而颤抖,看到香蕉也会感觉自己流口水。它在一瞬间经历了袭来的种种感觉、情感和欲望,都是计算的过程。计算结果也是一个感觉:这只狒狒突然觉得涌起一股力量,毛发直竖,肌肉紧绷,胸部扩张,接着它会深吸一口气:“冲啊!我做得到!冲向香蕉!”但也有可能它被恐惧打败,肩膀下垂,胃中一片翻搅,四肢无力: