6 ms·
I find it interesting that so many people have made their own CA simulator — I’ve made one as well! [0] Mine uses a very different design to yours: it’s distrib
by bradrn 6y ago
I find it interesting that so many people have made their own CA simulator — I’ve made one as well! [0] Mine uses a very different design to yours: it’s distributed as a library allowing people to define their own CAs, which they can then compile and run in a GUI. Compared to yours and OP’s, this is admittedly a bit hard to use, and you do need to know Haskell to use it. Additionally, I’ve only just rewritten it to use this approach, so some of the documentation and samples are out of date. (Also, it crashes a lot, I don’t know why.) Still, I have successfully used it ‘in anger’ at least once, to simulate the Beleusov-Zhabotinsky reaction for a chemistry assignment [1], so it at least seems to work.
(The categorically inclined may also be interested to know that this uses a variant of comonads [2] to define CAs, an approach I’ve found to be surprisingly flexible.)
[0] https://github.com/bradrn/cabasa https://github.com/bradrn/cabasa
[1] http://www.jstor.org/stable/2874179 http://www.jstor.org/stable/2874179 and http://www.sciencedirect.com/science/article/pii/016727899090101T http://www.sciencedirect.com/science/article/pii/01672789909...
[2] https://www.reddit.com/r/haskell/comments/a2vnni/a_better_comonad_for_cellular_automata/ https://www.reddit.com/r/haskell/comments/a2vnni/a_better_co...
- mikkom 6y agoI have always been fascinated with alife, the first one I created was something like 20+ years ago after I read an article about Tierra in a magazine. For anyone not familiar with tierra, peek into the rabbit hole :-) https://web.stanford.edu/class/sts129/Alife/html/Tierra.htm https://web.stanford.edu/class/sts129/Alife/html/Tierra.htm http://life.ou.edu/pubs/doc/index.html http://life.ou.edu/pubs/doc/index.html https://ai2020.org/tom-rays-tierra https://ai2020.org/tom-rays-tierra So... Genesys I linked is more than just basic CA, it consists of independent agents with each "creature" using a lisp-like instruction set.
- eythian 6y agoOh man, I spent a lot of time in high school playing around with Tierra. It is a lot of fun. A while back I started to reimplement it in rust, just to learn it, but never got very far. About a year ago, give or take, I did do a reimplementation of another alife/GA style problem, https://gitlab.com/eythian/tracker https://gitlab.com/eythian/tracker - this evolves DFSAs to follow lines. I have some more ideas that I want to test out with it actually, it's time I got back into it.
- mikkom 6y agoMy main idea behind creating the Genesys project was to create a network of worlds - I have full intentions to make the worlds connected in the future via internet and have functionalities to share worlds, creatures etc.. I just have too much more work to do and other more pleasant blockers like children :-)
- eythian 6y agoIn my case I'm doing it because I really enjoy thinking about representations of solutions that make evolutionary operators more effective - it was the topic of my masters thesis. This is more "pure" GA than alife though, mostly because alife was a bit too open-ended to structure a hypothesis around for a thesis, at least as far as I could figure out, so I had to compromise. Multi-world with migration between them was my PgDipSci thesis :) But I also really like the results that come out of alife in the broader sense, synthetic evolution, world/environment-building, and so on. It's quite a rich interesting field that's pretty easy to dabble in with some good ideas and some programming ability. As an aside, be aware that "genesys" is already taken in the field: http://web.cs.ucla.edu/~dyer/Papers/AlifeTracker/Alife91Jefferson.html http://web.cs.ucla.edu/~dyer/Papers/AlifeTracker/Alife91Jeff... (this is the HTML of the paper the thing I linked above is based on.) This may cause google-collisions.
- mikkom 6y ago> As an aside, be aware that "genesys" is already taken in the field Thanks for notification, I was already aware that it was used as a brand for anoher kind of service and was pondering if I should change it but this resolved that question :-) So many thanks for that. I would be interested in reading your thesis, is it available somewhere?
- eythian 6y agohttp://www.kallisti.net.nz/wikifiles/RobinsStuff/ga_thesis.pdf http://www.kallisti.net.nz/wikifiles/RobinsStuff/ga_thesis.p... (multipopulation) and http://www.kallisti.net.nz/~robin/thesis.pdf http://www.kallisti.net.nz/~robin/thesis.pdf (representation) Warning, I wouldn't say they're great, but if you're having trouble sleeping... :)
- bradrn 6y ago> So... Genesys I linked is more than just basic CA, it consists of independent agents with each "creature" using a lisp-like instruction set. Sure, I do understand that Genesys is an agent-based simulation rather than being ‘just’ a CA. Still, at heart it seems to be a CA with adjustable rules, and as such there is a similarly to my own program. (I’ve never heard of Tierra before, but it looks interesting; I shall have to look into it!)