All of your courseworks are designed primarily to give you experience in developing intelligent control and/or cognitive systems. This course also gives you experience and feedback in writing about research. To this end, you will be writing research reports of at least one full page but not much more than two, using exactly this format. Submissions should be in the format specified for Coursework 1.
There are two different ways to do Coursework 2, and they will have very different learning outcomes. No one course can cover everything, and the exam will allow you to select between alternative questions catering to both sets of experiences. Nevertheless, it is probably worth thinking about how you would approach each of these problems, even though you will only actively work on one.
There are many different types of social simulation, but in keeping with the emphasis of ICCS, you will be doing a spatial simulation, where you are meant to be simulating some approximation of:
The basic task is to replicate the results reported by Couzin et al. (2011). This means you should briefly review the scientific reason for the model as well as checking the model’s outcomes, probably by replicating them in NetLogo. If you want more information than you had in lecture about replication, you may want to read King (1995) or Bryson et al. (2012). Note that you may also want to start your own work from the implementation / replication of DomWorld described by Bryson et al. (2012), since this already does a good deal of flocking behaviour (cf. Reynolds, 1987).
Note that learning to reason about how agents move in virtual space will help you with the game-AI option in CW3. This CW2 option also helps you learn about social behaviour and outcomes.
Extend from Coursework 1 to help your robot learn a map of a space it circumnavigates. The goal is that the more times your robot goes around the space it is learning, the fewer times it hits its bumpers. This requires that either your robot records bumper hits with timestamps for you, or that it makes a noise every time it registers a bump, and you can record its progress. Second, this will require using time, sonar or possibly odometric information to keep track of where the robot thinks it is. Third, this will probably be facilitated by using vision to identify landmarks, so that the robot can have more information to reduce its own uncertainty.
The cameras we have for the robots provide very little information, so it is allowed that you may want to decorate your field with brightly-coloured markers to help the robot relocate itself. Rather than learn the map, you may at least at first just want to replicate Polly’s navigation with visual landmarks entirely, as detailed in (Horswill, 1993). Recall that this by no means requires accurate vision, only unique indicators of location. On the other hand, you may also want to see if you can make your LEGO robot learn using one of the techniques described in lecture, or that you research on your own.
As with Coursework 1, please report experimental results, that is, propose and support hypotheses. The type of results will depend on which option you pursue.
NetLogo provides a tool for running experiments (BehaviourSpace) and for drawing graphs. Thus it is pretty easy to get NetLogo to run experiments for you, if you can think of parameters you might like to vary that would be experimentally interesting.
With respect to your own results, if you describe a reasonably-well working system in a comprehensible manner you will pass. If you can get the basic replication and describe it appropriately in the report, you will get around 55. Getting a mark over 70 requires demonstrating insight, creativity and/or understanding that goes beyond the basics laid out for you in this document. You may want to read more papers on signal or language evolution, or the evolution of altruism (and obviously cite that reading).
Getting this working is likely to be tricky, so rather than worrying about running quantitative experiments, we are more interested this time in a detailed account of the algorithms you try and the results you attain. The main thing you will want to graph is just the reduction of the bumper hits — presumably over a number of trials (think about using error bars.)
With respect to your own results, if you describe a reasonably-well working system in a comprehensible manner you will pass. If you can get the basic system running and describe it appropriately in the report, you will get around 55. Getting a mark over 70 requires demonstrating insight, creativity and/or understanding that goes beyond the basics laid out for you in this document. For example, you might try to finding some learning algorithms or even libraries on line and adopting them to your problem (properly cited of course).
These are per the instructions in Coursework 1.
Bryson, J. J., Ando, Y., and Lehmann, H. (2012). Agent-based models as scientific methodology: A case study analyzing the DomWorld theory of primate social structure and female dominance. In Seth, A. K., Prescott, T. J., and Bryson, J. J., editors, Modelling Natural Action Selection, pages 427–453. Cambridge University Press.
Couzin, I. D., Ioannou, C. C., Demirel, G., Gross, T., Torney, C. J., Hartnett, A., Conradt, L., Levin, S. A., and Leonard, N. E. (2011). Uninformed individuals promote democratic consensus in animal groups. Science, 334(6062):1578–1580.