Minskyのレジスタ機械

同義語:Minsky機械Minsky machineMinsky register machineカウンタ機械counter machine

概要

Minskyのレジスタ機械(Minsky register machine)とは、有限個のレジスタに自然数を入れ、「1 を足す」と「0 でなければ 1 を引き、0 かどうかで行き先を変える」の 2 種類の命令だけで動く計算の模型である。Minsky は、レジスタが 2 つでも、入力を $2^x$、出力を $2^{f(x)}$ と符号化すれば任意の部分再帰関数 $f$ が計算できることを示した。多数のレジスタの中身を素数の冪の積に詰め、掛け算と割り切れるかの判定で模倣するのである。その帰結として 2 レジスタの機械の停止問題は決定不能だが、1 レジスタの機械の停止集合は最終的に周期的で決定可能である。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: Church–Turingのテーゼ, μ再帰関数, 停止問題

Church–Turingのテーゼ の記事では、数を 1 つずつ入れる箱(レジスタ)と「1 増やす」「空でなければ 1 減らす」の 2 種類の命令だけからなるレジスタ機械を定義し、レジスタ機械で計算できる関数がちょうど μ再帰関数であることを証明した。そこではプログラムが使うレジスタの個数に制限はなかった。Minsky のレジスタ機械 の理論は、この個数を問題にする。
Minsky は 1961 年に、レジスタが 2 つ あれば任意の部分再帰関数(μ再帰関数)が計算できることを示した(Min61 Theorem Ia、p. 449)。ただし入力 $x$ は $2^x$ という形で渡し、出力も $2^{f(x)}$ の形で受け取る。多数のレジスタの中身 $r_0,r_1,\dots$ を 1 つの数 $2^{r_0}3^{r_1}5^{r_2}\cdots$ に詰め込み、もう 1 つのレジスタを掛け算・割り算の作業場に使うのである。一方、レジスタが 1 つしかない機械は、どの入力で停止するかが入力の剰余だけでほぼ決まってしまい、この能力をもたない。
この記事では、レジスタの個数で機械を分類し、2 つのレジスタへの帰着、その帰結としての停止問題の決定不能性、1 つのレジスタの機械の停止集合が最終的に周期的になることを、どれも完全に証明する。

定義

命令・様相・停止は Church–Turingのテーゼ の記事の定義「レジスタ機械」に従う。命令は $\mathrm{INC}(r,j)$($R_r$ に $1$ を足して命令 $j$ へ)と $\mathrm{DEC}(r,j,j')$($R_r>0$ なら $1$ を引いて $j$ へ、$R_r=0$ なら何もせず $j'$ へ)の 2 種類で、長さ $n$ のプログラムでは番号 $n$ が停止を表す。プログラムの組み立てには、同記事の補題「連結と付け替え」の 1・3(部品を番号をずらして埋め込み、部品の停止を指定した番号への移動に替える)を使う。

k レジスタのプログラム

$k\ge1$ とする。レジスタ機械のプログラム $P$ のすべての命令のレジスタの番号 $r$ が $r< k$ を満たすとき、$P$ を $k$ レジスタのプログラム という。$k$ レジスタのプログラムの様相 $(\ell,\rho)$ では $\rho(i)=0$($i\ge k$)がずっと保たれるので、$\rho$ を組 $(\rho(0),\dots,\rho(k-1))\in\mathbb{N}^k$ と同一視し、様相を $(\ell;a_0,\dots,a_{k-1})$ と書く。

どのプログラムも有限個の命令しかもたないので、ある $k$ について $k$ レジスタのプログラムである。したがって「レジスタ機械」と「有限個のレジスタをもつ機械」は同じものであり、Minsky のレジスタ機械(Minsky machine)、カウンタ機械(counter machine)ともよばれる。問題になるのは $k$ の最小値である。
$k$ が小さいと、Church–Turingのテーゼ の記事の「入力を $R_1,\dots,R_k$ に置き出力を $R_0$ から読む」約束は使えない($k=2$ では入力を 2 つ置く場所もない)。そこで入出力を符号で受け渡す。素数を小さい順に $p_0=2,\ p_1=3,\ p_2=5,\dots$ とし、$\rho\colon\mathbb{N}\to\mathbb{N}$ で $\rho(i)=0$($i\ge m$)のものに対し
$$ \gamma(\rho):=\prod_{i< m}p_i^{\rho(i)} $$
とおく($m$ のとり方によらない)。素因数分解の一意性により、$\gamma$ は単射であり、$\rho(r)>0$ であることは $p_r$ が $\gamma(\rho)$ を割り切ることと同値である。

掛け算と割り算の部品

2 レジスタの機械では、$R_0$ の中身 $a$ を主の数、$R_1$ を作業場として使う。次の 2 つの部品は、$R_1=0$ から始めて $R_1=0$ で終わる。

定数倍の部品

$c\ge1$ とする。次の $c+3$ 個の命令からなる部品 $\mathrm{MUL}_c$ を、様相 $(M_0;a,0)$ から動かすと、有限回で $(e;ca,0)$ に達する($e$ は部品の出口の番号)。

  • $M_0=\mathrm{DEC}(0,M_1,N_0)$、$M_i=\mathrm{INC}(1,M_{i+1})$($1\le i\le c-1$)、$M_c=\mathrm{INC}(1,M_0)$
  • $N_0=\mathrm{DEC}(1,N_1,e)$、$N_1=\mathrm{INC}(0,N_0)$

$q=0,1,\dots,a$ について、$q$ 回目に $M_0$ に来たときの様相が $(M_0;a-q,cq)$ であることを $q$ についての帰納法で示す。$q=0$ は仮定である。$q< a$ のとき $M_0$ で $1$ を引いて $M_1$ へ進み、$M_1,\dots,M_c$ で $R_1$ に $c$ を足して $M_0$ へ戻るので、$(M_0;a-q-1,c(q+1))$ になる。$q=a$ では $R_0=0$ なので $N_0$ へ進む。同様に、$N_0$ と $N_1$ の繰り返しは $R_1$ の中身を $1$ ずつ $R_0$ へ移し、$(N_0;u,ca-u)$($u=0,1,\dots,ca$)を経て $(e;ca,0)$ に達する。$\square$

割り算の部品

$c\ge2$ とする。出口を 2 つ($e_{\mathrm{y}}$ と $e_{\mathrm{n}}$)もつ次の部品 $\mathrm{DIV}_c$ を、様相 $(D_0;a,0)$ から動かすと、$c\mid a$ なら $(e_{\mathrm{y}};a/c,0)$ に、$c\nmid a$ なら $(e_{\mathrm{n}};a,0)$ に、有限回で達する。

  • $D_0=\mathrm{DEC}(0,D_1,Y_0)$、$D_i=\mathrm{DEC}(0,D_{i+1},Z_i)$($1\le i\le c-1$)、$D_c=\mathrm{INC}(1,D_0)$
  • $Y_0=\mathrm{DEC}(1,Y_1,e_{\mathrm{y}})$、$Y_1=\mathrm{INC}(0,Y_0)$
  • $Z_i=\mathrm{INC}(0,Z_{i-1})$($2\le i\le c-1$)、$Z_1=\mathrm{INC}(0,W_0)$
  • $W_0=\mathrm{DEC}(1,W_1,e_{\mathrm{n}})$、$W_i=\mathrm{INC}(0,W_{i+1})$($1\le i\le c-1$)、$W_c=\mathrm{INC}(0,W_0)$

