世界を動かす技術を、日本語で。

生命は計算の一形態なのか?

概要

  • Alan TuringJohn von Neumann は、生命と計算の論理が本質的に同じである可能性を早くから指摘した先駆者
  • DNA は文字通り「プログラム」として機能し、自己複製や生命活動を制御
  • 生物計算は 並列的 かつ ランダム性 を活かした分散型システム
  • セル・オートマトンニューラルネットワーク など、非中央集権的な計算モデルの発展
  • 現代AIや生物模倣型シミュレーションにおける計算と生命の融合

生命と計算の論理:Turingとvon Neumannの洞察

  • Alan TuringJohn von Neumann は、生命の仕組みと計算の原理が深く結びついていることを早期に洞察
  • 1994年、von Neumannが予見した 自己複製マシン がコンピュータ上で実現
  • DNA は「プログラム」として機能し、指示に従ってタンパク質を合成
  • 生物の再生産も計算処理も、 コード化された命令 に従う機械的プロセス
  • DNAの多層的な構造やエピジェネティクス、遺伝子の近接効果など、生物特有の複雑性

生物計算とデジタル計算の違い

  • 生物計算は 大規模並列処理、分散型、ノイズを含むシステム
  • 人体内のリボソームは約 300京個、それぞれが確率的な計算を実行
  • ランダム性や可逆性、不確実性を積極的に活用
  • デジタル計算は 論理ゲート による直列・中央集権的処理、99.99%の信頼性
  • 生物計算も計算の一形態であり、ランダム性は「バグ」ではなく「特徴」

ランダム性・並列性と現代AI

  • コンピュータ科学の多くのアルゴリズムも ランダム性 を必要とする
  • Turingは Ferranti Mark I に乱数命令を導入
  • AIの学習(例: 確率的勾配降下法)やチャットボットの「温度」設定、GPUの並列処理
  • 伝統的なデジタル計算は 中央処理装置(CPU) による直列処理に依存
  • 初期の計算機は部品の制約から中央集権設計( von Neumannアーキテクチャ)を採用

セル・オートマトンと分散計算の発展

  • Turingの 形態形成 研究や「無組織機械」概念、並列・分散型計算の先駆け
  • von NeumannとStanisław Ulamによる セル・オートマトン の提案
    • 各セルが隣接セルとだけ通信し、同時に状態を更新
    • 紙上で自己複製セル・オートマトンの主要部品を設計
  • セル・オートマトンのプログラミングは、全セルが同時に状態を変えるため非常に難解
  • ランダム性や複雑なフィードバックを加えると、生物のような挙動を再現可能

計算の多様性と「プラットフォーム独立性」

  • 計算は中央処理装置や論理ゲート、2進法、直列プログラムを必須としない
  • 「無限の計算方法」 が存在し、理論的にはすべて等価
  • 任意のコンピュータは他のコンピュータをエミュレート可能(ただし速度制約あり)
  • 1994年の自己複製セル・オートマトンのエミュレーションには膨大な計算資源が必要
  • ニューラルネットワークの大規模並列処理も、近年のハードウェア進化で実用化

Neural Cellular Automaton(NCA)と現代の応用

  • 2020年、Alex Mordvintsevがニューラルネット、Turingの形態形成、von Neumannのセル・オートマトンを統合し Neural Cellular Automaton(NCA) を提案
    • 各セルがニューラルネットワークを通じて周囲の情報を感知・変化
    • 任意のパターンや画像を「成長」させることが可能
  • 実際の細胞も内部状態と外部刺激に応じて非線形かつ目的的な「プログラム」を実行
  • NCAは、移動を伴わず状態変化や化学物質の吸収・放出のみを行う細胞の挙動モデル化に有効
  • 複雑な多細胞生命が「局所的思考」「全体的行動」を実現する様子を再現
  • von Neumann設計からNCAまで、計算が生命現象を生み出す基盤を示唆

参考情報

  • Blaise Agüera y Arcas:Google VP/Fellow、Technology & Society CTO、Paradigms of Intelligence創設者
  • 著書「What Is Intelligence?」より抜粋
  • オープンアクセス版も公開

Hackerたちの意見

