復(fù)雜性思維中文第二版 九赃梧、基于智能體的模型

九滤蝠、基于智能體的模型

原文:Chapter 9 Agent-based models

譯者:飛龍

協(xié)議:CC BY-NC-SA 4.0

自豪地采用谷歌翻譯

我們迄今為止看到的模型可能具有“基于規(guī)則”的特征,因?yàn)樗鼈兩婕笆芎唵我?guī)則支配的系統(tǒng)授嘀。 在本章和以后的章節(jié)中物咳,我們將探索基于智能體(agent)的模型。

基于智能體的模型包含智能體蹄皱,它旨在模擬人和其他實(shí)體览闰,它們收集世界的信息,制定決策并采取行動巷折。

智能體通常位于空間或網(wǎng)絡(luò)中压鉴,并在本地彼此交互。 他們通常有不完整的锻拘,不全面的世界信息油吭。

智能體之間經(jīng)常存在差異,而不像以前的所有模型署拟,它們的所有成分都相同婉宰。 基于智能體的模型通常包含智能體之間,或世界中的隨機(jī)性芯丧。

自 20 世紀(jì) 70 年代以來芍阎,基于智能體的模型已成為經(jīng)濟(jì)學(xué)和其他社會科學(xué),以及一些自然科學(xué)中的重要工具缨恒。

基于智能體的模型對非均衡系統(tǒng)的動態(tài)建模(盡管它們也用于研究均衡系統(tǒng))非常有用谴咸。 它們對于理解個人決策和系統(tǒng)行為之間的關(guān)系特別有用。

本章的代碼位于chap09.ipynb中骗露,它是本書倉庫中的 Jupyter 筆記本岭佳。 使用此代碼的更多信息,請參見第萧锉?節(jié)珊随。

9.1 謝林模型

1971 年,托馬斯謝(Thomas Schelling)發(fā)表了《隔離的動態(tài)模型》(Dynamic Models of Segregation),該模型提出了種族隔離的簡單模型叶洞。 謝林模型的世界是一個網(wǎng)格鲫凶;每個細(xì)胞代表一棟房子。 房屋被兩種智能體占用衩辟,標(biāo)記為紅色和藍(lán)色螟炫,數(shù)量大致相同。 大約 10% 的房屋是空的艺晴。

在任何時(shí)候昼钻,智能體可能會高興或不高興,這取決于領(lǐng)域中的其他智能體封寞,每個房屋的“鄰居”是八個相鄰細(xì)胞的集合然评。在一個版本的模型中,如果智能體至少有兩個像他們一樣的鄰居狈究,智能體會高興碗淌,但如果是一個或零,他們就會不高興抖锥。

模擬的過程是贯莺,隨機(jī)選擇一個智能體并檢查他們是否高興。 如果是這樣宁改,沒有任何事情發(fā)生缕探。如果不是,智能體隨機(jī)選擇其中一個未占用的細(xì)胞并移動还蹲。

聽到這種模型導(dǎo)致一些隔離爹耗,你可能不會感到驚訝,但是你可能會對這個程度感到驚訝谜喊。 很快潭兽,會出現(xiàn)相似智能體的群落。 隨著時(shí)間的推移斗遏,這些群落會不斷聚合山卦,直到有少量的大型群落,并且大多數(shù)智能體生活在同質(zhì)社區(qū)中诵次。

如果你不知道這個過程账蓉,只看到結(jié)果,你可能會認(rèn)為智能體是種族主義者逾一,但實(shí)際上他們都會在一個混合的社區(qū)感到非常高興铸本。 由于他們不愿意數(shù)量過大,所以在最壞的情況下遵堵,他們可能被認(rèn)為是排外的箱玷。 當(dāng)然怨规,這些智能體是真實(shí)人物的過度簡化,所以這些描述可能根本不恰當(dāng)锡足。

種族主義是一個復(fù)雜的人類問題; 很難想象這樣簡單的模型可以揭示它波丰。 但實(shí)際上,它提供了一個強(qiáng)有力論據(jù)舶得,有關(guān)系統(tǒng)及其各部分之間關(guān)系的:如果你觀察真實(shí)城市的隔離呀舔,你不能總結(jié)為,個人的種族主義是直接原因扩灯,或者,城市居民是種族主義者霜瘪。

