Exploring the Code of Creativity

Harold Cohen: in memoriam - artist and pioneer in the field of computer-generated art, died on April 27, 2016 at the age of 87.

In the news: On December 18th, Public Radio International's Studio 360 show's subject was "Are Computers Creative?" a significant portion of the show was an interview with Harold Cohen on "Aaron".

The development of AARON the artist.

How do you persuade a computer program with no visual system to become a world-class colorist? Well, says artist Harold Cohen, given a good Lisp system it isn’t impossible, merely very difficult.

Cohen, already an internationally-known painter and then a professor at UC San Diego, met his first computer in 1968. By 1972 his work had gained enough attention to bring an invitation to visit Stanford University’s Artificial Intelligence Lab, and during the two years he spent there he began work on AARON, an increasingly autonomous art-making program that has occupied him ever since. 

Thinking about color with the resources available thirty-five years ago wasn’t an option. Written initially in C and running on PDP/11.45 class machines, AARON was initially a knowledge-based drawing program, moving from primitive-looking scratchy marks to remarkable portraits of “imagined” people over its first ten or twelve years. But Cohen never lost his painter’s preoccupation with color, and some of AARON’s output was always colored by hand. By the mid ‘eighties he found himself increasingly frustrated by this state of affairs; shouldn’t a program smart enough to make AARON’s drawings be able to do its own coloring? Certainly; but how to do it?

Faced with the apparent intractability of the problem, Cohen gradually came to see the C language itself as one of the main difficulties; it was simply not sufficiently expressive to deal with something as abstract as color. On the advice of his many friends in the AI community, he switched from C to Allegro Common Lisp. It was so clearly the right move, he says, that he regretted the years he’d spent programming in C. “In terms of expressivity, going from C to Lisp was like going from marching to dancing.”

He started to re-write AARON in Lisp, finding its clarity quite thrilling. But long before the re-write was complete that clarity had allowed him to identify a fundamental piece of the problem. AARON had been an “expert system” in the orthodox sense that it was designed to model expert human performance. Cohen realized that expert human performance, in coloring as in all else, rested upon human “hardware,” which was characterized, in this regard, by finely-tuned visual cognition on the one hand and by a remarkable lack of color “imagination” – the ability to build a stable internal image in color -- on the other. With that hardware, virtually all human colorists work in a step-by-step, feedback-enabled mode, never knowing what the next color should be until they’ve seen the effect of the previous color choice on the composition as a whole.

It wouldn’t be possible to model that mode on a machine that has no visual feedback system, even if one knew how the human colorist made his step-by-step decisions, and that’s far from being the case. If AARON were to acquire any expertise as a colorist it would have to be in terms of its own “hardware,” which was precisely the opposite of the human’s: an impeccable ability to build a stable internal representation of the work-in-progress, a quite un-humanlike ability to follow rules, and no visual feedback at all.

And that’s how AARON proceeded to develop over the next couple of decades; as a notably successful, rule-based program, its increasingly large rule-base dealing with the increasingly detailed things that can happen as an image develops.

And yet… and yet… Isn’t there still something fundamentally human in the very concept of a rule-based system? If a program could be sufficiently autonomous to plan its own strategies, how would it go about coloring?

Cohen awoke one morning in 2006 to find a strange idea in his head; an algorithm for coloring that was so simplistic that it couldn’t possibly do anything worthwhile, he was sure. But it wouldn’t cost anything to try, so he had his breakfast, took all of twenty minutes writing the code, and ran it. And was astonished to find that its results were at least the equal of anything its twenty-year-old rule-based version had ever produced. It wasn’t at all clear why the algorithm worked so well, and it still isn’t. It remains remarkably simple after several new versions, yet, he says, there seems to be something oddly alien about it.  He wrote the code, and he watches it running almost every day. Yet he still has to go back and re-read the code before he can refer to it in a talk about his work.

Is AARON finally an expert in its own right, no longer in part a model of a human expert?

That’s not the end of the story, of course. When Cohen leaves AARON to run overnight he’s faced the next morning with a hundred or more original images. They’re all good; some of them are wonderful. But what makes the difference? Which ones should be printed, which ones discarded?


Shouldn’t a program smart enough to make those images also be smart enough to tell its author which ones to print? Certainly; but…

Stay tuned.


Copyright © 2023 Franz Inc., All Rights Reserved | Privacy Statement Twitter