Posts

Sep 26, 2017
Allocating final year projects to students
Every year, our final year students are offered the chance to do a research project. These are credit baring and take the place of another taught course. Allocating students to project is not simple task as many students might want to work on the same project for example. In this blog post I’ll describe the mathematical model used to quantify how good an allocation is and then show how we used Python (specifically the
...pulp
library) to get the best possible allocation. 
Sep 16, 2017
Using Python in R to study Game Theory
I just got back from a great camping holiday and as usual have started my return by working through email. One particular email has asked if it was possible to use the Axelrod library through the statistical programming language: R. I have here and there heard of a variety of libraries that let you call R from Python and vice versa so I thought it was worth experimenting and seeing exactly how to do this. This blog post will be a very brief demo of using the R package:
...reticulate
to interface to the Python library for studying the Iterated Prisoners Dilemma. 
Jul 28, 2017
Sophisticated IPD strategies beat simple ones
The Iterated prisoners dilemma (IPD) has been an active area of study since the 1980s following Robert Axelrod’s computer tournaments. With a team of over 50 contributors I am one of many who have built a Python library that allows for sustainable study of it: github.com/AxelrodPython/Axelrod. This library is now coming of age and a number of research projects are making use of it. This blog post will describe two related pieces of work. Recent (2012) research as well as the results of Axelrod’s original tournaments have lead to a belief that simple strategies do just as well (if not better) than more complex ones. The two papers I’m going to describe show that’s not really true.
... 
May 22, 2017
When hospitals interact and act rationally inefficiencies can occur
This is a blog post describing a paper Izabela Spernaes, Jeff Griffiths and I had published last year. I am going to start using this blog to write about papers I publish and I’m starting with a paper called Measuring the price of anarchy in critical care unit interactions. In this paper, we used game theory and Markov models to model interactions between two critical care units.
... 
May 6, 2017
(Re)scheduling a conference with linear programming and Python
Scheduling conferences can be a time consuming tricky affair with a lot of moving parts. This is often done in practice with committee members staring at the various events that need to be scheduled and forcing them in to the various rooms and times available until everything fits. In this blog post I’ll describe and illustrate a Python library that Owen Campbell, Alex Chan and I have written over the past week that uses Integer Linear Programming to automatically schedule a conference:
...conference_scheduler
. As an example to illustrate this I am going to (re) schedule last year’s PyCon UK: 2016.pyconuk.org/programme/.