第2回 2011年5月6日

東京女子大学のトップページ   情報処理センターのページ   東京女子大学の Gmail のページ   東京女子大学の図書館のページ   浅川のホームページ   授業のホームページへ戻る

4 生命とは何か

ここでライフゲームからちょっと離れて,生命とはなにかについて考えてみましょう。

生命とは何か?と問われれば,究極的には, 自己複製することができる機械 ということになると言われています (結婚に失敗してしまった私は今のところ自己複製する見込みが無い壊れた機械ですなーT_T) 。 このこと, すなわち自分自身と同じものを創り出すことができる能力を持った人工生命体を作ろうという試みを紹介しましょう。 イギリスの進化遺伝学者,ジョン・メイナード=スミスは生命のことをこう語っています。 「増殖すること,多様性を持つこと,形質の継承をそなえたものが生きているものであり, これらの性質のうち,一つでも欠けているものは生命とはいえない」 多様性と形質の継承についてはのちほど考えます。 彼はまた「遺伝的なプログラムを持つかどうかが,生命とそうでない物質との絶対的な違いだ。 生気のない世界の中で,これに相当するものはない。人間の作ったコンピュータをのぞいては」 とも書いています。

ご存知のとおり,地球上のほとんどあらゆる生物は遺伝子 DNA を持っていますが, この DNA に書き込まれた情報が, 親から子へと遺伝することで生命が紡ぎ出されています。 ということは DNA に書き込まれている情報が解読できれば生命の不思議 (の少なくともある部分)は解明されたと言って良いでしょう。 これが分子生物学の基本的発想ということはよく知られているとおりですね。

これもよく知られているとおり, DNA の中の塩基配列と呼ばれる部分は,4種類しかありません。 アデニン,チミン,シトシン,グアニンという 4 種のヌクレオチドを意味する 4 文字のアルファベット A, T, C, G の配列です。 生きている細胞はゲノムの情報を伝達するために二重らせん構造の DNA を用いています。 すなわち遺伝情報はこの 4 文字のアルファベットによって書かれていることになります。 ちなみに,人間の DNA 配列は約 60 億対あります。 ちょっとした雑学的知識ですが, 万物の霊長たる人間の DNA より,イモリの DNA の量の方が多いのです(知ってました?)。 そのイモリよりもさらに百合の方が DNA の量は多いです。 人間→天使→神を頂点とする中世キリスト教的生命観は, ここでも脆くも崩れ去ります。 天動説や進化論なども中世キリスト教的世界観を打ち壊してきましたよね。

遺伝情報が 4 文字のアルファベットで書かれているとすれば, (つまり遺伝情報は 30 億年前の生命誕生以来,アナログではなくデジタルです) この情報はデジタル表現が得意なコンピュータ上でも表現できるわけです。 親の持っている情報を複製し, 再生産するメカニズムだけを取り出してプログラムしてやろうというのが人工生命ということになります。 マダムタッソウのロウ人形のように,忠実に詳細を再現しても,動けなければ生命ではありません。 たとえ,それが動いたとしてもゼンマイ仕掛けでは,自己複製はできません。 こう考えてくると,生命の実際の形態を模倣するよりも, いかにして自己複製する機構を創り出すのかという方が重要だろうという発想です。 これが人工生命に関する研究なのです。

人工生命の研究自体は 20 世紀半ばから(ジョン・フォン・ノイマンにより始められました。 彼は,ハンガリー生まれの数学者であり,コンピュータの生みの親でもあります。 現在広く使われているコンピュータのことを,彼の名前をとってノイマン型と言ったります。 またアメリカの原子爆弾開発計画に関与したことでも知られています)あり, さらに 1970 年に非常に簡単なプログラムが考案されブームとなりました。 そう,このゲームがライフゲームというわけです。

4.1 オートマトン

