2014-06-22

白と黒のとびら: オートマトンと形式言語をめぐる冒険

Amazonで見かけて最初の数ページ読んでみて、続きが気になったので購入しました。

白と黒のとびら: オートマトンと形式言語をめぐる冒険

なかなか読ませるじゃないですか。ちゃんと魔法使いの弟子の成長物語になっています。最後まで一気に読んでしまいました。

物語中では「オートマトン」とかその手の専門用語は極力出てこないようになっていて、物語中の設定に従った用語に置き換えられています。
なので知識の無い人でも小難しい単語に翻弄されることはありません。
一応巻末で物語中に出てきた概念と計算理論での概念との対応付けや、それについて詳しく学びたい場合の参考文献が紹介されています。
私はこのあたりの理論は大学や独学で少しかじったり、プログラミング言語などを製作する上で必要な部分を多少知っていたりするだけですが、物語を読みながら「ああ、これはε遷移のことを言ってるんだな」とか記憶を呼び起こされながら読みました。
でもそういう知識が無くても普通に物語として読めるのでは無いかと思います。

後半になるにつれて少し難しくなっていきますが、そういう所は適当に流して読んでも問題ないと思います。
時間があれば、主人公が直面する問題について一緒に解きながら読んでみても面白いかもしれません。

この手の抽象的な理論は、身近な応用と結びつけるとより分かりやすくなると思うのですが、そういった例は自動販売機の例くらいでしょうか。
そういう例がもっとあると、読んだ後にもっとスッキリするのかなぁと思いました。

少し疑問に思ったのは、偽クフ語と万能機械について。偽クフ語の詩集は万能機械に入れる命令を表しているということだと思うのですが、それは偽クフ語をそのまま万能機械に入力すると言うことなのでしょうか。万能機械は、入力された偽クフ語を構文解析して実行する? 
偽クフ語は、作中において手作業で解析をしていましたが、字句の区切りを見つけるのが難しく、また、かなり曖昧な部分が出る言語です。
なので、実際に万能機械を作るとしたら、どのようになるのだろうというのが気になりました。
おそらく命令として有効な文にはさらなる制約があるのでしょうね。