當(dāng)然珠插,我們必須牢記這個論述的局限性:謝林模型證明了隔離的一個可能原因,但沒有提到實(shí)際原因颖对。

9.2 謝林模型的實(shí)現(xiàn)

為了實(shí)現(xiàn)謝林模型捻撑,我編寫了另一個繼承Cell2D的類:


class Schelling(Cell2D):

    def __init__(self, n, m=None, p=0.5):
        self.p = p
        m = n if m is None else m
        choices = [0, 1, 2]
        probs = [0.1, 0.45, 0.45]
        self.array = np.random.choice(choices, (n, m), p=probs)

參數(shù)nm是網(wǎng)格的維度,p是相似鄰居比例的閾值缤底。 例如顾患,如果p = 0.5,也就是其鄰居中少于 50% 為相同顏色个唧,則智能體將不高興江解。

array是 NumPy 數(shù)組,其中每個細(xì)胞如果為空徙歼,則為 0犁河;如果由紅色智能體占用,則為1魄梯;如果由藍(lán)色智能體占用桨螺,則為 2。 最初酿秸,10% 的細(xì)胞是空的灭翔,45% 為紅色和 45% 為藍(lán)色。

謝林模型的step函數(shù)比以前的step函數(shù)復(fù)雜得多辣苏。 如果你對細(xì)節(jié)不感興趣肝箱,你可以跳到下一節(jié)。 但是如果你堅(jiān)持要看稀蟋,你可能需要一些 NumPy 的提示狭园。

首先,我將生成邏輯數(shù)組糊治,表明哪些細(xì)胞是紅色唱矛,藍(lán)色和占用的:


a = self.array
red = a==1
blue = a==2
occupied = a!=0

我將使用np.correlate2d來計(jì)算,對于每個細(xì)胞,紅色相鄰細(xì)胞的數(shù)量和被占用的細(xì)胞數(shù)量绎谦。

options = dict(mode='same', boundary='wrap')

kernel = np.array([[1, 1, 1],
                   [1, 0, 1],
                   [1, 1, 1]], dtype=np.int8)

num_red = correlate2d(red, kernel, **options)
num_neighbors = correlate2d(occupied, kernel, **options)

現(xiàn)在對于每個細(xì)胞管闷,我們可以計(jì)算出紅色的鄰居比例和相同顏色的比例:


frac_red = num_red / num_neighbors
frac_blue = 1 - frac_red
frac_same = np.where(red, frac_red, frac_blue)

frac_red只是num_rednum_neighbors的比率,而frac_bluefrac_red的補(bǔ)窃肠。

frac_same有點(diǎn)復(fù)雜包个。 函數(shù)np.where就像逐元素的if表達(dá)式一樣。 第一個參數(shù)是從第二個或第三個參數(shù)中選擇元素的條件冤留。

在這種情況下碧囊,如果redTruefrac_same獲取frac_red的相應(yīng)元素纤怒。 在紅色為False的情況下糯而,frac_same獲取frac_blue的相應(yīng)元素。

現(xiàn)在我們可以確定不滿意的智能體的位置:

unhappy_locs = locs_where(occupied & (frac_same < self.p))

結(jié)果unhappy_locs是一個 NumPy 數(shù)組泊窘,其中每行都是占用的細(xì)胞的坐標(biāo)熄驼,其中frac_same低于閾值p

locs_wherenp.nonzero的包裝函數(shù):

def locs_where(condition):
    return np.transpose(np.nonzero(condition))

np.nonzero接受一個數(shù)組并返回所有非零元素的坐標(biāo)烘豹,但結(jié)果是兩個元組的形式瓜贾。 np.transpose將結(jié)果轉(zhuǎn)換為更有用的形式,即每行都是坐標(biāo)對的數(shù)組携悯。

同樣祭芦,empty_locs是一個數(shù)組,包含空細(xì)胞的坐標(biāo):

empty_locs = locs_where(a==0)

現(xiàn)在我們到達(dá)了模擬的核心憔鬼。 我們遍歷不高興的智能體并移動它們:

for source in unhappy_locs:
    i = np.random.randint(len(empty_locs))
    dest = tuple(empty_locs[i])
    a[dest] = a[tuple(source)]
    a[tuple(source)] = 0
    empty_locs[i] = source

i是一個用來隨機(jī)選擇空細(xì)胞的索引实束。

dest是一個包含空細(xì)胞的坐標(biāo)的元組。

