Background
Artificial chemistry is a branch of artificial life that aims to capture the essential features of chemistry in abstract models.
These models can be used to understand emergent phenomena in chemistry, as test beds for understanding the origin of life, and as topics of study in their own right.
The Mathis Group has recently reimplemented a classic model of artificial chemistry, AlChemy, in Rust.
This implementation enables an exciting new set of experiments but the current bottleneck is in analysis, visualization and exploration.
To move past this, we want a team of Biocomputing Scholars to 1) develop robust Python wrappers around the existing Rust code, 2) develop interactive visualizations of the systems, and 3) extend the current model to include spatial diffusion and organization.
Research Goals
The scholar team will (1) read and understand the original papers on AlChemy from Fontana & Buss, (2) read recent reanalysis of the model from the Mathis Group, with a focus on understanding the immediate scientific questions, (3) write and propose a software specification for a wrapper/visualizer of the current implementation, (4) implement a first draft of the proposed wrapper in Python, (5) implement the proposed visualizer, (6) extend the existing Rust code base and wrappers to accommodate new experiments.
Skills Needed
A strong grasp of systems programming (C/C++, Rust); experience with Python and data visualization; some exposure to parallel programming concepts; a basic understanding of lambda calculus; interest in reading artificial life, chemistry, and dynamical systems literature.
Skills Gained
Exposure to artificial life modeling; parallel programming in Rust; interactive data visualization.