オートマトンとは,本来自動人形の意味というです。 意志をもたず,過去および現在に受けた刺激だけで行動が決定される自動機械あるいは生物をさします。 オートマトンを数学的に記述する場合, 入力信号と出力信号とを結ぶ媒介として内部状態という概念を用います。 内部状態は有限個で,入力信号により内部状態が変わり, また出力信号は内部状態の関数として定まります。 これらの対応関係を表わす関数は明確な形で構成的に定義されます。 この対応関係を論理式あるいはこれを拡張したものによって定式化したり, 具体的な基本要素の組み合わせとして与えられた条件に適するオートマトンを構成することなどが,オートマトン理論の目標となります。 数学的には準群の理論を用いて研究されています。 オートマトンの理論は不連続な入出力に対する回路論, フィードバック理論に相当するものとも考えられます。

4.2 セルオートマトン(セルラオートマタ cellular automata)

空間を微小な格子に分けて各格子(セル)に離散的な値をとる何らかの量を定義し, さらに時間も離散化して,各量の変化を決める規則を導入することにより, 空間的な構造の時間発展を研究する理論体系をセルオートマトンと呼びます。 i 番目の格子における n ステップ目の時刻での量を ui(n) と表わすと, この規則は,

ui(n+1)=Fi(uj(n))

と表わされます。時刻 n+1 での量 u は,一時刻前 n の状態によって定まるとするわけです。 ただし,j は ui の変化にかかわるすべての格子をさすものとします。 この式は,現実の複雑な挙動を,簡単なモデルによって研究するときにしばしば用いられます。 規則を表わす関数 Fi はすべての i に共通のものを採用し, j も i も近接する格子に限る場合が多いです。ライフゲームもそうですね。 セルラオートマタは,数学の分野でいう離散力学系の一種です。

セルラオートマタは,セルによって分割された空間において, 時間に最小単位が存在する場合の計算モデルです。 1940 年代にジョン・フォン・ノイマンとスタニスワフ・ウラムによって考案されました。 当時はコンピュータが発明された直後であり,セルラオートマタ(セルオートマトンともいう)の研究は,方眼紙と筆記具によるものでした。 フォンノイマンの関心は 自己複製機械 にあり, 2 次元セル・オートマトンによる自己複製機械の例を 1952 年に発表しています。 セル・オートマトンが研究者以外の興味をひくきっかけとなったのが, ライフゲームというわけです。 1970 年 10 月のサイエンティフィック・アメリカンという雑誌に, マーチン・ガードナーが紹介したことで反響を呼びました。 サイエンティフィック・アメリカン誌が読者からの手紙を中心とした記事を何度も組んだのだそうです。 興味深いことに, ライフゲームは 万能チューリングマシン であることが証明されています。 これは, ライフゲームは計算機で実行可能な全てのアルゴリズムを作ることができるということを表しています。 サイエンティフィック・アメリカン誌の出版後すぐに, グライダーパターンとR-ペントミノというパターンが発見されました。

glider  r-pentomino
左:グライダー,右:r-ペントミノ

これらのパターンの発見やコンピュータの普及によってライフゲームは流行しました。 夜間あるいは未使用のコンピュータ上でライフゲームのプログラムが動かされることとなり, 興味深いパターンが多数発見されました。 その後、セル・オートマトンの研究はライフゲームのような 2 次元のタイプではなく, 1 次元を中心に進みます。 1980 年には, スティーブン・ウルフラムによって 1 次元セル・オートマトンの 4 分類が完成し, クリストファー・ラングトンによって 「カオスの縁」 と呼ばれる概念が確立しました。 また,3 次元以上のセル・オートマトンも研究対象となっています。

5.2 さまざまパターンの例