この質問をする意味がわからないな。確かに、物理システムは特定のルールに従うから、どんなプロセスもアルゴリズムの計算みたいに見えることはあるよね。それに、進化自体も生物を環境に最適に適応させるように常に最適化しているし、これも計算みたいなもんだ。だから、「生命は計算なのか?」って聞くのは、ほとんど意味論的な考えに過ぎない気がする。まず「生命」と「計算」を定義してみて、それが同じかどうか見てみればいいんじゃない?

進化は何も最適化してないよ。生物圏で起こっているのは、突然変異と選択のプロセスであって、特定の目標に向かって最適化されてるわけじゃない。さらに少し抽象的に言うと、質量とエネルギーの保存のために、実際に起こっているのは、既存のバイオマスが太陽放射によって異なる生命形態に再編成されることなんだ。

タイトルは「生物をシミュレートすることは可能か?」にすべきだね。最後の文が「こうしたシミュレーションは、計算がスケールを超えて生命のような振る舞いを生み出す様子を示している」だから。ここでは生命について何も議論されてないし、一度も定義されてないよ。

また、進化自体が環境に最も適応するように生物を最適化し続けているのは、計算と同じだ。最適化がないなら、生物が繁殖できる限り、存在し続けるだろう。それは「最も適応している」わけでもなく、より良い適応に向かう軌道にいるわけでもない。系統が時間とともに適応度が低下することもあり得るし、絶滅に至ることもある。それでも進化なんだ。時間が経つにつれて、ほとんどの系統にとってそれが事実であることが示されている。

これって、著者に賛同してる人向けに書かれたポップサイエンスって感じがする。論点もなければ、「計算」の定義すらないし。チャーチ・チューリングの話には触れてるけど、「すべての効果的に計算可能な関数は計算可能」というところから「生命は計算である」っていう飛躍は、本に収まるようなものじゃないよ。

ホフスタッターの『ゲーデル/エッシャー/バッハ』の神秘主義を思い出した。なんか、すべてが再帰的だっていうやつ。

論点もなければ、「計算」の定義すらない。 「それは間違っているわけでもない」 - パウリ

そうだね、この記事は本の短い抜粋みたいで、かなりのコンテキストが失われてる気がする。著者が提起した質問には興味があるけど、本が出るのを待つことにするよ。いいニュースは、その本がオープンアクセスになるみたいで、MITプレスは最近これを推奨しているみたいだね(少なくとも著者に選択肢を与えている)。

ウォルフラムの「計算同値の原理」を思い出すな。1. 自然界の物事には計算のような最大の複雑さがある 2. ほとんどの物事はこれほど複雑になる 3. だからほとんどの物事は「計算同値」なんだ 4. 「例えば、人間の脳の働きや気象システムの進化は、原理的にはコンピュータと同じことを計算できる。」 物事が何らかの関係に基づいて同値クラスに属することと、「原理的には同じである」ことの間の飛躍は、基本的な集合論を学んだことがあるなら難しいかもしれないけど、それは視野が狭いだけだよ。

著者は新しい主張を展開しているのかな? 誰かこの本を読んだ人いる? ざっとレビューを見た感じだと、著者は共生起源が進化と人工知能の中心にあるって言ってるみたい。これは面白いね。今のAI関連の文献ではこのメカニズムについての言及を見た記憶がないから。人工生命との共生関係の可能性は、未来に不安を抱える人たちにとっては一種の癒しのように感じる。可能性はあるけど、確実ではないよね。

フェデリコ・ファッジンの意見の方がずっと良いと思う(個人的には、一貫性があってよく考えられてる)。[1] https://www.youtube.com/watch?v=0FUFewGHLLg

エッセンシア財団のやってる仕事、すごく好きだよ!シェアしてくれてありがとう!

生物の一部の要素が決定論的な最適化を持つっていう考え方が好きだな。DNAやRNA、いくつかのタンパク質機械など、分子の形に近いから、基本的には化学や物理によって駆動されてるんだよね。一方で、高次の、出現する生物形態は、機能がより確率的だと思う。細胞小器官や生物、集団などね。そういう意味では、生命に計算はないと思う。むしろ、生命は発展する世界の物理によって制約されてるんだ。もし別の惑星に異なる生命体が存在すれば、その進化の過程で経験する物理によって異なる「計算」モデルを持つだろうね。ただ、宇宙の基本的なルールによっていくつかの類似点はあるかもしれないけど。RNAやDNAのような伝播分子は、いつもらせん構造になるのか、それとも別の惑星の放射線や物理が、まだ観察されていない別の形の伝播分子を生み出すのか。シミュレーションしてみるのも面白い実験になりそう。

