4 ms·
Can anyone share some insight into why cellular automata are a big deal? I've built the original Game of Life and some variations (in 3D, 4D and on a hexagonal
by beforeolives 6y ago
Can anyone share some insight into why cellular automata are a big deal? I've built the original Game of Life and some variations (in 3D, 4D and on a hexagonal grid) during last year's Advent of Code but I still don't get the usefulness or where they fit in the larger picture of computer science.
- macintux 6y agoI've struggled with this question as well, although Wolfram's tribute to Solomon Golomb (recently reposted here) helped me start to see why they're interesting. https://writings.stephenwolfram.com/2016/05/solomon-golomb-19322016/ https://writings.stephenwolfram.com/2016/05/solomon-golomb-1...
- A12-B 6y agoI'm sure there's a better reason, but I honestly think a major factor for why people think this stuff is important is because Conway called it 'the game of life', and it was a pretty early discovery in computer science. It was basically a recipe for sci-fi imagination and headlines, leading some people to believe this is literally a program about generating cellular life.
- yiyus 6y agoCellular automata models are widely used in different science and engineering disciplines. For example, I use them for the simulation of heat treatments of steel. I guess that the fascination of the CS community comes from: 1) Conway; 2) They raise different interesting programming questions and exercises (writing GOL is a nice exercise to learn a new language, a parallel CA is a nice way to learn about parallelization, huge models pose interesting memory management questions,...); and 3) They are cool (isn't the video about GOL in APL by John Scholes one of the coolest programming videos you've ever seen?)
- UncleOxidant 6y agoWhat kind of CA model do you use to simulate heat treatments in steel?
- yiyus 6y agoWhat do you mean by what kind? I work at a university and we use all kind of models. From very simple models to teach students or make some quick estimation to very large codebases in projects in collaboration with steel companies. Using CA models is quite common in the field of metallurgy. A periodic grid is well suited to describe the polycrystalline microstructures we work with, and grain nucleation and growth laws fit well with the CA concept of rules.
- UncleOxidant 6y agoI guess there could be a lot of attributes the compose "kind" here. In the Game of Life cells are either on or off (binary) and the rules are pretty simple. I'd guess that for a CA to do the kind of simulation you're talking about each cell would have a floating point value? (continuous values) Any idea what the next-state rules look like? Then there's the neighborhood of a CA. GoL uses a Moore neighborhood (9 surrounding cells) - what kind of neighborhood does your simulation CA use? Is it strictly the surrounding cells or does the neighborhood extend further out? And if it does extend further out do the cells further away have less impact than the ones immediately adjacent?
- yiyus 6y agoIn the simplest models, a cell can be identified by only an integer, indicating either the phase in phase transformation problems or grain id for grain growth or recrystallization. But, in the more complex models, a cell can include all kind of properties (chemical composition, crystallographic orientation, dislocation density...). The number of neighbors we use also varies. Sometimes, even inside the same CA model, we use a different number of neighbors to calculate the evolution of different properties. Some problems are more related with the boundary between cells, and there we have to use first order, but other properties depend on the bulk and we use second order neighbors too (of course, weighted accordingly). Electron microscopy results are commonly obtained in hexagonal grids, so hexagonal grids are often used in 2D simulations. If you are interested in the topic, you can see for example http://www.dierk-raabe.com/reprints/cellular-automata/ http://www.dierk-raabe.com/reprints/cellular-automata/
- h2odragon 6y agoThey're useful for making pretty patterns; digital lava lamp equivalents. Others mentioned other good reasons; so I'll throw that one in for completeness.
- MattConfluence 6y agoI'd say it's not a very useful model on it's own, but it's a great teaching tool that illustrates emergence [1] well. It's easy to get started and it gets you into a mindset that you can then bring along to other models that you might do something slightly more useful with. [1] https://en.wikipedia.org/wiki/Emergence https://en.wikipedia.org/wiki/Emergence
- knome 6y agoThey are a novelty that is often surprising in the how their simple set of rules can lead to quite amazing emergent complexity. That the one-time chaotic game of life was eventually shown to be able to stably infinitely expand and be turing complete is quite interesting. I don't know that they'll ever be useful for efficient computation, but they will likely always remain fun. https://www.youtube.com/watch?v=xP5-iIeKXE8 https://www.youtube.com/watch?v=xP5-iIeKXE8 I have not read it myself, but I know that Stephen Wolfram ( of Mathematica/Wolfram Alpha) laid out some arguments for the usefulness of studying cellular automata in his early 2000s book "A New Kind of Science".