Open
16

人工生命Tierra

ティエラトムレイというバンドがあるらしい……

Ray, T. S. 1991. An approach to the synthesis of life. In : Langton, C., C. Taylor, J. D. Farmer, & S. Rasmussen [eds], Artificial Life II, Santa Fe Institute Studies in the Sciences of Complexity, vol. XI, 371–408. Redwood City, CA: Addison-Wesley.

概要についてはこれを読めばよさそう。
公開されてるPDFはかなり品質が悪いが、ソースが公開されてるのでCloud LaTeXとかでコンパイルすればよい(ただし図が出ない)

http://life.ou.edu/pubs/alife2/tierra.tex

理想的な生物学は、生命のすべての形態を対象とすべきである。しかし、実際には、生命のたった一つの形態——地球上の生命——しか研究対象にできていない。地球の生命は多様だが、すべては一つの系統に属している。生物学がN=1に基づいている以上、なにが地球生命固有で、なにが生命一般の特性なのかを知ることはできない。真に比較可能な自然生物学には、光年単位での惑星間航行を必要とするだろう。理想的な実験進化生物学のためには、複数の同じ惑星系を作成し、特定のパラメータだけ変えて何十億年か観察する必要があるだろう。

壮大なイメージから始まるこの論文では、惑星系を何十個か作るかわりに、コンピュータを使って生命をシミュレートする手法を提案している。地球の生命とはまったく違う原理に基づく生命の進化を観察することで、生命に対する洞察が深まるだろう。

非公式gitミラー。195c2eb84d91a1938faabad38e24b9b47d0e262c https://github.com/acisternino/tierra

なんかFloating point excptionとか言われる……

STATS area:

> InstExec  =  8,177185  Cells =  342  Genotypes =  131  Sizes =  23
命令実行回数, 生命数, 遺伝子の種類数, サイズの数

> Extracted = 0080acw @ 10 v
最後に閾値( SavThrMem or SavThrPop)を超えた生命, その時点での個体数, 既に保存済みだったらv

PLAN area:

> InstExeC      =      8  Generations  =     19  Thu Jan 18 12:43:17 1996
>     NumCells  =    344  NumGenotypes =    136  NumSizes  =     22
>     AvgSize   =     84  NumGenDG     =      1  
>     AvgPop    =    340  Births       =    840  Deaths    =    852
>     RateMut   =  17998  RateMovMut   =   1344  RateFlaw  =  75648
>     MaxGenPop =    105  (0080aaa)    MaxGenMem =     105 (0080aaa)
>     Speed     =  16129  NumNodes     =     32

Info menu:

  • Size histogram: Size * Living + Genotypes
  • Genotype histogram: Genotype * Living
  • Memory histogram: Size * Living(by memory footprint)
  • Size query: List most common genotypes by size.

Size queryで表示される情報:

#     = actual count, populations of adult cells of this genotype
Mem   = is the percent of Soup, occupied by adult cells of this genotype
Err   = is the number of error flags generated by that genotype,
Move  = number of instructions moved to daughter cell by that genotype,
Bits  = Watch bits.  If the soup_in variables WatchExe, WatchMov, or WatchTem
        are set to a non-zero value, Tierra will keep a record of a variety
        of activities and interactions within and between genotypes which
        are permanent.  This data is stored in the bit field in the GList
        structure (bit definitions are defined in the tierra.h module).
        Some details of these observations are described below.

Bitsによって特定の実行情報を追跡できる

WatchExe bits:

    bit  2  EXs = executes own instructions (self)
    bit  3  EXd = executes daughter's instructions
    bit  4  EXo = executes other cell's instructions
    bit  5  EXf = executes instructions in free memory
    bit  6  EXh = own instructions are executed by other creature (host)

WatchMov bits:
どこからどこに命令がコピーされたかの統計っぽい。

    bit 17  MFs = moves instruction from self
    bit 18  MFd = moves instruction from daughter
    bit 19  MFo = moves instruction from other cell
    bit 20  MFf = moves instruction from free memory
    bit 21  MFh = own instructions are moved by other creature (host)
    bit 22  MTs = moves instruction to self
    bit 23  MTd = moves instruction to daughter
    bit 24  MTo = moves instruction to other cell
    bit 25  MTf = moves instruction to free memory
    bit 26  MTh = is written on by another creature (host)
    bit 27  MBs = executing other creature's code, moves inst from self
    bit 28  MBd = executing other creature's code, moves inst from daughter
    bit 29  MBo = executing other creature's code, moves inst from other cell
    bit 30  MBf = executing other creature's code, moves inst from free memory
    bit 31  MBh = other creature uses another cpu to move your instructions

WatchTem bits:
ジャンプ命令等でどのテンプレートが参照されたかの統計

    bit  7  TCs = matches template complement of self
    bit  8  TCd = matches template complement of daughter
    bit  9  TCo = matches template complement of other
    bit 10  TCf = matches template complement of free memory
    bit 11  TCh = own template complement is matched by other creature (host)
    bit 12  TPs = uses template pattern of self
    bit 13  TPd = uses template pattern of daughter
    bit 14  TPo = uses template pattern of other
    bit 15  TPf = uses template pattern of free memory
    bit 16  TPh = own template pattern is used by other creature (host)
ログインするとコメントできます