Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

人工生命の箱庭 v2 #163

Open
mitsuyoshi-yamazaki opened this issue Feb 27, 2023 · 0 comments
Open

人工生命の箱庭 v2 #163

mitsuyoshi-yamazaki opened this issue Feb 27, 2023 · 0 comments
Assignees

Comments

@mitsuyoshi-yamazaki
Copy link
Owner

mitsuyoshi-yamazaki commented Feb 27, 2023

概要

テーマ

  • 自己複製時に進化計算をするかどうか、どのように行うかを生き物が自分自身で決定できる
    • 環境要因により奇形になったりということはある

詳細

  • 生命体の構成要素を以下のように定義する
    • 構成要素(module)一覧
      • 外殻
        • (外殻上のみに配置)物質輸送口
        • (外殻上のみに配置)推進機
      • 物質変換器
      • 組み立て機
      • 計算機
    • 生命体の境界
      • 後の項で説明するように、外殻がスコープを分割する。外殻で囲われた領域が、そのひとつ外側の領域から見たときの一個体として認識できる

仕様

世界

グリッドで分割された セル の集合体

セル

各セルは エネルギー物質 、生命体を格納する スコープ である
それぞれ保管できる量は無限

スコープ

※ プログラミングの変数スコープから名付けている。何か良い名前を考える
エネルギー、物質、熱、生命体を格納する
スコープ内に空間的な広がりはない = 距離がない
スコープが生成される場所は①各セル ②閉じた外殻内 のふたつ
閉じた外殻により生成されるスコープは入れ子にできる

エネルギー

エネルギーは最終的に熱となり、その収支は常に一定する(エネルギーかエネルギーを変換して生成された物質が消滅する際は常に熱の発生が伴う)
世界の中のエネルギー収支は釣り合っている(エントロピーは増大する)が、世界の外から供給されるエネルギーと世界の外へ捨てられる熱によりエントロピーが減少する

熱はエネルギーもしくは物質を消費するあらゆる現象で発生する
熱は時間あたり一定の割合で外側のスコープに移動する
セルの熱は時間あたり一定の割合で世界の外へ捨てられる
(外側のスコープから内側のスコープへの移動やセル間の熱の移動は今のところ実装しない)

外殻

閉じた輪を生成すると新たにスコープを生成する
スコープ内の物理量の特性

  • 格納できるエネルギー、物質、モジュール、生命体の量:スコープ面積に比例
  • 放熱性能:スコープ表面積に比例

物質輸送口

外殻の内外へ指定の物質の輸送を行う
時間当たりの上限量あり
外殻が開いている場合は動作コストは同様にかかるが移動先がないので何も行われない

推進機

接続しているモジュール全体を指定の方向のセルに移動させる
推進機が接続しているモジュールが別の外殻の内部にある場合は移動方向の境界を跨ぐ

物質変換器

エネルギーand/or物質を別の物質に変換する
入出力はどちらも物質変換器の置かれているスコープ

組み立て機

物質とエネルギーを消費して閉じた外殻の内部にモジュールを生成し、生成したモジュール同士を結合する
外殻が開いていると座標系を構築できないため動作しない(将来的には何かをトレードオフにして開いた座標系でも動作するものにしたい

計算機

汎用的な計算と、接続しているモジュールへの指令出しを行う


Discussion

  • ひとつながりの外殻に複数の計算機が接続している場合
    • →明示的に計算機と各モジュールを接続するようにしてはどうか
  • 熱以外の物質的な副作用が起きるようにする
  • 物質の総量は変化しない方が都合が良いか
  • 物質の仕様どうするか
    • エネルギーにしやすい物質と身体を構成しやすい物質(ノーマル、レア)
      • 燃料
        • 燃料を合成する
      • 材料
  • 描画
  • 物質同士の相互作用
    • 物質が多い場所はエネルギーが流れにくいなど、生命現象から物質界へのフィードバック
    • Fuelの実装
  • "適温"でない場合に劣化するようにすればどうか
    • つまり温度が低くてもhitsが減る
  • 再生産にモジュールを複数必要にすることで"成長"が必要になる
  • 生命の接触:Hull上にラベルを貼れるようにしたらどうか
  • ゲーム性
    • 死んだ場合の自動復帰(祖先種 or 条件にマッチした子孫)とか
      • やりたいのは「自分の実装が常に生きている」ということなので、マップを分けて、個人マップから常に補充できるようなマップを作りつけておけば良いのではないか
  • クラフトゲームにおける料理のような、レシピを発見していく仕組みを作りたい
  • 人間が実装できる生命
    • かつ以下の条件を満たす
      • 生命が相互作用できる
        • できれば情報をやり取りできる
      • 進化を行える
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant