about me

I am currently a PhD student at Cambridge university working in the Physics Department under David Mackay's inference group. Before that I was a junior lecturer in computer science at Rhodes university.

While the topic of my PhD is still very far from known I am interested in Neural computation, particularly in models which use binary states to store and process information. I am currently interested in continuous-time Boltzmann machines. They're sort of a mix between Spiking Boltzmann machines and Seb Will's Concurrent Recall Network.

To find me try looking at my calender

Email is the best way to get in touch with me :

Miscellaneous academic stuff

Boost.Python/Kdevelop

After spending some time trying to get it to work I thought I'd share my experience on getting auto-tools, Boost.python and Kdevelop to play together. Here is a simple tutorial that should work for you!

First-year Report

My first-year report (charmingly titled : "Auto-associative memory using random sums of products") is now available for public consumption. It looks at constructing an associative memory using a neural networks which has random connectivity. In the report I show that by using a simple form of belief propagation one can improve the capacity of an auto-associative memory from 14% efficiency to 49% efficiency.

Theory of Computing

Here are some notes for a 14 lecture course I gave on the Theory of computing (@ Rhodes University). The course was aimed at a 2nd year level for students with a weak math background (as seems to be far too common in SA). I'm also including Practical 1 and Practical2.pdf, please let me know if you find any of it useful. (I also have the solutions available for interested lecturers, just get in touch.) (Also I've been told fig 3.2 is a little misleading.)

Reinforcement Sailing

For my masters (at the university of Edinburgh informatics department. My dissertation looked at applying reinforcement learning to the continuous state, continuous action problem of sailing (in computer simulation). The results turned out rather well (and was awarded a departmental prize); the learnt solution sailed better than I could tune the model by hand. I also picked out the interesting bits of my thesis and turned it into an article.

Tetris

I have also wrote a short Tetris learning agent, which can perform rather well, for what it is given. It uses value iteration to learn the value of fitting different pieces in a small tetris well. It can then use that learning to play a game. The training takes less than a second and the agent is able to complete (roughly) 100 rows. The agent ends up dying since it doesn't know how to uncover holes it introduces. I shall put the code up sometime in the near future, since the code needs tidying before it is suitable for public consumption.



You are here: