情報理工学院 数理・計算科学系 渡辺研究室

本書「今度こそわかる P ≠ NP」の中で割愛した細かな点についての補足ページです.

※以降,記述を短くするため「デスマス調」から「デアル調」に変えます.ご了承ください.


原始プログラムの命令セット(本書の関連個所:2 章)

原始プログラムの命令に関しては,本書では例を述べるだけにとどめている. でも,本当にこうした例にある命令だけでいいの? 最低限,どんな命令が必要なの?と思われた方も多いだろう. 「必要最小限」となると,かなり難しいが, 「まあ,これだけあれば十分だろう」という命令セットの例を考えるのは, そう難しくはない.以下の資料はその一例である.

理解を深めるには, 原始プログラムを実際に書いて, それに基づいて計算がどのように進むかを見ることができるとよいだろう. 以下は,その助けとなるソフトである (原作は加藤肇氏(東工大修士課程, 2014 年度). 素晴らしいソフトを提供して下さった加藤氏に深く感謝します). ダウンロードし,解凍し, index.html をウェブブラウザで開くと, ウェブ上で原始プログラムを入力・編集・実行できるようになっている.

原始プログラムのインタープリタ(本書の関連個所:5 章)

(時間)階層定理の鍵となるのは 原始プログラムのインタープリタ(解釈実行器)だ. 本書では急ぎ足で述べたところもあるので少し補足しておく.

原始プログラムのインタープリタを考える際に,まず重要になるのは, 原始プログラム自身をデータとしてどのように表現するか?である. つまり,原子プログラムの符号化法だ. 通常のプログラミング言語の場合には, プログラムは文字列で表わされている.人間にはその方がわかりやすい. けれども,ここではもっと単純に表わすことにする. 実際,機械語などでは, そのような単純な表現が使われる場合もある.

以下の補足では, 原始プログラムの単純な表現法(の例)と, その表現のもとで表わされた原始プログラムを解釈・実行する インタープリタの概要について述べる.