rlifesrc icon indicating copy to clipboard operation
rlifesrc copied to clipboard

另外几个优化

Open HuntingBot opened this issue 5 years ago • 10 comments

@AlephAlpha 1. 如果空行的数量超过period就直接出结果 2. 如果当前已经是结果就不要搜了

HuntingBot avatar Apr 07 '21 14:04 HuntingBot

还是那个问题,rlifesrc 不知道什么是行。

可以试试 Choice of state for unknown cells 选 Dead,不一定有效。

AlephAlpha avatar Apr 09 '21 00:04 AlephAlpha

@AlephAlpha

从最左边开始一个一个的访问

HuntingBot avatar Apr 09 '21 11:04 HuntingBot

@AlephAlpha

从最左边开始一个一个的访问

每走一步就检查一次吗?很慢的,一次搜索可能有几亿步……

AlephAlpha avatar Apr 09 '21 12:04 AlephAlpha

想到一种 可能 对空行有用的改进:增加一种 Choice of state for unknown cells 的选项,默认为 Alive,但细胞的邻域中没有活细胞时为 Dead。

不过有三个问题:

  1. 如果没有 Known cells,开始搜时的第一个细胞的邻域中肯定没有活细胞。所以开始搜索时会和选 Dead 没有区别。一种可能的解决方案时对第一排的细胞忽略此条件。
  2. B0 的规则不好处理。要不干脆禁止在 B0 规则选择此选项?
  3. 和直接选 Dead 相比,可能没有任何优势。

还没试过,不知效果如何。

AlephAlpha avatar May 26 '21 00:05 AlephAlpha

@AlephAlpha 我强调,重点是空行时终止搜索,不然还不如用 Dead。

HuntingBot avatar May 27 '21 10:05 HuntingBot

好吧,那这个功能我就不加了。

AlephAlpha avatar May 27 '21 12:05 AlephAlpha

@AlephAlpha 不过你说到邻域,倒是让我想到了一些可能的改进。我打算学 Rust,然后自己搞一个不公开的版本,假装自己是 AbhpzTa。有什么建议吗?

HuntingBot avatar May 30 '21 11:05 HuntingBot

@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 快一些的;网页版用时则常在命令行版的两倍左右甚至更慢。

AlephAlpha avatar May 30 '21 12:05 AlephAlpha

谢谢!!

不过我最近好像连不上 GitHub……有时候是找不到服务器,有时候是连接超时。

HuntingBot avatar Jun 09 '21 05:06 HuntingBot

6/5/2021 16:58

AlephAlpha

xp2_8ka9baiczw103 xp3_0g04896zolt153xp3_334oo0uh32ac xp3_334oozca22qi6 xp3_xrq1raicz661 xp4_08o6ll2z32101069c xp4_39u0og693z643 xp4_ca96z4a511ig0756zy111xp4_g88hf0ccz011y2753 xp4_xbq1ticz6512 xp6_g2u0uixehhhez11

Hunting

xp3_c9baacz33w334oo xp6_0s01110szx222zwehhhezzehhhezw888z70ggg07 xp6_6p6z343w259e0e96 xq8_x4p31z08o8z16

发现者信息已丢失

xp6_s01110szw22iz04ar0ra4xehhhezy0988zw70ggg07

6/6/2021 15:59

Hunting

xp30_25522552zzvtvz757xp6_ehhhezoggozw6ak8 xq8_2214ezy470a44

6/7/2021 13:34

Hunting

xp10_c89aacz351d13xp6_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

你应该有修改我的贴子的权限吧?

HuntingBot avatar Jun 18 '21 16:06 HuntingBot