This article is from the sci.fractals FAQ, by Michael C. Taylor and Jean-Pierre Louvet with numerous contributions by others.
If a fractal is self-similar, you can specify mappings that
map the whole onto the parts. Iteration of these mappings will result
in convergence to the fractal attractor. An IFS consists of a
collection of these (usually affine) mappings. If a fractal can be
described by a small number of mappings, the IFS is a very compact
description of the fractal. An iterated function system is By taking a
point and repeatedly applying these mappings you end up with a
collection of points on the fractal. In other words, instead of a
single mapping x -> F(x), there is a collection of (usually affine)
mappings, and random selection chooses which mapping is used.
For instance, the Sierpinski triangle can be decomposed into three
self-similar subtriangles. The three contractive mappings from the
full triangle onto the subtriangles forms an IFS. These mappings will
be of the form "shrink by half and move to the top, left, or right".
Iterated function systems can be used to make things such as fractal
ferns and trees and are also used in fractal image compression.
"Fractals Everywhere" by Barnsley is mostly about iterated function
The simplest algorithm to display an IFS is to pick a starting point,
randomly select one of the mappings, apply it to generate a new point,
plot the new point, and repeat with the new point. The displayed
points will rapidly converge to the attractor of the IFS.
Interactive IFS Playground (Otmar Lendl)
Frank Rousell's hyperindex of IFS images