Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => Mandelbrot & Julia Set => Topic started by: ker2x on March 10, 2010, 11:57:10 PM




Title: extremly high iteration buddhabrot
Post by: ker2x on March 10, 2010, 11:57:10 PM
I'm still working on a stable, parallel, optimized version of my fortan buddhabrot generator.
while i work on it i'm playing with my PureBasic version.

i started explring buddhabroth with buddhabrot iteration > 1 million.
The problem is probably in the precision of the random number generator, but, for now, it seem that it's very hard to find plots that :
1) are not in the mset
2) do not escape before 1 million iteration.

i'm not sure about what i'm expecting to find yet ...

i currently run 2 version of the generator :
- one with 1 million maximum iteration but start plotting after 10 iteration
- one with 2 millions maximum iteration but start plotting after 1k iteration

the 1st one start to show some interesting result but i should wait for many more plot to really explore the result.
the 2nd run only show plot with less than 1 million iteration.

anyone tried something similar ? any tought about this experiment ?


Title: Re: extremly high iteration buddhabrot
Post by: ker2x on March 11, 2010, 12:42:26 AM
i tought about something :

I first tought about a metropolis-hastings algorithm, but then tought about something else.

1) randomly explore the space
2) find a plot with high iteration
3) when a good candidate is found
3a) plot the orbit
3b) start a brownian motion with very tiny step
3c) plot the high iteration plot found
3d) stop the motion after <find a good stop condition>
4) goto 1

the stop condition could be a simple "do only 100 step"
something more complex like : stop the motion if it couldn't find another high iteration plot after 3 consecutive step

or something much more complex but probably too much cpu intensive like euristic, statistic, prediction, and so on... why not something inspired by http://en.wikipedia.org/wiki/Simulated_annealing (something i'd like to code sooner or later, sound fun)


Title: Re: extremly high iteration buddhabrot
Post by: Timeroot on March 11, 2010, 02:00:32 AM
Rather than doing brownian, use directional estimation.

Hey, I just had an idea of how to actually do that! I'd been wondering about that for ages! YAAAY!

Anyway, you can derive a formula, similar to that for distance estimation, which will tell you the direction in which to head for higher iteration. You'll want to use a step size that's related to the current iteration value... or, more naturally, distance estimation. So something like Newz=OldZ+1/2*distEst*direst should lead you towards the Mset's deepest value at a (hopefully) exponential decrease in distance - here dirEst is a root of unity, btw. The only potential problem is that it might not "find" it's way into embedded Julia's very easily, due to their small gaps. Maybe doing some studies with the DE normals in that vicinity could lead to clues.

I recommend you try this. In order to do that direction estimation, you'll need to find the value of t such that d(t*DE(z))/dz is at it's minimum. Since DE is computed analytically using the chain rule, I think you should be able to do the same for direction estimation.

Wow, I wonder if anyone has ever thought of that before... they probably have.  :crazy:


Title: Re: extremly high iteration buddhabrot
Post by: kram1032 on March 11, 2010, 06:37:41 PM
for those harder cases there could be a random treshold where, say, 10% of the points are tried out randomly, rather than with the direction estimation :)