為了移動智能體逊彭,我們將值從source復(fù)制到dest咸灿,然后將source的值設(shè)置為 0(因?yàn)樗F(xiàn)在是空的)。

最后侮叮,我們用source替換empty_locs中的條目避矢,以便剛剛變?yōu)榭盏募?xì)胞可以由下一個智能體選擇。

9.3 隔離

image

圖 9.1:謝林的隔離模型,n = 100,初始條件(左)派草,2 步后(中)和 10 步后(右)

現(xiàn)在讓我們看看我們運(yùn)行模型時(shí)會發(fā)生什么羞延。 我將以n = 100p = 0.3開始镣陕,并運(yùn)行 10 個步驟。

grid = Schelling(n=100, p=0.3)
for i in range(10):
    grid.step()

圖?展示了初始狀態(tài)(左),2 步(中)后和 10 步(右)后的模擬碍庵。

群落迅速形成映企,紅色和藍(lán)色的智能體移動到隔離集群中,它們由空細(xì)胞的邊界分隔静浴。

對于每種狀態(tài)堰氓,我們可以計(jì)算隔離度,它是相同顏色的鄰居的比例苹享。在所有細(xì)胞中的平均值:

np.sum(frac_same) / np.sum(occupied)

在圖双絮?中,相似鄰居的比例均值在初始狀態(tài)中為 55%得问,兩步后為 71%囤攀,10 步后為 80%!

請記住宫纬,當(dāng)p = 0.3時(shí)焚挠,如果 8 個鄰居中的 3 個是他們自己的顏色,那么智能體會很高興哪怔,但他們最終居住在一個社區(qū)中,其中 6 或 7 個鄰居是自己的顏色向抢。

image

圖 9.2:隨著時(shí)間的推移认境,謝林模型中的隔離程度,范圍為p

圖挟鸠?顯示了隔離程度如何增加叉信,以及它在幾個p值下的平穩(wěn)位置。 當(dāng)p = 0.4時(shí)艘希,穩(wěn)定狀態(tài)下的隔離程度約為 88%硼身,且大多數(shù)智能體沒有不同顏色的鄰居。

這些結(jié)果令許多人感到驚訝覆享,它們成為了個人決策與系統(tǒng)行為之間的佳遂,復(fù)雜且不可預(yù)測的關(guān)系的鮮明示例。

9.4 糖域

1996年撒顿,約書亞愛潑斯坦(Joshua Epstein)和羅伯特阿克斯特爾(Robert Axtell)提出了糖域(Sugarscape)丑罪,這是一個“人造社會”的智能體模型,旨在支持經(jīng)濟(jì)學(xué)和其他社會科學(xué)的相關(guān)實(shí)驗(yàn)凤壁。

糖域是一款多功能的模型吩屹,適用于各種主題。 作為例子拧抖,我將復(fù)制 Epstein 和 Axtell 的書《Growing Artificial Societies》的前幾個實(shí)驗(yàn)煤搜。

糖域最簡單的形式是一個簡單的經(jīng)濟(jì)模型,智能體在二維網(wǎng)格上移動唧席,收集和累積代表經(jīng)濟(jì)財(cái)富的“糖”擦盾。 網(wǎng)格的一些部分比其他部分產(chǎn)生更多的糖嘲驾,并且一些智能體比其他人更容易找到它。

這個糖域的版本常用于探索和解釋財(cái)富的分布厌衙,特別是不平等的趨勢距淫。

在糖域的網(wǎng)格中,每個細(xì)胞都有一個容量婶希,這是它可容納的最大糖量榕暇。 在原始狀態(tài)中,有兩個高糖區(qū)域喻杈,容量為 4彤枢,周圍是同心環(huán),容量分別為 3, 2 和 1筒饰。

image

圖 9.3:原始糖域模型的復(fù)制品:初始狀態(tài)(左)缴啡,2 步后(中)和 100 步后(右)。

圖瓷们?(左)展示了初始狀態(tài)业栅,最黑暗的區(qū)域表示容量最高的細(xì)胞,小圓圈表示智能體谬晕。

最初有隨機(jī)放置的 400 個智能體碘裕。 每個智能體有三個隨機(jī)選擇的屬性:

糖:

每個智能體最開始都有先天的糖分,從 5 到 25 之間均勻選擇攒钳。

代謝:

在每個時(shí)間步驟中帮孔,每個智能體都必須消耗一定數(shù)量的糖,從 1 到 4 之間均勻選擇不撑。

視力:

每個智能體可以“看到”附近細(xì)胞中糖量文兢,并移動到最多的細(xì)胞,但是與其它智能體相比焕檬,一些智能體可以看到更遠(yuǎn)的細(xì)胞姆坚。 智能體看到的距離從 1 和 6 之間均勻選擇。

在每個時(shí)間步驟中实愚,智能體以隨機(jī)順序一次移動一格旷偿。 每個智能體都遵循以下規(guī)則:

  • 智能體在 4 個羅盤方向的每一個方向上調(diào)查k個細(xì)胞,其中k是智能體的視野范圍爆侣。
  • 它選擇糖分最多的未占用的細(xì)胞萍程。 在相等的情況下,選擇較近的細(xì)胞兔仰;在距離相同的細(xì)胞中茫负,它隨機(jī)選擇。
  • 智能體移動到選定的細(xì)胞并收獲糖分乎赴,將收獲增加到其積累的財(cái)富并將細(xì)胞清空忍法。
  • 智能體根據(jù)代謝消耗其財(cái)富的一部分潮尝。 如果結(jié)果總量為負(fù)數(shù),智能體“餓死”并被刪除饿序。

在所有智能體完成這些步驟之后勉失,細(xì)胞恢復(fù)一些糖,通常為 1 單位原探,但每個細(xì)胞中的總糖分受其容量限制乱凿。

圖?(中)顯示兩步后模型的狀態(tài)咽弦。 大多數(shù)智能體正在移到糖最多的地區(qū)徒蟆。 視力高的智能體移動速度最快;視力低的智能體往往會卡在高原上型型,隨機(jī)游走段审,直到它們足夠接近來看到下一個水平。

出生在糖分最少的地區(qū)的智能體可能會餓死闹蒜,除非他們的視力很好寺枉,先天條件也很高。

在高糖地區(qū)绷落,隨著糖分的出現(xiàn)姥闪,智能體相互競爭,尋找和收獲糖分嘱函。 消耗高或視力低的智能體最有可能挨餓甘畅。

當(dāng)糖在每個時(shí)間步驟增加 1 個單位時(shí)埂蕊,就沒有足夠的糖來維持我們開始的 400 個智能體往弓。 人口起初迅速下降,然后緩慢下降蓄氧,在大約 250 左右停下函似。

圖?(右)顯示了 100 個時(shí)間步后的模型狀態(tài)喉童,大約有 250 個智能體撇寞。 存活的智能體往往是幸運(yùn)者,出生時(shí)視力高和/或代消耗低堂氯。 存活到這里的話蔑担,它們可能會永遠(yuǎn)存活,積累無限量的糖咽白。

9.5 財(cái)富的不平等

在目前的形式下啤握,糖域建立了一個簡單的生態(tài)學(xué)模型,可用于探索模型參數(shù)之間的關(guān)系晶框,如增長率和智能體的屬性排抬,以及系統(tǒng)的承載能力(在穩(wěn)定狀態(tài)下生存的智能體數(shù)量)懂从。 它模擬了一種形式的自然選擇的,“適應(yīng)度”較高的智能體更有可能生存下來蹲蒲。

該模型還表現(xiàn)出一種財(cái)富不平等番甩,一些智能體積累糖的速度比其他智能體快。 但是對于財(cái)富分布届搁,很難說具體的事情缘薛,因?yàn)樗皇恰办o止的”。 也就是說咖祭,分布隨著時(shí)間的推移而變化并且不會達(dá)到穩(wěn)定狀態(tài)掩宜。

然而,如果我們給智能體有限的壽命么翰,這個模型會產(chǎn)生固定的財(cái)富分布牺汤。 然后我們可以運(yùn)行實(shí)驗(yàn),來查看參數(shù)和規(guī)則對此分布的影響浩嫌。

在這個版本的模型中檐迟,智能體的年齡在每個時(shí)間步增加,并且從 60 到 100 之間的均勻分布中码耐,隨機(jī)選擇一個壽命追迟。如果智能體的年齡超過其壽命,它就會死亡骚腥。

當(dāng)智能體因饑餓或年老而死亡時(shí)敦间,它由屬性隨機(jī)的新智能體所取代,所以總?cè)丝谑遣蛔兊摹?/p>

