細胞自動機 · 湧現

蘭頓螞蟻

蘭頓螞蟻在無限的方格上行走:遇到空白格右轉(R),遇到有標記的格子左轉(L),再翻轉格子的狀態,往前走一步。

本頁呈現的蘭頓螞蟻

蘭頓螞蟻是這一族螞蟻中最簡單的一種。若有n種顏色,以0表示空白並依序編號,規則就是由R與L組成的字串r=r0r1⋯rn−1r = r_0 r_1 \cdots r_{n-1},每種顏色對應一個字母;蘭頓螞蟻的規則是RL。螞蟻站在格子p上,朝向d,每一步如下:

k=c(p),d←d 按此規則旋轉:rk(R:90∘ 順時針,L:逆時針),c(p)←(k+1) mod n,p←p+d.\begin{aligned} k &= c(p), \\ d &\leftarrow d \text{ 按此規則旋轉:} r_k \quad (\text{R:} 90^\circ \text{ 順時針,L:逆時針}), \\ c(p) &\leftarrow (k + 1) \bmod n, \\ p &\leftarrow p + d. \end{aligned}

螞蟻沒有記憶,只看腳下的顏色。在這裡,你可以看它先走出秩序,再亂成一團,最後修出道路;也可以讓它倒著走、在前方替格子上色,或試試其他字串。

顏色是規則的狀態。平面沒有邊界,也不會從另一側繞回。面板頂端的曲線記錄每一步結束後的塗色格數。

螞蟻從空白平面朝上出發,先畫出小而整齊的圖案,有些在旋轉半圈後保持對稱,第473步就是一例。接著是看似隨機的糾纏,持續約一萬步。從第9 977步起,螞蟻反覆走出相同的104步,每輪平移(−2,2),也就是往左兩格、往下兩格。它在修築一條稱為高速公路的斜向帶狀圖案,每104步恰好多出12個有色格。重複的只有螞蟻的走法與腳下的帶狀圖案;身後的糾纏仍留在原地。

重複幾輪並不能證明什麼,因為下一輪可能碰上有色格而轉離道路。因此頁面會先核對,才保證道路能持續延伸。最近一輪結束後,把這一輪讀過的格子依螞蟻的位移平移,所得格子的顏色必須與原本那些格子在該輪開始前相同,螞蟻的朝向也要回到該輪開始時的方向。此外,往後每一輪超出上一輪範圍的格子,目前必須是空白,而且從受核對的那一輪起,不得被任何一輪走過。如此每輪遇到的情況都與上一輪相同,就會永遠走出同樣的步子。曲線上的虛線標出重複開始的位置。若前方有有色格,頁面會圈出它,並且不作保證。

因此,對空白平面而言,計算加上這項核對已經證明高速公路會延伸。對RL規則,所有試過、只有有限個有色格的棋盤,最後都形成了高速公路;但尚無人證明每一個這樣的棋盤都會如此。

每一步都能撤回。螞蟻面朝剛剛移動的方向,因此它來的那一格就在身後,而那一格的顏色已沿循環前進一格。倒退一步如下:

p←p−d,k=(c(p)−1) mod n,c(p)←k,d←d 按此規則反向轉回:rk.\begin{aligned} p &\leftarrow p - d, \\ k &= (c(p) - 1) \bmod n, \quad c(p) \leftarrow k, \\ d &\leftarrow d \text{ 按此規則反向轉回:} r_k. \end{aligned}

因此,棋盤與螞蟻共同決定前一步的狀態。反向會依規則讓螞蟻倒著走,而不是倒放錄影。

字母更多時,每次造訪都會讓格子換成下一種顏色。從空白平面出發,規則按鈕會長出截然不同的形狀:LLRR是看似對稱的圖案,LRRRRRLLR是幾乎實心的正方形,RRLLLRLLLRRR是不斷長大的三角形。這三種最後會如何,仍不知道。LLRRRLRLRLLR則確實會形成高速公路,大約需要三萬步。

Chris Langton於1986年描述了這隻螞蟻,作為人工生命的例子。

相關主題