Algorithmic Art  Algorithmic Art Index         Root  Radical Art          

Remko Scha

About Algorithmic Art

We are concerned with autonomous algorithms that produce visual art (or, perhaps equivalently, algorithms that themselves may be viewed as (meta-) artworks). We are not concerned with software-tools that facilitate the production of artworks by human artists.

Most image generation algorithms do not specify one image, but a large (often infinite) class of images. Algorithmic art is "meta-art". Other, pre-computational approaches to meta-art constitute the art-historical context of algorithmic art: kinetic art, conceptual art, interactive art, process art, drawing machines. In the case of algorithmic art, the class of possible outcomes is specified in mathematical terms; other forms of meta-art tend to involve human persons or other real-world processes.

Art-generation algorithms can be applied to various modalities: images, animations, sculpture, architecture, music, text, even facial expression and other forms of body-art. They can be meant to be observed live in a discotheque or on the internet, or to produce static output for art-collectors and traditional museums. The focus of this page is image generation – but the mathematical concepts and computational methods that we encounter may very well be applicable in other domains.


An algorithm is a sequence of formal (mechanical) rules operating on symbolic representations (codes).

In ancient Greece and India, systems of rules were used to ensure objectivity and precision: Euclid's Elements, Aristotle's syllogisms, Panini's grammar of Sanskrit.

The mechanization of rule systems was pioneered in the 14th century A.D., when Ramon Llull proposed mechanical procedures for generating new propositions from first principles. A few centuries later, Gottfried Wilhelm von Leibniz invented symbolic logic by eliminating the theological content from Llull's machinery.

The first fully specified design for a "general purpose computer", running algorithms in today's precise sense of that word, was Alan Turing's "Universal Computing Machine".


Mathematical Images

Any image-generation algorithm must be based on some formal conception of what an image is -- it must be inscribed within a mathematical definition of the set of all possible images.

Shapes. Mainstream mathematics assumes a reductionist ontology about geometry: it treats lines and planes as sets of points –– where a point is a position in a given n-dimensional space. A point may thus be represented as an n-tuple of numbers: the Cartesian coordinates which specify its position. A point in a two-dimensional plane is thus described by a pair, consisting of its x-coordinate and its y-coordinate.

RGB cube

Hue-Saturation-Brightness cone

Colors. In black & white graphics, color is a boolean: black/white. The scale of grey-tones is a one-dimensional continuum (for instance: the segment of the real numbers between 0 and 1). The space of all colors is a three-dimensional continuum. One can make different choices about which dimensions to use. E.g.: RGB, CYM, HSB.

An image is thus a mapping from pairs of real numbers (in a given interval) to colors (e.g., booleans, real numbers, or triples of real numbers).



Computational Images

The mathematical point of view does not directly translate into a practical convention for finite computational representations. The mathematical correlate of a visible shape or line-segment is a set of uncountably many points, and the coordinates of most of these points are not integers, but irrational numbers, which cannot be represented in a finite way.

In the design of image-generation algorithms, the representations to be used can thus not be based directly on mathematical first principles. No image-generation algorithm can explore the space of all possible images, if we understand that notion in its mathematical sense. Any algorithm must be based on a definition of a space of finitely representable images; specifying this definition is in some sense an arbitrary (in other words, artistic) decision.

Different "schools" in algorithmic art made different decisions about this. We present the most common approaches on separate pages:


Grid-based algorithms, which work with a two-dimensional array of cells – a discrete version of the mathematical model, which makes the image representations finite and computable. The grid therefore inherits a feel of "objectivity" from the mathematical research tradition.


Scatter-algorithms, which map bags of objects onto positions on the plane.


Line-based algorithms. This includes  turtle-graphics algorithms, which draw sequences of straight line-segments in terms of a "local" coordinate-system, and movement simulation algorithms, which draw lines according to a continuous dynamics.

Visual Languages


Any image generation algorithm is inscribed within some "visual language": it assumes a set of formally possible images, and this assumption largely determines the style of the piece. Different techniques may be used to define visual languages:



Schemas. The early algorithmic pieces of the 1960's were usually based on one simple, fixed structure, with a small number of variable parameters.


Grammars. To define visual languages which allow images with arbitrarily deep hierarchical structures, one may draw inspiration from the context-free and context-sensitive rewrite systems of early Chomskyan linguistics.


Algebras. The most general approach is to use a mathematical image description language which encompasses complex image-generation and image-transformation operations.

Algorithmic approaches

Any image generation algorithm explores a space of possible images. It may do this in many different ways.


Complete enumeration.


Random sampling. If the space of possibilities is very large, this is the only way to give an unbiased impression of what it contains.


Optimization. The algorithm may be trying to find the "best" image according to certain criteria (e.g. a formalization of "beauty", or statistics about people's appreciation). To explore the space effectively, a heuristic search strategy must be employed. Artificial evolution by means of genetic algorithms. is popular for this purpose.


Interactivity. The spectator may be allowed to explore the possibilities on her own accord. The algorithm is an interface.


Emergence. The algorithm carries out sequences of local transformations on an arbitrary initial image. Global patterns emerge because of unforeseen interactions between the local processes. Algorithms of this sort (e.g. cellular automata) are often inspired by natural processes (Artificial Life).


Data-visualisation. Images may be constructed by mapping data from a different (non-visual) domain.

The esthetics of algorithmic art.

The classical painting is a material object, dense with properties that cannot be explicitly articulated and which are nonetheless essential for the identity of the work. (Cf. Nelson Goodman: Languages of Art.) Algorithmic art is different: an algorithm is an explicit, discursively articulated schema. It does not create the concrete materiality of its output – it merely specifies some of its properties, at a more abstract level. In that sense, algorithmic art is conceptual art.

Most image generation algorithms do not specify one image, but a large (often infinite) class of images; algorithmic art is "meta-art". Obviously, the esthetic goals of meta-art differ substantially from those of subjective expression-oriented art. The esthetics of meta-art is not a new invention, however. It can be traced back to the art of Marcel Duchamp and the philosophy of Immanuel Kant. (Cf: Remko Scha: Kant, Duchamp, Meta-art.)

In the context of the New Media, algorithmic art can be viewed in two different ways. It borders on highbrow visual art as well as on interactive media technology: if we parameterize an art generation algorithm and allow the human spectator to turn the knobs, we have built a new "medium" that people may find fun, interesting or useful. Our perspective on algorithmic art may thus be determined by the "reflection esthetics" of modern art, or by the "involvement esthetics" of computer games and paint programs. We will mostly adapt the first point of view, although the the second one may ultimately be more important.