1 Evolutionary Exploration of Complex...

23
1 Evolutionary Exploration of Complex Fractals Daniel Ashlock 1 and Brooke Jamieson 2 1 University of Guelph, Department of Mathematics and Statistics, 50 Stone Road East, Guelph, Ontario, Canada, N1G 2W1 [email protected] 2 University of Guelph, Department of Mathematics and Statistics, 50 Stone Road East, Guelph, Ontario, Canada, N1G 2W1 [email protected] 1.1 Introduction A fractal is an object with a dimension that is not a whole number. Imagine that you must cover a line segment by placing centers of circles, all the same size, on the line segment so that the circles just cover the segment. If you make the circles smaller then the number of additional circles you require will vary as the first power of the degree the circles were shrunk by. If the circles diameter is reduced by half then twice as many circles are needed; if the circles are one-third as large then three times as many are needed. Do the same thing with a square and the number of circles will vary as the second power of the amount the individual circles were shrunk by. If the circles are half as large then four times as many will be required; dividing the circle’s diameter by three will cause nine times as many circles to be needed. In both cases the way the number of circles required varies is as the degree to which the circles shrink to the power of the dimension of the figure being covered. We can thus use shrinking circles to measure dimension. For a figure whose dimension is to be computed, count how many circles of several different sizes are required to just cover the figure. Fit a line to the log of the number of circles required as a function of their diameter. The slope of this line is the dimension of the figure. For a line segment the value will be close to 1 while for a square the value will be close to two. This procedure approximates the Hausdorff dimension[9] of the objects. For Mandelbrot and Julia sets, the fractals that are the focus of this chapter, the boundaries of the sets will have dimensions strictly between 1 and 2. Examples of these fractals appear in Figures 1.1 and 1.2. Objects as diverse as clouds, broccoli, and coastlines exhibit the property of having non-integer Hausdorff dimension. Fractals appeared in art before their defining property of fractal dimen- sion was formalized. A seventeenth century painting, taken from a series of thirty-six views of Mt. Fuji, depicts a great wave threatening an open boat. This picture appears in [9] as an example of a depiction of a natural fractal. The wave in the picture is an approximation to a self-similar fractal. This

Transcript of 1 Evolutionary Exploration of Complex...

Page 1: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

1

Evolutionary Exploration of Complex Fractals

Daniel Ashlock1 and Brooke Jamieson2

1 University of Guelph, Department of Mathematics and Statistics, 50 Stone RoadEast, Guelph, Ontario, Canada, N1G 2W1 [email protected]

2 University of Guelph, Department of Mathematics and Statistics, 50 Stone RoadEast, Guelph, Ontario, Canada, N1G 2W1 [email protected]

1.1 Introduction

A fractal is an object with a dimension that is not a whole number. Imaginethat you must cover a line segment by placing centers of circles, all the samesize, on the line segment so that the circles just cover the segment. If youmake the circles smaller then the number of additional circles you requirewill vary as the first power of the degree the circles were shrunk by. If thecircles diameter is reduced by half then twice as many circles are needed; ifthe circles are one-third as large then three times as many are needed. Do thesame thing with a square and the number of circles will vary as the secondpower of the amount the individual circles were shrunk by. If the circles arehalf as large then four times as many will be required; dividing the circle’sdiameter by three will cause nine times as many circles to be needed. In bothcases the way the number of circles required varies is as the degree to whichthe circles shrink to the power of the dimension of the figure being covered.We can thus use shrinking circles to measure dimension.

For a figure whose dimension is to be computed, count how many circlesof several different sizes are required to just cover the figure. Fit a line to thelog of the number of circles required as a function of their diameter. The slopeof this line is the dimension of the figure. For a line segment the value willbe close to 1 while for a square the value will be close to two. This procedureapproximates the Hausdorff dimension[9] of the objects. For Mandelbrot andJulia sets, the fractals that are the focus of this chapter, the boundaries of thesets will have dimensions strictly between 1 and 2. Examples of these fractalsappear in Figures 1.1 and 1.2. Objects as diverse as clouds, broccoli, andcoastlines exhibit the property of having non-integer Hausdorff dimension.

Fractals appeared in art before their defining property of fractal dimen-sion was formalized. A seventeenth century painting, taken from a series ofthirty-six views of Mt. Fuji, depicts a great wave threatening an open boat.This picture appears in [9] as an example of a depiction of a natural fractal.The wave in the picture is an approximation to a self-similar fractal. This