image

圖 9.4:100, 200, 300 和 400 步(灰線)和 500 步(黑線)之后的糖(財(cái)富)的分布束铭。 線性刻度(左)和對數(shù)刻度(右)廓块。

從接近承載能力的 250 個智能體開始,我運(yùn)行了 500 個步驟的模型契沫。 在每 100 步之后带猴,我繪制了智能體積累的糖的分布。 圖懈万?在線性刻度(左)和對數(shù)刻度(右)中展示結(jié)果拴清。

經(jīng)過大約 200 步(這是最長壽命的兩倍)后,分布變化不大会通。 并且它向右傾斜口予。

大多數(shù)智能體積累的財(cái)富很少:第 25 百分位數(shù)大約是 10,中位數(shù)大約是 20涕侈。但是少數(shù)智能體積累了更多:第 75 百分位數(shù)是大約 40沪停,最大值大于 150。

在對數(shù)刻度上驾凶,分布的形狀類似于高斯或正態(tài)分布牙甫,但右尾被截?cái)唷?如果它在對數(shù)刻度上實(shí)際上是正態(tài)的掷酗,則分布是對數(shù)正態(tài)分布,這是一種重尾分布窟哺。 實(shí)際上泻轰,幾乎每個國家和全世界的財(cái)富分布都是重尾分布。

如果說糖域解釋了為什么財(cái)富分布是重尾的且轨,但是糖域變化中的不平等的普遍性表明浮声,不平等是許多經(jīng)濟(jì)體的特征,甚至是非常簡單的經(jīng)濟(jì)體旋奢。 一些實(shí)驗(yàn)表明避免或減輕并不容易泳挥,它們帶有一些規(guī)則,對納稅和其他收入轉(zhuǎn)移進(jìn)行建模至朗。

9.6 實(shí)現(xiàn)糖域

糖域比以前的模型更復(fù)雜屉符,所以我不會在這里介紹整個實(shí)現(xiàn)。 我將概述代碼的結(jié)構(gòu)锹引,你可以在 Jupyter 筆記本chap09.ipynb中查看本章的細(xì)節(jié)矗钟,它位于本書的倉庫中。 如果你對細(xì)節(jié)不感興趣嫌变,你可以跳到下一節(jié)吨艇。

以下是帶有step方法的Agent類:


class Agent:

    def step(self, env):
        self.loc = env.look_around(self.loc, self.vision)
        self.sugar += env.harvest(self.loc) - self.metabolism
        self.age += 1

在每個步驟中,智能體移動腾啥,收獲糖东涡,并增加年齡。

參數(shù)env是環(huán)境的引用倘待,它是一個Sugarscape對象疮跑。 它提供了方法look_around和收獲:

  • look_around獲取智能體的位置,這是一個坐標(biāo)元組延柠,以及智能體的視野祸挪,它是一個整數(shù)锣披。 它返回智能體的新位置贞间,這是糖分最多的可見細(xì)胞。
  • harvest需要智能體的(新)位置雹仿,并在移除并返回該位置的糖分增热。

這里是Sugarscape類和它的step方法(不需要替換):

class Sugarscape(Cell2D):

    def step(self):

        # loop through the agents in random order
        random_order = np.random.permutation(self.agents)
        for agent in random_order:

            # mark the current cell unoccupied
            self.occupied.remove(agent.loc)

            # execute one step
            agent.step(self)

            # if the agent is dead, remove from the list
            if agent.is_starving():
                self.agents.remove(agent)
            else:
                # otherwise mark its cell occupied
                self.occupied.add(agent.loc)

        # grow back some sugar
        self.grow()
        return len(self.agents)

Sugarscape繼承自Cell2D,因此它與我們所見過的其他基于網(wǎng)格的模型相似胧辽。

這些屬性包括agents峻仇,它是Agent對象的列表,以及occupied邑商,它是一組元組摄咆,其中每個元組包含智能體占用的細(xì)胞的坐標(biāo)凡蚜。

在每個步驟中,Sugarscape以隨機(jī)順序遍歷智能體吭从。 它調(diào)用每個智能體的step朝蜘,然后檢查它是否已經(jīng)死亡。 所有智能體都移動后涩金,一些糖會恢復(fù)谱醇。