$a=qc+s$($0\le s< c$)と割り算する。$D_0$ から $D_c$ までの 1 周は $R_0$ から $c$ を引いて $R_1$ に $1$ を足すので、帰納法により、$t\le q$ 回目に $D_0$ に来たときは $(D_0;a-tc,t)$ であり、周回 $q$ の中で $D_i$ に来たときは $(D_i;s-i,q)$ である($0\le i\le s$)。$D_s$ で $R_0=0$ となり、0 の側へ進む。
$s=0$ なら $Y_0$ へ進む。$Y_0,Y_1$ の繰り返しは $R_1=q$ を $R_0$ へ移すので $(e_{\mathrm{y}};q,0)=(e_{\mathrm{y}};a/c,0)$ に達する。$s\ge1$ なら $Z_s$ へ進み、$Z_s,\dots,Z_1$ で $R_0$ に $s$ を足して $(W_0;s,q)$ になる。$W_0$ から $W_c$ までの 1 周は $R_1$ から $1$ を引いて $R_0$ に $c$ を足すので、$q$ 周の後 $(W_0;s+qc,0)$ となり、$(e_{\mathrm{n}};a,0)$ に達する。$\square$

2 つのレジスタへの帰着

2 レジスタによる模倣

$P$ を長さ $n$ の $m$ レジスタのプログラムとする。2 レジスタのプログラム $\widehat P$ があって、$\rho(i)=0$($i\ge m$)を満たすすべての $\rho$ について次が成り立つ。$\widehat P$ が様相 $(0;\gamma(\rho),0)$ から停止するのは、$P$ が $(0,\rho)$ から停止するときちょうどであり、このとき $P$ の停止様相を $(n,\rho')$ とすると、$\widehat P$ の停止様相は $(\widehat n;\gamma(\rho'),0)$ である($\widehat n$ は $\widehat P$ の長さ)。

