next up previous contents
Next: Plotting IFS's with FRACTINT Up: Iterated Function Systems Previous: Contraction mappings and hyperbolic

Calculating the attractor by random iteration

The theory in the previous section described the deterministic approach to computing the attractor of an IFS. Namely, we start with any compact nonempty set K and compute the sequence of iterates tex2html_wrap_inline8318 . The m-th iterate tex2html_wrap_inline8318 consists of the union of all pieces of the form

displaymath8476

where each tex2html_wrap_inline5764 ranges over tex2html_wrap_inline8480 . Altogether there are tex2html_wrap_inline8482 pieces in tex2html_wrap_inline8318 . These pieces are all decreasing in diameter at least as fast as the power tex2html_wrap_inline8486 , where s is a contractivity factor for this IFS. Therefore, for m sufficiently large, tex2html_wrap_inline8318 should be a close approximation of the attractor A. Moreover, each sequence tex2html_wrap_inline7130 in the code-space of tex2html_wrap_inline8498 corresponds to a single point tex2html_wrap_inline8500 . To find tex2html_wrap_inline7922 , start with any seed point tex2html_wrap_inline6886 and compute a sequence

align2222

Then tex2html_wrap_inline8506 . In addition, if tex2html_wrap_inline8508 and tex2html_wrap_inline8510 are very close in code-space, meaning that tex2html_wrap_inline8512 for tex2html_wrap_inline8514 , for some large value of N, then tex2html_wrap_inline7922 and tex2html_wrap_inline8520 are close. We can even give a detailed estimate. Let D be the diameter of A (maximum distance between two points of A). Let s be a contractivity factor of this IFS. Then tex2html_wrap_inline8530 contains both tex2html_wrap_inline7922 , and tex2html_wrap_inline8520 and it has diameter tex2html_wrap_inline8536 .

In general, given a transformation tex2html_wrap_inline8538 , it's a lot easier to compute the image w(x) of a single point x than it is to compute the image w(K) of a whole set K. Also, note that in computing the sequence tex2html_wrap_inline8548 above, approaching a limit point tex2html_wrap_inline7922 , we must extend the word tex2html_wrap_inline8552 on the right end and then apply it to tex2html_wrap_inline6886 . This is rather awkward to do.

There is a faster method for filling out the shape of the attractor A based on a statistical approach, called the random iteration method. Barnsley has also christened it the ``Chaos Game.'' Here we generate an orbit as follows

align2239

Here we are applying a single transformation at each stage to get the next point in the orbit. The truly important change is that the words are being extended on the left end. The statistical aspect comes from the need to choose tex2html_wrap_inline8558 to get the next point.

We suppose there is a means for making a random choice with certain probabilities of the outcome. That is, we assign a positive probability tex2html_wrap_inline8560 to each affine map tex2html_wrap_inline8562 . This probability is a number tex2html_wrap_inline8564 representing the chance that tex2html_wrap_inline8562 will be selected. For instance, tex2html_wrap_inline8568 means tex2html_wrap_inline8562 will be selected 50% of the time, tex2html_wrap_inline8572 means 75%, etc. The sum of the probabilities should be 1, meaning that one of the tex2html_wrap_inline8562 's is certainly selected. That is,

displaymath8576

Now, here is the amazing part. If we were to always choose tex2html_wrap_inline8578 at every stage, the sequence tex2html_wrap_inline8580 rapidly converges to the unique fixed point of tex2html_wrap_inline8582 . This sequence of choices has probability

displaymath8584

The much more likely outcome is that tex2html_wrap_inline8548 will come arbitrarily close to every point in A. Thus, the sequence tex2html_wrap_inline8548 fills out the attractor A (the technical saying is that tex2html_wrap_inline8594 is dense in A).

A point in A is associated to a code-sequence

displaymath8600

Two code-sequences correspond to near-by points if they agree for a large number of terms. The sequence

displaymath8602

has a small but positive probability of occurring:

displaymath8604

assuming each term is independently chosen. Consider our orbit tex2html_wrap_inline8606 . Since we are choosing infinitely many consecutive strings of N terms, we have a probability of 1 of eventually choosing tex2html_wrap_inline8610 , tex2html_wrap_inline8612 , ..., tex2html_wrap_inline8614 . It follows that

displaymath8616

is in the part of A corresponding to code-sequences beginning with tex2html_wrap_inline8620 . This justifies why the sequence tex2html_wrap_inline8594 comes arbitrarily close to every point in A. Just such a method as this is the basis of FRACTINT's programs for computing the attractor of an IFS. We turn next to these computations.

For the Sierpiński triangle, the IFS has a particularly nice dynamical interpretation. Let the three vertices of the original triangle be tex2html_wrap_inline5970 , tex2html_wrap_inline8628 , and tex2html_wrap_inline5974 . Consider a very uncertain traveller starting at our seed point tex2html_wrap_inline6886 . On each day, the traveller picks one of the destinations tex2html_wrap_inline5970 , tex2html_wrap_inline5972 , and tex2html_wrap_inline5972 and moves halfway on the straight line to the chosen tex2html_wrap_inline8640 . If the traveller's position on day m is tex2html_wrap_inline8548 , and the next destination is tex2html_wrap_inline8640 , then the position on day m+1 is tex2html_wrap_inline8650 . Unfortunately, the traveller randomly chooses the destination from day to day with equal probabilities for all three. Does the traveller ever get to one of the tex2html_wrap_inline8640 's? Our analysis above indicates that the traveller wanders chaotically around the Sierpiński triangle forever.

A team of students led by R. Devaney at Boston University has written a wonderful program (for Macintosh) implementing several variations of this algorithm. For instance, an arbitrary number and arrangement of destinations can be picked, instead of just the three vertices of a triangle. Moreover, the scaling factor tex2html_wrap_inline7808 can be chosen arbitrarily (still less than 1) for each destination, and the probabilities can be varied as well. Here are a few places on the Web where you can learn about this project:


next up previous contents
Next: Plotting IFS's with FRACTINT Up: Iterated Function Systems Previous: Contraction mappings and hyperbolic

David J. Wright
Mon Aug 19 17:21:15 CDT 1996