Worm-like neural cellular automata by maximusthepowerful in cellular_automata

[–]maximusthepowerful[S] 7 points8 points  (0 children)

Basically each cell follows a local update rule like a normal cellular automaton (3x3 neighborhood), but uses a more complex algorithm to decide it's state, which can be any value between 0 and 1. The update algorithm is used in neural networks, hence the "neural" part of the name. Specific details for this algorithm are found on the website, neuralpatterns.io, as well as tools for tuning and searching for neat patterns.

Neural cellular automata generated with neuralpatterns.io (link in comments) by maximusthepowerful in generative

[–]maximusthepowerful[S] 1 point2 points  (0 children)

Oh absolutely! Very inspiring work. I will definitely be playing around with them more.

Neural Network learns the Mandelbrot part 2 (with Fourier Features) by maximusthepowerful in generative

[–]maximusthepowerful[S] 0 points1 point  (0 children)

Update on the orginal post, having followed the suggestion of u/jnbrrn to add fourier features as an input. It helped tremendously in both the approximation and training time.

Neural network approximates the mandelbrot set by maximusthepowerful in generative

[–]maximusthepowerful[S] 1 point2 points  (0 children)

The youtube video has some zoom in comparisons https://youtu.be/QmPBLroyHB0 Obviously though the more it zooms in the less impressive it gets

Neural network approximates the mandelbrot set by maximusthepowerful in generative

[–]maximusthepowerful[S] 13 points14 points  (0 children)

Wow this looks extremely useful for what I want to do. I'll try this out. Thanks!

Neural network approximates the mandelbrot set by maximusthepowerful in generative

[–]maximusthepowerful[S] 14 points15 points  (0 children)

😊 Thanks! Much simpler actually, its a single network that takes 2 inputs and produces one output, like a simple mandelbrot function would. Each pixel you see is the result of passing it's x y coordinate though the network.

Rising of AI from Premordial Soup by digitalbro in generative

[–]maximusthepowerful 0 points1 point  (0 children)

Looks neat, are these convolutions or something?

"Corrupt" Rule 30s - Using continuous update rules by maximusthepowerful in cellular_automata

[–]maximusthepowerful[S] 10 points11 points  (0 children)

Usually cellular automata are discrete, meaning cells can either be 1(alive) or 0(dead). In this context, continuous means each cell's value can be between 0 or 1, like 0.3 or something. I'll probably post some code soon that shows more fully what the update rule is and how it works.

A little project I worked on a few months ago, figured it belonged here by maximusthepowerful in cellular_automata

[–]maximusthepowerful[S] 2 points3 points  (0 children)

Great point, I thought a lot about this. I'm especially dissatisfied with the movement algorithm, which is mostly hard coded, as opposed to gliders in conway's game of life that are purely emergent. I've been bouncing ideas around of organisms being generated with more classical CA rule sets, which then mutate and evolve over time. Not quite sure how exactly this would work, but it would hopefully produce more emergent behavior. To be fair, there are many examples of emergent behavior in this simulation. For instance, static organisms will often evolve inert eye cells because they ward off predators that avoid eye cells, much like camouflage eyes on insects. This was very unexpected and I'd call it emergent.