Page 2: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.1. An example of a view of the Mandelbrot set.

picture was painted long before the 1868 birth of Felix Hausdorff, creditedwith defining the notion of fractal dimension.

Fig. 1.2. An example of a Julia set.

Page 3: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fractals are sometimes taken as a type of art in their own right [4, 6, 7, 1, 3].They may also be incorporated as elements of a piece of visual art [12, 13, 2].Fractals are also used as models that permit nature to be incorporated moreeasily into artistic efforts [9, 11, 5]. There are examples of evolution of frac-tals include systems that use genetic programming [14] and which optimizeparameters of (generalized) Mandelbrot sets to generate biomorphs [16]. Frac-tals that are located by evolutionary real parameter optimization to matchpictures of faces appear in [17]. Finally, fractals can be used as a way of mak-ing the beauty of math apparent to an audience whose last contact withmath may have been in the context of a less-than-enjoyed class [8, 10].The American Mathematical Society’s web page on mathematics and art

http://www.ams.org/mathimagery/displays several efforts in this direction.

This chapter explores fractals as a form of art using an evolutionary algo-rithm to search for interesting subsets of the Mandelbrot set and for interestinggeneralized Julia sets. The key problem is to numerically encode the notion of“interesting” fractals. Using an evolutionary algorithm automates the searchfor interesting fractal subsets of the complex plane. The search proceeds froma simple form of arithmetic directions given by the artist. After this directionis given, the process runs entirely automatically.

The quadratic Mandelbrot set is a subset of the complex plane consistingof those complex numbers z for which the Mandelbrot sequence

z, z2 + z, (z2 + z)2 + z, ((z2 + z)2 + z)2 + z, . . . (1.1)

does not diverge in absolute value. A quadratic Julia set with parameter µ ∈ C

is a subset of the complex plane consisting of those complex numbers z forwhich the Julia sequence:

z, z2 + µ, (z2 + µ)2 + µ, ((z2 + µ)2 + µ)2 + µ, . . . (1.2)

(where µ is a fixed complex constant) fails to diverge in absolute value. Thesetwo fractals are related. The defining sequences for both fractals involve iter-ated squaring. The difference is that, when checking a point z in the complexplane for membership in the fractal, the Mandelbrot sequence adds the valuez under consideration after each squaring, while the Julia sequence adds thefixed parameter µ. The overall appearance of a Julia set matches the localappearance of the Mandelbrot set around µ. Good Julia set parameters µ arethus drawn from near interesting regions of the Mandelbrot set.

The indexing of Julia sets by the Mandelbrot set is demonstrated in Figure1.3. Notice in the lower picture how the Julia set changes as their parametersmove across a small region of the Mandelbrot set. This indexing propertyof the Mandelbrot set means that the search for interesting Julia sets canbe undertaken as a search of the Mandelbrot set. Because of this we use ageneralization of the Julia set discovered by the first author in this chapter.

We tested two versions of the evolutionary algorithm. The first searchesthe Mandelbrot set for interesting views. A view of the Mandelbrot set is a

Page 4: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.3. Indexing of Julia Sets by the Mandelbrot set. Julia sets are displayedas small insets in the Mandelbrot set (above) and a subset of the Mandelbrot set(below). Julia set parameters are drawn from the location of the red dots connectedto the inset thumbnails.

Page 5: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

square subset of the complex plane specified by three real parameters: x, y,and r. The square has the complex number x+ iy as its upper left corner andhas side length r. The second version of the evolutionary algorithm searchesfor the parameters of a generalized Julia set. The generalization of Julia setsis indexed by a 4-dimensional form of the Mandelbrot set and so is in greaterneed of automatic search methods than the standard two-dimensional (withone complex parameter) space of Julia sets. The generalization of the Juliaset used in this study requires two complex parameters, ω1 and ω2. As withthe Mandelbrot set and standard Julia sets, the members of the generalizedJulia set are those complex numbers z for which a sequence fails to diverge.The sequence is:

z (1.3)

z2 + ω1 (1.4)

(z2 + ω1)2 + ω2 (1.5)

((z2 + ω1)2 + ω2)

2 + ω1 (1.6)

