模拟细胞之间的生死搏斗

查看原文 HN 讨论

文章摘要

作者 Jamie Simon 用一种叫 Cellular Potts Model(CPM,元胞 Potts 模型) 的框架在网格上模拟”细胞打架”。CPM 是 Ising 模型的扩展,每个格子记录一个”颜色”(代表它属于哪个细胞),整个系统不断地随机翻转格子状态,并以一个能量函数衡量翻转的好坏——能量越低越稳定。Simon 在能量函数里堆了几条规则:邻居颜色一致更受欢迎(让细胞保持液滴状的连贯形态);每个细胞有一个目标体积(target volume),偏离目标会被惩罚;最关键的是他加了一项有方向偏好的能量项——细胞更倾向于把自己往最近邻居的方向”扩张”,当一个细胞被对手抢走地盘时,它的目标体积会同步缩小,一旦目标体积归零就等于被吃掉。

这套规则非常简洁,却跑出了出乎意料的”目的性”行为:颜色不同的细胞会主动靠近对手、相互推挤、争抢空间,胜者会进一步胀大、败者会收缩并最终消失,整个画面看上去就像一场细胞间的真实搏斗。作者特别强调,这种”看似有意图”的行为完全来自局部、概率性的低层规则,没有任何全局规划——这正是他想表达的哲学观点:真实生物的”目的性”也可能完全是 bottom-up 涌现出来的,并不需要某种自上而下的设计或意识。

文章末尾作者抛了一个开放性问题:如果游戏 / 互动作品也能用这种”自下而上的规则涌现”来设计,会是什么样?像俄罗斯方块那种规则极简却深度无穷的设计,会不会有”涌现版”的对应物?

HN 评论精华

  1. chychiu:表示自己也长期对”人造细胞 + 涌现动力学”感兴趣,推荐了 github.com/chrxh/alien 这个项目——一个 GPU 加速的人工生命模拟器,比 CPM 更复杂,可以模拟基因、能量、繁殖等一整套机制,是想往这个方向深入的同学的下一站。

  2. skyberrys:被文末那个问题打动了——”能不能用 bottom-up 规则设计游戏或娱乐内容?”。他举了个反例:俄罗斯方块如果用 bottom-up 规则,可能会变成完全不同的游戏。这是一种值得认真探索的设计哲学,不只是技术问题。

  3. treyd:从设计角度提建议——他没见过哪个元胞自动机让全局状态反过来影响局部规则。可以再加一些”控制/能量”变量(比如食物、资源采集等)让规则更有层次,演化出更丰富的生态。

  4. suburban_strike:直接抛了一个 Conway 生命游戏的维基链接——意在提醒读者”涌现行为”的祖师爷其实早就存在了。算是一种简洁的考古式吐槽,也提示了 CPM 与 GoL 的家族关系。

  5. bubblyworld:很激动地说他自己正在做一个用 LCD 屏渲染 Ising 模型的电子小项目,看完这篇决定再加一个 Potts 模型版本。这是 HN 经典的”被启发去动手”反应,证明这类小作品的真正价值是触发别人的灵感。

  6. andai:简短一句”This put a big smile on my face. Very cool.” ——纯纯的好评,也是作者最想看到的反馈:让人会心一笑