What I give here is a new method to create fractal-like images and a possible implementation of the method. A lot of people has given algorithms that generate random fractal-like images by changing every time some parameters. See for example [2]. But usually these algorithms would generate images of the same class,where I propose a method that will generate completely new types of images. This method attempts to generate any possible random formulas like (1) exploiting the fact that any complex map and any dynamical system will be in the end implemented in a algorithm like(1) with only algebraic operations between real numbers. Pickover [2] has given an algorithm which generates random complex algebraic formulas. Although this algorithm will generate some stunning images, the fact that it uses complex algebra makes it less general than the algorithm proposed here, with many types of images (in fact countless) impossible to be generated by this method. On the other hand I am not sure that my program is really able to produce any possible fractal. It is also sure that its approach can be refined.
But using the words of [3]: "...images[produced by algorithms] are,viewed from the paradigm of mathematical logic,indeed theorems proved in a formal system." By this I mean that since the program is able to produce images and these images can be breeded to produce new ones, we can say that it is in any case successful, at least for the purpose of "art for art's sake".
The implementation was done in such a way that every possible combination of commands is correct and executes without errors. The only exceptions are the overflow,underflow and divide by zero errors. We assume that these are handled automatically by the language we are using. This, at least for those that I used (Fortran77 and C on Vax/Vms and Dec/Ultrix) was true but has a minor side effect. It is very well possible that some images are not reproducible on another platform (because of different handling of exceptional conditions).
Also I had to put a limit (50) to the length of the generated algorithm. This was done to speed up image computation. But if you set a limit too low (say 10) the images get too "boring". The real constants were generated in the range (-1,1). What is the result of this decision on the image? My feeling is that the choice of this range is not very important and any range can be ok: this is because we are generating completely random formulas. The same can be said about chosing the range (-4,4) for the limits of the Julia set.
Did I discover the Mandelbrot set with this program? No. The discovery rate of new images is low. I used a Decstation 5000/200. I am able to generate the 196 images 50*50 pixels of figure 1 in around 2 hours. This time depends on the cuts that you do to exclude uninteresting images before they are computed:in my case around 5000 images were excluded. Then I explore more in detail the around 10 images that look promising, and choose in the end only one image. I have done no optimization of the algorithm,but it is clear that this method requires a lot of Cpu time.