跳轉到內容

元胞自動機/計數前像

來自華夏公益教科書,開放的書籍,開放的世界

前像是過去導致當前配置的一步配置。

時間方向的逆轉

[編輯 | 編輯原始碼]
當前配置的前像取決於全域性轉移函式的逆

區域性轉移函式全域性轉移函式 定義了元胞自動機在正向時間方向上的演化。要從當前配置計算前像,必須定義正向對映的逆。

單個細胞 的前像是由區域性轉移函式的逆定義的區域性有效的鄰域

配置 的前像 由全域性轉移函式的逆定義

相鄰細胞的區域性有效鄰域必須正確重疊才能成為全域性有效的。德布魯因圖描述了序列如何重疊,因此提供了一種在知道區域性逆的情況下計算全域性逆的方法。

前像 的數量 可能從零到很多,具體取決於規則和當前配置 ,引發了關於規則的單射性、滿射性和可逆性的問題。

德布魯因圖

[編輯 | 編輯原始碼]
德布魯因圖

德布魯因圖來自描述移位暫存器的理論。它的節點是在某個字母表上的符號串 ,通常是所有固定長度的字串。它的有向連結描述瞭如果其中一個字串被移動,這些字串如何重疊。這裡只描述了單個細胞的移動。

從源節點 到一個排水節點 存在一個連結,如果字串 與字串 重疊,並且向右移動一個符號。這意味著重疊的源子串 ( 去掉起始符號 ) 等於重疊的排水子串 ( 去掉結束符號 )。

De Bruijn 圖的拓撲矩陣為

為了讓該圖更容易在元胞自動機上閱讀和使用,本書使用了一種圖形表示,其中所有節點都被繪製了兩次。左側的節點是連結的源點,右側的節點是連結的排水點。連結的方向選擇為指向細胞位置索引的遞增方向。

另見

原像圖和矩陣

[編輯 | 編輯原始碼]

相鄰鄰域的重疊

[編輯 | 編輯原始碼]
相鄰鄰域的重疊(深灰色)

重疊 是來自一對相鄰單元格 的重疊鄰域的單元格組。重疊 的大小比鄰域的大小少一個單元格。

重疊的緊湊表示是具有 位基數為 的數字。

如果一個細胞序列 之間被切割(或連線)成兩部分,左側部分的最後一個單元格的鄰域 與右側部分的第一個單元格的鄰域 重疊。切割(或連線)處的重疊 如上定義,用於描述序列的邊界。

前像矩陣

[edit | edit source]
前像圖(由前像矩陣描述)

構建前像矩陣的第一步是構建一個 De Bruijn 圖,它表示細胞自動機中單個細胞的前像。它的節點是所有 個不同的鄰域重疊。源節點 是細胞左側的重疊,匯點節點 是細胞右側的重疊。連結表示鄰域,並根據接下來的兩種分解連線節點

  • 鄰域 由剩餘的左側單元 和右側重疊 組成,或者
  • 鄰域 由左側重疊 和剩餘的右側單元 組成。

該圖的拓撲矩陣是一個 元素的方陣。

如果節點 之間存在連結,則元素的值為 ,否則為

下一步是形成一個符號德布魯因矩陣,其中元素是連結標籤。代表鄰域 的連結根據區域性轉移函式定義的輸出單元值 進行標記。沒有連結的節點對可以用點標記。

最後一步是形成前像矩陣 ,每個 個可用的單元格狀態 都對應一個矩陣。 只有當相對鄰域 導致所需的單元格值 時,節點對 之間才存在連結。

序列的前像矩陣

[編輯 | 編輯原始碼]

在將前像矩陣的定義擴充套件到單元格序列 之前,必須定義矩陣元素的含義,以便可以根據它來檢查定義。

矩陣 中的條目 表示長度為 的前像的數量,這些前像以左重疊 開頭,以右重疊 結尾。

一個細胞串的原像矩陣 是單個細胞矩陣的乘積鏈

空字串的原像矩陣 是一個單位矩陣.

證明: 序列原像矩陣方程的證明

原像邊界條件

[編輯 | 編輯原始碼]
原像連線或邊界

原像向量 包含 個非負整數條目,每個條目對應原像圖中一個可能的鄰域重疊或節點。

原像向量 中的元素 統計包含重疊 的原像,該重疊在當前細胞序列中的位置 處具有值

原像向量用於描述邊界,更準確地說,它可以描述兩個字串連線處一側的原像計數。

  • 對於字串 右邊界,使用右邊界向量 ,它統計連線處右側的原像。
  • 為了描述字串 左側邊界,使用 左側邊界向量 ,它從連線點向左計算前像。

無限制邊界 通常用於避免任何特定的邊界。假設每個重疊只有一個前像。向量中的所有條目都是

由於 半無限序列 可能有無限多個前像,通常只使用週期性序列,只計算週期 的前像。

靜止和以太背景可以用週期性序列表示。

另見

計算前像。

[編輯 | 編輯原始碼]

序列 的前像數量 (網路中的路徑)定義為左 邊界條件 和右 邊界條件

無限制邊界 通常用於計算序列 的所有前像,每個前像只計算一次。前像的數量僅僅是前像矩陣 中所有元素的總和。

迴圈細胞串的前像。

[編輯 | 編輯原始碼]

由於迴圈格中的字串必須在其左右兩側具有相同的重疊,因此只有德布魯因矩陣對角線上的元素才是有效的前像。字串 的所有前像的數量是對角線上元素的總和。

伊甸園

[編輯 | 編輯原始碼]

伊甸園序列沒有前像。對於無限格上的有限字串,這在德布魯因矩陣為零矩陣 (所有元素都為零)時是完全正確的。

任何其子串為伊甸園的字串都是伊甸園。

伊甸園可能是邊界條件的結果,包括有限或迴圈邊界條件。

序列前像矩陣方程的證明

[編輯 | 編輯原始碼]

序列公式的證明是關於字串長度的歸納法。

基礎案例 ()
如果字串的長度為 ,則沒有偏移,並且節點僅與其自身連結。
對於長度為 的字串,單個單元格前像矩陣元素的含義從定義中可以明顯看出。
歸納

參考文獻

[編輯 | 編輯原始碼]
  1. Harold V. McIntosh透過德布魯因圖的線性元胞自動機,1991 年 8 月 10 日 (HTMLPDF)
  2. Harold V. McIntosh祖先:關於 Andrew Wuensche 和 Mike Lesser 的《元胞自動機的全域性動力學》(Addison-Wesley,1992)的評論,1993 年 7 月 20 日 (HTMLPDF)
  3. Erica Jen,元胞自動機中前像的列舉,複雜系統 3 (5) (1989) 421-456
  4. Burton Voorhees元胞自動機狀態的前驅 II. 有限序列的前像,Phisica D 73 (1-2) (1994) 136-151
  5. Iztok JerasAndrej Dobnikar 計算元胞自動機配置前像的演算法 PDF
  1. DDLab 用於研究元胞自動機、隨機布林網路、多值離散動力系統等的工具;由 Andy Wuensche 提供。
  2. Iztok Jeras用於計算元胞自動機配置的原像的演算法 TAR.BZ2
  3. 元胞自動機原像生成器 CAPIG 是一款使用者友好的免費軟體,用於根據使用者選擇的配置查詢原像。
華夏公益教科書