It is certainly (*) impossible to "automate" the creative process,
but artificial intelligence techniques can provide some provocative
suggestions, and we've been having fun with a few of them. In
particular, we've written a couple of programs that use various
mathematical techniques to generate innovative dance sequences.
The first, about which I've posted to this list before, uses the
mathematics of chaos to "scramble" a given movement sequence. It is
called Chaographer and it results are -- and this was utterly
serendipitous -- reminiscent of some of Cunningham's aleatory
processes; the program divides the dance into chunks and then
The second program, MotionMind, uses machine learning techniques to
capture the patterns of joint movements in a corpus of dances (e.g.,
ten Balanchine ballets or five karate kata). It puts all that
knowledge into a database - a hidden Markov model, specifically -
which it can then search in order to construct stylistically
consonant movement sequences. Among other things, it can perform
intelligent "tweening" tasks: given a starting and ending pose, find
a movement sequence that "joins" them.
These results aren't "better than" Real Human Choreography, but
they're sure fun to play with. Moreover, some of the choreographers
to whom I've showed them have said "Wow! Unusual...I like that...in
fact, I'm going to use that move!"
David Capps and I will be giving a presentation at IDAT99 on this
work, and there are lots of movies on my website if anyone's
(*) This is an ongoing - and somewhat-contentious - argument in the
artificial intelligence field.
-- ================================================================+========== + Liz Bradley Assistant Professor \ + + Department of Computer Science \ + + Internet: email@example.com O )) + + Voice: (303) 492-5355/ Fax: (303) 492-2844 / + + URL: http://www.cs.colorado.edu/~lizb/Home.html / + + USMail: University of Colorado Campus Box 430 ((O + + Boulder CO 80309-0430 + ===========================================================================