|
|
|
|
Projects - for those doing the project version of the course - please submit programmes with a brief description of their output within a week of the end of term.
Choose one or suggest you own.
- Look at exercises
to Dayan and Abbott. To the first approximation, one project corresponds to doing two thirds of one of the problem sheets there, the difference being that it is given there
as a matlab project and here as c++. Not all the problems are computational and some problem sheets are longer than others, so here is a more detailed set of tasks giving problem numbers required for each problem sheet. The choice is one of
- Chapter 1 Exercises 1-4.
- Chapter 1 Exercises 8-10 and Chapter 2 Exercise 2.
- Chapter 1 Exercises 9 & 10 and Chapter 2 Exercise 3.
- Chapter 5 Exercises 3-7.
- Chapter 5 Exercises 3,4 and 8.
- Chapter 6 Exercises 1 and 2.
- Chapter 7 Exercises 2 and 3.
Data is given there as a matlab file, I can convert it to it text file, for example: stim.txt and rho.txt.
- Write a programme to calculate the multi-neuron metric between
different sets of spike trains; this relates to my own work and if you
are interested in the option, come to discuss it with me.
- Write a programme that plays games similar to Conway's game of
life but with competition between automata using different rules. In
other words, have the programme run through different variations of
the game rules and assess each combination against some criterion,
like complexity of the outcome after some number of iterations, or
longevity.
- Write a programme that plays the animal guessing game: the
programme asks yes/no questions to try and guess an animal: if it gets
it wrong it asks you to say what the animal was and to give a question
that would have distinguished the animal from the one it guessed. The
programme should save all its questions and all its answers in data
files and load these up when it opens.
- Something to do with evolving a set of neural nets that analysis
some sort of data: in other words, have a set of neural nets that make
a prediction and then have them die and breed according to how
successful they are, see if this succeeds in producing better
prediction. If you are interested in the option, come to discuss it
with me.
- By loading up a corpus of pictures and sampling from them,
construct artificial pictures that have the same correlation
functions for neighboring pixels. Add a rule for changing part of the
image, allow the user to choose which of two pictures is more
attractive, save one and provide a new alternative. Another
possibility would be to calculate other properties of the image and
evolve images to make the property comparable to real images.
- Write a programme that loads in a big chunk of text and then
tries to make up a sentence by choosing words from the chunk. It
should calculate the word-word correlations from the chunk and use
that in constructing the putative sentences. Replace the current
sentence with the choice. Try again, but this time with the correct
three word probabilities, that is, so that the third word is chosen
according to the distribution of third words given the previous
two. Now, the task is to distinguish between the real text and the
artificial text by calculating information theory measures of the
properties of the text, the mutual information between a word and the
word a number of steps along for example. By multiply repeating the
random text construction, test the probability of obtaining the real
value.
Sample text If it helps, here is a piece of text: Example.txt/Example.README. If
you are using Example.txt be sure to save it as a file by
right-clicking, rather than cut and pasting it from the screen, all
the carriage returns have been removed so it is one long line and it
gets truncated when it is displayed by the browser. Here is a routine
for reading a text file in to a vector of words: StringReadIn.cpp. I will prepare sample images soon.
|