Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More advanced constructions #9

Closed
simsim314 opened this issue Apr 2, 2019 · 5 comments
Closed

More advanced constructions #9

simsim314 opened this issue Apr 2, 2019 · 5 comments

Comments

@simsim314
Copy link

simsim314 commented Apr 2, 2019

Hello my name is Michael Simkin, I'm game of life enthusiast and (among other discoveries) I've constructed adjustable speed spaceship that solved every speed below c/4 in CGOL.

I really liked your rules collection and the aesthetics of continuous rules. But I see people just invent new rules and don't invest time to investigate the simplest properties of the rules (and maybe meaningful modification in order to support university). For example what are the possible results of two gliders collisions? Is there also oscillators and other gliders in the same rule? How about glider reflector and duplicator? Can we make construction arm and make Gemini in some of your rules? In order to have Gemini we need to implement HashLife algorithm, as Gemini basically means universal construction, and the iterator implementation must be sparse.

CAs are very useful for self replication, and continuous self replication never been explored at all. Maybe there are some interesting shortcuts available in this collection of rules. Maybe we can make a spaceship that can turn in 5% for example. Some interesting properties and search utilities from CGOL can be used to find spaceships in those rules as well.

EDIT I noticed many of the rules contain interesting creatures but random soup is exploding. Do you have a "real" CGOL like rule where:

  1. Spaceships are many times spontaneously appearing.
  2. Random soup is usually (with probability higher than 99%) ends with only oscillators + spaceships.
  3. Infinite explosions are extremely rare (less than 0.1%).
  4. Complete death from random big enough soup is rare (less than 5%).
  5. A large set of different spontaneous creatures are available in the same rule (like in CGOL we have *WSSs except of gliders). And oscillators/still lifes have many different shapes.
@Chakazul
Copy link
Owner

Chakazul commented Apr 4, 2019

Hi Michael, it's interesting question whether Lenia or any continuous CA supports universality (see the paper for more discussions). Currently Lenia is limited by (1) lack of replicator and gun (2) lack of stable reflector and eater (3) interesting patterns exist in different rules / parameters. I believe brute force or algorithmic search could solve the first two, and (3) would need some tricks to allow multiple rules to co-exists in the same world.

For now, a CGOL-like rule with class 4 behavior and large number of stable patterns doesn't exist in Lenia. The closest thing we can get is at the lower-end of the param space where Orbium act as gliders.

The CGOL community is amazing in finding unbelievable patterns. I wonder if they're also interested in Lenia? Just that the tools for discrete CAs like HashLife won't work for continuous CAs, but new techniques like evolutionary algorithm or machine learning could be explored.

@simsim314
Copy link
Author

simsim314 commented Apr 4, 2019

Please fix me if I'm wrong but in Lenia there is a kernel function which you modify in some ways to find interesting rules. I couldn't understand too much of the math, but as I could figure out you're struggling with the set of functions or a function which gives you interesting rules. It's a tricky task but I believe that if Conway did it in the 8 neighborhood you can find it somehow inside your rule space. What concerns me more at least as myself can't speak for the whole community, is to tell you what you need to get "interesting rule". I've developed a more precise intuitive grasp what would you like to find inside Lenia to feel comfortable that you can pack to go some "interesting" rule you found and have self replication with high probability because you found enough components and good enough rule to play with further. So my major claim is that you basically need one oscillator and one glider inside a rule and you should remove the exploding from random or die immediately rules. I mean ideally you almost always end up with bunch of oscillators (could be the same oscillator in different phases could be many, we just need oscillators and not noise) and glider. So you're quite close to universality. Obviously it's not a promise, just saying I know the way there pretty well if it exists we will find it. Several types of oscillators or still life would be great but those are second priority. Because you have a rule with many different tweak possibilities as everything is continuous your space is infinite or very large - you will just statistically find what you want if the rule is behaving well enough. At least it's my personal experience with CGOL which is very simplistic, and people build there Geminoids. On the other hand I've no experience with continuous CA.

As of HashLife - The major point to self replication and golly the software which can simulate large patterns, is that it keeps the information in sparse matrices. So I believe if in Lenia it's possible to implement sparse matrices or some sort of hash tree then

The active CGOL community is currently not such large amount of people and we are also doing it in our free time as a hobby. The internet CA community is probably the best place to at least have a post of Lenia there on the internet (except the arxiv + github of course). Because as far as I can tell the conwaylife.com is currently the place discovering new patterns in Gol actively.

Now my question is: are you interested in collaboration on this?

@Chakazul
Copy link
Owner

Chakazul commented Apr 8, 2019

The "kernel" in Lenia roughly corresponds to the weights of neighbor cells when taking sum (always 1 in CGOL), and the "growth mapping" corresponds to the survival/birth intervals. So changing these two settings is like trying different rule sets in Life-like CAs. Possibly, there could be some "sweet spot" in the vast possibilities of Lenia settings that looks like CGOL where universal computation can be achieved. I haven't found such a sweet spot.

Sure, what kind of collaboration can we make? We may work on the universality problem, or just keep searching and recording interesting patterns ("lifeforms").

@simsim314
Copy link
Author

I would say the natural collaboration here would be to help you find interesting rules (I mean not the kernel space by itself but the filter criteria of bad CAs). If you can tell me where the script that searches for good rules is located, I can tweak it a bit (I hope you have a script which automates the search using random kernels). For example I would start from finding some rules which are not dying and not exploding naturally i.e. not only contain glider, but also contain glider with high probability (I also wouldn't waste time on exploding rules). Another point I would suggest is to look more into many different rules (run 2-3 patterns max) instead of looking for a good things inside one rule. If you run CGOL from random starting point you know immediately it's CGOL, the chances to miss it are slim.

After we will find some good candidate - depending on the time investment available we could either prove self replication in Lenia or build self replicating pattern in Lenia. Not sure this is even the natural direction here. For example it would be cool to find reflector for various angles - as in CGOL everything is usually in 45*N degrees. I think even gliders only rules might work - maybe we can start colliding gliders in existing rules, in search for oscillators (something like a Queen-Bee loop). But in case of lenia we can have any N-gon.

Anyway maybe we can switch to email? My email is: simsim314@gmail.com.

@Chakazul
Copy link
Owner

Offline discussion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants