下推自動機(PDA)

瞬間描述(instantaneous description)

要精確談論一台運行中的機器,你需要一張快照——也就是「若要暫停計算、稍後從同一處繼續,你必須記下的一切」。對 PDA 而言,這張快照稱為瞬間描述(instantaneous description,簡稱 ID,也叫格局或組態)。它是某一瞬間世界的完整狀態:不需要再多任何東西,就能決定接下來會發生什麼。

PDA 的瞬間描述是一個三元組:(當前狀態、尚未讀取的剩餘輸入、當前堆疊內容)。例如 (q1, bb, X X Z0) 表示機器處於狀態 q1,還剩「bb」待讀,且堆疊由上而下是 X、X、Z0。把它和有限自動機相比:後者的整個處境只需 (狀態, 剩餘輸入) 就能捕捉——PDA 之所以需要第三個成分,即堆疊,正是因為堆疊是它額外的記憶體。一次運行的起始 ID 是 (q0, w, Z0):起始狀態、整個輸入 w、以及僅有的起始堆疊符號。

為什麼非要把這張快照形式化不可?因為一旦每個瞬間都是一個精確的物件,「計算」就成為這些快照的序列,而機器的規則就成為一個關係,規定哪張快照能接在哪張之後。這讓我們能以數學的嚴謹來定義接受、證明機器正確、推理什麼狀態可達,而非含糊其辭。瞬間描述是名詞;移動關係是把一張連到下一張的動詞。

在 aabb 上運行 a^n b^n 的 PDA,會經過這些 ID:(q0, aabb, Z0)、(q0, abb, X Z0)、(q0, bb, X X Z0),接著 (q1, b, X Z0)、(q1, ε, Z0),最後到達一個接受的格局。

一個 ID =(狀態, 剩餘輸入, 堆疊)。它是繼續計算所需的完整快照。

堆疊成分可以無界地長,所以 PDA 有無限多個可能的 ID——這正是為什麼它能做無界計數,而格局數有限的 DFA 卻不能。

又称
IDconfiguration格局組態