おわりに

ここまで、本書をお読みいただきありがとうございました!

本書では「生きたバイナリ」とどのように言い張るか(笑)を設計・モデル化し、PoC実装で実現してみました。

ただ、これだけでは何にも使えず、本当にただ「生きている」という定義を満たしたに過ぎません。今後これをどうするのか、何に使えるのか、などもまだ研究中なところです。

「はじめに」で「究極のバイナリ」と説明した「自己進化」・「自己再生」・「自己増殖」の内、「自己再生」と「自己増殖」は一応実現できています。では、「自己進化」をどのように実現するか、ですが、例えば、「どのように自身のタンパク質とDNAを変質あるいは増減させるか」と「タンパク質とDNAの変質あるいは増減をシステムとしてどのようにコントロールするか」を解決できれば良さそうです。

前者は、「環境に存在するコード化合物が勝手にくっついて増大する」とか「細胞分裂のタイミングである確率でDNAが変質する」等が考えられますが、「ちゃんと実行できる命令列になるのか」が問題です。ただ、それは「実行してみて例外が発生したら『結合できないバイナリ列だった』と判断する」等の方法で判別可能です。

より問題なのは後者で、「実行できるがデタラメな命令列」に対してどの様に優劣を付けるのか、どの様に進化の方向性を制御するのか、等はまだ上手いアイディアがありません。ただ、ひとまずはシステムとしてはコントロールしないという手もあります。毎日一回、オペレーターが環境内の細胞をチェックし、ダメなものが居たら手動で削除する、とかでも良いのかなと。

やはり、現状はまだ「頭のおかしい与太話」に過ぎませんが、このようなシステムでしか解けない、あるいは、このシステムだからこそできる何かもあるんじゃないかなと思っています。それは普段私達が使っている「OS」とはUIから何から全く違ったものになるのかもしれませんが、そんな、「今までのOSの考え方と全く違ってしまうもの」を作ってしまえる(まあ趣味なら)のも、自作OSの醍醐味ですね。