6 个版本
0.2.1 | 2022 年 1 月 25 日 |
---|---|
0.2.0 | 2022 年 1 月 25 日 |
0.1.0 | 2022 年 1 月 24 日 |
0.0.3 | 2022 年 1 月 22 日 |
#243 在 模拟
10KB
175 行
cellsim
cellsim 是一个用于命令行的 1D 细胞自动机模拟器,灵感来源于 Stephen Wolfram 的基本细胞自动机。大多数有趣的基本规则都通过此工具添加,但可以使用简单的编码轻松指定新规则。
MIT 许可证
文档
一些结果的截图
安装
cellsim 的二进制名称实际上是 cellsim。
cellsim 的二进制目前仅在 crates.io 上提供,可以通过 Rust 的 cargo 包管理器安装
$ cargo install cell_sim
您也可以通过克隆此存储库并使用 cargo build
构建源代码。
用户指南
默认情况下,cellsim 将使用规则 30 来计算自动机。要运行默认设置,可以使用以下命令
$ cellsim <iterations> <initial state>
例如,要生成上面的截图结果,您将运行
$ cellsim 10 " * "
其中引号之间的空格代表“死亡”细胞,星号代表“活”细胞。
此外,规则 90、110 和 184 也已内置。要访问这些规则,请添加选项 -r
后跟规则,如下所示
cellsim -r rule90 100 "** * ****** *"
要指定您自己的规则,可以使用选项 -c
,后跟规则的编码版本。标准格式如下
[size of patterns][pattern 1][result][pattern2][result]...
模式大小 是一个 4 位无符号二进制数,必须是奇数。一个 模式 是在 模式大小 中指定的大小,由 0 和 1 组成,其中 0 代表模式中的“死亡”细胞,1 代表“活”细胞。一个 结果 是如果找到模式,下一个细胞的下一个状态,因此使用上面定义的 0 和 1。例如,规则 30 是这样定义的
# Rule 30 in the standard format
001111101100101010010111010100110000
# annotated
# [0011][111][0][110][0]... and so on
这涵盖了程序的基础知识。请注意,将添加新的功能。
依赖项
~3MB
~61K SLoC