構成. $P$ の各命令 $I_\ell$($\ell< n$)に対し、部品 $B_\ell$ を次のように定める。$I_\ell=\mathrm{INC}(r,j)$ なら $B_\ell:=\mathrm{MUL}_{p_r}$、$I_\ell=\mathrm{DEC}(r,j,j')$ なら $B_\ell:=\mathrm{DIV}_{p_r}$ とする。$B_0,\dots,B_{n-1}$ をこの順に並べ、$B_\ell$ の最初の命令の番号を $b_\ell$ とし($b_0=0$)、$b_n:=\widehat n$(全体の長さ、すなわち停止)とおく。そのうえで、$\mathrm{MUL}$ の出口 $e$ を $b_j$ に、$\mathrm{DIV}$ の出口 $e_{\mathrm{y}}$ を $b_j$ に、$e_{\mathrm{n}}$ を $b_{j'}$ に替える。命令は $R_0,R_1$ しか使わないので、$\widehat P$ は 2 レジスタのプログラムである。
1 段の模倣. $(\ell,\rho)$ が $P$ の停止様相でない様相で、その次の様相を $(\ell_1,\rho_1)$ とする。$\widehat P$ を $(b_\ell;\gamma(\rho),0)$ から動かすと、ほかの $b_{\ell''}$ を通らずに有限回で $(b_{\ell_1};\gamma(\rho_1),0)$ に達することを示す。部品 $B_\ell$ は、部品の命令の行き先の番号を $b_\ell$ だけずらし、出口だけを替えた番号にして置いたものである。Church–Turingのテーゼ の記事の補題「連結と付け替え」の 3 と同じ段数についての帰納法(出口が 2 つの $\mathrm{DIV}$ でも同じ)により、部品 $B_\ell$ は単独で動かしたのと同じ変化をし、出口に当たる段で替えた番号へ進む。$I_\ell=\mathrm{INC}(r,j)$ なら、lem-mrm-mul により $(b_j;p_r\gamma(\rho),0)$ に達し、$p_r\gamma(\rho)=\gamma(\rho+\mathbf{e}_r)=\gamma(\rho_1)$、$j=\ell_1$ である。$I_\ell=\mathrm{DEC}(r,j,j')$ なら、lem-mrm-div を使う。$\rho(r)>0$ のときは $p_r\mid\gamma(\rho)$ なので $(b_j;\gamma(\rho)/p_r,0)=(b_j;\gamma(\rho-\mathbf{e}_r),0)$ に、$\rho(r)=0$ のときは $p_r\nmid\gamma(\rho)$ なので $(b_{j'};\gamma(\rho),0)$ に達する。どちらも $(b_{\ell_1};\gamma(\rho_1),0)$ である。
全体. $P$ の $(0,\rho)$ からの計算を $(\ell_t,\rho_t)$ とする。1 段の模倣を繰り返すと、$\widehat P$ の $(0;\gamma(\rho),0)$ からの計算は $(b_{\ell_t};\gamma(\rho_t),0)$ を順に通る。$P$ が $t$ 段目で初めて停止様相 $(n,\rho')$ に達するなら、$\widehat P$ は $(b_n;\gamma(\rho'),0)=(\widehat n;\gamma(\rho'),0)$ に達して停止する。それまでの途中の様相の番号は $\widehat n$ でないので、それより前には停止しない。$P$ が停止しないなら、$\widehat P$ は番号 $b_{\ell_t}$($\ell_t< n$)を無限回通り、そのどれも停止の番号ではないので停止しない。$\square$

模倣にかかる段数は、$P$ の 1 段あたり $\gamma(\rho)$ に比例する。$\gamma(\rho)$ はレジスタの中身について指数的に大きいので、2 レジスタの機械は極めて遅い。この帰着は計算できるかどうかだけを保ち、計算の速さは保たない。

Minsky の定理

$f\colon\mathbb{N}\rightharpoonup\mathbb{N}$ を μ再帰関数とする。2 レジスタのプログラム $\widehat Q$ があって、すべての $x\in\mathbb{N}$ について、$\widehat Q$ が $(0;2^x,0)$ から停止するのは $f(x)$ が定義されるときちょうどであり、このとき停止様相で $(R_0,R_1)=(2^{f(x)},0)$ となる。

Church–Turingのテーゼ の記事の定理「μ再帰関数のレジスタ機械による計算」により、$f$ を整った形で計算するプログラム $P$ がある。同記事の部品 $\mathrm{MOV}(0,1)$($R_0$ の中身を $R_1$ へ移す)と $\mathrm{CLR}(1)$($R_1$ を空にする)を使い、$Q:=\mathrm{MOV}(0,1);P;\mathrm{CLR}(1)$ とおく。$R_0=x$、ほかが $0$ の様相から $Q$ を動かすと、$\mathrm{MOV}(0,1)$ の後は $R_1=x$、ほかが $0$ で、これは $P$ の入力 $x$ の初期様相である。同記事の補題「連結と付け替え」の 1 により、$Q$ が停止するのは $P$ が停止するとき、すなわち $f(x)$ が定義されるときちょうどである。このとき整った形の定義により $P$ の停止様相は $R_0=f(x)$、$R_1=x$、ほかが $0$ であり、$\mathrm{CLR}(1)$ の後は $R_0=f(x)$、ほかが $0$ になる。$Q$ に thm-mrm-two-register を当てはめて得る 2 レジスタのプログラムを $\widehat Q$ とすると、初期の符号は $\gamma(x\mathbf{e}_0)=2^x$、停止したときの符号は $\gamma(f(x)\mathbf{e}_0)=2^{f(x)}$ である。$\square$

加法の模倣

Church–Turingのテーゼ の記事の例「加法のプログラム」の長さ $4$ のプログラム
$$ I_0=\mathrm{DEC}(1,1,2),\quad I_1=\mathrm{INC}(0,0),\quad I_2=\mathrm{DEC}(2,3,4),\quad I_3=\mathrm{INC}(0,2) $$
は 3 レジスタのプログラムで、$R_1=x$、$R_2=y$ から $R_0=x+y$、$R_1=R_2=0$ で停止する。thm-mrm-two-register の $\widehat P$ は、$B_0=\mathrm{DIV}_3$(出口 $e_{\mathrm{y}}\to b_1$、$e_{\mathrm{n}}\to b_2$)、$B_1=\mathrm{MUL}_2$(出口 $\to b_0$)、$B_2=\mathrm{DIV}_5$(出口 $e_{\mathrm{y}}\to b_3$、$e_{\mathrm{n}}\to b_4$)、$B_3=\mathrm{MUL}_2$(出口 $\to b_2$)を並べたもので、$(0;3^x5^y,0)$ から $(b_4;2^{x+y},0)$ に達して停止する。前半は「$3$ で割れる限り $3$ で割って $2$ を掛ける」、後半は同じことを $5$ について行う。$3^x5^y$ の $3$ と $5$ の指数が、$2$ の指数に移されていく。

停止問題の決定不能性

$P$ を 2 レジスタのプログラムとし、
$$ H_P:=\{a\in\mathbb{N}\mid P\text{ は }(0;a,0)\text{ から停止する}\} $$
をその 停止集合 とよぶ。集合が決定可能であることは 停止問題 の記事の定義「決定可能と半決定可能」による。

2 レジスタの機械の停止問題

2 レジスタのプログラム $P$ で、停止集合 $H_P$ が決定可能でないものが存在する。とくに、2 レジスタのプログラム $P$ と $a\in\mathbb{N}$ の組から「$P$ が $(0;a,0)$ から停止するか」を判定する計算可能な手順は存在しない。

$K$ を 停止問題 の記事の定義「停止問題」の自己停止集合とする。同記事の定理「停止集合は半決定可能」により、$K=\operatorname{dom}g$ となる Turing 計算可能な部分関数 $g$ があり、Church–Turingのテーゼ の記事の系「計算のモデルの一致」により $g$ は μ再帰関数である。$g$ に cor-mrm-minsky を当てはめて得る 2 レジスタのプログラムを $P$ とすると、すべての $x$ について
$$ x\in K\iff 2^x\in H_P $$
である。$H_P$ が決定可能なら、$\chi_K(x)=\chi_{H_P}(2^x)$ は計算可能な関数の合成になる($\chi_{H_P}$ は計算のモデルの一致により μ再帰関数、$x\mapsto2^x$ は原始再帰関数であり、μ再帰関数は合成で閉じている)。これは同記事の定理「停止問題の決定不能性」に反する。後半は、前半の $P$ を固定すれば判定の手順が $H_P$ の判定になることから従う。$\square$

停止問題 の記事の例「停止を判定できない 1 台の機械」と同じく、決定不能性は 1 台の機械の中にすでに現れる。しかもその機械は、レジスタを 2 つしかもたない。

1 つのレジスタでは足りない

1 レジスタのプログラム $P$ についても、停止集合 $H_P:=\{a\mid P\text{ は }(0;a)\text{ から停止する}\}$ を同じように定める。

1 レジスタの機械の停止集合

$P$ を長さ $n$ の 1 レジスタのプログラムとする。整数 $d\ge1$ があって、$a>n$ を満たすすべての $a$ について $a\in H_P\iff a+d\in H_P$ が成り立つ。とくに $H_P$ は決定可能である。

要点:レジスタが正である間は、命令の進み方は中身によらず決まる。その道筋は最終的に周期的になり、1 周での中身の増減の符号で場合が分かれる。

詳しい証明を開く

正の間の道筋. $\ell< n$ に対し、$I_\ell=\mathrm{INC}(0,j)$ なら $\sigma(\ell):=j$、$\delta(\ell):=1$、$I_\ell=\mathrm{DEC}(0,j,j')$ なら $\sigma(\ell):=j$、$\delta(\ell):=-1$ とおく。様相 $(\ell;v)$ で $v>0$ なら、次の様相は $(\sigma(\ell);v+\delta(\ell))$ である($\mathrm{INC}$ では $v=0$ でも同じ)。$\ell_0:=0$、$\ell_{t+1}:=\sigma(\ell_t)$ と、$\ell_t=n$ になるまで定め、$s_t:=\sum_{u< t}\delta(\ell_u)$ とおく。$\lvert s_t\rvert\le t$ である。入力 $a$ からの計算は、$a+s_u>0$($u< t$)である限り、$t$ 段目で $(\ell_t;a+s_t)$ にある($t$ についての帰納法)。

場合 1:ある $\tau\le n$ で $\ell_\tau=n$ となる. $a>n$ なら $u<\tau$ で $a+s_u\ge a-u>0$ なので、計算は $\tau$ 段目で停止する。よって $a>n$ はすべて $H_P$ に属し、$d:=1$ でよい。

そうでなければ $\ell_0,\dots,\ell_n$ は $\{0,\dots,n-1\}$ に入るので、ある $\mu\ge0$、$p\ge1$、$\mu+p\le n$ で $\ell_{\mu+p}=\ell_\mu$ となり、$t\ge\mu$ で $\ell_{t+p}=\ell_t$、したがって $s_{t+p}=s_t+D$($D:=s_{\mu+p}-s_\mu$)である。

場合 2:$D\ge0$. $a>n$ とする。$t\le n$ なら $a+s_t\ge a-t>0$ である。$t>n$ なら $t=t'+kp$($\mu\le t'<\mu+p$、$k\ge1$)と書けて $a+s_t=a+s_{t'}+kD\ge a+s_{t'}>0$ である。よって計算は道筋 $\ell_t$ を永久にたどり、$\ell_t\ne n$ なので停止しない。$a>n$ はどれも $H_P$ に属さず、$d:=1$ でよい。

場合 3:$D<0$. $d:=-D$ とおく。$s_{\mu+kp}=s_\mu-kd\to-\infty$ で $s_t$ は $1$ ずつしか変わらないので、$a>n$ に対し $T(a):=\min\{t\mid s_t=-a\}$ が存在する。$\lvert s_t\rvert\le t$ より $T(a)\ge a>n\ge\mu+p$ である。$t< T(a)$ では $a+s_t>0$ なので、計算は $T(a)$ 段目で $(\ell_{T(a)};0)$ に達する。その後の計算は様相 $(\ell_{T(a)};0)$ だけで決まるので、$a\in H_P$ は「$P$ が $(\ell_{T(a)};0)$ から停止する」ことと同値である。

$T(a+d)=T(a)+p$ を示す。$s_{T(a)+p}=s_{T(a)}-d=-a-d$ なので $T(a+d)\le T(a)+p$ である。逆に $t:=T(a+d)$ は $t>n\ge\mu+p$ を満たすので $s_{t-p}=s_t+d=-a$ となり、$T(a)\le t-p$ である。$T(a)\ge\mu$ なので $\ell_{T(a)+p}=\ell_{T(a)}$、すなわち $\ell_{T(a+d)}=\ell_{T(a)}$ であり、$a\in H_P\iff a+d\in H_P$ が従う。

決定可能性. $a>n$ では $\chi_{H_P}(a)=\chi_{H_P}\bigl(n+1+((a-n-1)\bmod d)\bigr)$ なので、$\chi_{H_P}$ は $n+d+1$ 個の値の表と剰余だけで書ける。剰余は原始再帰関数なので(原始再帰関数 の記事の命題「有界な和・積・量化・最小化」で書ける)、$\chi_{H_P}$ は原始再帰関数であり、決定可能である。$\square$

cor-mrm-halting と比べると、レジスタの個数 $2$ は最小である。1 レジスタの機械は、入力を剰余で振り分け、レジスタが空になったときの命令の番号で答えを決めることしかできない。2 つ目のレジスタがあると、1 つ目の中身を何回でも別の場所に退避させて戻せるので、lem-mrm-div のような「割り切れるかどうか」の判定が中身を壊さずにできる。

1 レジスタの機械の例

長さ $3$ のプログラム $I_0=\mathrm{DEC}(0,1,3)$、$I_1=\mathrm{DEC}(0,0,2)$、$I_2=\mathrm{INC}(0,2)$ を考える。正の間の道筋は $0,1,0,1,\dots$ で、1 周 $p=2$ で中身は $D=-2$ 変わる(prf-mrm-one-register の場合 3、$d=2$)。入力 $a$ が偶数なら $I_0$ で中身が $0$ になって停止し、奇数なら $I_1$ で中身が $0$ になって $I_2$ に進み、$I_2$ は自分自身へ戻り続けるので停止しない。$H_P$ は偶数の全体である。

反例:条件を外すと成り立たない

cor-mrm-halting は、命令の 2 つの機能(加算と、0 かどうかの分岐を伴う減算)とレジスタ 2 つの組み合わせから生じる。どれか 1 つを欠くと、停止集合は決定可能になる。

外す条件反例成り立たなくなること
レジスタが 2 つ1 レジスタのプログラム停止集合が決定不能になりうること:thm-mrm-one-register によりつねに決定可能
$\mathrm{DEC}$ が 0 かどうかで行き先を変える$\mathrm{DEC}(r,j,j')$ をすべて $j'=j$ に限ったプログラム同上:$H_P$ は $\emptyset$ か $\mathbb{N}$
$\mathrm{INC}$ を使える$\mathrm{DEC}$ だけからなるプログラム同上:$H_P$ は決定可能
反例の確かめ

2 行目:$j'=j$ なら、どの命令も次の命令の番号をレジスタの中身によらずに決める。よって命令の番号の列は入力によらず、停止するかどうかも入力によらない。$H_P$ は $\emptyset$ か $\mathbb{N}$ であり、どちらも決定可能である。
3 行目:$\mathrm{DEC}$ だけのプログラムでは、各レジスタの中身は増えないので、$(0;a,0)$ から到達する様相は $\{0,\dots,n\}\times\{0,\dots,a\}\times\{0\}$ の $(n+1)(a+1)$ 個に限られる。計算が $(n+1)(a+1)$ 段の間に停止しなければ、ある様相が 2 度現れ、計算は決定的なのでその間を繰り返して停止しない。したがって $a\in H_P$ は「$(n+1)(a+1)$ 段以内に停止する」ことと同値であり、その段数だけ動かせば判定できる。

補足

  • Minsky の原論文. Min61 は Post のタグ系の停止問題が決定不能であることを示すために、Turing 機械をまず「書き込まない 2 本のテープをもつ機械」で表し(Theorem I、p. 444)、そのテープの位置を数として扱った。§3 の Theorem Ia(p. 449)は、加算と 0 判定つきの減算だけで 2 つの整数を操作するプログラムが、$2^n$ から $2^{T(n)}$ を計算することを述べる。cor-mrm-minsky はこの形の主張である。同じ箇所の Theorem IIa(p. 449)は、1 つの整数に「定数を掛ける」「定数で割り切れれば割る」命令だけで同じことができると述べ、p. 450 ではその定数を $2$ と $3$ に限れることを thm-mrm-two-register と同じ対応で示している。
  • ほかの模型との関係. 2 レジスタの機械は Turing 機械と同じ関数を(符号を通して)計算できるので、Church–Turingのテーゼ の記事の節「証明できないこと、証明できること」の表にある「モデルの一致」の例をさらに小さい模型にまで押し広げたものといえる。決定不能性の証明では、2 レジスタの機械の停止問題が、タグ系などの組合せ的な問題へ帰着させる出発点としてよく使われる。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する