Universal Automatism is the theory that everything in the world boils down to simple algorithms. Everything; from the weather, to the shape of leaves on a tree or the continents of the Earth, the movement of the stars to the thought processes in our heads, are essentially computational processes. Even if most of the processes are entirely unpredictable, i.e. impossible to simulate with contemporary human resources.
Naturally, as a programmer, I’m happy to subscribe to this theory unreservedly.
It might sound a bit of a reach, and it seems to be an idea that hasn’t escaped the field of theoretical mathematics quite yet, but once you start playing with a few algorithms and get familiar with some common mathematically generated patterns (spirals, helices, Mandelbrot sets etc) you begin to see them everywhere you look, and the idea of Universal Automatism seems only logical. Or perhaps if you’re spending most of your days staring at computer simulations in darkened rooms the patterns eventually get burned into your retinas, who knows.
This weekend, while the sun was shining and my family were out enjoying the garden, I was inside on my laptop playing with cellular automatons, like the obsessive-compulsive computer nerd I’m meant to be. Cellular automata are abstract mathematical systems like the one below – 2d grids of cells that are either black or white, kinda like a completed Othello board. With a simple bit of programming (I did it in Flash ActionScript) you give all the cells a shared behaviour, and then set them off on a synchronised update cycle. The final stage is observation – using our uniquely human skill of pattern recognition to look for “life like” behaviour emerging. Below the cells are programmed according to an algorithm known as “Vichniac Voting“. Click start to see it in action before I explain below what is happening.
With each update, each cell looks at its eight neighbours and itself and decides if it is in the majority or not. If it is it will stay the same colour, otherwise it will swap. In this version a twist has been applied to make it a little more unstable – the decision for neighbour count of 4 and 5 are switched. Without the twist it settles into a static pattern quite quickly.
Every time you restart the process you’ll get something different. But every time you’ll end up with something that our human brains would identify as a recognisable “pattern”. Something like you might see on the hide of a cow, the physics of water droplets, or the contours of a landscape, or, if you are willing to subscribe to Universal Automatism, just about anything in the natural world.
With cellular automatons we are purposely limiting our simulation to the simplest possible model, to prove the principle of simple algorithm, complex result, which is Universal Automatism in a nutshell (maple leaf, frond, whirlpool, whatever). If we can accept that life-like patterns can emerge from two state cells with a one rule algorithm, we can perhaps accept that the states/algorithms don’t need to be much more complex in order to generate any and all patterns we might observe in the worlds of physics, biology, society, culture and even psychology.
I’m not making up this crazy theory by the way. Universal Automatism is still quite loosely defined, but it has a history. Cosmology has always thought of the universe in these terms, also genetics has long accepted the idea of DNA undergoing long recursive algorithms in its unravelling. The idea was present in Chaos Theory, popular in the eighties, and Emergence Theory, popular in the nineties. But it was the 2002 book A New Kind Of Science by Stephen Wolfram that made the first serious attempt to explain the whole universe as computation. Dr Rucker then put a name to the theory in The Lifebox, The Seashell and The Soul.
I’m not asking you to all come join me in this crazy maths cult, but you have to say, as big thinking goes, this theory makes a lot more sense than some of the other rubbish around.
[ follow-up post: Universal Automatism – The Game Of Life ]
[ follow-up post: “Free Will Is An Illusion” proved using Comic Book Quantum Mechanics ]
if you liked this article, please digg it, thanks.
these days it sems theres a lot of buzz in ds field…. cellular automations comes in picture very often these days.. i m a student doing my graduation (in india) .. i m very much intrested in this emerging field… ur article is very intresting.. if u can suggest areas of study i should focus on as i want to contribute to this amazing field….
very interesting and well written article.. well, i will start programming something like that right now!
Indeed, there is truth in your words. I’ve been a big fan of fractals because of the real life implications, but after reading ‘A New Kind Of Science’, it has become clear to me that fractals are only a portion of the truth and just a little piece of what Wolfram describes in his book. I actually started programming because of my interest in fractals in Flash. The only problem is that I can’t seem to find a lot of good and clear tutorials for using recursion in Flash. Yesterday I understood there are some advantages in using AS3, and my next goal is figuring them out. If anyone has some interesting ideas or explanations or tutorials, please post them, or send them to my email: firstname.lastname@example.org. It is important for this knowledge to spread for this might mean a new way of thinking. The door has just opened to new Alife applications and beyond…
If you produce anything interesting, please post me a link here, I’d love to see it.
I strongly believe in this principle.
There has to be some way of determining how the universe clicks. Since everyhing in the Universe can be described in terms of interaction between particles, I have tried to simulate particle interaction in a quick manner.
A few months ago, I stumbled upon a way on how to simulate a system of interacting particles. This method works faster compared to the traditional mehods of simulation which involves the solution of difference or differential equations.
The idea works as follows:
Consider a basic particle at rest in space. Initially assume it is in one dimensional space.Let it be at the origin. I will represent it by the following equation:
where j is the notation used for the imaginary number i.
x is the one dimensional space.
t is the time.
solving for this equation , x=(0+jt). This is the complex notation and considering only the real part we get x=0. This shows the particle is at the origin.
Now I consider a second particle to the system at x=2. I will represent it by the following equation:
Solving for this equation x=2-jt and cosidering only the real part x=2. This shows that it is at a distance of 2 units from the origin.
Now I proceed to combine these two particles by superposing them. It is done by multiplying both the equations using complex algebra.
Discarding the imaginary terms and solving for the reduced equation a system of two interacting particles is obtained. They move close towards each other with time and at time t=1 they collide and disappear.
Here the first particle can be assumed to have a negative charge since it is represented by the complex equation x-jt=0. Similarly the second particle can be assumed to have a positive charge.
I have simulated an attraction between two unlikely charged particles.
More particles can be added to the system and by multiplying their individual equations using complex algebra and discarding the imaginary terms we get the equation for the entire system of interacting particles. Two particles with like charges are found to repel each other.
We can also choose particles with a finite initial velocity with equations of the kind x-2-t+jt=0;
since only algebraic equations need to be solved it saves alot of computational complexity compared to the traditional methods of simulations. Also we can solve the equation at a specific time unlike the traditional methods which involves evolving the system through time.
In two dimensions we can represent the same two particles by the following equations:
(x+y-jt)=0 and (x-2+y-2+jt)=0
Here the first particle is at the origin(negatively charged) and the second particle is at(2,2) (positively charged)
Now while combining these equations do not multiply terms containing x with y .
Discarding the imaginary terms and solving for this equation a circle with radius decreasing with time is obtained. The circle can be assumed to represent two interacting particles coming close to each other. the circle vanishes at time t=2.
Similarly more particles can be added to the system using complex algebra and by keeping the x and y dimensions separate. Using particles with finite initial velocities say x-t+y-jt=0 and x-2+t+y-2+jt=0 a system of two particles revolving around each other can be simulated.
By combining such particles we can simulate complex system of interacting particles and to make an observation of the system all that has to be done is to solve the system equation at a particular time.
I have tried to add more particles with moderate success but a fully fledged system containing a large number of particles is yet to be developed.
If anyone has got similar ideas please post a link here.
pingback: Jobe Makar
pingback: Tracking who links to zenbullets
pingback: Computational Biology News: April 2007
pingback: RobotAcid: st33d++
pingback: actionscripter.co.uk » 2007» April
pingback: Cellular Automaton Toybox