Using the GarlicSim framework for Life simulations

For general discussion about Conway's Game of Life.
Post Reply
cool-RR
Posts: 11
Joined: June 27th, 2010, 9:20 am

Using the GarlicSim framework for Life simulations

Post by cool-RR » June 27th, 2010, 9:56 am

Hello everyone!

My name is Ram and I'm developing a simulations framework called GarlicSim:

http://garlicsim.org

I will not say more about it since you can read a lot of information on the website. (There is also a screenshot and a video there.)

My main case study for this framework is Life. Would you be interested in giving it a try? Its usefulness right now is not even close to that of Golly's, it doesn't even have a fast algorithm, but in my opinion it puts the groundwork for some features that you don't have in Golly and might be useful. (The main one being the time tree, which is like source control for simulation states.)

(By the way, Golly was part of my inspiration for this framework.)

Also, since it's a generic framework for many different kinds of simulations, it could sustain a bigger community than the Life community, and as we know a bigger community is helpful for making a good program. So for example people who have no interest in Life could develop features for GarlicSim that will benefit Life researchers, and vice versa.

The reason I'm posting here is because I want to get more feedback about my program. What features are good? What is annoying? What features would you want me to add? Any other opinion and criticism will be appreciated.


If you want to give it a try, follow the installation instructions.


Best Wishes,
Ram Rachum.

Axaj
Posts: 232
Joined: September 26th, 2009, 12:23 am

Re: Using the GarlicSim framework for Life simulations

Post by Axaj » June 27th, 2010, 12:46 pm

