Page 1 of 1
Changing gencols' rule
Posted: September 23rd, 2020, 12:27 pm
by A. Erkiaga
I tried making a script to automatically search for valid bit-parallel functions, but the search space was awfully large and the search was slow. Then I tried writing one manually, but the task was extremely difficult. Anybody knows how I could implement transitions for other rules than the default?
Re: Changing gencols' rule
Posted: September 23rd, 2020, 1:02 pm
by wildmyron
A. Erkiaga wrote: September 23rd, 2020, 12:27 pm
I tried making a script to automatically search for valid bit-parallel functions, but the search space was awfully large and the search was slow. Then I tried writing one manually, but the task was extremely difficult. Anybody knows how I could implement transitions for other rules than the default?
This post should get you going with semi-totalistic rules:
viewtopic.php?p=3254#p3254
Disclosure: I've never used gencols, looked at the code or downloaded the zip file in the linked post.
If you're keen to get parallel bitwise implementations of other CA rules then you could investigate how Lifelib generates it's assembly code for the various rule families (genera) that it supports.
https://conwaylife.com/wiki/Lifelib
https://gitlab.com/apgoucher/lifelib
To be honest, it's not the easiest code to understand (but it is designed for performance and flexibility) so I'll mention one other option which is something I have used: Bellman also contains code to generate bit parallel logic for semi-totalistic rules.
https://conwaylife.com/wiki/Bellman You can find the rule generation code in the original repo (the one on Sourceforge) and a description of how to use it in either draft A or B of the documentation.
Re: Changing gencols' rule
Posted: September 23rd, 2020, 2:36 pm
by A. Erkiaga
Thank you! What I'm looking for seems to be lifelib's genera/lifelike.py script that you pointed out. I'll try to make sense of it.