![[4D hypercube]](hyper.jpg)
Quantum algorithms occur in high dimensional spaces -- visualising their effect is difficult, as it is difficult to visualise n-dimensional hypercubes. The family of Hilbert curves [1] can be used to lay out the vertices of hypercubes in a manner that preserves (some) locality properties, and has a simple relationship between the maps of hypercubes of different dimensions.
You will develop a general approach to visualising quantum algorithms [2] mapped on Hilbert curves. You will apply the approach to Grover's quantum search algorithm [3] and for Shor's QFT algorithm [4] across a range of dimensions, demonstrating how the resulting behaviours for different numbers of qubits are related.
![[example L-system output]](bush.jpg)
JCSP [1] is a class library for Java that provides CSP-style parallelism capabilities.
L-systems [2] are parallel generative grammar systems originally developed for simulating plant growth. The various symbols in the productions are interpreted as "turtle graphics" style instructions, and used to draw fractals reminiscent of biological growth patterns.
You will design and implement an L-system tool in JCSP, matching the parallel structures of the implementation language with the parallel rewriting of the L-Systems, and exploiting the object oriented nature of Java (so that symbols know how to rewrite themselves, how to draw themselves, etc). Depending on progress, you will investigate context free L-systems, context sensitive L-Systems (where symbols communicate with their neighbours to determine their context), and environmental L-Systems (where symbols communicate with an external environment to determine inputs). If time permits, you will investigate generalised growth grammars, where the symbols are connected in a graph, rather than in a string.
Realistic-looking flocking behaviour can be simulated with remarkably simple interaction rules [1,2]. The "Singular Value Decomposition entropy" [3,4] of a boid flock indicates properties of the flock. In this project you will investigate how the SVD entropy can be used to distinguish emergent properties of flocks as a function of their parameters.
You will create an instrumented boid flocking simulation and use it to determine the effect on SVD entropy of
It is common belief that people are willing to break laws if they believe they have a chance of escaping punishment. This theory is often cited in Peer-2-Peer piracy cases [1].
Sugarscape [3] is an artificial society simulation developed by Joshua Epstein and Robert Axtell based on the consumption and trade of sugar. It is one of the leading agent based models and has been used for a number of interesting sociology experiments [2]. The current Sugarscape code is available from SourceForge.
We propose to adapt the Sugarscape agent based model to form a society of variably dishonest agents. These agents will have the ability to break the trading laws of Sugarscape, by stealing sugar. They will have a chance of being caught, and punished. The (small, variable) probability of breaking a law will depend on the agents belief that it will get caught.
We will test the hypotheses that (i) agents will commit crimes as long as they believe they will get away with it, and that (ii) this strength of this belief depends on the number of agents they see being caught and punished (rather than on the proportion of agents, or the severity of the punishment).
The first stage is to formalise these questions in a way that makes sense in the Sugarscape environment, and such that the "answer" is not merely a simple consequence of the way the question is posed.
The second stage is to modify Sugarscape to support the new rules, and to design and run an appropriate suite of experiments to test the (formalised) hypotheses.