在第二章的Part-1中,笔者摘录和评述了适应性主体的执行系统。霍兰用规则这一统一方式描述不同种类主体的性能,而不考虑由于适应所产生的变化。在本篇中,霍兰给出了基于规则的适应性主体如何在环境中进行学习和适应。
信用分派算法
笔者梳理出霍兰的思路,其实是环环相扣的问题牵引。
首先,规则是什么?
1. 通常的观点是:规则的总合就是描述主体环境的事实的集合。于是,所有的规则应该保持相互一致,并且在引入新规则时作一致性检查。
2. 霍兰的观点是:规则是正在进行检验和确认的假设。那么,规则之间的关系就不是为了避免矛盾,而且提供可能的、相互竞争的假设。
笔者非常赞同霍兰的观点,因为矛盾和选择总是客观存在,就像人一样。我们,作为一种适应性主体,对世界的认识也充满矛盾和选择。因为我们所了解的规则之间经常不保证一致性,特别是在动态的环境中,这点变得非常突出。但是,面对一定的情境总需要作出选择——那么多个规则间会竞争,就需要出现解决矛盾的方式。
怎么样解决规则间的竞争呢?
以经验为基础的信用分派:
某个规则赢得竞争的能力,应该建立在该规则过去的有用性上。因此,我们需要给每个规则分派一个强度,而基于经验修改强度的过程称为信用分派。
规则的有用性如何确定呢?
有的规则的有用性立竿见影,但很多规则需要长期的行为才能显现出来,那短期的忍痛割爱,可能从长远看是有益的。
为此,霍兰引入了市场模型:
1. 规则看作买卖消息的中间人,规则的强度可以看作现金。
2. 规则作用于某条消息,则可以买入,即“消费者”,如果成功买入消息就必须支付对应的强度。
3. 规则生成了某个消息,则可以卖出,即“供应者”,如果成功卖出消息就可以获得对应的强度。
然后霍兰引入拍卖竞价的过程来处理竞争:
1. 卖方:只有胜者有权卖出消息,强度得到增强。
2. 买方:只有条件得到满足的规则才能出价,胜者买入消息,且强度减弱。
3. 贱买贵卖:胜者虽然变弱,但是有权卖出消息,如果做到了贱买贵卖,就可以增加原有强度。
4. 供应链条:存在“最终消费者”,在供应链的末端,与环境交互。
如果“最终消费者”从环境获得了很高的强度,那么它也会出价较高,对应的供应链条上的每个卖家都会获益,反之亦然。因此,最终还是与环境互动的结果来牵引复杂的竞拍和供应过程,并最终为各个规则分派强度。
如果多条规则都满足消息条件从而可以出价,那出价规则是什么呢?
霍兰基于直觉,在其它条件不变的情况下,主体应该选择那些根据情况而利用了更多消息的规则,即某个规则匹配了更多的消息,它更可能成为出高价的胜者。
老实说,这个直觉真不容易一下子get到,为此,霍兰举了个青蛙的例子,有两条规则:
R1. IF(环境中有移动物体) THEN(逃走)
R2. IF(环境中有移动物体 & 物体是小的) THEN(逼近)
显然,如果环境中有小的移动物体,R1和R2都满足条件,可以出价,那么如果R1和R2强度相当,谁应该出价更高?应该是R2,因为它利用了更多有用信息。
这个例子很简单但是很精妙,稍作挖掘就会发现:
1. 矛盾性:R1和R2其实是矛盾的,一个是逃走,一个是逼近。但是它俩又都是合理的,如果移动物体是猎食者,不逃走就会被吃掉(强度显著下降),如果移动物体是小的猎物,逼近吃掉显然获得强度更高,否则就会活活饿死。
2. 共生性:R1和R2虽然相互矛盾,但却应该共生。如果要分类,R1是缺省规则,R2是具体规则,如果R1错了就丧失强度,而R2赢了就可以弥补R1的损失。比起只有R1或R2,两条规则共同起作用,有利于青蛙构建更好的内部模型。
3. 缺省层次性:因为需要满足的消息少,缺省规则被检验的相对概率大得多,因此信用分派很快对这类规则指定合适强度。而具体规则需要更长演化时间才能找到并建立。如此构建出具有缺省层次的模型,如下图所示。
缺省层次的规则候选者如何产生?
霍兰提出了规则发现算法,详见下一节。
接下来两天,笔者将梳理和发布对第二章后续部分的摘录和评述。 包括规则发现方法、实例、小结与展望的摘录和评述。