I'd love to try this out, but I think I'm running the python program completely wrong. An installer for mac would be nice (the site says it's in progress), but if I had some simpler instructions then that would work too.
Image

cool-RR
Posts: 11
Joined: June 27th, 2010, 9:20 am

Re: Using the GarlicSim framework for Life simulations

Post by cool-RR » June 27th, 2010, 12:54 pm

Hey Axaj.

Just the fact that it was hard for you to find/follow the installation instructions is useful feedback for me-- Possibly I have been unclear in some part of them and I need to fix it. What was the unclear part?

About installation:
Do you already have Python installed? Do you know how to install standard Python packages?


Ram.

User avatar
Macbi
Posts: 770
Joined: March 29th, 2009, 4:58 am

Re: Using the GarlicSim framework for Life simulations

Post by Macbi » June 27th, 2010, 1:30 pm

I just downloaded it and it's working fine. (I used the windows easy installer) It's a really great idea and nicely implemented as well. I don't quite have the programming skill to write my own simpacks yet, but building some would be a great summer project for me.

cool-RR
Posts: 11
Joined: June 27th, 2010, 9:20 am

Re: Using the GarlicSim framework for Life simulations

Post by cool-RR » June 27th, 2010, 1:40 pm

Thanks Macbi!

User avatar
calcyman
Posts: 2329
Joined: June 1st, 2009, 4:32 pm

Re: Using the GarlicSim framework for Life simulations

Post by calcyman » June 27th, 2010, 4:44 pm

My name is Ram and I'm developing a simulations framework called GarlicSim:
Welcome to the forum!

Your universal simulator appears to have a lot of potential. For instance, it simplifies the process of converting a mathematical model of a simulation into a user-friendly program, which makes it very useful for investigating new models, ranging from systems of partial differential equations to artificial neural networks.

Of course, this general-purpose simulator could not (by definition) compete with a special-purpose simulator, such as Golly, so its applications to Conway's Game of Life are limited. Indeed, any step-by-step cellular automaton simulator cannot be faster than O(n) time complexity, whereas Golly can reach up to O(log n) on regular patterns, by performing innumerable steps simultaneously.

The main thing that you could improve is to add an argument to the step function, so that step() becomes step(iterations). This would allow you to implement algorithms, such as HashLife, where jumping 2^40 steps into the future is infinitely faster than calling a function over a trillion times. Indeed, Golly does it in far fewer than 2^40 CPU cycles.

GarlicSim is still of interest to me for other things, such as modelling artificial chemistries, generative network automata, and cellular automata on other media, such as Penrose tilings or the Leech lattice.
The main one being the time tree, which is like source control for simulation states
Life32 has a similar utility.
What do you do with ill crystallographers? Take them to the mono-clinic!

cool-RR
Posts: 11
Joined: June 27th, 2010, 9:20 am

Re: Using the GarlicSim framework for Life simulations

Post by cool-RR » June 27th, 2010, 5:15 pm

calcyman wrote:Welcome to the forum!
Thanks! :D
calcyman wrote:Your universal simulator appears to have a lot of potential. For instance, it simplifies the process of converting a mathematical model of a simulation into a user-friendly program, which makes it very useful for investigating new models, ranging from systems of partial differential equations to artificial neural networks.
I agree with your analysis-- Thanks for this phrasing, it's something I had in mind but I couldn't put to words very well. Possibly I'll use some form of your description on the website.
calcyman wrote:Of course, this general-purpose simulator could not (by definition) compete with a special-purpose simulator, such as Golly, so its applications to Conway's Game of Life are limited.
I slightly disagree here; It's true that the general-purposeness of GarlicSim will always be a disadvantage when competing with a special-purpose simulator like Golly; There's no avoiding it. But, I think that this advantage can be minimized a lot. I plan to allow simpacks to manipulate a big part of the general-purpose GUI, such as adding their own widgets and menus. I hope that I can make it so it will feel like a dedicated Life simulator. But that's in the future, only time will tell...
calcyman wrote:Indeed, any step-by-step cellular automaton simulator cannot be faster than O(n) time complexity, whereas Golly can reach up to O(log n) on regular patterns, by performing innumerable steps simultaneously.

The main thing that you could improve is to add an argument to the step function, so that step() becomes step(iterations). This would allow you to implement algorithms, such as HashLife, where jumping 2^40 steps into the future is infinitely faster than calling a function over a trillion times.
Ah, I have done exactly that. There is a `StepProfile` object that encapsulates the arguments to the step function. This allows you to mix&match between different algorithms (HashLife, QuickLife etc.) and different arguments (like number of iterations) within the same project.

The way to use it is still not documented in the reference/topical documentation, only in the in-code docstrings. Also, the GUI doesn't yet interact with this feature. Since you were interested in it I've bumped its priority a bit.
calcyman wrote:
The main one being the time tree, which is like source control for simulation states
Life32 has a similar utility.
I checked out Life32-- Not the friendliest application. Just finding the file to download was a non-trivial task... I tried operating it for a few minutes but it was too hard to understand so I gave up.
calcyman wrote:GarlicSim is still of interest to me for other things, such as modelling artificial chemistries, generative network automata, and cellular automata on other media, such as Penrose tilings or the Leech lattice.
Good to hear-- If you'll need help I'll be at the GarlicSim mailing list.


Ram.

doccolinni
Posts: 25
Joined: May 18th, 2010, 11:36 pm

Re: Using the GarlicSim framework for Life simulations

Post by doccolinni » June 28th, 2010, 6:10 am

I have to say, this piece of software looks stunning and revolutionary. I hope the word is spread and it gets wider acceptance and some media coverage.

cool-RR
Posts: 11
Joined: June 27th, 2010, 9:20 am

Re: Using the GarlicSim framework for Life simulations

Post by cool-RR » June 28th, 2010, 8:50 am

Thanks doccolinni!

Axaj
Posts: 232
Joined: September 26th, 2009, 12:23 am

Re: Using the GarlicSim framework for Life simulations

Post by Axaj » June 28th, 2010, 12:33 pm

cool-RR wrote:Hey Axaj.

Just the fact that it was hard for you to find/follow the installation instructions is useful feedback for me-- Possibly I have been unclear in some part of them and I need to fix it. What was the unclear part?

About installation:
Do you already have Python installed? Do you know how to install standard Python packages?


Ram.
It turns out I missed some stuff on the guide, namely that you had to have setuptools and wxpython. However, now that I've successfully installed all three packages, when I run garlicsim_wx based on the instructions on the site, the window is blank and python immediately crashes.
Image

cool-RR
Posts: 11
Joined: June 27th, 2010, 9:20 am

Re: Using the GarlicSim framework for Life simulations

Post by cool-RR » June 28th, 2010, 1:14 pm

Hello Axaj,

I'll be happy to help you. If you have time to continue pursuing this, let's continue this discussion on the mailing list, and I'll help you solve it. Send an empty email to garlicsim@librelist.org, wait for confirmation, then send a "hello" message and I'll guide you from there.

(Of course, if you don't have time for it, thanks for your feedback up to now.)

Ram.

Post Reply