All of your courseworks are designed primarily to give you experience in developing intelligent control and/or cognitive systems. However, the course is also intended to give 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 Mitri et al. (2011). This means you should briefly review the scientific reason for the model as well as checking the model’s outcomes through 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. (2007). Note that this work was originally done on robots, so your replication will really also be an extension — can the same result be found in a spatial simulation?
This was the originally-intended coursework. Learning to reason about how to help agents move in virtual space will help you with CW3, which is creating computer game AI. This coursework 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). On the other hand, we’d enjoy seeing your LEGO robot learn. If you took Pattern Matching last year, you might want to try learning about HMM or POMDP from the Bishop (2006) or the Internet and use a probabilistic representation.
As with Coursework 2, we would like you to write this as if it were an experimental paper, that is we would like to see you 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. The figures in the Mitri paper probably produced with R though.
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. (2007). Agent-based models as scientific methodology: A case study analysing primate social behaviour. Philosophical Transactions of the Royal Society, B — Biology, 362(1485):1685–1698.