Vowel systems demonstration links

This page contains links to the executable and its source code that were used at the Evolang 2004 tutorial on computer modelling of language. The code is far from flawless, but does allow for some exploratory experiments. I will try to fix some of the more obvious bugs if time permits.
The exexutable and the source can be downloaded for free, under the condition that if any use of this material is made in a scientific publication, a reference to one of my articles on the topic is included.

For general information:

de Boer, B. (1997) Generating vowels in a population of agents. In P. Husbands & I. Harvey (eds.) Proceedings of the Fourth European Conference on Artificial Life, Cambridge (MA) MIT Press, pp. 503–510
Bart de Boer (2000) Self organization in vowel systems, Journal of Phonetics 28 (4), 441–465
Bart de Boer (2001) The origins of vowel systems, Oxford: Oxford University Press

For information on changing populations:

Bart de Boer & Paul Vogt (1999) Emergence of Speech Sounds in Changing Populations In: Dario Floreano, Jean-Daniel Nicoud & Francesco Mondada (eds.) Advances in Artifical Life, Lecture Notes in Artificial Intelligence 1674, Berlin Springer Verlag, pp. 664–673

Some information on the simulation

This simulation was written as a demo version of the vowel systems simulations that were used in the papers referred to above. It can be used to execute the imitation game in its simplest form, but also to execute the imitation game with changing populations or with two spatially separated populations. The behavior of the experiments can be changed by changing parameters (under the menu Parameters).
The synthesis parameters determine articulator- and acoustic noise. Changing the value of these different kinds of noise. will change the number of vowels that emerges.
The agent parameters determine two things. Most parameters determine the ageing and learning behavior of the agents. The stepsizes determine how quickly an agents approaches a freshly learned vowel target. The other variable in the menu, lambda, determines the ratio between possible horizontal distinctions and possible vertical distinctions.
The simulation parameters are some of the internal parameters (without much cognitive significance), described in the papers. The "number of cycles" is the number of games that is played when one chooses the menu item Games/Multiple.
Under the item statistics, some measures of the simulation's behavior can be found.
The distance parameters determine how the probabilities to interact change with distance. For each agent-agent pair a weight is defined as follows: wij = 1/(dist(i,j)+threshold)importance. The probability of an agent i interacting with one of the other agents j in the population is then the weight wij divided by the sum over all weights wik, where k<>i
The simulation presents four windows. The upper left window shows the spatial distribution of the agents. The Right two windows show the vowel systems of the agents from the two different population centres. The lower left window shows textual information on the imitation games. All agents have a letter associated with them, and these letters are also used when plotting the agents vowels. One can get more information about different vowels by clicking on the vowel system windows, but this is not guaranteed to work, unfortunately. 

Downloads

Windows executable (SpaceAge2.exe, 2.25 MB) includes debug information.
Source code of microsoft visual C++ project (Zipped, 97K)