Here are my honours projects for 2004. You need to come and see a supervisor (me) regarding any project you intend doing before selecting that project.

Kit: Musical Arms Race
  Interactive Adaptive Learning Systems
  Evolution of minimal generative grammars
  Surface generation with constrained particle systems
  Landscape generation with L-systems
  Autonomous Drawing Agents (co-supervised with Alan Dorin)
  Aperiodic Tiling
  Functional Music (co-supervised with Lloyd Alison)
See also: Honours projects 2003


Musical Arms Race (20pt project) JM1

A number of evolutionary methods have been applied to to problem of getting autonomous agents to create "interesting" music. Most of them fail to produce anything interesting. For this project you will create an artificial world of evolving agents. There will be two different types of agent in the world: composer agents and critic agents. The composer agents compose music and the critic agents criticize what the composer agents have composed. Composer agents evolve to make better compositions that the critics will like. At the same time the critics evolve to become tougher critics. The idea being that this will spark an "evolutionary arms race" where both composers and critics drive evolution to make better compositions.

Preliminary Reading:
Todd, P.M. and G.M. Werner (1998), Frankensteinian Methods for Evolutionary Music Composition, in Griffith, N. and P.M. Todd (eds), Musical Networks: Parallel Distributed Perception and Performance, MIT Press/Bradford Books, Cambridge, MA.

Interactive Adaptive Learning Systems (12/20pt project) JM2

This project will investigate the use of adaptive learning systems for a real-time interactive application. Collections of virtual creatures are required to develop a symbiotic relationship with a human audience – responding to movement and gesture. Students should be prepared to investigate a number of adaptive learning techniques including classifier systems and evolutionary ANN (Artificial Neural Network) approaches, with the goal of creating a novel system that evolves and adapts to its real and virtual environments. The key emphasis for this system must be flexibility and real-time behaviour as the dynamic environment is actually changing in real-time.

General Introductions to Adaptive and Evolutionary Systems (all available from the Hargrave library):

Flake, G.W. (1998), The Computational Beauty of Nature : Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation, MIT Press, Cambridge, Mass.

Pfeifer, R. and C. Scheier (1999), Understanding Intelligence, MIT Press, Cambridge, Mass.

Holland, J.H. (1995), Hidden Order : How Adaptation Builds Complexity, Helix Books, Addison-Wesley, Reading, Mass.

More specific papers:

McCormack, J. (2002), Evolving for the Audience, International Journal of Design Computing 4 (Special Issue on Designing Virtual Worlds). pdf version.

McCormack, J. (2003), Evolving Sonic Ecosystems, Kybernetes 32(1/2). pdf version.

Evolution of minimal generative grammars (12/20pt project) JM3

Generative grammars, such as L-systems, are a good compression system for generating complex hierarchical data. Such data can be used for a variety of purposes, such as the modelling of plants, visual morphogenesis, and neural network encoding.

The aim of this project is to combine generative grammar systems with genetic algorithms to find the minimal (or smallest) grammar that can successfully generate a supplied pattern or string. This is known in the literature as the “inference problem” — to infer a grammar from what it generates. To do this, populations of generators compete to generate sequences of strings. Generators are credited for being correct and having minimal use of resources (the fitness measure). At each generation, the fittest individuals are subject to the genetic operations of crossover and mutation with the goal of evolving good encoding grammars. The project can be extended using more complex generative systems that have developmental and temporal components, their generation also influenced by environmental factors. A successful system could be used to infer grammars given the metrics of a particular species of plant, for example. Such a grammar could then go and generate a developmental model of that plant.

Preliminary Reading:

Prusinkiewicz, P. and A. Lindenmayer (1990), The Algorithmic Beauty of Plants, The Virtual Laboratory, Springer-Verlag, New York.

Mitchell, M. (1996), Introduction to Genetic Algorithms, Complex Adaptive Systems, MIT Press, Cambridge, MA.

Jacob, C. (1996), Evolving Evolution Programs: Genetic Programming and L-Systems, in Koza, J.R., et al. (eds), Genetic Programming 1996: Proceedings of the First Annual Conference, MIT Press, Cambridge, MA. pp. 28-31.

Surface generation with constrained particle systems (12/20 pt project) JM4

