天天看點

《隐秩序》-第二章:适應性主體——摘錄與評述(Part-2 信用分派算法)

在第二章的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. 預設層次性:因為需要滿足的消息少,預設規則被檢驗的相對機率大得多,是以信用分派很快對這類規則指定合适強度。而具體規則需要更長演化時間才能找到并建立。如此建構出具有預設層次的模型,如下圖所示。

《隐秩序》-第二章:适應性主體——摘錄與評述(Part-2 信用分派算法)

預設層次的規則候選者如何産生?

霍蘭提出了規則發現算法,詳見下一節。

繼續閱讀