(((z2 + ω1)2 + ω2)

2 + ω1)2 + ω2 (1.7)

· · · (1.8)

Rather than adding a single complex parameter after each squaring, the twocomplex parameters are added alternately. This generalization originated asa programming error a number of years ago. It encompasses a large numberof fractal appearances that do not arise in standard Julia sets. One cleardifference is this. A standard Julia set is a connected set if its parameter is amember of the Mandelbrot set and is a fractal dust of separate points if itsparameter is outside of the Mandelbrot set. The generalized Julia sets includefractals that have multiply connected regions.

The remainder of the chapter is structured as follows. Section 1.2 remindsthose readers that have not used complex arithmetic recently of the details aswell as explaining how the fractals are rendered for display. Section 1.3 definesthe fitness function used to drive the evolutionary search for Mandelbrot andgeneralized Julia sets. Section 1.4 gives the experimental design, specifyingthe evolutionary algorithm and its parameters. Section 1.5 gives the results,including visualizations. Section 1.6 gives possible next steps.

1.2 Complex Arithmetic and Fractals

The complex numbers are an extension of the familiar real numbers (those thatrepresent distances or the negative of distances) achieved by including one“missing” number, i =

√−1, and then closing under addition, subtraction,

multiplication, and division by non-zero values. The number i is called theimaginary number. A complex number z is of the form z = x+ iy where x and

Page 6: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

y are real values. The number x is called the real part of z, and y is called theimaginary part of z. The arithmetic operations for complex numbers work asfollows:

(a + bi) + (c + di) = (a + c) + (b + d)i

(a + bi) − (c + di) = (a − c) + (b − d)i

(a + bi) ∗ (c + di) = (ac − bd) + (ad + bc)i

a + bi

c + di=

ac + bd√c2 + d2

+bc − ad√c2 + d2

i

One of the pleasant properties of the complex numbers is that they place anarithmetic structure on points (x, y) in the Cartesian plane so that arithmeticfunctions over the complex numbers can be thought of as taking points (x, y)(represented by x + yi) in the plane to other points in the plane. Because thecomplex numbers have this one-to-one correspondence with the points of theCartesian plane, they are also sometimes referred to as the complex plane.Complex fractals are easier to define when thought of as consisting of pointsin the plane. The absolute value of a complex number z = x + yi is denotedin the usual fashion |z| and has as its value the distance

x2 + y2 from theorigin of the complex plane.

Suppose we are examining a point z in the plane for membership in aMandelbrot or a generalized Julia set. The iteration number for a point is thenumber of terms in the relevant sequence (Equation 1.1 for the Mandelbrotset, Equation 1.2 for standard Julia sets, or Equations 1.3-1.7 for generalizedJulia sets) before the point grows to an absolute value of 2 or more. Pointsnot in the fractal thus have finite iteration numbers while points in the frac-tal have infinite iteration numbers. Iteration numbers are used for renderingvisualizations of the fractal.

This paper uses a coloring scheme with a cyclic continuously varyingpalette for rendering divergence behaviors. The software uses an RGB-representationfor color, with each color represented by a red, green, and blue value in therange 0 ≤ r, g, b ≤ 255. The palettes used are of the form:

R(k) = 127 + 128 · cos (AR · k + BR)

G(k) = 127 + 128 · cos (AG · k + BG)

B(k) = 127 + 128 · cos (AB · k + BB)

where the A∗ values control how fast each of the three color values cycle, thevalues B∗ control the phase of their cycle, and k is the iteration number ofthe point being colored. The palette used in this chapter uses the color-cyclevalues: Ar = 0.019, AG = 0.015, AB = 0.011 (a slowly changing palette). Thephase-shift values were set to BR = BG = BB = 0.8 so that the first color,

Page 7: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

for k = 0, is a uniform gray. Thus, when the cosine waves that control eachcolor are in phase, the color is some shade of gray. Since the parameters A∗

controlling speed differ, the hue changes with k. The apparent differences inpalettes between pictures are caused by the fact that the scale of the views isdifferent (some have far smaller side lengths than others), and so the colorsdisplayed in the view are sampled from different parts of the periodic palette.

When checking for membership in a complex fractal, it is necessary to setan upper limit Mmax on the number of terms of the sequence checked. In thispaper Mmax = 200. Points with 200 terms of the sequence with absolute valueless than two are taken to be within the set. The color value for these pointsis calculated using k = 200 in the periodic palette.

