こんな単純な機械が、たし算をする

よみもの+手を動かす時間:およそ25分

表を書けば、別の仕事をする——では、どこまで?

前のレッスンで、あなたは表を1マス書きかえて、機械の仕事を変えました。テープとヘッドはそのままに、表だけで機械は別人になる。だとすると、気になるのはこの機械はどこまでの仕事ができるのかです。

その境界線さがしが、このコースの残りの旅です。今日はまず「計算」の代表に登場してもらいます——たし算です。

最初の壁:この機械は、数を知らない

ところが、いきなり困ったことがあります。この機械の世界には 0〜9 という数字がありません。テープに書けるのは、表に出てくる記号だけです。

つまりあなたは、たし算より前に数の表し方から決めなくてはいけません。ここでは、いちばん素朴な決め方をします。棒の数で数を表す——1は「1」、2は「11」、3は「111」。

これは、あなたが人数を数えるときに書く「正」の字の親せきです。正の字が5画で1束なのに対して、こちらは束ねず、ただ並べるだけ。そのぶん大きな数ではテープが長くなりますが、機械にとっては読みやすい形です。

よりみち:「数字」と「数」は、別のもの

3という数は、「3」とも「三」とも「111」とも書けます。書き方が変わっても、3個のりんごは3個のままです。ふだん使う10進法も、前のレッスンの2進法も、今日の棒も、ぜんぶ「数そのもの」ではなく数の表し方にすぎません。どう表すかを決める自由は、機械を設計するあなたの側にあります。

たし算が、書きかえに化ける

では「3+2」を計算させましょう。テープにはこう書きます——111+11。棒3本、たすの印、棒2本です。

ここで、テープをじっと見てください。もし「+」を棒にすりかえたら、111111——棒6本になります。1本多いだけです。

つまり、「+」を棒に書きかえて、最後の1本を消す。それだけで、テープには 11111——棒5本、つまり3+2の答えが残ります。たし算という「計算」が、記号の「書きかえ」に化けました。これが今日の見どころです。

動かして、表と照らす

下の実験室で確かめてください。「1歩すすむ」で進めながら、表のどの行が光るかを見るのがおすすめです。

いまの状態すすむ
0 歩目
遷移表(この機械のすべて)
状態読む書く動く次の状態
すすむ11→右へすすむ
すすむ+1→右へすすむ
すすむ__←左へけす
けす1_・そのままおわり

表は4行しかありません。声に出して読むと——「すすむ」で棒を読んだら素どおり。「+」を読んだら棒を書いて素どおり。空白に出会ったら、左へ戻って「けす」。「けす」で棒を読んだら、消して「おわり」。

111+11 では8歩で止まります。前半の6歩は右への旅、7歩目で空白に気づいて引き返し、8歩目で最後の1本を消す。「終わったと気づくにも1歩かかる」——最初のレッスンの律儀さが、ここでも生きています。

計算とは、記号の書きかえである

ここで、今日いちばん大事な見方に名前をつけます。この機械は、3や2という数を「理解」していません。やったのは、決められた手順で記号を書きかえることだけです。

それでも、答えは正しく出ました。チューリングの洞察の核心はここにあります——計算とは、意味の分からない記号を、決まりどおりに書きかえる作業である。書きかえの決まり(表)と数の表し方さえ正しく設計すれば、意味は結果のほうに、ひとりでに宿るのです。

あなたがコース1で動かしたにわ語も、ふだんのコンピュータも、つきつめればこの「書きかえ」をすさまじい速さでやっています。

演習:別の数と、ずるい入力

上の実験室で、ふたつ試してください。

  1. テープのはじめの中身を 1111+111 に変えて、再生する前に最後のテープ歩数を予想する
  2. 次に 1+1+1 ——「+」が2つある入力を入れたら、何が起きるかを予想してから再生する
ヒント1(考え方)

1は、4+3を棒で考えます。歩数は「右への旅」と「引き返してから消すまで」に分けて数えてください。2は、表を読み直しましょう。「すすむ」で「+」を読んだとき、機械は1つめか2つめかを気にするでしょうか。

こたえ

1:テープには 1111111(棒7本、つまり7)が残り、10歩で止まります。8歩の右への旅、9歩目で引き返し、10歩目で1本消します。

2:機械は止まりますが、テープには 1111(棒4本)が残ります。1+1+1の答えは3のはずなのに、です。機械は2つの「+」を両方とも棒にすりかえ、最後の1本しか消しませんでした。エラーも出ません——機械はただ、表のとおりに働いただけです。仕様の外の入力に、機械は責任を持ちません。「+はちょうど1つ」という約束を破ったのは、入力を書いた側なのです。

このレッスンで分かったこと

  • 機械の世界に数字はない。だから数の表し方から自分で決める——今日は棒の数(3は 111
  • 10進法も2進法も棒も、数そのものではなく表し方にすぎない
  • たし算は「+を棒にすりかえ、最後の1本を消す」——計算が記号の書きかえに化けた
  • 表はたった4行。それでも 111+11 は8歩で 11111 になる
  • 仕様の外の入力(1+1+1)にも機械は平気で答えを出す——機械は表のとおりにしか働かない