第5回
◎セル・オートマトンを考える。
問題:□と■を横に三つ並べたい。二種類を混ぜて使っても、一種類だけ使ってもよい。並べ方は何通りあるか。
解答は「8通り」。
この問題は、記号論理学の基礎として大変重要である。なぜなら、第一に記号論理学は「記号の並べ方」をきわめて重視するからである。記号を使って論理的に考えたり、計算したりする際には「規則にしたがって並べる」ことが重要なのである。規則がないと、うまく並んだかどうか自分でも分からなくなってしまう。
第二のポイントは「二種類の記号を並べる」ということである。記号論理学の基本は、□と■、「1」と「0」、「真」と「偽」、「T」と「F」など、二種類の記号を使って考えるところにある。それゆえに、「二種類の記号をいくつか組み合わせる」ことが重要になるのだ。二種類の記号について考える場合、「二つに枝分かれする図」を描くと数え落としがなく便利である。
例えば、上の問題を考える時には、三つのマスそれぞれに□と■の二種類があるわけだから、並べ方は「2通り」X「2通り」X「2通り」つまり2X2X2=8となって「8通り」あることが分かる。図を見れば考え方のプロセスがよくわかるだろう。出発点には□と■の二種類がある。□の方から調べると、二番目に□と■の二種類に枝分かれする。つまり□□と□■である。さらに、それぞれが三番目に□と■の二種類に枝分かれする。これで□□□、□□■、□■□、□■■の四種類ができる。後は一番目の□を■に置き換えて、残りの四種類も同様に考えることができる。
問題:□と■を凸の形に並べたい。(4個の□または■を使うことになる。)二種類を混ぜて使っても、一種類だけ使ってもよい。並べ方は何通りあるか。
解答は「16通り」である。□か■を三つ並べるのが前の問題であったから、その上に□または■を置けば解答になる。□を上に置いて8通り、■を上に置いて8通りあるので、合計16通りになる。
さて、これだけでは、ただの並べ方の問題で終わってしまうが、見方を変えると、この問題には別の解釈もあることがわかる。それは「□と■を三つ組み合わせることで、その上のマスが□か■か、自動的に決定される仕組みが作れる」ということである。「自動的に決定される」というところが特に重要だ。ある記号の並べ方によって次の記号が自動的に決定される時、前の記号をインプット(入力)、次の記号をアウトプット(出力)と呼ぶ。自動的な決定のルールを何らかの機械に代行させれば、その機械は最初に人間がインプットするだけで、後は自動的にアウトプットの仕事を永遠に続けることができる。これがコンピュータの原理なのである。
コンピュータが一度プログラムすると人間がストップさせない限り同じ仕事を続けるのは、機械の内部で「インプット→アウトプット→インプット→アウトプット…」というプロセスを無限に繰り返しているからなのである。その原理はここで見た「□と■」の並べ方のルールと全く同じである。(コンピュータではメモリに1か0の数字が入る。)
問題:三つのマスの並び方によって上のマスが□か■か決まることにする。次のようにルールを決め、図のマスを塗りなさい。
◎このようなゲームを「セル・オートマトン」と呼ぶ。「マス目の自動機械」という意味である。
◎2次元セル・オートマトン(ライフゲーム Game of Life)
1次元のセル・オートマトンを2次元に拡張してみよう。2次元のセル・オートマトンは「ライフゲーム」とも呼ばれる。「ライフゲーム」は、1970年代にイギリス出身の数学者ジョン・コンウェイ(John Horton Conway 1937-2020)が考案したゲームである。1次元のセル・オートマトンでは、横1列のマス目(セル)を縦方向(世代)に展開して2次元の図形を描かせた。これに対して、2次元のセル・オートマトンは、横3列、縦3列のマス目、つまり9個のセルからできる正方形を一つの単位とする。そして、中心のセルと周囲の8個のセル(下図)の関係によってルールを決める。セルが■の時、セルを「生きている」と定義し、セルが□の時、セルは「死んでいる」と定義する。
【コンウェイのライフゲームの規則】
1 現在の世代でセルが生きていて、周囲の生きているセルの数が1以下の時、次世代ではセルが死ぬ。
2 現在の世代でセルが生きていて、周囲の生きているセルの数が4以上の時、次世代ではセルが死ぬ。
3 現在の世代でセルが生きていて、周囲の生きているセルの数が2または3の時、次世代でセルは生き残る。
4 現在の世代でセルが死んでいて、周囲の生きているセルの数が3の時、次世代でセルが生まれる。
5 現在の世代でセルが死んでいて、周囲の生きているセルの数が3でない時、次世代でセルは生まれない。
以上の規則に従ってランダムに配置されたセルの生死を計算すると次のような図形ができる。
この図形で平面上のセルは「ある世代でのセルの生死」を示している。1次元のセル・オートマトンでは連続した世代の変化を平面で見ることができるが、2次元のセル・オートマトンの場合、連続した動画として見なければ世代の変化は見られない。世代の変化を表現するには3次元への拡張が必要である。
◎アルゴリズムを考える。
「アルゴリズム」は本来「計算手順」のことであるが、「問題解決のための最短手順」という意味でよく使われる言葉である。
例えば、上の「図2」は並べ方を考えるアルゴリズムを示している。このような図を「樹形図」「枝分かれ図」と呼ぶ。
【問題】
相手の誕生日を当てるゲームを作りたい。少ない質問回数で当てるにはどうしたらよいか。
@1から31までの数字を聞いていく。
→ 最小1回から最大31回まで質問が必要。
A枝分かれ式で聞く。
・15日以前と16日以後に分ける。
・さらにそれぞれの組を二分割していく。
・5回程度の質問で誕生日にたどり着く。
*この方法は 2 → 4 → 8 → 16 → 32 を逆にたどるやり方である。
B枝分かれだが、相手にわかりにくい方法で聞く。
・生まれた日が二桁なら、それぞれの数字を足す。それでも二桁なら、さらに足して一桁にしてもらう。一桁の人はそのまま。その数字を聞く。
・「生まれた日は偶数(または奇数)ですか?」と聞く。
→ ここまででわかる場合もある。
・「誕生日は15以下ですか?」と聞く。
→ これで一つに絞れる。
◎なぜBで誕生日がわかるか。
合計の数字:それに属する誕生日
1: 1、10、19、28
2: 2、11、20、29
3: 3、12、21、30
4: 4、13、22、31
5: 5、14、23
6: 6、15、24
7: 7、16、25
8: 8、17、26
9: 9、18、27
*最短なら質問2回で当たる理由を考えてみよう。
*このようなアルゴリズムはソーティング(並べ替え・分類)で使われる。
◎エキスパート・システム
枝分かれ式の選択システムを高度化したものがエキスパート・システムである。
知識データベースを基にしてアドバイスを行なうことができる。
*医療、リスク管理、アンケートなどに応用されている。
◎次の図式でシステムを作成してみよう。
例
システムの例
このソフトは精神科医・町沢静夫氏による『ボーダーラインの心の病理』(創元社)の「ボーダーライン・スケール」を元に作成しました。あくまでもウェブ上でのカウンセリング・システムの一つの試みです。医学的診断をすることが目的ではありませんので、その点をご理解の上ご使用下さい。ページをリセットしたい時は、一度ウィンドウを閉じて、もう一度リンクをクリックして下さい。
◎フローチャートを考える。
人工知能論ホームページ