1.3 Fitness Function Design

The fitness function we used to locate interesting complex fractals transformsthe three real parameters defining a view of the Mandelbrot set or the fourparameters that specify a particular generalized Julia set into a scalar fitnessvalue. The fitness function gives the artist control over the appearance ofthe fractals located by the algorithm. A fitness function that can do this ispresented in [1]. A grid of points, either 11×11 or 15×15 is placed on a squaresubset of the complex plane. When searching for views into the Mandelbrotset, this square is the square defined by the view, while for generalized Juliasets it is the square with corners (0.8, 0.8) and (−0.8,−0.8).

For a given set of parameters defining a complex fractal, the iterationvalues for the points in the grid are computed. A mask is used to specifydesired iteration values on the grid points. Fitness is the average, over thegrid points, of the squared error of the true iteration value and the desiredvalue specified by the mask. The average is used, rather than the total, topermit comparison between masks with different numbers of points. Recallthat iteration values are limited to n = 200. Any point with an iteration valueof 200 or more is assumed to be a member of the complex fractal.

The mask specifies where points with various approximate iteration valuesare to be in the evolved fractals. This ability to specify the behavior of thefractal on the grid permits the artist some control over the appearance of theresulting complex fractals. The masks used for the generalized Julia sets areshown in Figure 1.4 while those used to search for Mandelbrot views are shownin Figures 1.5 and 1.4. The evaluation square of (−0.8,−0.8) to (0.8, 0.8) usedfor the generalized Julia sets was chosen by experimentation. When too large asquare is used, the behavior far from the origin of the complex plane dominatesthe fitness function and the fractals found look like simple lagoons. When toosmall a square is used, the overall appearance of the Julia set becomes visuallyunrelated to the mask. The rendered views of the Julia sets have a side lengthof 3.6 units with the square used for fitness evaluation centered in the rendered

Page 8: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Continuous Times Continuous Plus

Two Hill Strict Plus

Inverse Plus Constant

Fig. 1.4. The masks, except for the constant mask, were used in the search forgeneralized Julia sets. White represents an iteration value of zero, black a value of200.

view. The squares used for rendering Mandelbrot views are exactly the squareassociated with the view.

Page 9: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Single Hill Trench

Fig. 1.5. The masks use in the search for views into the Mandelbrot set. Whiterepresents an iteration value of zero, black a value of 200. In addition to the singlehill and trench masks, the constant mask appearing in Figure 1.4 was used for theMandelbrot experiments.

1.4 Specification of Experiments

The evolutionary algorithm for both sorts of complex fractal operates on apopulation of 800 structures. The initial population for the Mandelbrot ex-periments is generated by placing (x, y) uniformly at random in the squareregion with corners (−2,−1.5) and (1, 1.5). This is a relatively small squareincluding all of the Mandelbrot set. The value of r is initialized in the range0.0001 ≤ r ≤ 0.01 using a distribution whose natural log is uniformly dis-tributed. Variation operators for the Mandelbrot views are as follows. They-values of these copies are exchanged, and the r-values are exchanged 50% ofthe time. After the exchange of y-values and r-values the new structures aremutated. Mutation has two parts. The first consists of adding a displacementin the plane to (x, y) in a direction selected uniformly at random and withmagnitude given by a normal random variable with mean zero and standarddeviation of σ = 0.002. For the small range of zooms used in this chapter, thisconstant value was acceptable but a greater range of potential zoom would re-quire that this parameter be made to adapt to the current level of zoom. Afterthe corner of a view has been displaced in this fashion, the side length is mul-tiplied by eln(1.1)N(0,1) where N(0, 1) is a standard normal random variable.The effect of this is to multiply r by a value near 1. These mutation operatorswere chosen to permit incremental exploration of view-space with as littlemutational bias as possible. The multiplicative mutation operator used for r

makes small adjustments whose scale does not depend on the current value ofthe side length. Twenty independent runs were performed for each mask.

Parameters for the initial population of generalized Julia sets are storedas an array (a, b, c, d) where ω1 = a + bi and ω2 = c + di. These parametersare initially chosen uniformly at random in the range −2 ≤ a, b, c, d ≤ 2. Thevariation operators for the Julia sets consist of two-point crossover operating

Page 10: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.6. Selected thumbnails of best-of-run generalized Mandelbrot views for thefitness function using the flat mask.

on the array of four reals and a single point mutation that adds a Gaussianwith a variance of 0.1 to one of the four real parameters selected uniformly atrandom. Thirty-six independent runs were performed for each mask for theJulia sets.

Page 11: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.7. Selected thumbnails of best-of-run generalized Mandelbrot views for thefitness function using the single hill mask.

The model of evolution for all experiments is size seven single tournamentselection. A group of seven distinct population members is selected. The twobest are copied over the two worst, and then the copies are subjected to thevariation operators defined for the respective sorts of fractals. The evolution-ary algorithm is an example of a steady state [15] algorithm, proceeding by

Page 12: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.8. Selected thumbnails of best-of-run generalized Mandelbrot views for thefitness function using the trench mask.

mating events in which a single tournament is processed. Evolution continuesfor 100,000 mating events for the Mandelbrot views and for 50,000 matingevents for the generalized Julia sets. The most fit (lowest fitness) individualis saved in each run. The fitness functions used are described in Section 1.3.They all minimize the average squared difference between the iteration be-

Page 13: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.9. Selected thumbnails of the best-of-run generalized Julia sets for the fitnessfunction using the continuous plus mask.

havior of the fractal on a grid of sample points and a mask that specifies adesired behavior.

Page 14: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.10. Selected thumbnails of the best-of-run generalized Julia sets for thefitness function using the continuous times mask.

1.5 Results and Discussion

For all the complex fractals studied in this chapter, final fitnesses varied con-siderably within the runs done for each of the masks. This suggests that alleight fitness landscape used are pretty rugged. The thumbnails of the frac-

Page 15: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

tals located also show a substantial diversity of appearance within each fitnessfunction. The fitness landscapes are themselves fractal. In the search for Man-delbrot views the fitness function is a smoothed version of the iteration numberfunction for the Mandelbrot set. The mask defines an average of the iterationnumbers over its sample points, acting as a smoothing filter. Since this itera-tion function makes arbitrarily large jumps in arbitrarily small spaces, a finiteamount of smoothing will not erase its rugged character.

The fitness landscape for the generalized Julia sets is fractal for a similarreason. The parameters represent a point in a four-dimensional Mandelbrotset that specifies the complexity of the resulting generalized Julia set. This4-dimensional Mandelbrot set, alluded to earlier in the manuscript, can beunderstood as follows. Each set of four parameters (a, b, c, d) yields a gener-alized Julia set. If we fix ω1 = a + bi and then check the iteration value ofω2 = c + di using ω2 as both the point being tested and the second Julia pa-rameter, then the points that fail to diverge are a (nonstandard) Mandelbrotset. The points tested depend on all the parameters a, b, c and d, and so theset is four dimensional. The role of ω1 and ω2 can be interchanged, but thisyields a different parameterization of the same 4 dimensional Mandelbrot set.Much as the fitness function for Mandelbrot views filters the Mandelbrot set,the Julia parameters are a filtered image of the four-dimensional Mandelbrotset.

Figures 1.6-1.13 give selected thumbnails for the runs performed for theeight different masks. One of the goals in the design of the mask-based fitnessfunction was to give the artist some control over the appearance of the fractalslocated. Comparing the within-fitness-function variation in appearance withthe between-fitness-function variance, it is clear that the different masks grantsubstantial control over the character of the fractals located. Each fitnessfunction found similar but not identical fractals (with the exception of thethe constant mask). The thumbnails shown in the figures show the diversityof fractals found, eliminating the near duplicates.

The results presented represent a successful controlled search of both theMandelbrot set and the 4-space of generalized Julia sets. The mask fitnessfunctions give the artist input while still leaving a rich space of fractals thatare optima (probably local optima) of the fitness function. The differencebetween the continuous plus mask, Figure 1.9 and the strict plus, Figure 1.12,is marked. The softer plus-shaped mask locates “softer” fractals. All eight ofthe masks used in the study yield markedly different appearances.

The most diverse collection of fractals located were the Mandelbrot viewsassociated with the constant mask. The location of these views on the Man-delbrot set is scattered in space and their appearances have less in commonthan those found using any of the other masks. The constant mask was in-tended as a control, and for the generalized Julia sets it serves as one, locatingtwo Julia sets that are both quite simple and mirror images of one another(data not shown). In retrospect it is not surprising that the Mandelbrot viewslocated with the constant mask are interesting. The constant mask tries for

Page 16: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.11. Selected thumbnails of the best-of-run generalized Julia sets for thefitness function using the twin hill mask.

iteration numbers that are 75% of the maximum number of iterations (150out of 200 in this case). This requires that a fit view have high iteration num-bers on its sample points, and that it not contain points in the interior of theMandelbrot set. Thus the constant mask looks for action near the boundaryof the set where most of the interesting fractals reside. The choice of 75% of

Page 17: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.12. Selected thumbnails of selected best-of-run generalized Julia sets for thefitness function using the strict plus mask.

maximum iteration value for the constant mask was made arbitrarily. Otherconstant masks may yield more interesting appearances.

The single hill mask for Mandelbrot views turned out to be good at locatinga well-known feature of the Mandelbrot set – the minibrot. A minibrot (seeFigure 1.7) is a smaller copy of the Mandelbrot set within the Mandelbrot

Page 18: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

set. There are an infinite number of minibrots within the set. Since a minibrotgives a central collection of high iteration number it is intuitive that the singlehill mask would tend to locate minibrots. The second most common type ofview located by the single hill mask is a radiation collection of strips of highiteration value. Several examples of these appear in Figure 1.7; some spiralout from an active area containing a very small minibrot.

The continuous plus and times masks are quite similar; the continuousplus mask is slightly lower resolution, but both are twin intersecting ridgeswhen viewed as functions. The images in Figures 1.9 and 1.10 form two clearlydistinct groups. The twin hill mask provides a collection of superficially similarfractals – showing the influence of the mask – but close examination revealsthat, in terms of spiral structure, connectivity, branching factor, and otherproperties of Julia sets, these fractals are actually quite diverse. The masksprovide some control but yield a substantial diversity of appearances.

An interesting aspect of the type of evolutionary search presented here isthe new role of local optima. The mask-based fitness functions do not clearlyspecify the exact, desired outcome. They are more like “guidelines.” Thismeans that the local optima of these fitness functions may have greater appealthan the global optimum. This is very different from a standard evolutionaryoptimization in which local optima can be an absolute bane of effective search.This is good news given the complexity of the fitness landscape; locating aglobal optimum would be very difficult.

The search for interesting complex fractals presented here is an example ofan automatic fitness function for locating artistically interesting images. Thiscontrasts with the process of using a human being as the fitness function. Itgives the artist a tool to guide the search, in the form of the masks, but doesnot require the artist’s attention throughout evolution.

1.6 Next Steps

The fractal evolution techniques used here are intended as a technique for useby artists. Various evolved art contests held at the Congress on EvolutionaryComputation and the EvoMusArt conferences have stimulated a good dealof interest in evolved art as a technique. With this in mind several possibledirections for the extension of this research follow. Potential collaborators arewelcome to contact the author to discuss possible variations and extensionsof this work.

The time to run the evolutionary search for complex fractals grows in directproportion to the number of sample points. This is why the number of samplepoints used here have been restricted to an 11x11 or 15x15 grid. Larger gridsmay cause tighter grouping of the appearances that occurred here. In additionthere is the potential for sparse masks that have an indifference value at somelocations. The minimization of squared error would simply ignore those points,permitting more rapid search on what are, in effect, non-square masks.

Page 19: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.13. Selected thumbnails of the best-of-run generalized Julia sets for thefitness function using the inverse plus mask.

Another obvious extension of this line of research lies in the fact thatquadratic Julia sets are simply one of an infinite number of types of Juliasets. Each possible power (cubic, quartic, etc.) yields its own Mandelbrot set,indexing a corresponding collection of Julia sets. Similarly, Mandelbrot and

Page 20: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Julia sets can be derived from transcendental functions such as ez, sin(z), etc.Each of these is its own domain for evolutionary search.

An obvious extension comes from continuing the generalization process forJulia sets. The generalized Julia sets presented here use, alternately, two com-plex parameters when generating the sequence used to test for set membership;a standard Julia set uses one. An n-fold, rather than two-fold, alternation ofconstants could be used. Likewise a set of constants could be added into termsof the series in a pattern rather than in strict alternation or rotation. Eachof these variations has a simple realization as a real-parameter optimizationproblem using the mask fitness functions.

