何か意味をもつものを符号で表現する操作は、エンコーディングと呼ばれている。エンコードされた符号列からその意味をとり出す操作は、デコーディングと呼ばれている。
遺伝情報を記憶するDNAは、4通りのヌクレオチド分子から構成されている。各分子には塩基が含まれ、それがA,C,GまたはTの記号で表される情報をコードしている。この4種の塩基は、アルファベットに相当する。この4種の塩基のうちの3種の塩基の並びが、タンパク質の構成要素であるアミノ酸についての情報をコードしている。この情報は、単語に相当することになる。
ここで、DNA上の塩基記号はどのようにしてエンコーディングされたものかという疑問が生じる。DNAあるいはその元となったと言われるRNAは、生命が誕生した時代につくられたものであろう。しかし、現生の生命体にそのエンコーディングの秘密を解く手がかりあるいは痕跡が残されているのではなかろうか、というわけである。
人間という生命体が、DNA以外にエンコーディングされた体系をもつのだろうか、と考えると、自然言語が思い浮かぶ。辞書によると、「言語」とは、「人間が音声または文字を用いて思想・感情・意志などを伝達したり、理解したりするために用いる記号体系」とある。そうすると、自然言語は、脳の神経ネットワーク上にエンコーディングされた体系と考えてよい。
言語学や音声認識の分野では、言語で用いる最小の単位を音素と呼ぶ。音素が組み合わさって意味のある言語が構成される。例えば、「犬」-inuという単語は、[i],[n],[u]という音素から構成されている。そうすると、アルファベットで表記される音素はDNAの塩基記号に対応し、単語はアミノ酸コードに対応していることが分かる。
人間の脳では、音素は音素モジュール、単語はその上位レベルの単語モジュールと呼ばれるパターン認識機構の中にエンコーディングされていると考えられている。そして、ヒトがチンパンジーから分かれた後、話す言語能力を獲得した時点でこのエンコーディングが始まり、以後、音素と単語の種類の増大とともにエンコーディングを拡大させ充実させていったのであろう。
このようにして、DNAの塩基記号列と人間の音素列のエンコーディングを並べてみると、両者の上位概念となるような抽象的な自然法則が存在するのではなかろうか、と思えてくる。
DNAはどのようにしてエンコーディングされたものかの議論を進める前に、エンコーディングとは何かを確認するために、例としてDNAコンピュータと量子コンピュータをとり上げ、これらのコンピュータではどのようなエンコーディングをしているのか、について見ておきたい。
DNAコンピュータは、例えば算術式の計算を行うコンピュータであり、膨大な数のDNA断片について、2本鎖のDNAを1本鎖に分離したり、相補的な2つのDNAを結合して1つにしたり、2つの試験管中のDNA溶液を1本の試験管にマージしたり、複製によってDNA数を増幅するなどの操作を通じて分子演算を行い、最後の試験管中に解となるDNA片を残すメカニズムである。
DNAコンピュータは、計算が必要なケースの数が非常に多くなるそのケースの一つひとつをシーケンシャルに計算するのではなく、並列して計算して一度に解を出すので、一つの問題に係わるケースの数が非常に多いものを解くのに向いている。超並列型のコンピュータは、普及しているフォン・ノイマン型のコンピュータよりも人間の脳に備わっている並列演算のメカニズムに近いものである。
また、分子演算と呼ばれる操作は、自然環境の中においても、自己組織化によって可能ではないかとも思わせるので、DNA自体のエンコーディングに関係あるのかも知れない。
DNAコンピュータにおいて、2進数1,0をエンコードする方式は、例えば次のようなものである。DNAの塩基AはTと、塩基GはCと相補的な関係にあるので、2本鎖のDNAのうちの1本をプライムとみなして0を割り当てれば、他方の1本には1が割り当てられることになる。
アルファベットA,C,G,Tのランダム・パターンをもつ文字数20字程度のDNA片をラベルとする。あるパターンのラベルを0とみなせば、そのパターンに相補なパターンは1とみなすことになる。
このようなDNAラベルを接続すれば、2進数1,0が並ぶビット列を表現できる。ラベルは、試験管中のDNA片を探索し、目的のDNA片の鎖を抽出するために使用される。
量子コンピュータの記憶装置(メモリ)の構成要素は、量子であり、各量子は、量子ビットと呼ばれる情報を記憶する。現行のコンピュータは、そのメモリに二進法のビットを単位とする0または1の情報を記憶する。量子ビットは、二進法の0と1の状態のほかに0と1が重ね合わせになった状態も保持する。言い換えれば、この状態は、0と1の確定値とは限らず、0か1か不確定のまま0/1の存在確率に意味をおくものと考えられる。
量子コンピュータは、メモリのほかに、論理演算を行うために、量子論理ゲートをもつ量子回路を備える。量子コンピュータは、所定の計算ステップに従って、そのメモリと量子回路とを駆動し、メモリ中の量子ビットの状態を観測する。各量子ビットの状態が0か1に確定するまで計算するのが望ましいが、できるだけその存在確率が1に近づくまで計算を続ける。
量子コンピュータは、指数時間と呼ばれるような現行のコンピュータでは膨大な計算時間を要する問題を、多項式時間と呼ばれる現実的な時間で計算することが期待されている。
量子コンピュータの動作原理は、現行のコンピュータのようにディジタル情報を処理するというよりは、情報をアナログ的に処理するマシンの原理と言った方がよい。この意味で、それは、後述する細胞内の分子演算や神経細胞内の分子演算の動作原理に近いのかも知れない。
そういうわけで、量子コンピュータの情報の最小単位は量子ビットであるから、そのエンコーディング方法とは、物理的な量子として何を用いるか、という問題となる。これまで、強磁場の中で原子を磁石として共鳴させる核磁気共鳴の方法、電磁場やレーザーで荷電粒子を閉じ込めるイオン・トラップ方法、電子をドットとして閉じ込める方法、光子を使う方法などいろいろな方法が試されてきた。いずれの方法にしても、コンピュータが計算している間、量子系の状態の重ね合わせ(言いかえれば量子の波動)が保存されていなければならないが、これが難しい。
以上述べたように、DNAコンピュータや量子コンピュータは、生命体とは何かを考える上で示唆を与えてくれる点もあるが、人工的な計算装置を目標としたものであるから、それらのエンコーディング方法は、生命体の同方法とは直接関係しない。
そこで、本題に戻り、DNAのエンコーディングについて考察することにしたい。
細胞内の分子は、接触で互いに認知することによって分子コミュニケーションが図られる。細胞膜には、レセプター・タンパク質が埋め込まれており、細胞外のホルモン分子が運ぶメッセージを細胞内部の分子に伝達する。その仕組みは、一連の分子相互作用から成り、リレーの鎖に沿ってつぎつぎに分子が変化していく。これらの分子がメッセージをリレーすると同時に、一連の相互作用で信号は増幅され、1個のホルモン分子と1個のレセプターとの結合だけで、細胞内部では活発な反応が生じる。
細胞内には核があり、DNAが存在するので、ホルモンの受容によって新しいタンパク質の生成が必要である場合には、遺伝子の活性化を起こすことになる。この場合には、遺伝情報の読み出し、伝送、処理を伴うので、分子演算と言われるものが存在する。しかし、ホルモン受容によって遺伝子の活性化を起こさない場合もあるので、その場合の分子相互作用の活性化にも分子演算が存在するのか否かは、分からない。
脳がニューロン(神経細胞)からニューロンへとシナプスを介して神経信号を伝達するときにも、同様の分子コミュニケーションが行われる。シナプスのところで、神経信号は軸索から他のニューロンへ伝達される。信号は、通常の場合、電気的状態から化学的状態へ変換される。神経伝達物質と呼ばれる小さなメッセンジャー分子が、シナプス間隙を横切って別のニューロンの細胞膜へと信号を運ぶ。分子メッセージは、他のニューロンの膜の外面まで移動し、そこでレセプター・タンパク質と結合する。
分子メッセージを受け取った神経細胞は、一般の細胞内の分子相互作用と同様の分子コミュニケーションによってメッセージが増幅され、細胞内の反応が活性化される。神経細胞は、他の多数のニューロンからの信号を同時に受け取るので、これら複数の信号を処理するためには、どうしても分子演算が必要となる。
各ニューロンの演算動作は、ニューラルネットと呼ばれる数学的モデルによってシミュレートされている。このモデルの各ニューロンは、簡単に言えば、メモリ機能を備えた論理ゲートとして動作する。ただし、ディジタル回路に組み込まれている論理ゲートというよりは、アナログ的な処理を行い、確率的な演算をするゲートのようである。このため、コンピュータのような電子装置に比べて、人間の脳が行うパターン認識の誤り率は、桁違いに大きくなるのであろう。
ここで、人間が言語能力を獲得する過程を思い起こすと、脳内には新たに音素と単語のエンコーディング操作が行われたことは間違いない。このとき、神経ネットワークの形成は不可欠であるが、その中核となるのが、神経細胞内で行われる分子演算である。そして、獲得された言語能力は、親から子へ、コミュニティの人々から各個人へと伝承されていったのであろう。ちょうど、DNA上の遺伝情報が親から子へと承継されていくように。
このような神経細胞が行う言語のエンコーディング操作は、生命体が行う自己組織化の一例である。このような神経細胞の動作と一般細胞の動作との差分を考慮すると、DNAのエンコーディングも同様に自己組織化の一例であり、分子演算の結果、残された生産物であると考えたくなる。
しかし、ここまで書いてきて、この議論には欠陥があることに気付いた。一般の細胞にせよ、神経細胞にせよ、分子コミュニケーションにはタンパク質分子が関与し、これはDNAの生産物に他ならないという矛盾である。議論は、どうどう巡りとなって、DNAのエンコーディング方法を説明するには至っていないということである。
それでもなおかつ、以上の考察が無駄とは思えない。分子コミュニケーション、並列的に行われる分子演算、体系が望ましい形になっているか否かを観測する量子過程、および言語のエンコーディング操作が、何らかのヒントを与えてくれているように思える。
生物進化の過程を解明するための見方として、細胞内の分子の挙動には量子過程がかかわっているという考え方が有望のようである。進化中の生命体に対して、それがどのように行われるかが、今後の課題である。
参考文献
フィリップ・ボール著「生命をみる」(産業図書)
赤間世紀著「DNAコンピュータがわかる本」(工学社)
竹内薫著「量子コンピュータが本当にすごい」(PHP新書)
西野哲郎著「量子コンピュータ入門」(東京電機大学出版局)
酒井邦嘉著「言語の脳科学」(中公新書)
石川幹人著「人間とはどういう生物か」(ちくま新書)
遺伝情報を記憶するDNAは、4通りのヌクレオチド分子から構成されている。各分子には塩基が含まれ、それがA,C,GまたはTの記号で表される情報をコードしている。この4種の塩基は、アルファベットに相当する。この4種の塩基のうちの3種の塩基の並びが、タンパク質の構成要素であるアミノ酸についての情報をコードしている。この情報は、単語に相当することになる。
ここで、DNA上の塩基記号はどのようにしてエンコーディングされたものかという疑問が生じる。DNAあるいはその元となったと言われるRNAは、生命が誕生した時代につくられたものであろう。しかし、現生の生命体にそのエンコーディングの秘密を解く手がかりあるいは痕跡が残されているのではなかろうか、というわけである。
人間という生命体が、DNA以外にエンコーディングされた体系をもつのだろうか、と考えると、自然言語が思い浮かぶ。辞書によると、「言語」とは、「人間が音声または文字を用いて思想・感情・意志などを伝達したり、理解したりするために用いる記号体系」とある。そうすると、自然言語は、脳の神経ネットワーク上にエンコーディングされた体系と考えてよい。
言語学や音声認識の分野では、言語で用いる最小の単位を音素と呼ぶ。音素が組み合わさって意味のある言語が構成される。例えば、「犬」-inuという単語は、[i],[n],[u]という音素から構成されている。そうすると、アルファベットで表記される音素はDNAの塩基記号に対応し、単語はアミノ酸コードに対応していることが分かる。
人間の脳では、音素は音素モジュール、単語はその上位レベルの単語モジュールと呼ばれるパターン認識機構の中にエンコーディングされていると考えられている。そして、ヒトがチンパンジーから分かれた後、話す言語能力を獲得した時点でこのエンコーディングが始まり、以後、音素と単語の種類の増大とともにエンコーディングを拡大させ充実させていったのであろう。
このようにして、DNAの塩基記号列と人間の音素列のエンコーディングを並べてみると、両者の上位概念となるような抽象的な自然法則が存在するのではなかろうか、と思えてくる。
DNAはどのようにしてエンコーディングされたものかの議論を進める前に、エンコーディングとは何かを確認するために、例としてDNAコンピュータと量子コンピュータをとり上げ、これらのコンピュータではどのようなエンコーディングをしているのか、について見ておきたい。
DNAコンピュータは、例えば算術式の計算を行うコンピュータであり、膨大な数のDNA断片について、2本鎖のDNAを1本鎖に分離したり、相補的な2つのDNAを結合して1つにしたり、2つの試験管中のDNA溶液を1本の試験管にマージしたり、複製によってDNA数を増幅するなどの操作を通じて分子演算を行い、最後の試験管中に解となるDNA片を残すメカニズムである。
DNAコンピュータは、計算が必要なケースの数が非常に多くなるそのケースの一つひとつをシーケンシャルに計算するのではなく、並列して計算して一度に解を出すので、一つの問題に係わるケースの数が非常に多いものを解くのに向いている。超並列型のコンピュータは、普及しているフォン・ノイマン型のコンピュータよりも人間の脳に備わっている並列演算のメカニズムに近いものである。
また、分子演算と呼ばれる操作は、自然環境の中においても、自己組織化によって可能ではないかとも思わせるので、DNA自体のエンコーディングに関係あるのかも知れない。
DNAコンピュータにおいて、2進数1,0をエンコードする方式は、例えば次のようなものである。DNAの塩基AはTと、塩基GはCと相補的な関係にあるので、2本鎖のDNAのうちの1本をプライムとみなして0を割り当てれば、他方の1本には1が割り当てられることになる。
アルファベットA,C,G,Tのランダム・パターンをもつ文字数20字程度のDNA片をラベルとする。あるパターンのラベルを0とみなせば、そのパターンに相補なパターンは1とみなすことになる。
このようなDNAラベルを接続すれば、2進数1,0が並ぶビット列を表現できる。ラベルは、試験管中のDNA片を探索し、目的のDNA片の鎖を抽出するために使用される。
量子コンピュータの記憶装置(メモリ)の構成要素は、量子であり、各量子は、量子ビットと呼ばれる情報を記憶する。現行のコンピュータは、そのメモリに二進法のビットを単位とする0または1の情報を記憶する。量子ビットは、二進法の0と1の状態のほかに0と1が重ね合わせになった状態も保持する。言い換えれば、この状態は、0と1の確定値とは限らず、0か1か不確定のまま0/1の存在確率に意味をおくものと考えられる。
量子コンピュータは、メモリのほかに、論理演算を行うために、量子論理ゲートをもつ量子回路を備える。量子コンピュータは、所定の計算ステップに従って、そのメモリと量子回路とを駆動し、メモリ中の量子ビットの状態を観測する。各量子ビットの状態が0か1に確定するまで計算するのが望ましいが、できるだけその存在確率が1に近づくまで計算を続ける。
量子コンピュータは、指数時間と呼ばれるような現行のコンピュータでは膨大な計算時間を要する問題を、多項式時間と呼ばれる現実的な時間で計算することが期待されている。
量子コンピュータの動作原理は、現行のコンピュータのようにディジタル情報を処理するというよりは、情報をアナログ的に処理するマシンの原理と言った方がよい。この意味で、それは、後述する細胞内の分子演算や神経細胞内の分子演算の動作原理に近いのかも知れない。
そういうわけで、量子コンピュータの情報の最小単位は量子ビットであるから、そのエンコーディング方法とは、物理的な量子として何を用いるか、という問題となる。これまで、強磁場の中で原子を磁石として共鳴させる核磁気共鳴の方法、電磁場やレーザーで荷電粒子を閉じ込めるイオン・トラップ方法、電子をドットとして閉じ込める方法、光子を使う方法などいろいろな方法が試されてきた。いずれの方法にしても、コンピュータが計算している間、量子系の状態の重ね合わせ(言いかえれば量子の波動)が保存されていなければならないが、これが難しい。
以上述べたように、DNAコンピュータや量子コンピュータは、生命体とは何かを考える上で示唆を与えてくれる点もあるが、人工的な計算装置を目標としたものであるから、それらのエンコーディング方法は、生命体の同方法とは直接関係しない。
そこで、本題に戻り、DNAのエンコーディングについて考察することにしたい。
細胞内の分子は、接触で互いに認知することによって分子コミュニケーションが図られる。細胞膜には、レセプター・タンパク質が埋め込まれており、細胞外のホルモン分子が運ぶメッセージを細胞内部の分子に伝達する。その仕組みは、一連の分子相互作用から成り、リレーの鎖に沿ってつぎつぎに分子が変化していく。これらの分子がメッセージをリレーすると同時に、一連の相互作用で信号は増幅され、1個のホルモン分子と1個のレセプターとの結合だけで、細胞内部では活発な反応が生じる。
細胞内には核があり、DNAが存在するので、ホルモンの受容によって新しいタンパク質の生成が必要である場合には、遺伝子の活性化を起こすことになる。この場合には、遺伝情報の読み出し、伝送、処理を伴うので、分子演算と言われるものが存在する。しかし、ホルモン受容によって遺伝子の活性化を起こさない場合もあるので、その場合の分子相互作用の活性化にも分子演算が存在するのか否かは、分からない。
脳がニューロン(神経細胞)からニューロンへとシナプスを介して神経信号を伝達するときにも、同様の分子コミュニケーションが行われる。シナプスのところで、神経信号は軸索から他のニューロンへ伝達される。信号は、通常の場合、電気的状態から化学的状態へ変換される。神経伝達物質と呼ばれる小さなメッセンジャー分子が、シナプス間隙を横切って別のニューロンの細胞膜へと信号を運ぶ。分子メッセージは、他のニューロンの膜の外面まで移動し、そこでレセプター・タンパク質と結合する。
分子メッセージを受け取った神経細胞は、一般の細胞内の分子相互作用と同様の分子コミュニケーションによってメッセージが増幅され、細胞内の反応が活性化される。神経細胞は、他の多数のニューロンからの信号を同時に受け取るので、これら複数の信号を処理するためには、どうしても分子演算が必要となる。
各ニューロンの演算動作は、ニューラルネットと呼ばれる数学的モデルによってシミュレートされている。このモデルの各ニューロンは、簡単に言えば、メモリ機能を備えた論理ゲートとして動作する。ただし、ディジタル回路に組み込まれている論理ゲートというよりは、アナログ的な処理を行い、確率的な演算をするゲートのようである。このため、コンピュータのような電子装置に比べて、人間の脳が行うパターン認識の誤り率は、桁違いに大きくなるのであろう。
ここで、人間が言語能力を獲得する過程を思い起こすと、脳内には新たに音素と単語のエンコーディング操作が行われたことは間違いない。このとき、神経ネットワークの形成は不可欠であるが、その中核となるのが、神経細胞内で行われる分子演算である。そして、獲得された言語能力は、親から子へ、コミュニティの人々から各個人へと伝承されていったのであろう。ちょうど、DNA上の遺伝情報が親から子へと承継されていくように。
このような神経細胞が行う言語のエンコーディング操作は、生命体が行う自己組織化の一例である。このような神経細胞の動作と一般細胞の動作との差分を考慮すると、DNAのエンコーディングも同様に自己組織化の一例であり、分子演算の結果、残された生産物であると考えたくなる。
しかし、ここまで書いてきて、この議論には欠陥があることに気付いた。一般の細胞にせよ、神経細胞にせよ、分子コミュニケーションにはタンパク質分子が関与し、これはDNAの生産物に他ならないという矛盾である。議論は、どうどう巡りとなって、DNAのエンコーディング方法を説明するには至っていないということである。
それでもなおかつ、以上の考察が無駄とは思えない。分子コミュニケーション、並列的に行われる分子演算、体系が望ましい形になっているか否かを観測する量子過程、および言語のエンコーディング操作が、何らかのヒントを与えてくれているように思える。
生物進化の過程を解明するための見方として、細胞内の分子の挙動には量子過程がかかわっているという考え方が有望のようである。進化中の生命体に対して、それがどのように行われるかが、今後の課題である。
参考文献
フィリップ・ボール著「生命をみる」(産業図書)
赤間世紀著「DNAコンピュータがわかる本」(工学社)
竹内薫著「量子コンピュータが本当にすごい」(PHP新書)
西野哲郎著「量子コンピュータ入門」(東京電機大学出版局)
酒井邦嘉著「言語の脳科学」(中公新書)
石川幹人著「人間とはどういう生物か」(ちくま新書)