如果你有興趣更加了解 NumPy ,你可能需要仔細(xì)看看make_visible_locs步做,它構(gòu)建一個數(shù)組副渴,其中每行包含智能體可見的細(xì)胞坐標(biāo),按距離排序全度,但距離相同的細(xì)胞 是隨機(jī)順序煮剧。

你可能想看看Sugarscape.make_capacity,它初始化細(xì)胞的容量将鸵。 它演示了np.meshgrid的使用轿秧,這通常很有用,但需要一些時(shí)間才能理解咨堤。

9.7 遷移和波動行為

image

圖 9.5:Sugarscape中的波動行為:初始狀態(tài)(左)菇篡,6 步后(中)和 12 步后(右)

雖然Sugarscape的主要目的不是探索空間中的智能體的移動,但 Epstein 和 Axtell 在智能體遷移時(shí)一喘,觀察到一些有趣的模式驱还。

如果我們開始把所有智能體放在左下角,他們會迅速走向最近的高容量細(xì)胞的“山峰”凸克。 但是如果有更多的智能體议蟆,單個山峰不足以支持它們的話,他們很快就會耗盡糖分萎战,智能體被迫進(jìn)入低容量地區(qū)咐容。

視野最長的那些,首先穿過山峰之間的山谷蚂维,并且像波一樣向東北方向傳播戳粒。 因?yàn)樗麄冊谏砗罅粝乱恍┛占?xì)胞,所以其他智能體不會追隨虫啥,直到糖分恢復(fù)蔚约。

結(jié)果是一系列離散的遷移波,每個波都像一個連貫的物體涂籽,就像我們在規(guī)則 110 CA 和生命游戲中看到的飛船(參見第苹祟?節(jié))。

圖?顯示了初始條件下(左)树枫,6 個步驟(中)和 12 個步驟(右)之后的模型狀態(tài)直焙。 你可以看到,前兩個波到達(dá)并穿過第二個山峰砂轻,留下了一串空細(xì)胞箕般。 你還可以看到這個模型的動畫版本,其中波形更清晰可見舔清。

雖然這些波動由智能體組成丝里,但我們可以將他們視為自己的實(shí)體,就像我們在“生命游戲”中想到的滑翔機(jī)一樣体谒。

這些波動的一個有趣的屬性是杯聚,它們沿對角線移動,這可能是令人驚訝的抒痒,因?yàn)檫@些智能體本身只是向北或向東移動幌绍,從不向東北方移動。 像這樣的結(jié)果 - 團(tuán)隊(duì)或“集合”擁有智能體沒有的屬性和行為 - 在基于智能體的模型中很常見故响。 我們將在下一章看到更多的例子傀广。

9.8 涌現(xiàn)

本章中的例子展示了復(fù)雜性科學(xué)中最重要的想法之一:涌現(xiàn)。 涌現(xiàn)性是系統(tǒng)的一個特征彩届,由它的成分相互作用而產(chǎn)生伪冰,而不是它們的屬性。

為了澄清什么是涌現(xiàn)樟蠕,考慮它不是什么會有幫助贮聂。 例如,磚墻很硬寨辩,因?yàn)榇u和砂漿很硬吓懈,所以這不是涌現(xiàn)。 再舉一個例子靡狞,一些剛性結(jié)構(gòu)是由柔性部件構(gòu)成的耻警,所以這看起來像是一種涌現(xiàn)。 但它至多是一種弱例甸怕,因?yàn)榻Y(jié)構(gòu)特性遵循已知的力學(xué)定律甘穿。

相反,我們在謝林模型中看到的隔離是一種涌現(xiàn)蕾各,因?yàn)樗皇怯煞N族主義智能體造成的扒磁。 即使智能體只是輕微排外庆揪,系統(tǒng)的結(jié)果與智能體的決策意圖有很大不同式曲。

糖域中的財(cái)富分配可能是涌現(xiàn),但它是一個弱例,因?yàn)槲覀兛梢愿鶕?jù)視力吝羞,代謝和壽命的分布合理預(yù)測它兰伤。 我們在最后一個例子中看到的波動行為可能是一個更強(qiáng)的例子,因?yàn)椴▌语@示出智能體顯然沒有的能力 - 對角線運(yùn)動钧排。

涌現(xiàn)性令人驚訝:即使我們知道所有規(guī)則敦腔,也很難預(yù)測系統(tǒng)的行為。難度不是偶然的恨溜;事實(shí)上符衔,它可能是涌現(xiàn)的決定性特征。