ライフゲームでは世代を経ることで最終的に死滅する図形が多いです。 生き延びる場合の変化は 4 パターンに分類することができると言われています。

  1. 固定型は世代が進んでも同じ場所で形が変わらないものを指します。
    FixedPattern
    固定型の例。左からブロック,蜂の巣,ボート,船,池と呼ばれます。
    barge  snake  eater  indicator
    固定型の例。左から,はしけ barge,へび snake,イーター eater,標識
  2. 振動型はある周期で同じ図形に戻るものを指します。
    Oscillation
    振動型の例。左からブリンカー,ヒキガエル,ビーコン,時計,と呼ばれます。
  3. 移動型は一定のパターンを繰り返しながら移動していくものを指します。 グライダー glider と呼ばれるものが有名です。
    Move
    移動型の例。左からグライダー,軽量級宇宙船,中量級宇宙船,重量級宇宙船,と呼ばれます。
  4. 繁殖型はマス目が無限であれば無限に増え続けるパターンであす。

    先述のとおりコンウェイは「無限にセルの数が増えつづけるパターンはありうるか」 という問題に懸賞金をかけ,1970 年 11 月にゴスパー (Bill Gosper) により解かれました。 30 世代毎にグライダーを打ち出す「グライダー銃」と呼ばれるパターンです。

    glider-guns
    グライダーガン

    繁殖型には他にも, 本体が通過した後に破片を残していく「シュシュポッポ列車」 (puffers) や, 宇宙船が集まって移動しながらグライダーを発射していく「宇宙艦隊」と呼ばれるものを含め様々なパターンが見つかっています。

    また,繁殖型の中には時間の2乗に比例した増加を示すパターンがあり, それらは「ブリーダー」と呼ばれています。これもゴスパーにより発見されました。 繁殖型には後にもっと単純なものも見つかっています。 次の3つはいずれも無限に増え続けるパターンです。

    breeder1  breeder2
    breeder3
    ブリーダー

    1 つ目のパターンは初期配置ではわずか 10 個のセルしか生きておらず(これが最少であることが証明されている), 2 つ目のパターンは 5×5 に収まっています。 3 つ目のパターンはわずか 1 列です。

グライダーを利用することで他のオブジェクトとの相互作用を得ることができます。 例えばタイミングよくいくつかのグライダーを打ち出すことでブロックを近くに運んできたり遠くへ移動させたりすることができます。 移動機構はカウンターをシミュレートしていると考えることができます。 グライダーなどのパターンの組み合わせで AND,OR,NOT ゲートを構築することができます。 現在に至るまで他にも様々な性質を持つパターンが発見されていて, グライダー銃による論理ゲート以外にも,素数生成器や大規模でゆっくりとした速度でライフゲーム をエミュレートする unit cell などが発見されています。

ライフゲームのパターンは チューリング完全 であり, ライフゲームはチューリングマシンと同等の計算能力を持つ ことが示されています。 つまりライフゲームの計算能力は昨今のコンピュータと同等なのです。 ライフゲームはパターンで表現されたプログラムを実行するコンピュータであると言うことができるのです。

6 原初の海より生命は生み出せるのか

1970 年の流行以来,ライフゲームには興味深い挙動を示す, 様々なパターンが見つかってきました。 では,初期値をまったくのデタラメにした場合に, どのようなことが起こるのでしょうか? この場合,ライフゲームがシミュレートしていることは, 原初の混沌とした海から生命は誕生するだろうか? ということになるでしょうか。

容易に予想できることは,初期値を乱数によって決めたとしても, もしオンのセルが多すぎたら,過密によってセルは瞬く間に減少してしまうだろう, ということです。反対に,オンのセルが少なすぎたら,過疎によって容易に絶滅してしまうでしょう。 このことを確かめてみましょう。

乱数を用いて初期値を生成するプログラムは,配布教材の中に入っています。 GenRandLife というプログラムです。 このプログラムを起動するには,引数(ひきすう)が 2 必要です。 1 つめの引数は,「しきい値」つまり何パーセントの割合で生きているセルがあるようにするのかを指定します。 2 つめの引数は,「乱数の種 seed」です。 一般に,コンピュータに組み込まれている乱数発生器は, 適当は「種」を与えなければなりません。逆に言うと種が同じならば, 発生する乱数系列は同じになってしまいます。 乱数発生装置によって生成される乱数系列をその都度,デタラメにするには, 種として現在の時刻(1970年1月1日の0時0分0秒0ミリ秒を1とした時間のことを UNIX 紀元何秒と言ったりします)を用いることが,しばしば行なわれます。 この 2 つの引数を使ってプログラムGenRandLifeは, 次のように実行します。

java GenRandLife しきい値 乱数の種

例えば,しきい値を 0.5,乱数の種を 4 にしたければ,

java GenRandLife 0.5 4

などと指定します。第 2 引数である乱数の種を 0 にすれば, 現在の UNIX ミリ秒で乱数系列が初期化されます(すなわち,プログラムを実行する度に違う結果が得られるようになる)。

