我正在编写一个基于ncurses的C.A.模拟器,用于模拟几乎任何使用Moore或Neumann邻域的C.A.。
使用当前的(硬编码和最明显的[运行状态函数]),模拟运行得很好;直到屏幕被填满了“on”(或其他活动)细胞。
所以我的问题是: 是否有有效的算法来处理至少类似生命游戏规则? 或者是世代,加权生命/世代...
谢谢。
我正在编写一个基于ncurses的C.A.模拟器,用于模拟几乎任何使用Moore或Neumann邻域的C.A.。
使用当前的(硬编码和最明显的[运行状态函数]),模拟运行得很好;直到屏幕被填满了“on”(或其他活动)细胞。
所以我的问题是: 是否有有效的算法来处理至少类似生命游戏规则? 或者是世代,加权生命/世代...
谢谢。
通常情况下,仅在上一个时间步骤中有活动的网格区域中运行更新操作是很好的。如果您为每个传递保留一个“我是否在此次更改?”的布尔格子阵列,则只需要更新与更改格子阵列中“打开”状态相邻半径内的单元格。