コンピュータオートマトン理論と形式言語理論ってよくわからないですよね。いえ、情報科学や数学、言語学や認知科学などの重要な基礎理論なので、「わからない!」で済ませておくわけにはいきません。そんな情報科学初心者におすすめなのが『白と黒のとびら』。ストーリーを楽しんでいるうちに、いつの間にかオートマトン理論と形式言語理論の概要が理解できます。オートマトン理論とは?大雑把に言えば、抽象的な計算機のモデルです。抽象的なモデルなので、目に見えたり、手に触れるような形で存在しているわけではありません。コンピュータや自動販売機、自動ドア、からくり人形といった機械の「動作」や、私たち人間が行う「手続き的な行為」から、それらに共通する「計算機的な性質」を抜き出し、書き表したものです。オートマトンはいくつかの状態があり、その中には「初期状態」と「終了状態」があります。オートマトンに「記号」を入力すると、オートマトンの状態が変わります(「状態遷移」と言います)。単純なオートマトンでは、次にどの状態に遷移するかは、現在の状態と入力される記号の組み合わせによって決まります。「入口の部屋」、終了状態を「出口の部屋」、入力される記号を「扉」として表し、遺跡を探検する主人公とともに謎解きが楽しめます。形式言語理論とは?形式言語とは、文字列の集合のことです。「あいうえお」や「abcdef」、「1111」などがそうです。思っていることを表現したり、他人に伝えるための言語ではなく、特定の文字列からなる列を集めたものは、全て「形式言語」と見なします。物語では、この言語を白丸と黒丸の組み合わせで表しています。勉強する必要があるのか?では、なぜオートマトン理論と形式言語理論を勉強する必要があるのでしょうか。それは以下の問いに答えられるようになるためです。1「計算」とはそもそも何なのか?2「計算機」にできること、できないことの境目はどこにあるか?3人間の脳を一種の「計算機械」と見なした場合、私たちの持つ言語能力をどのように説明することができるか?もちろん、本書を読むだけで全てに解答できるわけではありませんが、その大枠はイメージできるようになります。魔術師を目指す物語の主人公と一緒に、謎だらけの洞窟や塔を攻略しながらオートマトン理論と形式言語理論に触れてみてはどうでしょうか。線形代数をご存知ですか。高校で行列を習った人も多いと思いますが、少し強引な説明をすると行列を使った演算のことです。物理って面白くないですよね。私は理系の大学を出ていますが、高校のときは物理がまったく面白くありませんでした。結論からいえば、「瞬間の変化率」を求めることです。ある時刻における新幹線の瞬間速度を捉えるために微分を求める。最近、橋下徹さんが学校で教えなくてもいいと言ったサイン、コサイン、タンジェントのことです。