另外几个优化
@AlephAlpha 1. 如果空行的数量超过period就直接出结果 2. 如果当前已经是结果就不要搜了
还是那个问题,rlifesrc 不知道什么是行。
可以试试 Choice of state for unknown cells 选 Dead,不一定有效。
@AlephAlpha
从最左边开始一个一个的访问
@AlephAlpha
从最左边开始一个一个的访问
每走一步就检查一次吗?很慢的,一次搜索可能有几亿步……
想到一种 可能 对空行有用的改进:增加一种 Choice of state for unknown cells 的选项,默认为 Alive,但细胞的邻域中没有活细胞时为 Dead。
不过有三个问题:
- 如果没有 Known cells,开始搜时的第一个细胞的邻域中肯定没有活细胞。所以开始搜索时会和选 Dead 没有区别。一种可能的解决方案时对第一排的细胞忽略此条件。
- B0 的规则不好处理。要不干脆禁止在 B0 规则选择此选项?
- 和直接选 Dead 相比,可能没有任何优势。
还没试过,不知效果如何。
@AlephAlpha 我强调,重点是空行时终止搜索,不然还不如用 Dead。
好吧,那这个功能我就不加了。
@AlephAlpha 不过你说到邻域,倒是让我想到了一些可能的改进。我打算学 Rust,然后自己搞一个不公开的版本,假装自己是 AbhpzTa。有什么建议吗?
@AlephAlpha 不过你说到邻域,倒是让我想到了一些可能的改进。我打算学 Rust,然后自己搞一个不公开的版本,假装自己是 AbhpzTa。有什么建议吗?
Rust 官方教程见 https://doc.rust-lang.org/book/ 中文翻译见 https://kaisery.github.io/trpl-zh-cn/
不过 Rust 难度有点大,如果有点 C 的基础会好学一些。
我的代码很乱,有时还会作一些无意义的更改以维持努力更新的假象,导致代码变得更乱。可以先看看原版 lifesrc 或者 WLS 的代码。
和原版相比,我在算法上主要的改进是直接把邻域的状态记录/缓存到了细胞的信息当中,而非需要用到时才当场算。于是比原版快了不少。
此外又从 WLS 抄了不少改进。但没抄全,一些比较复杂的(主要涉及到搜索顺序)懒得抄了,所以很多情况下还是比 WLS 慢。在搜索顺序相同时,命令行版的 rlifesrc 还是比 WLS 快一些的;网页版用时则常在命令行版的两倍左右甚至更慢。
谢谢!!
不过我最近好像连不上 GitHub……有时候是找不到服务器,有时候是连接超时。
6/5/2021 16:58
AlephAlpha
xp2_8ka9baiczw103
xp3_0g04896zolt153!
xp3_334oo0uh32ac
xp3_334oozca22qi6
xp3_xrq1raicz661
xp4_08o6ll2z32101069c
xp4_39u0og693z643
xp4_ca96z4a511ig0756zy111!
xp4_g88hf0ccz011y2753
xp4_xbq1ticz6512
xp6_g2u0uixehhhez11
Hunting
xp3_c9baacz33w334oo
xp6_0s01110szx222zwehhhezzehhhezw888z70ggg07
xp6_6p6z343w259e0e96
xq8_x4p31z08o8z16
发现者信息已丢失
xp6_s01110szw22iz04ar0ra4xehhhezy0988zw70ggg07
6/6/2021 15:59
Hunting
xp30_25522552zzvtvz757!
xp6_ehhhezoggozw6ak8
xq8_2214ezy470a44
6/7/2021 13:34
Hunting
xp10_c89aacz351d13!
xp6_0ehhhezw888y1gggz70ggg07xppp
xp6_ehhhezzwehhhez08occo8z146cc641
xp6_s01110sxehhhezw222z77w77
6/9/2021 13:36
FWKnightship
xp4_31ciozwciq2qr
xp6_4a53z0eeweezcic
6/10/2021 12:29
Anonymous
xp6_259a4wciczy3696y1ehhhe
6/13/2021 15:40
AlephAlpha
xp2_c487p4iozw643
xp2_c4gfhoz643
xp2_y1g0k053zg8kc32z01
xp3_08o0oi093z321eiic
xp3_334oo0uhf0cc
xp3_334oozciqaa4
xp6_352z077w77z652w696
FWKnightship
xp3_g88bbgz01hddz33
发现者信息已丢失
xp2_gk2u0mp3zw23
xp4_31cioz4aaqaa6
xp4_ca1u0o8z3543x4896
6/16/2021 13:36
FWKnightship
xp3_ok4raarz03422
xp6_077w77z696z4arhhra4
xp6_69e0o4a4zy011xehhhe
6/17/2021 13:38
FWKnightship
xp4_25a4o0oi453zx23
6/18/2021 20:51
FWKnightship
xp3_334oozx6iq23
你应该有修改我的贴子的权限吧?