第1章 「生きている」と言い張る戦略
この章では、実行バイナリを「生きている」と言い張るための戦略を紹介します。また、そのために作成するシステムの構成要素を一通り紹介します。
1.1 「生きている」と言い張る後ろ盾
まず、「何を以て『生きている』と言い張るか」ですが、その後ろ盾は広辞苑で得ることにします。『広辞苑(第7版)』には「生物」について以下のように書かれています。
せい-ぶつ【生物】[礼記楽記] 生きもの。生活しているもの。一般に栄養代謝・運動・成長・増殖など、いわゆる生活現象をあらわすものとされるが、今日では増殖を最も基本的・普遍的属性とみなす。↔無生物
この記述より、「代謝」・「運動」・「成長」・「増殖」の4つの振る舞いを「生活現象」と呼んでいて、「生活現象」を行えば「生物」と見なして良さそうです。
そこで、本書ではこれに「死」を加えた以下の5つの振る舞いを実装することで、「生きている」と言い張ることにします。
- 代謝
- 運動
- 成長
- 増殖
- 死
以降では、このような「生きたバイナリ」を「バイナリ生物」や「バイナリ生命体」と呼称することにします。
1.2 バイナリ生物の構造を考える
5つの振る舞いを考える前に、その振る舞いを成すバイナリ生物の構造を考えます。
単細胞生物の構造から必要な要素をピックアップ
バイナリ生物の構造を考えるに当たり、本書では「単細胞生物*1」を参考にします。単細胞生物といえど、その細胞の中には色々な構成要素がありますが、本書では「タンパク質」と「核様体(DNA)」、そして目に見えない要素ではありますが、属性情報として「寿命」、の3つをバイナリ生物の細胞の要素とすることにします。
[*1] 特にDNAなどの遺伝物質が核膜で覆われていない原核細胞でできている原核生物を参考にしています。
以降、この節では、細胞を構成する要素について、バイナリ生物を作る上で参考にするポイントのみ簡単に説明します。ただ、筆者は生物学の専門家ではないため、書いている説明は厳密には間違っているかもしれません。ここでの目的はあくまでも「バイナリ生物の設計」で、それをある程度信憑性のあるものにするために現実の単細胞生物を参考にしている、という位置づけのため、生物学的な単細胞生物の定義を細かくトレースすることにはこだわらないことにします。
タンパク質とは
タンパク質は細胞内の液体部分(細胞質)に多数存在し、代謝を行ったり、運動のエネルギーを生み出すなど、機能的な役割を果たします*2。特に、ある物質を別の物質へ変質させる媒体となるようなタンパク質は「酵素タンパク質」と呼ばれます。酵素タンパク質を用いたこの様な物質変化が細胞における「代謝」であり、またそれにより「運動」のためのエネルギーを生み出したりします。
[*2] その他にも細胞の各器官を形作る構成物になるなど、ハードウェア的な役割を果たすタンパク質もあり、タンパク質で何でもやります。
ここでタンパク質の構成を簡単に確認します。まず、タンパク質は、アミノ酸という「化合物」で構成されています。そして「化合物」とは「元素」が2つ以上結合してできた物質を指します。
細胞を含めてまとめると以下の関係です。
- 「細胞」は、複数の「タンパク質」を複数持ち、それを使って何らかの機能を果たす
- 「タンパク質」は、複数の「化合物」でできている
- 「化合物」は、複数の「元素」でできている
- 「タンパク質」は、複数の「化合物」でできている
DNAとは
DNAは、「タンパク質の設計図」と呼ばれるもので、細胞を構成するタンパク質を生み出す役割があります。細胞分裂により「増殖」を行う上で欠かせない機能です。
「ヌクレオチド」という物質で構成されており、ヌクレオチド3つ分(これを「コドン」と呼びます)が一つのアミノ酸に対応することで「タンパク質の設計図」としての機能を果たします。また、これによりDNAからタンパク質を生み出す過程が「セントラルドグマ」と呼ばれるものです。
なお、細胞における「成長」は化合物を蓄えていくことに当たります。本書で扱う単純化された細胞では、細胞分裂のために化合物を集めることが「成長」になります。
属性情報(寿命)
物理的に目に見えるものではないですが、単細胞生物も生物である以上、いつかは死ぬため、「寿命」があります*3。
[*3] 特に、多細胞生物で細胞が組織を作るような場合は、組織によって細胞の寿命が予め決められていて、計画的に死ぬ(アポトーシス)ようにできていたりします。
バイナリ生物を作成する際は、属性情報として寿命も細胞の構成要素として含めることにします。
1.3 処理系
処理系は、言わば「地球環境」のようなものです。本書では、生物を周期的に実行して生物としての振る舞いをさせたり、化合物などのリソースを管理する存在と考えます。
詳しくは次の章で説明します。
1.4 まとめ
本書では、実行バイナリに生物としての「5つの振る舞い」をさせることで「生きている」とします。
「5つの振る舞い」を実現する構造として「細胞」を用います。本書で扱う細胞の構成要素は単純化して「タンパク質」・「DNA」・「属性情報(寿命)」の3つです。
そして、それらの構造を解釈し、周期的に振る舞いを呼び出す存在として「処理系」を用意します。