A toolset to make scientific computer simulations easier to run, manage and evaluate. I write more about it here.
You will find more here.

Here is a basic list of features to play with. For example:
- Several topologies (circle, star and geographical neighborhood)
- Some standard functions to test on (sphere,griewank,rastrigin,rosenbrock)
- Logging capabilities (to csv format, even code to plot graphs with that data in GNU R can be produced)
- Experiment setups. Average over many iterations and/or automatically change conditions of your choice and let several trials run while you get a fresh cup of coffee :-)
To use it, open a Python session and type:
$ import pso
$ pso.run()
I have the code over at Google Code.
Here are the slides of my tutorial sessions that deal with general topics rather than with what to do for the next homework:
- Tutorial 1 - Debugging Prolog (84 kB)
- Tutorial 2 - Induction and Recursion, Lists, Unification (382 kB)
- Tutorial 3 - Base Cases, The Fruits of Left Recursion, Accumulator (460 kB) and some code: gauss.pro
- Tutorial 4 - Translating Natural Language to First Order Logic and that to Prolog
- Tutorial 8 - A toy natural language system using prolog (85 KB)
- Tutorial 9 - The Cut Operator (60 KB)
At University College, Dublin, I took the excellent course "Natural Programming" by Dr. Michael O'Neill. A part of it was to write your own paper and let the other students review it.
As a topic, I chose Particle Swarm Optimization. I was interested in defining the neighbourhood of particles geographically, which is how swarms in nature act. The standard algorithms mostly use fixed neighbourhood relations.
It was received very well and so I present it here for you to view/download.
I'll leave you with the abstract:
In Particle Swarm Optimization (PSO) with local neighbourhood, the social part of change in the particle's velocity is computed considering the performance of a set of neighbours. Almost all of the literature uses neighbourhood relations of a fixed topology. This paper introduces a method that computes a local optimum based on geographical, non- fixed neighbourhood in Euclidian space. It compares the two approaches in performance and geographical behaviour. The results show that swarms with geographical neighbourhood perform worse in terms of fitness. Furthermore, the results indicate that swarms with fixed topologies start by exploring the search space due to initial random distribution and then turn to exploitation because of emerged geographical neighbourhood.
I also published the code I used for the simulations.
basically, this is just an advent calendar that works with PHP and JavaScript. When you open index.html, 24 doors will "fly" over the screen, each to its location.
Of course I know that the design is somehow ugly. Heck, the code even makes up the colors by random (but still cares for contrast). That resembles my weird sense of humor. sorry.
To run this four yourself, you need:
-a server that supports PHP 4.x or higher
-a MySQL database
The rest is said in readme.txt. Setting this up is no big deal if you know how to deal with a MySQL database (setup a table from an SQL script).
Among these are the first proposals for important aspects of Artificial Intelligence and, as important, sketches of problems that it faces!
- Hilary Putnam – The nature of mental states (1967)
- Daniel Dennett - Intentional Systems (1979)
- Saul Kripke – The Identity Thesis / Excerpt from “Identity
and Necessity” (1980/1971) - John Haugeland – Semantic Engines: An Introduction to Mind Design (1981)
- Paul Churchland – Eliminative Materialism and the Propositional
Attitudes (1981) - Thomas Nagel – How is it like to be a bat? (1981)
For more information, see the comments on the code...
While giving your site some personal touch, you might wish to have hover-over-popups that describe to the user what he should expect to find behind that link he is interested in.
While there is a standard way to do that (<a title="Hit this!">a link</a>), you might want to
- make the popups come up directly without delaying 2 seconds or so because the user wants to know what is behind that link immediately
- style those popups your own way, not that peculiar yellow the browsers use for that... and you want to do it the CSS way.
- Heisele et al: 'Face Recognition With Support Vector Machines: Global versus Component-Based Approach', Center for Biological and Computational Learning Cambridge, 2001
- Romdhani et al: 'Computationally Efficient Face Detection', Microsoft Research Ltd Cambridge, 2001
Anyway, both papers are really interesting. They propose methods to be more efficient and accurate with face detection (which is far from being perfect nowadays). A good lesson why math is important. (Support Vector Machines are not explained here). So take away:
the summary I wrote in order to get my credits (5 pages, pdf)
the presentation I gave (pdf, contains more cool pictures)
Since this seminar was in german, the outline is also (the german title of the book is "Geist, Sprache und Gesellschaft".