記事一覧
市橋 伯一先生の「自己複製RNAの進化が生み出す寄生と共生」
東大市橋先生の自己複製RNAの研究が日経サイエンスと公開セミナーで発表されました。
Open-Ended Evolutionを目指した寄生体との共進化モデルをRNAを使って実現する試みです。
公開セミナー「自己複製RNAの進化が生み出す寄生と共生」をオンライン開催(6月2日)
論文: https://webpark2056.sakura.ne.jp/papers/2022_Mizuuchi.p
Absolution Gap読了ガイド(WIP)
Alastair Reynoldsの書く「啓示空間」の未訳の続編「Absolution Gap」を原語で読む上で役立つ知識をまとめています。
本書は紙、電子書籍ともにAmazonから手に入ります。
記事の前半は「Absolution Gap」前までの状況、後半に作中で描かれる状況を書いています。
私はまだ読み終えていないため未完成です。
Reynoldsの本の難しさは視点の転換と形容詞の多さに
ALife2020研究紹介
先日行われた人工生命研究に関する国際会議 ALife2020 に参加してきました。
人工生命研究はあり得た生命(life as it could be)を作成することで、現実の生命現象(life as we know it)を理解しようとする試みです。
この分野の研究はどれも独特なもので面白いのですが、その理由は研究対象とアプローチの組み合わせの数だけ研究があるためです。
研究対象である生命現象
セルオートマトンの抽象化
セルオートマトンのルールの多さ初期状態を変化させることで様々なパターンをつくりだすことのできる面白いルールを探そうとするとき、とりうるルールの多さが問題となります。
セルオートマトンを離散的に実装していればルールの総数は決まっているため総当たりにすることはできますが、これは2^10〜という数になるため人間が目を通すことはできません。
ランダムなルールを生成して目を通せば全体を満遍なく見ることも
万華鏡のデジタルとアナログ
万華鏡は鏡の反射を利用して再帰的に模様を生成します。
それにより、
- 鏡に囲われた領域が無限に繰り返される- 回転させると模様が変化する
という性質をもちます。
これをデジタルで再現することを考えると、「鏡に囲われた領域の模様を繰り返す」という性質を実装するのは少し面倒ですが、「背景を透過させた模様を繰り返し配置し、重ねる」ということは簡単に実装できます。
つまり、現実の万華鏡と一部
L-Systemと生物の対称形について
L-Systemをつかって海洋の小生物のような模様を大量に生産するジェネレータをつくりました。
元々は紙面を埋める模様をGenetic Programmingで自動生成する系を目指しており、L-Systemは実装の容易な祖先種として選んだだけだったのですが、L-Systemのみでも綺麗な模様が生まれると分かったのでGenetic Programmingは忘れることにして今の形になりました。
こ
ソフトウェア開発とクラフトゲームの差異について
ソフトウェア開発は目的物がどれほど面白くても開発が続かないことがある一方で、ゲーム内のものづくりは過程がつまらなくてもプレイしてしまいます。
その差異について。
ソフトウェア開発は繰り返し作業がなく、能動的に動かなければ状況が変わらないという特徴があります。
対してゲーム内のものづくりは、解決できる問題のみで構成されており、また時間経過でイベントが起きます。
ソフトウェア開発
- 能動的-
Blind Painter
はじめに
BlindPainterはALife Game Jam 2019で作成した人工生命系/ジェネラティブアートです。
作品のコンセプトを "収束しない進化" と設定し、常に移り変わって寡占にならない人工生命系を実装しました。
コンセプト
イベントの "ever changing -変わり続ける-" というテーマと "人工生命" というワードから、作品のコンセプトを "収束しない進化" と設
プラナリアはメダカの餌で飼育できる
顆粒になっているメダカの乾燥餌で育てられます。
レバーなど生肉を与えるのと違って保存が効きますし、水も汚れにくいので飼育がかなり楽になります。
水底を這う生き物が水面に浮かぶ餌を食べられるのか…というと、なんとこの動物は波のない水面の裏を這い進むことができる(!)ために問題になりません。
餌を撒いておくとわらわらと寄ってきて食事する様子を観察できます。
水面だと障害物も少なく見やすいのも良いです
簡単なcollision実装
物理シミュレーションを実装する際に物体の衝突を正確に表現するのは面倒なので、物体が重なったら斥力が生じるという実装を行います。
複数の物体が同時に衝突する場合も合力を求めれば良いだけなので簡単で、また物体同士の距離が近いほど斥力が大きくなるようにすれば弾性のような現象も再現できます。
// 疑似コード// Object.position は vectordistance = object1.po
ALife2020でArt in the Science Awardを受賞しました
人工生命の国際会議 Alife2020 に出展した Blind Painter という作品が、シンプルな仕組みでありながら複雑なふるまいを創発できるアイデアを評価されて Art in the Science Award を受賞しました。
Blind PainterBlind Painter は人工生命を種族ごとに色分けして軌跡を表示することにより、その種族の分布を可視化できるようにしたジェネラテ