in general (and inside mathematica), the command to run is
racket -tm side.rkt
with -tm and no further specification, racket will evaluate the function `main defined inside the file side.rkt
raco test -s five main.rkt
To do | Date | By | Note |
---|---|---|---|
spin off from fsm-bar | 3 jan 16 | chi | |
revise !!! added mutation and deltas |
The fsm-pd repository is a development branch of the fsm-bar project, focusing on simulating finite state machines (FSMs) in the context of repeated games, which may include variants of the Prisoner’s Dilemma. The project is implemented in Racket, a Lisp-family language, and integrates with Mathematica for data processing and visualization.
The project includes multiple .rkt source files and other supporting files:
automata.rkt: Handles the logic of finite state machines.
population.rkt: Manages populations of FSMs, including operations like evolution and mutation.
side.rkt: Contains the main function to run simulations.
deltas.rkt: Processes state transitions or mutations.
csv.rkt and inout.rkt: Handle data input/output, possibly for recording simulation results.
test.rkt: Includes test cases to ensure code correctness.
auto-code.nb and run-in-matha.nb: Mathematica notebook files, likely used for data analysis and visualization.
mean100.png and mean2.png: Image files representing simulation results.
https://youtu.be/KZ_YnOFkVx0?si=LINBYkiLOCEotFDM
This is a customised version built upon the base code of Matthias Felleisen here
The initial code of this project received a lot of critical contribution by Hoang Minh Thang. At the early stage, it is from this paper that we got inspiration for the simulation workflow.
Along the way of the development of this project, the code benefits tremendously from discussions on racket mailing list here, IRC #racket here and StackExchange.
The file "csv.rkt" has external copyright condition which can be found in its own file.