So called "Intelligente behaviour" can be defined in a pure thermodinamic languaje, using just "entropy". Formulaes look pretty intimidating, but once you get the idea, coding it into a working AI is quite simple.
Fractalizing the same idea takes away entropy calc form the AI and makes it work much better.
Finding a way for the fractal futures to be able to travel back in time, as in Feynman diagrams and integrals, has proved to be a little tricky, but I feel I am quite near to solve it.
In the mean time, I want to share a "dead end" try to accomplish this by using succesive layers of futures sended to the future in different succesive times, so they act as a serie of concentric wave fronts that travels to the future reinforcing each other.
Let start by showing a nice video of this idea at work:
Just after reading my own last post I wondered why I didn't let both algorithms to solve the maze in similar conditions so I could have a clear idea of how better one is compared to the older.
Wow, I didn't remebered the lineal "Entropic" AI to be so limited! I always tested it in the open field as I knew it didn't perform well in maze-like environments, but it looks like the google car racing against a F1.
So just have a look to the fractal "One Way" version of the last post solving the maze:
Today I consider the "One Way" version of the fractal AI to be officially finished: I can not do it any better!
I have recorded a short video directly from my screen so you can watch it at work in slow motion, generated in real time in a very slow PC (no GPU, no cuda, no paralellization, no optimising, just old and dirty standard code) so you can watch the fractal as it grows up.
What you will see in the video are the "tips" of the branches of the fractal as it evolves in time (visit the post about "Fractal algorithm basics" for more info about what those "branches" are), like a "front wave" of imaginary futures scanning all the possibilities in front of you.
It really acts as a flock of silly birds, but a very special one: all the birds are totally blind, they change direction and velocity totally randomly, like having a crazy monkey pushing the joysticks randomly, but when one bird crashes, it is cloned to a safer position, the position of one of the "best birds" in the actual flock. This process of cloning and collapsing is what defines the "Fractal growth" as commented in the last post, and it makes it possible for the futures to reach the exit of a complicated maze quite automagically.
The video start by showing you the final fractal paths used to solve the maze, then I switched the app into "Slow motion debug" mode and made a new step of the thinking process, so you can see the fractal forming. The params were 1000 futures and 100 seconds.
This post is meant to be the first in a serie about the basic working of what I now call "Fractal Growth based algorithms", including not only the "Fractal AI" I am working on, but also methods for function
optimisation or even my biggest experiment, the "quantum physics simulator" showed in previous posts.
Why are those methods relevant?
I have a strong feeling that those methods could be revolutionary in several aspects and serve as a base for new mathematical tools based on the power of fractals: I think they have the power to dilute some NP problem into P, and even more interesting, into O(n), making some hard problem to become "not so hard" anymore.
Nature is made up of fractals, as Maldelbrot showed us: a tree is a fractal, the coast line is a fractal, a mountain is also a fractal, etc. but we only use fractals for drawing fractals... it is the "lovely cat generator" of modern maths.
An algorithm is only "promising" until you perform some benchmarks against others similar state-of-the-art algorithms that are aimed at the same kind of problems.
Benchmarking a general AI algorithm is not easy as it is supposed to generate "intelligent behaviour" and it is not quite clearly defined, but I also develop some other fractal algorithms aimed at finding the global minimum of a real function, or "optimising" functions, and in this case, the algorithm is easily comparable with others, so here we go.
Fractal AI is quite mature by now, it has reached a quite big milestone, being the first "finished" fractal AI I have been able to produce to date. It is not still "completed" in a general sense, but with some prefixed limitations, it is finished.
I stresssed it with 30 asteroids using only 100 futures (in previous tests I needed 300 or 500 futures to get something like this) and it was no problem for the rocket at all. Then I tried 40 asteroids. Again no problem but more stress.
50 was too much for it. The sky was full of asteroids, I didn't spect it to survive at first, but it did. I did manage to fly away the shower, but survivided! It is a new record.