先に「オートマトン」について触れました。その流れというわけではないのですが、セル・オートマトンなども題材にしてみたいなと考えています。
セル・オートマトン、とくに1次元のセル・オートマトンですが、与えられた規則の組に従って状態を変えていくセルが、無限に並んだテープのことです (『別冊サイエンス コンピューターレクリエーションI 遊びの発想』、p. 129より)。コンピュータの画面の幅は有限ですので、実際に遊ぶ場合には左端、右端を適当に切り落して遊びます。また、1次元ですので、画面の構成上は最小で1ドットの高さで表わせます。1ドットの高さでいいわけなので、縦方向には時間の経過によるセル・オートマトンの状態の変化を並べることが可能です。1次元のセル・オートマトンは、それが描き出す図を眺めてみるだけでも楽しいものです (1次元セル・オートマトン)。
1次元のセル・オートマトンから、2次元のセル・オートマトンになると、その一つがライフ・ゲームです。これも見ているだけでも楽しいものです。
1次元のセル・オートマトンも、2次元のセル・オートマトンも、「計算できることなら、何でも計算できる」種類のものがあることが知らせています。
これらのセル・オートマトンとはすこし異なりますが、コア・ウォーというゲームがあります。これはコンピュータのメモリを模した空間に、アセンブリ言語を模した言語で書いたプログラムを置き、対戦させるというようなゲームです。
1次元のセル・オートマトンも、ライフ・ゲームも、コア・ウォーもそれだけで面白いのですが、これを手作業でやるとなると、すこしばかり面倒です。それでもどうにか題材にできないかと考えているのは、セル、あるいはメモリ番地や、状態、あるいは状態の変化などの概念から、チューリング・マシンに繋げられないかと考えているためです。
もちろん、1次元のセル・オートマトンやライフ・ゲーム、コア・ウォーは見ているだけでも楽しいのですが、チューリング・マシンになると、そうはいきません。だいたいチューリング・マシンを題材にする必要があるのか、あるいは触れるだけでもその必要があるのかは、本企画の目的からすると不明です。あるいは、チューリング・マシンに触れるなら、λ計算には触れなくていいのかなどの問題も出てきます。このあたりは、第二版や第三版への課題として残すのが適切かもしれません。
ですが、どれについても、児童・生徒にわかりやすいように、また小道具を使って試してみることができるように、なにかうまい具合に落とし込むことはできないかと考えています。というのも、以下の活動報告で触れた、「計算という概念」にかかわることだからです:
- 「ガジェット・コンピューティング」
- 「sedで足し算(超簡略版)」
- 「sedで掛け算(超簡略版)」
- 「計算は自然か?」
- 「計算ってなんだ?」
- 「足し算はどういう計算なのか?」
「計算という概念」という考え自体、奇妙な考えに思えるかもしれません。それはあたりまえの概念のように思えるかもしれません。ですが、それはあたりまえの概念ではないことは、上記の活動報告などでわかってもらえたらと思います。あたりまえの概念ではないからこそ、今回の活動報告のようなことも含めて、児童・生徒にうまく提示する方法が必要ではないかと考えています。
興味を持たれましたら、ぜひご支援や、コメントをお願いいたします。
プロジェクトの本文や、活動報告についての感想、ご意見、ご質問を、ぜひコメントでお寄せいただければと思います。現在は支援募集期間中であり、本企画の実施期間ではないため、お寄せいただいた感想などについてはリターンとしてではなく、お返事や回答をさせていただきます。
また、私個人についてはこちらをご覧ください。