遺伝子計算
遺伝子概要
ARCANA, EGG, SHARDはトークン1つ1つが固有の「遺伝子情報」を持つ。遺伝子情報は、SHARD→EGG→ARCANA→SHARDとトークンが変化する過程で、変化しつつ継承される。
プロセス |
遺伝子の変化 |
|---|---|
SHARD → EGG |
2種類のSHARDが持つ遺伝子を「合成」したものがEGGの遺伝子となる |
EGG → ARCANA |
EGGの持つ遺伝子がそのままARCANAの遺伝子として継承される |
ARCANA → SHARD |
ARCANAが持つ遺伝子がそのままSHARDの遺伝子として継承される |
遺伝子情報のデータ構造
遺伝子情報は32次元のベクトルとして表現され、各ベクトルは8bitの値域(-128〜+127)を持つ。 コントラクト上では、256bitの1つのフィールドに保持される。:
|-------------------------256bit[hex]--------------------------|
0xffeeddccbbaa99887766554433221100ffeeddccbbaa99887766554433221100
^^ ^^
1次元目 32次元目
突然変異について
同じ種類、同じ個数のSHARD同士によるEGG生成でも、必ずしも同じ遺伝子を持つEGGが生成されるとは限らない。 遺伝子計算には、一定の「突然変異」ロジックが存在する。
32個の各次元につき、それぞれ5%ずつの確率で、継承された値とはまったく異なる新しい値に上書きされる。