Tierra (コンピュータプログラム)
Tierra(ティエラ)とは、生態学者のトマス・S・レイが1990年代に開発した、人工生命プログラムである。
ティエラは、起動するとコンピュータ内に仮想機械を作りだし、「スープ」あるいは「メインメモリ」と呼ばれる適当なサイズのメモリを確保する。スープは仮想生物が暮らすための空間であり、ここに展開されたバイトコードは仮想生物の遺伝子にあたる。仮想マシンは、遺伝子を機械語として解釈し、実行する。
それぞれの仮想生物は、仮想CPUのレジスタと実行ポインタを保持し、仮想機械がこれを順に切り替えることで、マルチプロセス的に仮想生物の遺伝子を解釈実行する。スープに格納された遺伝子は、一定の割合でランダムなビットが反転し、また仮想CPUはある確率でミスをする。
以上のような条件のもとで、仮想生物はメモリとCPU時間を奪い合いながら、自分の複製を製造する。メモリは、仮想生物にとっての餌であり、CPU時間はエネルギーである、と喩えられることが多い。
ティエラは、命令語セットの取りかたにより、いくつかの種類が存在する。仮想生物がネットワークを介して、他のコンピュータと行き来できるバージョンも開発されている。また、ティエラを参考にして開発された、Avidaというプログラムも存在する。
一般的な進化的コンピューター・プログラムでは、仮想生物の遺伝子を解釈して何らかの出力を得、ここから「適応度」を数値として求めて仮想生物を淘汰する。しかしティエラでは、適応度を求める関数(適応度関数)は用意されていない。ティエラの仮想生物がもつ遺伝子は自身を複製するための機械語であるが、これが不適切な場合は子孫を残せず死を待つのみとなる。
また、少ないCPU時間で複製を作ることのできる生物ほど、繁栄することになる。また、遺伝的プログラミングなど多くの生物的プログラムが木構造の遺伝子を持つのに対し、ティエラの仮想生物は直線状の遺伝子を持つ。
以上のような設計のため、遺伝子の突然変異は多くの場合、不妊性の畸形を生み、種として存続できないが、他の個体の遺伝子を利用して、自身の複製を作る「寄生種」などの存在を許容することになったのも、大きな特徴の一つである。
これらの特徴は、設計者であるレイが、コンピュータに関しては素人であったためと考えられる。実際に、実物が示されるまでは、コンピュータの専門家からは、懐疑的な意見が多く出たと伝えられている。[要出典]
関連項目
[編集]外部リンク
[編集]- Tierra home page
- Tierra 入門 ( Web Archive )