The Complex Systems and Simulations Group (CSSG) is a research group in the
Institute of Information and Mathematical Sciences (IIMS) at
Members and alumni of the group are:
|
|
Read more about our work in the CSTN Technical Note series - especially CSTN-052 which gives an insight into our work on visualising complex systems simulations. In particular it relates some of our ideas on simulation architecture to simulation paradigms using particles; fields, agents and hybrid systems.
A gallery of A0-sized PDF research posters gives a flavour of some of our projects.
We make use of parallel and special purpose computer systems for our simulations and visualisation work. Relatively recent work (2009 and 2010) makes use of General Purpose GPU-based computer systems which can be programmed using data parallel language constructs to speed up certain simulation calculations. See some recent preprints describing work on GPUs for scientific simulations: CSTN-065 (field equations and graph path calculations); CSTN-089 (graph component labelling); and CSTN-096 (hyper-cubic data transforms). CSTN-109 (GPUs for lattice gas simulations).
One important research direction concerns automatically generating simulations programs to study complex systems. Some systems can be programmed relatively easily but others do require quite involved program formulation. In many cases this is tedious source-coding to a known pattern, but it is vital for a successful simulation and hence study, that the code be correct. We generally require highly optimised simulation programs to be able to explore large simulated systems quickly. Often the interesting complexity properties such as emergence and phase transitions are only observable in relatively large model systems. The phenomena may in fact be dependent on multi-length scales so a system size that spans several logarithmic "decades" or powers in scale is necessary. A good solution is therefore to use automatic code generators that can generate fast parallelisable "boilerplate" source code for the known aspects, augmented by model specific additions supplied by a human programmer. Some of our preliminary work in this important area is described in: CSTN-106 (Automated Finite-Difference Code Generation.)
Another fruitful area for us is developing new ways to visualise complex systems. Seeing inside a three dimensional system as it evolves in time is particularly challenging, especially when the system is large. Some papers describing this are: CSTN-075 (Field Equation Visualisation); CSTN-092 (Spectral Analysis). Some recent work: CSTN-110 (Interactive Spin System Visualisation with GPUs) looked at how we might visualise an evolving system when it has "small-world" links connecting different parts of the Euclidean space via hyperlinks or worm-holes, such as might arise from long range interactions or hyper-space folding.
Sometimes the tools we develop to study complex systems turn out to be of significance in their own right. One recent tool involves the use of pseudo-eigenvectors to characterise the communities or modules of complex networks. A graph that is partially connected can have its specific and distinct components labelled and separated explicitly using fast component labelling techniques: CSTN-089. A more difficult problem involves networks that are fully connected but with communities or modules that are very much more strongly connected amongst themselves than to the rest of the system. Eigen methods can successfully identify these communities CSTN-083.
Slides and details of some recent talks and seminars are available.
PDF slides from Ken's Seminar on the 23rd March 2011 on Rock, Paper, Scissors, Lizard, Spock! - Cycles, Complexity and Emergence in Spatial Game Models.
PDF slides from Ken's Public Lecture to IET on 16th June 2010, give an overview of our work on GPU Programming, Software Engineering and Automatic Program Generation Tools for GPUs and other parallel computing systems.
PDF slides from Ken's Professorial Lecture on the 4th March 2009, give an overview of the work of the group on Simulated Worlds: "Doing Science with Computers".
|
See also our attempts to describe: |
Some other key areas of interest to us include: emergence and how to quantify it; complexity as it relates to entropy and information theory; and metrics and measurement techniques for quantifying complex systems. We are also interested in advanced visualisation techniques particularly as they pertain to animation and visual tracking and rendering of complex simulation models. See: |
We are of course also interested in technologies for speeding up simulations and rendering systems. As well as working with parallel computing in general we have ongoing projects using computer clusters and graphical processor units (GPUs). See:
There are several ways to join in the research work of the group as a Massey student in Computer Science. It is possible to work on a 3rd year undergraduate project with us or on an Honours or Postgraduate diploma level research project as well there being opportunities for joining the group as a Masters or PhD student. Contact Ken Hawick for further information.
We sometimes also have summer internship research projects that are affiliated with the group's activities and these are usually determined around October of each year - leading up to the (New Zealand southern hemisphere) summer.