This project investigates techniques for generation of dynamic, organic surfaces from thousands of individual particles which are constrained by laws specified by the user. Particle systems are more commonly used in graphics for simulating natural phenomena such as fire, smoke, rain and snow. This is because they are good at modelling amorphous shapes that change according to simple physical laws over time. By adding extra topological constraints, particle systems can be used to build complex surfaces that respond to their physical surroundings. This technique is suited to generating organic surfaces, such as membranes. Have a look at this filmclip for example.

Students wishing to do this project must have successfully completed CSE3313 Computer Graphics (or the equivalent of this course).

Landscape generation with L-systems (20 pt project) JM5

L-systems are string re-writing grammars often used as the basis for generating complex geometric models of plants. In recent years research has turned to the generation of large-scale population models (see images below), where various species are distributed over landscapes. This project aims to investigate different population dynamic models for species distribution over procedurally generated landscapes. For example species may be distributed by soil conditions, altitude, climate, etc.

Landscape without vegetation Landscape with procedurally generated vegetation © 2002 Jon McCormack

Students wishing to do this project must have successfully completed CSE3313 Computer Graphics (or the equivalent of this course).

Autonomous Drawing Agents (12/20pt project) JM6 (co-supervised with Alan Dorin)

In this project you will investigate systems that learn to draw simple pictures. A number of approaches are possible: turtle drawing systems which move about in 2 dimensions with coloured pens attached. The turtle is controlled by an evolvable finite state automata. Turtle agents may evolve to produce more "interesting" drawings. A key question here is what constitutes a more interesting drawing? — read this paper as a good starting point. An alternate investigation might use a collection of programmable cells, which replicate and self-organize to create more complex global structures. The same question still applies — how can we make autonomous systems that will produce interesting (creative, novel) pictures?

Preliminary Reading:

Saunders, R and Gero, JS: 2001, Artificial Creativity: A Synthetic Approach to the Study of Creative Behaviour, in Gero, JS (ed), Proceedings of the Fifth Conference on Computational and Cognitive Models of Creative Design, Key Centre of Design Computing and Cognition, Sydney.

group c

Humphrey, NK: 1973, The Illusion of Beauty, Perception 2: 429-439.

Solomonoff, RJ: 1995, The discovery of algorithmic probability: A guide for the programming of true creativity., in Vatanyi, P (ed), Computational Learning Theory: EuroCOLT '95, Springer-Verlag, Berlin, pp. 1-22.

Boden, MA: 1994, What is Creativity?, in Boden, MA (ed), Dimensions of Creativity, MIT Press, Cambridge, MA, pp. 75-117.

Dartnall, T (ed.) 2002, Creativity, Cognition, and Knowledge: An Interaction, Praeger, Westport, Connecticut; London.

Partridge, D and Rowe, J: 1994, Computers and creativity, Intellect, Oxford, England.

Aperiodic Tiling (12/20pt project) JM7

The aim of this project is to investigate the applications of aperiodic tiling for computer graphics and animation. Tiling strategies are useful for generating complex texturing and geometric information from very small data sets. An interesting application for aperiodic tiling is in the generation of complex animation data, tiling the patterns in time rather than space. One challenge for creating tiles is to position components on each tile correctly, this is usually achieved by an interactive editor which shows individual tiles' image to be edited and the resultant composite tiling pattern to be see simultaneously.

Preliminary Reading:
Glassner, A. (1999), Andrew Glassner's Notebook, Morgan Kaufmann (Chapter 12)

Michael F. Cohen, Jonathan Shade, Stefan Hiller, Oliver Deussen  (2003), Wang Tiles for Image and Texture Generation
ACM TOGS (SIGGRAPH 2003 Proceedings) - Available on-line. See also this link.

Functional Music (12/20pt project, co supervised with Lloyd Allison*) JM8

The project is to create methods to discover pattern and structure in music and to answer questions such as: What are the themes and variations in a musical score? Given two musical scores are they related? Given a midi file, to what extent can the original score be recovered? Can we infer a model that will create music in the style of X, or can we "cross-fade" or "mix" models of X and Y to get a new composition?

Musical ability is not strictly necessary but an interest in music is important and a (basic) knowledge of musical notation will be useful. The project will use the Haskore [ ] notation and system but an open mind is much more important than experience in functional programming. Read this:   Potential candidates must talk to the supervisor(s) first.

*Please note that Lloyd is on OSP in Semester 2, 2004.