Skip to content

ricky0123/complexity

Repository files navigation

life.ricky0123.com

This is a web app that allows you to run an artificial life experiment in your browser. The experiment starts by generating a population of randomly-initialized Brainfuck programs. Then, the following process is repeated indefinitely:

  1. A random pair of programs is chosen.
  2. They are concatenated to form a longer program.
  3. The program is run, using itself as the input/output tape, thereby modifying itself.
  4. The program is split apart, thus producing two child programs.

The inventors of this experiment observed interesting phenomena, such as the complexity of the programs increasing over time.

For more information, listen to this interview with one of the authors on the Mindscape podcast or read the paper: Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction.

I created this project with PureScript, a language I am trying to learn. Don't expect to see beautifully-written code in here just yet ;)

Development

Clone the repository, then run npm i and npm run build. After doing this, you will be able to run npm run dev to start a local server and view the site in your browser.

Citations

Agüera y Arcas, B., Alakuijala, J., Evans, J., Laurie, B., Mordvintsev, A., Niklasson, E., Randazzo, E., & Versari, L. (2024). Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction. arXiv preprint arXiv:2406.19108.

About

A computational life experiment that runs in the browser

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published