In mathematics, iterated function systems (IFSs) are a method of constructing fractals; the resulting fractals are often self-similar. IFS fractals are more related to set theory than fractal geometry.[1] They were introduced in 1981.
IFS fractals, as they are normally called, can be of any number of dimensions, but are commonly computed and drawn in 2D. The fractal is made up of the union of several copies of itself, each copy being transformed by a function (hence "function system"). The canonical example is the Sierpiński triangle. The functions are normally contractive, which means they bring points closer together and make shapes smaller. Hence, the shape of an IFS fractal is made up of several possibly-overlapping smaller copies of itself, each of which is also made up of copies of itself, ad infinitum. This is the source of its self-similar fractal nature.
Formally, an iterated function system is a finite set of contraction mappings on a complete metric space.[2] Symbolically,
\{fi:X\toX\midi=1,2,...,N\}, N\inN
fi
X
Hutchinson showed that, for the metric space
Rn
X
\limnSn
S\subseteqX
S=
N | |
\overline{cup | |
i=1 |
fi(S)}.
F:2X\to2X
A\subseteqX
N | |
F(A)=\overline{cup | |
i=1 |
fi(A)}.
The existence and uniqueness of S is a consequence of the contraction mapping principle, as is the fact that
\limn\toinftyFn(A)=S
A
X
A
Recently it was shown that the IFSs of non-contractive type (i.e. composed of maps that are not contractions with respect to any topologically equivalent metric in X) can yield attractors.These arise naturally in projective spaces, though classical irrational rotation on the circle can be adapted too.[4]
The collection of functions
fi
Sometimes each function
fi
The most common algorithm to compute IFS fractals is called the "chaos game". It consists of picking a random point in the plane, then iteratively applying one of the functions chosen at random from the function system to transform the point to get a next point. An alternative algorithm is to generate each possible sequence of functions up to a given maximum length, and then to plot the results of applying each of these sequences of functions to an initial point or shape.
Each of these algorithms provides a global construction which generates points distributed across the whole fractal. If a small area of the fractal is being drawn, many of these points will fall outside of the screen boundaries. This makes zooming into an IFS construction drawn in this manner impractical.
Although the theory of IFS requires each function to be contractive, in practice software that implements IFS only require that the whole system be contractive on average.[5]
PIFS (partitioned iterated function systems), also called local iterated function systems, give surprisingly good image compression, even for photographs that don't seem to have the kinds of self-similar structure shown by simple IFS fractals.[6]
See main article: Fractal compression.
Very fast algorithms exist to generate an image from a set of IFS or PIFS parameters. It is faster and requires much less storage space to store a description of how it was created, transmit that description to a destination device, and regenerate that image anew on the destination device, than to store and transmit the color of each pixel in the image.[7]
The inverse problem is more difficult: given some original arbitrary digital image such as a digital photograph, try to find a set of IFS parameters which, when evaluated by iteration, produces another image visually similar to the original.In 1989, Arnaud Jacquin presented a solution to a restricted form of the inverse problem using only PIFS; the general form of the inverse problem remains unsolved.[8] [9] [7]
As of 1995, all fractal compression software is based on Jacquin's approach.[9]
The diagram shows the construction on an IFS from two affine functions. The functions are represented by their effect on the bi-unit square (the function transforms the outlined square into the shaded square). The combination of the two functions forms the Hutchinson operator. Three iterations of the operator are shown, and then the final image is of the fixed point, the final fractal.
Early examples of fractals which may be generated by an IFS include the Cantor set, first described in 1884; and de Rham curves, a type of self-similar curve described by Georges de Rham in 1957.
IFSs were conceived in their present form by John E. Hutchinson in 1981 and popularized by Michael Barnsley's book Fractals Everywhere.