Living Melodies - MIT Press Journals

5 downloads 0 Views 260KB Size Report
Evolutionary algorithms and artificial life may serve a re- lated function in this context, in particular as support to the creative process. Interactive evolution [2–4], ...
A R T I S T S ’

F I R S T

A R T I C L E

Living Melodies: Coevolution of Sonic Communication Palle Dahlstedt and Mats G. Nordahl

A

fundamental goal of artistic expression is to create meaningful structures that one cannot immediately envision and to avoid repeating worn formulae and tedious mannerisms. In musical history, rules and limitations, in the forms of numerology, instrumental limitations, a limited number of voices, simple recursive algorithms that produce complex results from simple rules, and 12-tone series, to mention a few examples, have always been used as means for composers to move outside themselves. In other words, rules give freedom. The notion of formalized music [1] can be viewed as focusing on this aspect of creativity. Evolutionary algorithms and artificial life may serve a related function in this context, in particular as support to the creative process. Interactive evolution [2–4], in which the aesthetic judgment of a human being is included in the fitness function, is one way of utilizing evolution in an artistic or design context. Even though interactive evolution is formulated as optimization, it still serves to emphasize the fundamentally creative nature of evolution. A search procedure in a high-dimensional space may be regarded as creative when the space is truly unknown in advance. This is analogous to how biological evolution explores the space of bio-molecules, where a combinatorial explosion makes the number of conceivable molecules far greater than what can be realized in nature at a certain instance in time. Another approach is that followed in this paper, where we implement an artificial world containing coevolving communicating creatures and use the sounds produced by the entire system as musical material. Even though the material is generated by rules of our own construction, the emergent structures are effectively novel and require a process of assimilation on the part of the creators, who know the origin but not the result. In particular, the creatures in our world need to make sounds to find mates. Mating calls may be the oldest form of communication and may be the origin of all musical expression. The evolution of mating signals has already been considered in early artificial-life experiments, such as that by Werner and Dyer [5], in which the calls of stationary but seeing females evolve to lead the blind males to their location. In other work, specific forms of communication have been studied, for example in the work on robot crickets by Webb et al. [6]. Other relevant material on the evolution of communication can be found in the work of Hauser [7]. Uses of coevolving musical communication for artistic purposes can be seen in Feeping Creatures by Rodney Berry [8]. Mating calls in the form of birdsong have been used as mu-

© 2001 ISAST

A B S T R A C T

T

he authors have constructed an artificial world of coevolving communicating agents. The behavior of the agents is described in terms of a simple genetic programming framework, which allows the evolution of foraging behavior and movement in order to reproduce, as well as sonic communication. The sound of the entire world is used as musical raw material for the work. Musically interesting and useful structures are found to emerge.

sical material by numerous composers, from Renaissance composers such as Clément Janequin through Beethoven to Olivier Messiaen. We do not extract particular calls to use as thematic material; instead we use the sound created by the entire ecosystem. The sounds produced then have a fundamental relation to each other, based in a system of communication and an evolved, structured ecosystem. We can compare this to the ecologically unlikely temporal coexistence of a Baltimore oriole, a red-billed mesia from China, a lesser green leafbird from Malaysia and a California thrasher in the score of Messiaen’s Oiseaux Exotiques. The software (for Windows) and sound examples can be found at the location .

GENETIC REPRESENTATION The genomes of the creatures consist of two parts, a sound genome and a procedural genome. Both are allowed to vary in length during the evolutionary process. The sound genome, which is used when the creature is either listening to or producing sound, consists of a list of the favorite notes of the creature. The first note gives the highest listening pleasure to the creature and also indicates to which species the creature belongs. Further notes give a listening pleasure that decreases according to a prespecified function. The genomes may contain up to 10 preferred notes. If the same note appears in several places in the list, the contributions are summed up. The procedural genome describes both action and sound production. It consists of a sequence of instructions that are evaluated by an interpreter. This can be viewed as a simple case of genetic programming in a procedural language (see the work of Banzhaf et al. [9] for more material on genetic Palle Dahlstedt (composer, researcher), Innovative Design, Chalmers University of Technology, S-412 96 Göteborg, Sweden. E-mail: . Mats G. Nordahl (researcher), Innovative Design, Chalmers University of Technology, S-412 96 Göteborg, Sweden; and Santa Fe Institute, 1399 Hyde Park Road, Santa Fe, NM 87501, U.S.A. E-mail: . Based on a paper presented at First Iteration, a conference on generative systems in the electronic arts, 1–3 December 1999, at Monash University in Melbourne, Australia.

LEONARDO, Vol. 34, No. 3, pp. 243–248, 2001

243

I T E R A T I O N

F I R S T

I T E R A T I O N

programming). The instruction set used in this paper consists of the instructions WALK, TURN, REST, SING, LOOP and IF. LOOPs and IF statements cannot be nested. However, a LOOP can contain an IF statement and vice versa. In our current implementation, the IF statements can compare the values of a number of sensory inputs or other variables (three sensor-equipped tentacles, age, energy, listening pleasure and listening direction) with each other or with a constant. A conceivably useful conditional clause is available as a separate instruction, namely “turn toward the current sound if you like it.” The instruction set used in the procedural genome consists of the instructions in Table 1. The sensor values that may appear in the IF clauses are shown in Table 2; examples of IF clauses are shown in Table 3.

DYNAMICS The world of the living melodies is a square lattice in which each creature occupies a single lattice site; only one crea-

ture can be located at a site. It can walk around, one step at a time, in eight different directions. Two different forms of boundary conditions were used. Either a creature can walk through the world boundary and come out on the other side (periodic boundary conditions), or it can be stopped, as if trying to walk into a wall. A lattice site can store food, and if a creature visits the site, it eats the food, and its life-points increase. The total energy is kept constant in the system, so all energy used by the creatures (cost-oftime, cost-of-mating, cost-of-singing) is thrown out in the world as food again, in the vicinity of the creature (within a distance of 5 squares). In the first implementation of the system, a very simple algorithm for sound propagation was used; this sacrificed physical realism, but allowed the model to run fast enough to be simulated and listened to in real time. The air was implemented as a two-dimensional array, which contained the current sound identity (note/interval), amplitude and direction for every location. If a stronger

Table 1. Instructions Used in Living Melodies Procedural Genome

R W S TT+ Ts L{loop-count}{number of instructions included} { < or = or > }{sensor}{sensor or constant} {number of instructions to include}

rest for one time step walk one step in the current direction sing a note turn right turn left turn toward sound if listening pleasure is high enough (>1) a loop instruction an IF clause

Table 2. Sensor Values in Procedural Genome IF Clauses

a

right tentacle, returns the species no. of the creature in the square in the right-forward direction front tentacle, see above left tentacle, see above listening pleasure value sound volume at the current coordinates sound direction at the current coordinates age of the creature itself direction of the creature integer constants for comparisons

b c d e f g h 00–99

Table 3. Examples of IF Clauses