こういう記事は、「計算」の定義をしっかり固めるべきだって示してる。計算は、記号(または記号の列)を他の記号にマッピングするプロセスで、特定の単純なルールに従うんだ。コンピュータは計算を行う機械だよね。そういう意味では、生命は明らかに計算じゃない。DNAを記号的に見るのは理解できるけど、彼らがコードするタンパク質に対して同じことをするのは誤解を招く。これらのタンパク質は物理的な問題を解決してるのであって、記号的な問題に対する記号的な解決策を表現してるわけじゃない。レンチは記号的なナットの問題に対する記号的な解決策じゃないからね。この視点から見ると、DNAをコンピュータプログラムに例えるのは間違ってる。どちらも設計図に似てるけど、特にお互いに似てるわけじゃない。DNAは、素粒子から元素が形成されるルールよりも「計算的」じゃないって主張すべきだよ。

この考え方は、結局テック業界のメガロマニアのもう一つの教条的な表れだと思う。

デジタルコンピュータに移行したとき、私たちの計算との関係は変わったよね。例えば、「生命は何百万ものスライドルールが対並列で対数を解いているようなものだ」なんて言ってた人はいなかったと思う。でも今やコンピュータが非物質化されて、ほとんど何にでもメタファーとして使えるようになった。

計算は、記号(または記号の列)を他の記号にマッピングするプロセスで、特定の単純なルールに従う。これが宇宙だと信じている人は結構いるよね。つまり、宇宙はすべてのルールセットがすべての入力に対して、すべての時間において現れるものだって。量子力学をそこからどう引き出すかは…ちょっと自信がないな。

アナログコンピュータのことを忘れてるんじゃない? https://en.wikipedia.org/wiki/Analog_computer

このアイデアを完全に捨てる必要はないと思う。ただ、結局のところ、こう尋ねるのが大事だと思う:じゃあ、このフレームワークの有用性は何なの?この視点をこう設定することで何を得られるの?最近再視聴した古いYouTube動画を思い出すな。[0] その動画は「Every Zelda is the Darkest Zelda」なんだけど、テーマは全然違う。でも、ジェイコブ・ゲラーがゼルダゲームについてのファン理論の動画がたくさんあって、ゲームがどれだけめちゃくちゃかを語ってるんだけど、それが唯一のポイントなんだよね。ゲームをある視点でフレームすると、確かにめちゃくちゃ。追加の意味は引き出せないし、テキスト的には存在してない。だから、いろいろなデコードやフレーミングを経て、結論は...何もない。マリオのキャラクターが七つの大罪を表してる?それは確かにめちゃくちゃだね。面白いかもしれないけど、空っぽな分析だよ。洞察もないし、インパクトもない。じゃあ、ここでの結果は何かというと:まあ、面白いね。興味深いフレームだ。でも、それを構築することを除けば、何か教えてくれるの?正直言って、生命がプログラミングの一形態だと言ってるのかもよくわからない。それがプログラミングが生化学の一形態だと言ってる可能性も同じくらいあるし(実際、プログラミングの起源を考えると、そっちの方が理にかなってる)。でも、仮にそうだとして、それが私たちに何を与えてくれるの?すでに知ってることじゃない?パイを焼くつもりだから、Goを学ぶべきかな?いや、そのアイデアは合成というよりは描写的に感じる。結論のないアナロジーみたい。パイにはインパクトがない。[0]: https://youtu.be/O2tXLsEUpaQ

