小程序以着名的康威“生命游戏”为模板——这是蓝星时代二十世纪由数学家约翰·康威发明的“生命棋”,是最着名的二维元胞自动机。
“生命游戏”可以理解为一张无限的正方形网格,每个格子是一个“细胞”,只有两种状态:生存/死亡(填充/不填充),从随机或固定填充的初始状态,生命棋按简单的规则演化:
一,当存活细胞周围八格多于三个活细胞,那么细胞死于拥挤。
二,当存活细胞周围八格少于两个活细胞,那么细胞死于孤独。
三,当死亡细胞周围八格正好有三个活细胞时,细胞复活。
就是这么简单的三条规则,如果算力足够,这张“网格”足够地大,甚至可以演化出堪比真实生命的复杂度。
周晓辰在这三条规则的基础上,制定了她的“文明棋”演化法则:
一,文明中的个体占有资源初始值为1.0,每一帧随机运动一格。个体生存策略分为“鸽派”和“鹰派”,鸽派倾向于合作共赢,鹰派倾向于零和博弈。
二,当鸽派和鹰派相遇,鹰派从鸽派处“夺取”资源,鸽派的资源值降低,鹰派的资源值升高,被“夺取”的资源比例由掷随机数得出,降低值等于升高值。
三,当鸽派与鸽派相遇,通过合作,双方的资源值都升高,升高的比例掷随机数得出。
四,当鹰派与鹰派相遇,双方发生争斗,胜者从负者处夺取资源,此时产生因争斗导致的损耗,降低值大于升高值。