Assignments for TAI 2

Naming Game

Implement the Naming Game as described in Chapter 5 of the Talking Heads book. For meanings you can use either use categories as for example on the bottom of page 125 or the agents could name eachother. The use of categories has the advantage that you can easily experiment with the number of meanings, whereas this is impossible when the agents have to name each other. For monitoring the dynamics of the naming game you should implement both measures of communicative success (p. 132) and lexical coherence (p. 134).

Additionally you should implement a monitor for tracing the average number of word-meaning pairs each agent in the population knows. This monitor should also be implemented as a running average.

After you have completed your implementation you should experiment with at least two different parameters. Possible parameters include, but are not limited to:

  • number of agents in population
  • number of meanings
  • delta (increment/decrement of scores in lexicon)
  • different lateral inhibition schemas (only hearer performs lateral inhibition)

Technical Requirements

Your implementation should be written in Common Lisp as it is defined in the Hyperspec. Write all your code in a single file and include some code at the bottom which show how to run a series of language games.

Form

Write a small report (max. 5 pages) in which you describe the different experiments you performed using the graphs created by your monitors. Send in your report (preferably in .pdf) together with your final code to Joris before the deadline.

The following criteria will be used to grade your work:

  • do the agents reach communicative success?
  • does lateral inhibition work as expected (meaning that there are no synonyms in the resulting language of the agents)?
  • is the code conform to a good programming style?

Deadline

15th of March

Guessing Game in Lisp

Extend your implementation of the previous assignment in such way that the hearer is uncertain on which category is expressed by the speaker which will give rise to homonyms.

The world of the agents is predefined and consists of objects which belong to multiple categories. At the beginning of each interaction a subset of these objects is choosen and presented to both speaker and hearer. This subset will hereafter be called context. Implement a parameter which allows you to control the complexity of the context (by which you control the maximum number of discriminative categories for each object in the context; the lower this number the less homonymy is expected). The minimum number of discriminative categories for each object in the context should of course be one.

The interaction pattern can be summarized as follows:

Speaker Hearer
chooses one object as topic t_s
finds discriminative category c_s for topic
finds word w for c_s
utters w hears w
finds category c_h for word w
tries to find unique object t_h using c_h
receives pointing information t_h points to interpreted topic t_h
points to intended topic t_s receives pointing information t_s
update association-scores update association-scores

You can reuse the monitors of the previous assignment. After you have completed your implementation you should experiment with the context complexity parameter.

Technical Requirements

Your implementation should be written in Common Lisp as it is defined in the Hyperspec. Write all your code in a single file and include some code at the bottom which show how to run a series of language games.

Form

Write a small report (max. 5 pages) in which you describe the different experiments you performed using the graphs created by your monitors. Send in your report (preferably in .pdf) together with your final code to Joris before the deadline.

The following criteria will be used to grade your work:

  • do the agents reach communicative success?
  • does lateral inhibition work as expected (meaning that there are no synonyms and no homonyms in the resulting language of the agents or in other words that the number of words is equal to the total number of categories in all objects)?
  • is the code conform to a good programming style?

Extended deadline

6th of April

Guessing Game in Lisp with True Ambiguity

In the previous experiment the agents could easily learn new forms by doing lazy learning by waiting for occasions in which there was no ambiguity in learning the correct category.

In order to make the Guessing Game more interesting and slightly more difficult you will have to extend your current implementation to be able to cope with contexts which have at least a complexity of two. The agents (and of course you as the experimenter) can use the assumption that each word should express exactly one category.

Another factor you should experiment with is the way the hearer handles a previously unknown word. A first approach would be to associate the new form to a randomly choosen discriminative category and standard lateral inhibition. A second approach would be to associate the new form with each possible discriminative category. In this approach you should also extend lateral inhibition in such way that it takes into account all possible categories that are associated with the topic.

For this assignment you have to compare both approaches to handling previously unknown words and the corresponding lateral inhibition schema. Generate a graph which shows both lexicon coherence and the average number of word-meaning pairs for both approaches.

Technical Requirements

