2007-09-29

Generating All Design

I recently had a conversation with my colleague Simon Laing. He suggested that approximately one million by one million pixels is at the limit of human perception, that any more pixels beyond this is not useful. Given that human colour perception is around 16.8 million colours, this means that there exists potentially: 1mil * 1mil * 16.8mil = 1.68 * 10 ^ 19 or 16.8 quintillion visual possibilities.

It's true this would take more than a million monkies; Computers could generate every visual possibility that could ever exist as a snapshot. The computer's owner could try to claim intellectual property rights over every visual possibility that does not already have rights claimed over it. This is of course ludicrous. No computer exists (yet) that is up to the task. And such a brute force approach fails to have any appropriateness context that would make it truly a creative work. Still, it would be an interesting statement to make.

Even if we succeeded in generating all visual snapshots, it would be a useless effort. Such a large number is not infinite, but it is innumerable. Innumerable is a practical infinity. Quite simply there would be little use in having this giant catalogue available since nobody would be able to usefully make sense of it without some form of classification and indexing.

Since generating each alternative is relatively trivial, the real magic is actually in the classification and indexing that allows the space of all possibility to be understood. We view that space using various mental models, world-views and abstractions that zone the space into regions. We layer these viewpoint lenses as a means to make sense of the chaos below. Human language contains ways to describe a visual scene without having to name each 1.68E+19 possibility individually.

Pixels themselves are only an abstraction for representing an underlying objective reality. However, the pixel level is too low for much practical use. For example we speak of web design using higher-level terms such as Banner, Navigation bar, content area, footer, sidebar and column. Like most modes of expression it's about selecting the level of abstraction from objective reality that is most useful to the situation.

This applies to generative design (and generative art). The program code contains the rules that represent the worldview and level of abstraction used to express the design. In generic algorithm parlance the program code contains the rules the transform the genotype (parameters) into the phenotype (output).

And this is only discussing snapshot (human perception is around 25 snapshots per second). What is we added the dimension of time? What about the possibilities of interaction? Photographers also understand the meaning (and thus it's communicative value) is also about the context that the snapshot is viewed in. This is where "beauty is in the eye of the beholder" comes in. Viewers, standing at an exact point in Heroclitus' river form meaning for themselves. Just having the snapshot is not enough without knowing its meaning. This is where the appropriateness measures of creativity come into the equation.