その意味では、生命は明らかに計算ではない。DNAを象徴的に見るのは意味があるけど、それをエンコードするタンパク質に対して同じことをするのは誤解を招く。タンパク質も記号の列として見ることができる:各アミノ酸に対して1つの記号がある。でも、それは本質的なポイントを超えている。計算理論はチューリングマシンを概念モデルとして使う。理論は、デジタルプロセッサやレゴコンピュータで起こることをエンコードするために、人間が課した概念的な翻訳を使っている。たとえそれがテープとヘッドで作られていなくても。これらの理論を実際に理解している人は、生物学的システムがチューリングマシンである理由を厳密に論じることができるだろうし、成功する可能性はかなり高いと思う。 > これらのタンパク質は物理的な問題を解決しているのであって、象徴的な問題に対する象徴的な解決を表現しているわけではない。この文は自己矛盾している。もしタンパク質が物理的な問題を解決していて、その特定の構造のおかげでそれができるのなら、その特定の構造は物理的な問題の解決策のエンコーディングだ。どうしてそのエンコーディングが「象徴的」であるのかは見る人(私たち人間)にとっての問題だけど、前に言ったように、アミノ酸の配列を使うことで象徴的なエンコーディングが得られる。もう一つの象徴的なエンコーディングは、タンパク質の各原子の局所座標で、量子物理学が許す精度の限界まで。記事は生物学的計算がランダム性に満ちていると正しく述べているが、計算理論はランダム性と決定論の間に回転扉があることも説明している(擬似乱数やホップフィールドネットワークは、どちらの方向にも通じる良い例だ)。 > ... まあ、どうでもいいけど。この言葉を使って、実際にこのテーマに関心を持っている科学者たちがいる議論を終わらせないでほしい。

君の定義によれば、生命は明らかに計算だね。デジタルコンピュータの象徴的な性質は、物理的な「問題」に対する私たちの解釈だ。もしDNAによってエンコードされたタンパク質に記号を与えれば、象徴的な計算が行われる。デジタルコンピュータの電圧に記号を与えなければ、それらをコンピュータではないと見なすこともできる。アナログコンピュータの歴史もあるし、水を使った計算[1][2]もあるから、コンピュータが物理的な問題を解決している過程で、私たちがそれを記号として解釈していることを強調したい。意味のある区別はない。生命が計算であるかどうかの疑問は、生命がチューリング完全なコンピュータではシミュレーションできない出力を生み出せるかどうかに大きく依存しているし、人工コンピュータが生命特有の「魔法のスパーク」なしにそれを再現できるかどうかにも依存している。たとえそうであっても、それらの出力が単に計算の一形態の結果である可能性があるが、私たちの宇宙の計算可能な集合の外にあるだけかもしれない。でも、その場合でも、生命が計算ではないと言える合理的な根拠がある。現状では、生命がチューリング計算を超えるという証拠はゼロだ。[1] https://en.wikipedia.org/wiki/Water_integrator [2] https://news.stanford.edu/stories/2015/06/computer-water-dro...

生命を計算として考えるのが好きなんだ。細胞はコンピュータ、酵素は関数、リボソームはコンパイラ、核酸はソースコード…特に酵素はUnixのパイプラインに似てる。酵素は基質を製品に変換する触媒で、その製品は別の酵素の基質になる。細胞がグルコースを取り込むと、それは解糖系の代謝経路を通ってピルビン酸になり、資源に応じてさらに減少することもある。酵素の巨大なパイプラインだよ。細胞内でただ浮いていて、基質が化学的に反応するときにランダムにタスクを実行する。明示的なプログラムは存在せず、細胞内のシステムから自然に生まれるんだ。 細胞 - コンピュータ 酵素 - 関数 / プロセス / フィルター 基質 - データ 製品 - データ 代謝経路 - プログラム / スクリプト 酵素をモデルにしたエソテリックなプログラミング言語のアイデアを考えて遊んでる。プログラムは、データの構造にマッチする関数としての酵素のセットを定義して、自動的にそれに適用して、他の酵素にマッチするかもしれない修正されたバージョンを生成する。結果的に、そのプログラムは酵素のセットをループして、マッチングと適用を繰り返し、データを最終的な形にまで減少させる。もしマッチする酵素がなければ、出力は修正されていない入力になる。

この考え方の問題は、人間が抽象的に考えることだと思う。抽象は実際には存在しないもので、人間の心の産物だけど、それを自然に当てはめるんだ。DNAをコードと呼んだり、ニューラルネットワークと脳を比較したりするけど、実際に自然で起こることをちょっと深く見てみると、その抽象は崩れてしまう。DNAはコードなのか?それとも機械に近いのか?どちらでもないのか、それとも私たちの単純な抽象ではその存在の本質を捉えきれないほど複雑な空間に埋め込まれているのか?DNAの本質を見ると、それは単にコードとして機能する以上のことをしている。自己編集や自己修正、自己組織化、自己複製ができるし、遺伝子をオンオフにできるし、自ら計算を行うこともできる。もしそれをコードとして考えるだけなら、実際の生活での重要な存在や機能を見逃すかもしれない。