java GenRandLife 0.5 0 > ./data/rand0.5.csv

などとすれば, しきい値が 0.5 (すなわちセルの生存率がちょうど半分, 画面上では青のセルと白載せるとの比率がおよそ 1:1)のランダムな初期値のファイル rand0.5.csv が data というフォルダの下に保存されます。 この操作は Windows のコマンドプロンプトでも同じです。ただし,スラッシュの部分を¥で置き換えて,

java GenRandLife 0.5 0 > .¥data¥rand0.5.csv      (Windows のコマンドプロンプトの場合)

などとしてください。 あとは,ライフゲームを起動し,このファイルを load して start ボタンを押せば良いだけです。 下の図は,しきい値を 0.9 にしてみた時の例です。

rand0.9

このパターンはスタート直後に絶滅します。また,次の図は, しきい値を 0.1 にした場合の初期値です。

rand0.1

この場合は,長い時間をかけて,次のようなパターンに落ち着きました。

rand0.1-2

しきい値と乱数の種を様々に変化させて,生成されるパターンを観察して楽しんでください。 この観察から, すべてのランダムなパターンは最終的に安定するのか? という重要な問いに答えるのは容易ではないことがわかるでしょう。 先に, ライフゲームの中には,無限に増殖するパターンを作ることができることを示しました (無限にグライダーを発射し続けるグライダーガン)。 しかし,原初の混沌から我々の住むこの宇宙が始まったとしたら, 行き着く先はすべての状態が変化しない 「熱的死」 なのでしょうか。 宇宙論の描き出す未来は,やがてすべての恒星が燃え尽き, 星がすべてブラックホールへと流入し, やがて長い時間をかけてブラックホールが消滅してゆくというシナリオがあります。 明らかに,生命現象はこの熱力学の法則に逆らうように流れていきますが (進化によって次第に複雑になっていく),ここに矛盾は無いのでしょうか? 宇宙論的な時間の流れに比べて,生命に流れる時間ははるかに短いので, 部分的にこのようなことは起こりうるとする考え方が一般的です。 また,すべての生物は究極的には,太陽からのエネルギーを得て生活しているので, 生命現象を,熱力学的な閉じた系で考える必要はないとも言われています。

7 自己複製する機械

7.1 ライフゲームの自己複製

コンウェイは,

  1. 自己複製する生命のようにふるまうライフゲームのパターンが存在する
  2. 十分に大きなライフゲームの空間に, ランダムな初期値を与えてやれば,自己複製できる生命が, どこかに出現して繁殖していく

という 2 点を証明しようとしました。 彼は, グライダーガンを用いて無限に生成されるグライダーを衝突させて物体が生成できることから, グライダーガンとイーターを配置しておき, タイミングよくグライダーを衝突させることで, 元の配置の複製を作ることが可能であることを実証しました。 コンウェイはフォン・ノイマンの自己複製する機械についての理論を用いたのです。

7.2 生命の進化と機械の進化

生命とは自己複製の能力を有していなければならないと考えられることは,先にも述べました。 地球上に最初に現れた前細胞は生命を持たない物質から現れ, その前細胞は自己複製に関する必要最小限の組織しか持たなかったものと考えられています。 環境条件により,より適合しやすい前細胞が生き残り, 自己複製と突然変異によって獲得した情報を DNA に保存して, 次世代へと伝えることができました。 このような過程が約 30 億年蓄積され今の我々があるといえます。

フォン・ノイマンは,自己複製する機械 の中には, 万能建設機自分自身の設計図 という 2 つの要素が必要であろうと考えました。 自分自身の設計図を与えたとき,万能建設機は自分自身を再製します。 フォン・ノイマンの自己複製する機械には「生気」や「生命力」や「神の力」といった魔法じみた, 神秘的な概念は登場しません。 彼は,自己複製の過程を正確に記述し, 一定の最小限度の複雑さしか持たない機械が自己複製を可能なこと示したのです。 生物と機械(特に万能コンピュータ)との同型性というわけです。

