1937 - Post 的字元產生系統(Post Canonical System)#
案件摘要#
1937 年,Emil Post 走上一條與 Church、Turing 完全獨立的路線,用「符號字串的重寫與產生」刻畫可計算性。本案追查:一條條簡單的 \(u \to v\) 產生規則,如何重寫出整個計算宇宙。
前因 -- 為什麼會有這個案子#
- 1920 年代,Post 在普林斯頓(師從 Veblen)研究 Whitehead–Russell《數學原理》的命題演算,試圖找出完備的決策程序。
- 1921 年前後他發現命題演算「不可窮盡」——事實上他預見了不可判定性,但因病與種種因素延遲發表。
- 轉向更根本的問題:什麼樣的符號操作過程是「機械的」? 他稱之為「1- generability」。
線索與推理 -- 數學式、程式、理論#
1. 產生規則的形式#
Post 正則系統由有限組產生規則(production)構成,每條規則形如:
其中 \(g_i, h_j\) 是固定字串(常數), \(u_i, v_j\) 是變元(variables),且每個變元 \(v_j\) 必須是某些 \(u_i\) 的複製。意思是:若公理集產生的字串能匹配前提模式( \(g_i\) 之間插入任意 \(u_i\) ),就能產生結論模式。
最簡版本(正規規則):
2. Python 模擬:Tag 系統式的字串改寫#
Post 的著名特例是 tag 系統:刪去字串開頭 \(p\) 個符號,依刪去的首符號在字尾附加固定字串。
# Post 的 tag 系統 (p=2):讀首符號,刪兩個,尾附加對應字串
rules = {'a': 'aa', 'b': 'aaaa'} # 對應 μ 倍增,模擬簡單運算
def tag(s, max_steps=20):
for i in range(max_steps):
print(i, s)
if len(s) < 2:
return s
s = s[2:] + rules[s[0]]
return None
tag('aab')
# 0 aab
# 1 b aa -> aaaa
# 2 aa aaaa -> ...
# 一般化 Post 正則系統:匹配 -> 產生
def post_derive(axioms, rules, max_words=50):
words, seen, i = set(axioms), set(axioms), 0
while i < max_words:
new = set()
for w in words:
for lhs, rhs in rules: # lhs 含變元 A,B
for k in range(1, len(w)):
if w.startswith(lhs.replace('A', '')):
v = w[len(lhs)-1:] # 取出變元部分
new.add(rhs.replace('A', v))
words |= new - seen
seen |= new
i += 1
return sorted(seen)
# 規則:xA -> Axx (產生 xx^n) 模擬「複製」能力
print(post_derive(['ab'], [('a', 'aa')]))
3. 等價性:Post 系統 ≡ 圖靈機 ≡ λ 演算#
Post 證明(並於 1943、1947 論文補全): - (Post ⊇ Turing) 圖靈機的瞬時組態(紙帶內容 + 磁頭位置 + 狀態)可編碼為一個字串;機器的每一步移動對應一條有限組產生規則。於是「機器的所有可能計算史」恰為系統可產生的字串集。 - (Turing ⊇ Post) 任何正則系統的推導可用圖靈機模擬:機器維護目前字串,逐一嘗試規則匹配。 - Post 也證明其系統與 λ 可定義函數等價。
因此 Post 稱他的系統刻畫了「所有機械式組合過程」——這是 Church–Turing 命題的第三條獨立證據。
4. 對 Chomsky 文法與形式語言的影響#
Post 系統是所有字元重寫系統的祖宗: | 系統 | 規則形式 | 限制 | |---|---|---| | Post 正則系統 | \(\frac{\text{模式}}{\text{模式}}\) (變元可複製) | 最一般 | | 無限制文法(Type 0) | \(\alpha \to \beta\) | 左右皆可為字串 | | 單向文法(Type 1) | \(\alpha A \beta \to \alpha \gamma \beta\) | 不縮短 | | CFG(Type 2) | \(A \to \gamma\) | 左端單一非終端 | | 正則文法(Type 3) | \(A \to aB\) 或 \(A \to a\) | 最受限 |
Chomsky (1956, 1959) 的文法階層本質上是 Post 系統的約束版本;L-systems(Lindenmayer, 1968)、Thue 系統、Markov 演算法皆是同一家族。
結案 -- 後果與影響#
- 確立「符號重寫」作為計算的第三種範式(繼 λ 演算、圖靈機之後),三者後來成為函數式、命令式、產生式三大計算模型的源頭。
- Post 系統直接催生形式語言理論與 Chomsky 階層,影響編譯器、正則表示式、程式語言設計。
- Post 1947 年證明 Thue 系統的字問題不可判定,是第一個「代數問題不可判定」的例子。
關鍵人物與文獻#
- Emil Post(1897–1954),生於波蘭華沙(當時屬俄國),幼年移民紐約,任職紐約市立學院;曾於普林斯頓深造。
- Post, E. (1936/1943). "Finite combinatory processes - formulation 1." J. Symbolic Logic 1:103–105;"Formal reductions of the general combinatorial decision problem." Amer. J. Math. 65:197–215.
- Post, E. (1947). "Recursive unsolvability of a problem of Thue." J. Symbolic Logic 12:1–11.
- 相關:Chomsky (1956)、Davis, Computability and Unsolvability (1958)。