Conway's Game of Life, using floating point values instead of integers
jwz.org
jwz.org
https://plus.google.com/110214848059767137292/posts/WtPBhYJs...
Technical details on the YouTube page:
https://www.youtube.com/watch?v=KJe9H6qS82I
(Two lots of source code available: Stephan's and mine)
Other discussions about this:
Reddit: http://www.reddit.com/r/compsci/comments/118svz/smoothlife_a...
Metafilter: http://www.metafilter.com/120749/Smoothlife
http://code.google.com/p/reaction-diffusion
There's a deep motivation behind all this, which is to try to understand the pattern formation mechanisms that appear in nature and get harnessed by organisms.
Edit Quoth YouTube: "74 minutes on an nVidia GeForce GTX 460" ... maybe not so fun.
Admittedly not in a web browser though.
http://en.wikipedia.org/wiki/Convolution
As it says on that page, FFT is often used for convolution because it is fast: after applying a discrete Fourier transform to the kernel and the image, the resulting images must only be multiplied together before applying an inverse FFT.
I wonder if there is an application of Gershgorin's Disc theorem here?
HTML5 gives you WebGL support, which allows you to compile and run GLSL shaders from JavaScript. For something that is heavily shader-oriented like this, it might be possible in the browser.
With a radius of 10.0 and a timestep of 0.1 I get 186fps on the same graphics card - visually about the same speed as the youtube video.
I tried the same parameters in the version downloadable at http://sourceforge.net/projects/smoothlife/ and it did not seem to produce similar output to the video either.
Here it is:
2 1 10.0 3.0 10.0 0.100 0.257 0.336 0.365 0.549 2 4 4 0.028 0.147 // SmoothLifeL
Put this at the top of SmoothLifeConfig.txt and run the exe.
You'll notice that some of the parameters (the 2 4 4) control the transition function. This is different to the version in the paper which is smoothglider (which is in the config file) which uses 4 4 4.
EDIT: found the paper: http://arxiv.org/pdf/1111.1567v2.pdf
(From the link) The algorithm is explained here: http://www.youtube.com/watch?v=iyTIXRhjXII
Also it's not a normal PDE because ∂f/∂t is permitted to be an arbitrary functional of f restricted to a fixed-diameter neighborhood of the point, not just an infinitesimal neighborhood.
Does the Dirac equation take this into effect?
1/3_____1/2/3
/| /|
/ | / |
1------1/2 |
| 3____|__2/3
| / | /
|/ | /
0-------2
0) At the bottom left corner you have "classical mechanics" - the theory that explains pendulums, bouncing balls and spinning bodies.It branches out along the three axes:
1) Add mutual gravitation, giving you the theory of Newtonian celestial mechanics (in which gravity acts instantaneously)
2) Add relativistic effects, giving you Einstein's theory of special relativity (there is a finite upper limit to all communication, the speed of light)
3) Add quantization, giving you 1920s era quantum mechanics, as described by the Schrodinger equation.
We know how to combine any two of these:
1/2) Combining gravitation and relativistic effects gives you Einstein's theory of General Relativity. In this theory, gravitational effects travel at the speed of light.
2/3) Combining relativity and quantum mechanics gives you quantum field theory and the Standard Model. This encompasses the Dirac equation, which is a quantum relativistic theory of fermions (i.e. matter particles).
1/3) Combining gravity and quantum mechanics gives you... well, it's kind of boring and we don't talk about it much, but you get a quantum theory with gravitation, but no relativistic effects. No one really studies this.
Combining all three is the holy grail of physics:
1/2/3) Often called `quantum gravity` or the `theory of everything`, this is the as yet nonexistent theory that can explain both very small and very massive (in the sense of having a large mass) objects, like black holes or the early universe.
I'm not an expert, but possible reasons for the relative lack of interest in these equations include:
1. It doesn't produce many interesting predictions (possible exception: it might be useful for explaining how gravitational effects can induce wavefunction collapse, but this appears to be highly speculative.)
2. There isn't a natural domain of applicability. For example, combining 1/2 (gravity and relativity) has a natural applicability to things that are heavy and move fast (i.e. stars, galaxies, the universe). Combining 2/3 (relativity and quantum mechanics) applies to things that are small and move fast (electrons and other fundamental particles). The domain of applicability of 1/3 would be things that are small and heavy, but move slowly. I can't think of any examples of things that fit the bill (note that 1/2/3 applies to things that are small, heavy and move quickly, i.e. black holes).
When I say "move quickly" here I don't necessarily mean that the object you're modelling must be moving quickly - just that there are speeds in the problem that are appreciable fractions of the speed of light.
[1] http://en.wikipedia.org/wiki/Schr%C3%B6dinger%E2%80%93Newton...
For example you can split a ray of neutrons, direct each beam throu a different path with different height and then make them collide and see the interference pattern. (The details are in the book of Sakurai "Modern Quantum Mechanics" pp127-129, with data from an experiment of Colella, Overhauser, Werner (1975).)
It is possible to create systems that combine 1/3, but they are almost corner cases and most of the time the other combinations are more useful.
It lets multiple cell colonies fight against each other using a modified ruleset.
(http://news.ycombinator.com/item?id=4642628) which goes to a Youtube video of a game of life in a single line of APL. It's a really nice description of the code too. (It's a sale pitch for dynalog - but the best kind where they're just using the tool to do something neat and not pushing their URLs at you.)
Just check the frontpage again in a few years.
Life simulating life, and it runs in real time.
After spending a good bit of time optimizing 'life' having your ass handed to you by a large number of orders of magnitude courtesy of mr. Norvig is a good lesson in humility.
we are getting there - http://www.youtube.com/watch?v=xP5-iIeKXE8
(http://news.ycombinator.com/item?id=4014078)
I think I've seen it before that too, from HN.
And that was in 2000. I'm sure we could do extremely large boards now.
How far do you want to zoom out?
Em, it's called "Game of Life" because the whole point was for it to look and behave _organic (Wikipedia: "Conway was interested in a problem presented in the 1940s by mathematician John von Neumann, who attempted to find a hypothetical machine that could build copies of itself").
Are you sure? This isn't obvious to me.
You don't confuse the fast rate of change in some Conway implementations (which is a detail) with actual complexity.
I was actually reading that book at the book store for hours, getting quite intrigued, but at the same time deterred by its size. Perhaps I should give it another shot some day.
In fact, a good strategy for becoming familiar with cellular automata as a field is to read reviews of ANKOS by people with degrees[1], collect the works and authors mentioned, and trawl them. You'll learn a lot about a lot that way.
[1]: http://shell.cas.usf.edu/~wclark/ANKOS_reviews.html has an extensive selection of such reviews.
EDIT: It's also worthy of note here that Wolfram would reject the original post's model as not worthwhile, as ANKOS explicitly argues that we should reject continuous models in favor of discrete models; indeed, that is the very definition of his "new kind of science."
(Also, like much of the work in the book, it was written by an uncredited employee rather than Wolfram)
I think the concepts are fascinating but the representation is somewhat meh. Wolfram seems to be quite fond of himself. That ebing said I don't understand why people would not want to read the book because they "don't like" Wolfram.
I recommend it to anyone really it got me thinking about some pretty interesting ideas. Just be open minded and treat it as a "creative tickler" and not a ridid new science :)
Might even be able to do it in a way that works without canvas.
I'm not a fan of electronic music but the music that was picked for the video was perfect.
If you think I was going to read all the pages I could access on the site, so that I could ascertain whether it was worth my while to log in, then you grossly overestimate my commitment to a poorly-explained link I clicked speculatively in a comment.