正如沃爾夫勒姆在“新科學(xué)”中所討論的那樣糟袁,傳統(tǒng)科學(xué)是基于這樣的公理:如果你知道管理系統(tǒng)的規(guī)則判族,那么你可以預(yù)測它的行為。 我們所謂的“法律”通常是計(jì)算的捷徑项戴,它使我們能夠預(yù)測系統(tǒng)的結(jié)果而不用建立或觀察它形帮。

但是許多細(xì)胞自動機(jī)在計(jì)算上是不可減少的,這意味著沒有捷徑周叮。 獲得結(jié)果的唯一方法是實(shí)現(xiàn)該系統(tǒng)辩撑。

一般而言,復(fù)雜系統(tǒng)可能也是如此仿耽。 對于具有多個成分的物理系統(tǒng)合冀,通常沒有產(chǎn)生解析解的模型。 數(shù)值方法提供了一種計(jì)算捷徑项贺,但仍存在質(zhì)的差異水慨。

解析解通常提供用于預(yù)測的恒定時(shí)間算法;也就是說敬扛,計(jì)算的運(yùn)行時(shí)間不取決于預(yù)測的時(shí)間尺度t晰洒。 但數(shù)值方法,模擬啥箭,模擬計(jì)算和類似方法需要的時(shí)間與t成正比谍珊。 對于許多系統(tǒng)來說,我們無法計(jì)算出可靠的預(yù)測急侥。

這些觀察表明砌滞,涌現(xiàn)性基本上是不可預(yù)測的,對于復(fù)雜系統(tǒng)我們不應(yīng)該期望坏怪,通過計(jì)算捷徑來找到自然規(guī)律贝润。

對某些人來說,“涌現(xiàn)”是無知的另一個名字; 根據(jù)這種思維铝宵,如果我們針對它沒有還原論的解釋打掘,那么這個屬性就是涌現(xiàn)的华畏,但如果我們在將來更好地理解它,它就不再是涌現(xiàn)的尊蚁。

涌現(xiàn)性的狀況是有爭議的話題亡笑,所以對此持懷疑態(tài)度是恰當(dāng)?shù)摹?當(dāng)我們看到明顯的涌現(xiàn)性時(shí),我們不應(yīng)該假設(shè)永遠(yuǎn)不會有還原論解釋横朋。但我們也不應(yīng)該假設(shè)必須有仑乌。

本書中的例子和計(jì)算等價(jià)原理提供了很好的理由,認(rèn)為至少有些涌現(xiàn)性永遠(yuǎn)不會被古典還原論模型“解釋”琴锭。

你可以在這里更加了解涌現(xiàn):http://en.wikipedia.org/wiki/Emergence晰甚。

9.9 練習(xí)

練習(xí) 1

本章的代碼位于本書倉庫的 Jupyter 筆記本chap09.ipynb中。打開這個筆記本决帖,閱讀代碼压汪,然后運(yùn)行單元格。你可以使用這個筆記本來練習(xí)本章的練習(xí)古瓤。我的解決方案在chap09soln.ipynb中止剖。

練習(xí) 2

《The Big Sort》的作者 Bill Bishop 認(rèn)為,美國社會越來越由政見所隔離落君,因?yàn)槿藗冞x擇生活在志趣相投的鄰居之中穿香。

Bishop 所假設(shè)的機(jī)制并不是像謝林模型中的智能體那樣,如果他們是孤立的绎速,他們更有可能移動皮获,但是當(dāng)他們出于任何原因移動時(shí),他們可能會選擇一個社區(qū)纹冤,其中的人與他們自己一樣洒宝。

修改謝林模型的實(shí)現(xiàn)來模擬這種行為,看看它是否會產(chǎn)生類似程度的隔離萌京。

有幾種方法可以模擬 Bishop 的假設(shè)雁歌。在我的實(shí)現(xiàn)中,隨機(jī)選擇的智能體會在每個步驟中移動知残。每個智能體考慮k個隨機(jī)選擇的空位置靠瞎,并選擇相似鄰居的比例最高的位置。隔離程度和k有什么關(guān)系求妹?

練習(xí) 3

