Thirty years ago, Harold Cohen, internationally known artist and novice programmer, began to design what many consider to be his masterwork. He did so in a relatively new medium. Instead of canvas, he used a computer screen. Instead of brushes, he used code. And what he created is one of the world's oldest and most unique artificial intelligence applications -- AARON.
Cohen was initially interested in exploring how humans make and read representations (drawings, pictures, shapes, etc.). He believed that if he could teach a computer how to draw, he would have a better understanding of this process. So he began to build an application that would be able to create original vs. pre-programmed drawings -- an artist vs. simply an artistic tool.
He ultimately designed an application that uses an expert based system to hierarchically encapsulate and model the behavior that an artist employs to create art. At the highest level, the application makes decisions relating to the organization and composition of its images. At the lowest level, it computes the instructions for drawing the lines and shapes that make up the drawing.
Over the years, AARON's artwork has evolved from simple lines and scribbles to complex colorful paintings of recognizable figures and shapes. And, Cohen couldn't have done it without Lisp.
Although Cohen built his original program in Algol and then C, he eventually ported it to Lisp when the tasks he needed AARON to accomplish grew too complex to express in C. "I realized finally, that a human and a machine are both "hardware dependant" and simply can't approach things in the same way, even if the final goal is very similar" argues Cohen. "A human colorist proceeds largely by trial and error, relying upon feedback from a sophisticated visual system. A computer program lacking such a system has to function through a complex, knowledge-based rule-set to generate the entire image before a drop of paint hits the canvas."
"Lisp and Common Lisp in particular, allow me to express these abstractions in a way that C and C-like languages do not support. For example, I spent a couple of years trying to understand how to give the program a sufficient body of expert knowledge to allow it to function as a colorist autonomously. It became clear to me that it wasn't going to happen in C. It was only when I switched to Lisp that I was able to formulate the problem." says Cohen.
Lisp also gives Cohen the flexibility he needs to make adjustments to the AARON program. He likes the fact that with Lisp, he can make a single change to a single function, without needing to recompile the code. This saves significant time and energy since the application is over a megabyte in size!
Further, Cohen believes that no other language can build complex data structures like Lisp can. "This is a critical feature since it takes nearly 1000 control points simply to create a single figure, and that's only a small part of the program's internal representation of the image as a whole." he explains.
The most recent version of AARON was developed in Allegro CL by Franz Inc. "I was impressed by the complete development environment Allegro CL provides." says Cohen. "The Franz support was also exceptional -- the support team helped me with AARON's graphical interface, as well as provided programming tips to make it run faster and reduce the overall application size."
Cohen has now collaborated with Kurzweil CyberArt Technologies to make AARON available to everyone and extend his audience beyond the few who could afford to buy his artwork. Cohen is excited about this latest "output device" for the AARON software program. Where the earlier AARON used a large machine with a robotic arm to mix it's own paints and to manage the drawing and coloring, the "new" AARON creates paintings directly on a person's computer. These paintings can then be printed out, emailed to friends, or generated as a screensaver. No two paintings are the same.
The artistic abilities of both the original and desktop versions of AARON will increase as Cohen continues to explore and model art-making behavior. "Programming gives me the power to work on a higher level of abstraction than painting does, " he emphasizes. "It's as if I work on the level of the platonic ideal, while the paintings the program generates are the earthly instantiation of that idea."
For more information on the AARON Program, please visit www.kurzweilcyberart.com.
Click here to download a PDF version of this story.
Copyright © Franz Inc., All Rights Reserved | Privacy Statement |