現代生物学においては,現実の生物も, フォン・ノイマンが考えた自己複製する機械と似た方法によって増殖していると考えられています。 すなわち,DNA という形をとった設計図が存在します。 そして,リボゾームという万能建設機が存在します。 DNA に含まれている遺伝情報は RNA というメッセンジャーを介してリボゾームに伝達されます。 リボゾームはこの情報を用いてタンパク質を合成します。 リボゾームを万能建設機と呼ぶのは,正しい設計命令さえあれば, ほとんど何でも作ることができる機械だという意味です。 すなわち DNA と RNA がコード化できる 20 種類あまりのアミノ酸を結合して作ることができるタンパク質分子すべてのことを指します。 タンパク質は地球上の生物に固有の物質です。 タンパク質の合成は生きた細胞の中で行われ, 合成されたタンパク質は生物の構造そのものとなります。

このようにして,繰り返される実際の生命の自己複製は, 本質的にフォン・ノイマンの考えた自己複製する機械と同等であることが明らかになったのです。 そして,この考えを具現化したのがライフゲームということになります。 これまで見てきたように,ライフゲームは単純なルールからなりたっていますが, 生成されるパターンは複雑です。

フォン・ノイマンは複雑さの障壁という考え方を考案しました。 機械には(自然界にも),単純な系と複雑な系とがあり,その境目を障壁と表現したのです。 単純な系は自分自身よりも単純な系しか生成できません。 一方,十分に複雑な系は,自分自身よりも複雑な系を生成できます。 このようにして,複雑な系は際限なく複雑になっていきます。 フォン・ノイマンは機械は自分自身より複雑な機械を作ることができると述べています。 これは,生物の進化に相当するとみなすことができるでしょう。 地球上の生命はフォン・ノイマンのいう複雑さの障壁を飛び越えて, 複雑な系へと進化してきました。

8 万物の理論へ向けて

ここにおいて, 進化する機械という概念が生まれます。 生物我々人間の心には,心が宿ります。 機械が進化し続けることが可能であるとすれば,究極的には, 人間の心をコンピュータ上で再現することが可能となるのでしょうか。

物理学者は,長い間 万物の理論 (Theory of Everything)を探し求めてきました。 これは自然界に存在する 4 つの力 (電磁気力,弱い力,強い力,重力)を統一的に記述する理論です。 哲学者の中には,万物の理論(の拡大解釈しすぎの気がしますが)の中には, 当然「心の理論」も含まれていなければならないはずであり,現在の物理学には含まれていない, として批判する人たちもいます。心の問題が取り残されているので, 万物の理論は ゾンビ・ワールド だというわけです。

さて,そこで本日は,いっしょに考えて欲しいのですが, 機械(万能コンピュータ)の未来は,フォン・ノイマンが考えていたように明るいのでしょうか (すなわち進化したコンピュータは心の問題を取り扱うことができるようになるのでしょうか)。 それとも,哲学者たちが考えるようにゾンビ・ワールドで悲観的なのでしょうか。

心の問題は,複雑過ぎてどこから手を付けてよいのやら, その糸口さえわからず途方に暮れてしまいます。 なぜ,人間の脳には心が宿るのか,そもそも心とは何か, 精神や感情や理性は心と同じものなのか,心の問題に科学的に迫ることはできるのか, 心理学者に尋ねても満足な答えは返ってきませんね。

興味は尽きません。映画「ブレードランナー」(原作「アンドロイドは電気羊 の夢を見るか?」)では,アンドロイドであるレプリカントは,人間とまった く見分けがつかないという設定がなされています。そして,奴隷として過酷な 労働から逃れて地球に潜伏します。レプリカントは人間とまったく区別がつか ないという設定。それを見つけ出すのがハリソン・フォード扮するブレードラ ンナー。また,映画「ターミネーター」では,アンドロイドが反乱をおこした 人類の抵抗を終わらせるために,最終兵器アーノルド・シュワルツェネッガー (今やカリフォルニア州知事)扮するターミネーターが送り込まれます。

私は、機械はどこまで人間に迫れるのか?という問いと, 人間はどこまで機械なのか?という問いと,を科学的に考えるのが好きです。 コンピュータが万能な機械であるのなら,適切なプログラムを選べば, 限りなく心の問題に近づいていけると思います。 哲学的議論や宗教的な議論に巻き込まれること無く, 科学的に心の問題にどこまで迫るのか,に興味があります。