The masks tested in this study are a small set, designed using the intuitionof the authors. A vast number of other masks are possible. One possibility isto used an existing complex fractal as a source for a mask. The artist wouldhand-select a set of parameters that yield an interesting complex fractal. Theiteration values for this fractal would then be used as a mask, permittingevolutionary generalization of the hand-selected fractal. This proposed tech-nique would require a parameter study on the number of sample points usedin the mask. Too few points and the resulting fractals will likely bear no re-semblance to the original one. Too many sample points and the search willlocate collections of nearly identical Julia sets.

Finally both authors feel that automating the selection of a coloring al-gorithm is a possibly difficult but rewarding avenue for future research. Thismight be a natural place for evolution with a human serving as the evaluator,or it might be possible to select a feature set and make chromatic analogieswith existing pictures thought to be chromatically balanced.

1.7 Acknowledgments

The authors would like to thank the University of Guelph Department ofMathematics and Statistics for its support of this research.

References

1. D. Ashlock. Evolutionary exploration of the mandelbrot set. In Proceedings of

the 2006 Congress on Evolutionary Computation, pages 7432–7439, 2006.2. D. Ashlock, K. M. Bryden, and S. P. Gent. Creating spatially constrained virtual

plants using l-systems. In Smart Engineering System Design: Neural Networks,

Evolutionary Programming, and Artificial Life, pages 185–192. ASME Press,2005.

3. D. Ashlock and B. Jamieson. Evolutionary exploration of generalized julia sets.To Appear, Procedings of CIISP 2007, 2007.

4. Javier Barrallo and Santiago Sanchez. Fractals and multi-layer coloring algo-rithm. In Bridges Proceedings 2001, pages 89–94, 2001.

Page 21: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.14. An enlargement of the third thumbnail from the Mandelbrot views lo-cated with the constant mask.

5. Mara Antonia Castro and Mara Jos Prez-Luque. Fractal geometry describes thebeauty of infinity in nature. In Bridges Proceedings 2003, pages 407–414, 2003.

6. Rabert W. Fathauer. Fractal patterns and pseudo-tilings based on spirals. InBridges Proceedings 2004, pages 203–210, 2004.

7. Rabert W. Fathauer. Fractal tilings based on dissections of polyhexes. In Bridges

Proceedings 2005, pages 427–434, 2005.8. Magdy Ibrahim and Robert J. Krawczyk. Exploring the effect of direction on

vector-based fractals. In Bridges Proceedings 2002, pages 213–219, 2002.9. Benoit Mandelbrot. The fractal geometry of nature. W. H. Freeman and Com-

pany, New York, 1983.10. L. Kerry Mitchell. Fractal tessellations from proofs of the pythagorean theorem.

In Bridges Proceedings 2004, pages 335–336, 2004.11. F. K. Musgrave and B. B. Mandelbrot. The art of fractal landscapes. IBM J.

Res. Dev., 35(4):535–540, 1991.12. Janet Parke. Layering fractal elements to create works of art. In Bridges Pro-

ceedings 2002, pages 99–108, 2002.13. Janet Parke. Fractal art - a comparison of styles. In Bridges Proceedings 2004,

pages 19–26, 2004.14. Steven Rooke. Eons of genetically evolved algorithmic images. In Peter J.

Bentley and David W. Corne, editors, Creative Evolutionary Systems, pages339–365. Academic Press, London, UK, 2002.

15. Gilbert Syswerda. A study of reproduction in generational and steady state ge-netic algorithms. In Foundations of Genetic Algorithms, pages 94–101. MorganKaufmann, 1991.

Page 22: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

Fig. 1.15. An enlargement of the tenth thumbnail from the Mandelbrot viewslocated with the single hill mask.

Fig. 1.16. An enlargement of the tenth thumbnail from the generalized Julia setslocated with the twin hill mask.

Page 23: 1 Evolutionary Exploration of Complex Fractalseldar.mathstat.uoguelph.ca/dashlock/eprints/LQJ2.pdf · has side length r. The second version of the evolutionary algorithm searches

16. Jeffrey Ventrella. Creatures in the complex plane. IRIS Universe, Summer 1988.17. J.J. Ventrella. Self portraits in fractal space. In La 17 Exposicion de Audiovi-

suales, Bilbao, Spain, December 2004.