Your implementation should be written in Common Lisp as it is defined in the Hyperspec. Write all your code in a single file and include some code at the bottom which show how to run a series of language games.

Form

Write a small report (max. 5 pages) in which you describe the different extensions you have made to your previous experiment to make it work in this set-up. Send in your report (preferably in .pdf) together with your final code to Joris before the deadline.

The following criteria will be used to grade your work:

  • do the agents reach communicative success?
  • does lateral inhibition work as expected (meaning that there are no synonyms and no homonyms in the resulting language of the agents or in other words that the number of words is equal to the total number of categories in all objects)?
  • is the code conform to a good programming style?

Deadline

27th of April

Multi-word Guessing game

In the previous assignments, the utterances the agents could produce and parse were single word utterances. The goal of this assignment is to remove this restriction: the agents are now allowed to use more than one word to express sufficient information to enable the hearer to discriminate the topic. In this assignment we still use the assumption that the topic consists of a single object.

The world you will have to use for this assignment consists of 10 chairs which each have 4 attributes: color, material, has-back and has-wheels. You can download an .arff file here. Each context should consist of a variable number (4 seems to work fine) chairs using random selection.

Conceptualisation (the selection of the attributes the agents need to express) needs to be adapted. Instead of looking for the discriminative attributes (which often fails using the restrictions imposed on the world of the agents), the conceptualizer needs to find a minimum combinations of attributes which enables the agents to discriminate the topic from the other objects in the context.

Suppose the context consists out of the following chairs:

 object  color   material   has-back   has-wheels 
chair-3 red wood yes no
chair-4 black metal yes no
chair-5 red metal yes yes
chair-6 black metal no no

A valid conceptualisation for chair-3 would be the single attribute wood as it is a discriminative category for that chair. For chair-4 things would get slightly more complicated as it has no discriminative categories. A combination of the attributes black and has-back would be the only combination of two attributes that would successfully discriminate the topic from the other elements in the context.

As the conceptualisation module is modified in a way that it might return more than one attribute, the agents need a more sophisticated method for selecting the words they will use in an utterance. They will need to first collect all words that cover a part or the whole of the meaning and they need a way of combining these words in order cover the complete meaning. As there might be many of such combinations you will need a selection procedure which selects the best combination known to the speaker. The same goes for interpretation, but in interpretation you can also cut away the combinations that do not lead to a single object in the context (using the assumption discussed above).

After a successfull game all rules used in this interaction are rewarded. All conflicting rules (covering the same meanings for the speaker or entries that associate one of the words in utterances for the hearer) are punished by lateral inhibition.

The main learning operator for the speaker is that it invents a new form covering all attributes it didn't have a word for. The main learning operator for the hearer is to learn the association between an unknown word and the meaning it thinks it might cover. For deducing this meaning it first needs to run conceptualisation, only maintaining those conceptualisations that are compatible with the meaning it could interpret, and finally taking the difference between the conceptualised meaning and the meaning it could interpret. The third and final learning operator should be used when the hearer misinterpreted a single word utterance. In this case the hearer first conceptualises the topic and then associates each possible conceptualisation to the single word in the utterance.

When your set-up is completed you could experiment by changing the number of chairs in the context. What seems to be the ideal context size and can you explain why?

Technical Requirements

Your implementation should be written in Common Lisp as it is defined in the Hyperspec. Write all your code in a single file and include some code at the bottom which show how to run a series of language games.

Form

Prepare a presentation in which you show the results of this experiment. You also have to write a small report (max. 5 pages) in which you describe the different extensions you wrote and the different problems you encountered. You sould also include some results on changing the context size and try to find a possible explanation for this. Send in your report (preferably in .pdf) together with your final code to Joris before the deadline.

Reference

Chapter 4 of the of Joris Van Looveren's PhD thesis.

Deadline

25th of May, 11am

Back to Top

©2009 • AI-Lab, VUB • Pleinlaan 2 • 1050 Elsene • Tel: 02/629.37.00 • Fax: 02/629.37.29 • info@ai.vub.ac.be