計數器機

計數器機  是一種抽象機器 ， 作爲用於形式邏輯和理論計算機科學中的計算模型 ， 計數器機是寄存器機模型的最原始的子類 。 它只由如下組成 ： ( i ) 一序列的一個或多個 ， ( ii ) 假如到或減去自寄存器的叫做 “ 計數器 ” 的物件 ， ( iii ) 讓計算機 算術和控制指令的列表 。 對於給定的計數器機模型 ， 指令集是非常微小的 ， 只有從 1 到 6 或 7 指令 。 所有模型都包含一些算術運算和至少一個 “ 條件表達式 ” ( IF - THEN - ELSE ) 。 三個基本模型 ， 每個都使用了三個指令 ， 從下列指令中劃分出來: CLR ( r ): 清除 ( CLeaR ) 寄存器' r' [ 清空計數器' r' ] INC ( r ): 增加 ( INCrement ) 寄存器' r' 的內容 DEC ( r ): 減少 ( DECrement ) 寄存器' r' 的內容 CPY ( rj, rk ): 複製 ( CoPY ) 寄存器 rj 的內容到寄存器 rk ， 保持 rj 的內容不動 JZ ( r, z ): 如果寄存器' r' 的內容爲零 ( Zero ) ， 則跳轉 ( Jump ) 到標記爲' z' 的指令 ， 否則繼續按順序執行 JE ( rj, rk, z ): 如果寄存器 rj 的內容等於 ( Equal ) 寄存器 rk 的內容 ， 則跳轉 ( Jump ) 到標記爲' z' 的指令 ， 否則繼續按順序執行 ， 集合 ( 1 ): { INC ( r ), DEC ( r ), JZ ( r, z ) }, ( Minsky ( 1961, 1967 ), Lambek ( 1961 ) ) 集合 ( 2 ): { CLR ( r ), INC ( r ), JE ( rj, rk, z ) }, ( Ershov ( 1958 ), Peter ( 1958 ) 由 Shepherdson - Sturgis ( 1964 ) 解釋; Minsky ( 1967 ); Schönhage ( 1980 ) ) 集合 ( 3 ): { INC ( r ), CPY ( rj, rk ), JE ( rj, rk, z ) }, ( Elgot - Robinson ( 1964 ), Minsky ( 1967 ) ) 。 停機 ( HALT ) 指令可以包含也可以不包含在模型中 。 三個計數器機的計算能力是等價的 -- 一個模型的指令可以從其他模型的指令得出 。 都等價於圖靈機的計算能力 。 由於它們的一元處理方式 ， 計數器典型的要比圖靈機慢一個因子 ， 它是在相比較的圖靈機使用的空間的指數 。 計數器機模型還有一些其他的名字: Shepherdson - Sturgis 機, Minsky 機, 程序機, 算盤機, Lambek 機, 後繼機 等等 。 詳情參見計數器機模型 。