在糖域的第一個版本中乏盐,我們從不添加智能體,所以一旦人口下降制恍,它就不會恢復(fù)父能。 在第二個版本中,我們只是在智能體死亡時(shí)才取代净神,所以人口是不變的何吝。 現(xiàn)在讓我們看看如果我們增加一些“人口壓力”會發(fā)生什么溉委。

編寫糖域的一個版本,在每一步結(jié)束時(shí)添加一個新的智能體岔霸。 添加代碼來計(jì)算每個步驟結(jié)束時(shí)薛躬,智能體的平均視力和平均消耗俯渤。 運(yùn)行模型幾百步呆细,繪制人口,平均視力和平均消耗隨時(shí)間的變化八匠。

你應(yīng)該能夠通過繼承SugarScape并覆蓋__init__step來實(shí)現(xiàn)這個模型絮爷。

練習(xí) 4

在心靈哲學(xué)中,強(qiáng)人工智能是這樣的理論梨树,即受到適當(dāng)編程的計(jì)算機(jī)可以擁有思想坑夯,與人類擁有的思想相同。

約翰·塞爾(John Searle)提出了一個名為“中文房間”的思想實(shí)驗(yàn)抡四,旨在表明強(qiáng) AI 是虛假的柜蜈。 你可以在 http://en.wikipedia.org/wiki/Chinese_room 上閱讀。

對中文房間的論述的系統(tǒng)回復(fù)是什么指巡? 你對涌現(xiàn)的認(rèn)識如何影響你對系統(tǒng)回復(fù)的反應(yīng)淑履?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市藻雪,隨后出現(xiàn)的幾起案子秘噪,更是在濱河造成了極大的恐慌,老刑警劉巖勉耀,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件指煎,死亡現(xiàn)場離奇詭異,居然都是意外死亡便斥,警方通過查閱死者的電腦和手機(jī)至壤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枢纠,“玉大人崇渗,你說我怎么就攤上這事【┲#” “怎么了宅广?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長些举。 經(jīng)常有香客問我跟狱,道長,這世上最難降的妖魔是什么户魏? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任驶臊,我火速辦了婚禮挪挤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘关翎。我一直安慰自己扛门,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布纵寝。 她就那樣靜靜地躺著论寨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪爽茴。 梳的紋絲不亂的頭發(fā)上葬凳,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機(jī)與錄音室奏,去河邊找鬼火焰。 笑死,一個胖子當(dāng)著我的面吹牛胧沫,可吹牛的內(nèi)容都是我干的昌简。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼绒怨,長吁一口氣:“原來是場噩夢啊……” “哼纯赎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起窖逗,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤址否,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碎紊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體佑附,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年仗考,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了音同。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡秃嗜,死狀恐怖权均,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锅锨,我是刑警寧澤叽赊,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站必搞,受9級特大地震影響必指,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜恕洲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一塔橡、第九天 我趴在偏房一處隱蔽的房頂上張望梅割。 院中可真熱鬧,春花似錦葛家、人聲如沸户辞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽底燎。三九已至,卻和暖如春扯俱,著一層夾襖步出監(jiān)牢的瞬間书蚪,已是汗流浹背喇澡。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工迅栅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晴玖。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓读存,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呕屎。 傳聞我的和親對象是個殘疾皇子让簿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 本白皮書前期在國標(biāo)委工業(yè)二部和工信部科技司的指導(dǎo)下,通過梳理人工智能技術(shù)秀睛、應(yīng)用和產(chǎn)業(yè)演進(jìn)情況尔当,分析人工智能的技術(shù)熱...
    筆名輝哥閱讀 24,047評論 2 143
  • 這幾年忽然之間不論從事什么行業(yè)都要提到定位這個詞,感覺你開店不知道定位就會死蹂安,就像餐飲業(yè)里面現(xiàn)在最流行的4D廚房椭迎,...
    雯龍燒烤培訓(xùn)閱讀 346評論 0 1
  • 感 顛沛東南復(fù)西北,流離春夏又秋冬田盈。 天遙地遠(yuǎn)年華逝畜号,莫教殘夢終成空。
    吾兮無兮閱讀 198評論 0 1
  • 2017.08.26No147 0725-0745用時(shí)20分鐘字?jǐn)?shù)500 記得在八月上旬就發(fā)現(xiàn)今年的三伏天差不多進(jìn)...
    何不可閱讀 443評論 2 2
  • 深刻簡單 偉大平凡 我們是自己的答案
    關(guān)馨仁閱讀 86評論 0 1