あんたは、アラン・ケイ博士(タブレット/Xerox ALTOインターフェースを発明した)のことを思い出させてくれる猫だね。彼は最初は生物学者だったんだ。素晴らしい小話をありがとう!(;3)

ジョイン計算と「化学的抽象機械」をJoCamlで実装したものを見てみて。例えば、https://sites.google.com/site/winitzki/tutorial-on-join-calc...

Tinkercellに興味があるかもしれないけど、今の時点では少し古いかもしれないね。他にももっと細かいシステム生物学や化学反応ネットワークのソフトウェアツールがたくさんあるけど、最も野心的なのはOpenWormかな、まだ活動してるし。ただ、細胞を非常に遅いけど大規模に並列なコンピュータとして考える必要があることを忘れないでね。

ルカ・カルデリがこの分野で少し前に研究してたよ。[1] もしかしたら「システム生物学」[2]が文献への入り口になるかもしれない。 [1] https://en.wikipedia.org/wiki/Luca_Cardelli [2] https://en.wikipedia.org/wiki/Systems_biology

生命を「工場」として考えることもできるよ(コンピュータの代わりに): 人間工場コンピュータ ----- ------- -------- 細胞工場コンピュータ 酵素作業者 機能 リボソームアセンブラ コンパイラ 酸 青写真 ソースコード この種のアナロジーの難しさは、たくさんのものがこれらのさまざまな能力を必要とするため、コンピュータや工場、さらには人間に特有のものではないことだ。

この論文にはあまり感心しないな。コンピュータの定義がちゃんと示されてないし、実際のコンピュータと細胞の類似点をいくつか挙げてるだけだから。残念だよね、コンピュータライフについては深い研究がたくさんあるのに。人々はよくチョムスキー階層(https://en.wikipedia.org/wiki/Chomsky_hierarchy)を使って、コンピュータとオートマタの違いを定義するんだ。重要なのは、古典的なチューリングマシンはチョムスキー階層のタイプ0なんだよね。生物システムからどの部分を含めるかによって、タイプ0からタイプ4までの範囲で議論できるかもしれない。面白いことに、有名な遺伝学者アヴィブ・レゲブの博士論文は、特定の酵素の組み合わせと化学濃度の状態がピ計算をエミュレートするのに十分で、だからそれはチューリングマシンだってことを示すものだったんだ! https://psb.stanford.edu/psb-online/proceedings/psb01/regev....

これは、俺がティーンエイジャーの頃に進化してたコンピュータサイエンスの一種だね。アップボートあげるよ!俺の意見を加えると、"ハードコグニティブサイエンス"(RIP)での多くの推測が、ゴデル、チューリング、ラッセルから得られる大きな洞察の代わりに、ほとんどの学部生や大学院生がウィトゲンシュタインの作品、特に『論理哲学論考』を内面化してないのが面白い。俺は、"生命がどう機能するかについての質問と、論理や数学(言語)の核心についての質問は確かに関連してるけど、期待するような根本的な方法ではない..." って感じがする。初心者には、一気にその本を読んでみてほしい。大体1時間くらいかかるよ。 https://wittgensteinproject.org/w/index.php/Tractatus_Logico...

タイトルは「生命は計算としてモデル化できるか」にすべきだね。生命が計算だというわけじゃないから。

記事はちょっと焦点がぼやけてる気がするけど、その前提は大学時代に学生たちが話していたことを思い出させる。宇宙は巨大な包括的コンピュータで、そこで起こるすべてのことがその計算の一部だというのが人気の見解だった。生命だけでなく、本当にすべてのことがね。大きな疑問は、このコンピュータはチューリングマシンなのか? 状態機械や無限テープの意味ではなく、計算能力の意味で。最近では、それが量子チューリングマシンかどうかという疑問になると思う。

どんな物理的プロセスも計算として解釈できる。計算は見る人によって異なる。生命を計算として解釈することは、実際には新しいものを追加するわけではなく、私たちが考え出したモデルを説明しているだけだ。