我正在尝试在嵌入式设备上实现康威的生命游戏。我只有 1kb 的 RAM 可以玩,总共有 2048 个单元,等于 512 字节。我将一次计算下一代 8x8 单元,这样我就不必在任何时候将两代存储在 RAM 中。
但是,我还想做的是检测 GoL 何时陷入循环/静态状态。当我在 PC 上创建模型时,我只是存储了最后的第 10 代和第 100 代,并将当前代与它进行比较。我不能用 1kb 的 RAM 做到这一点,我想做的只是计算最后 x 代的哈希并将其与当前一代的哈希进行比较。
XTEA 或 SHA1 有一些非常简单的实现,但我不确定散列是否真的适合这个目的,因为我需要确定两代中的每个单独的单元格是否相等。你会推荐什么?
谢谢,
乔
编辑:只是想,我实际上可以计算匹配的数量,如果它达到某个阈值,然后假设它处于循环中,这对于每千代左右重复的模式来说效果不佳。