Peter Lane d321279024 added tutorial examples 11 miesięcy temu
..
README.md d321279024 added tutorial examples 11 miesięcy temu
Tutorial4Visualisations.java d321279024 added tutorial examples 11 miesięcy temu
tutorial-1-simple-model.lisp d321279024 added tutorial examples 11 miesięcy temu
tutorial-2-model-with-time.lisp d321279024 added tutorial examples 11 miesięcy temu
tutorial-3-evolving-models.lisp d321279024 added tutorial examples 11 miesięcy temu

README.md

Tutorial

The files in this folder can be used as a basic tutorial of how to create and train models using GEMS.

This material was created by Peter Lane and used in conjunction with a workshop at AI-2023: see https://gems-science.netlify.app/workshop/

Overview

Creating a Simple Model

See file tutorial-1-simple-model.lisp

We first see how to construct a simple model, run it to observe its effect on its environment, and how to evaluate its performance.

Including Time

See file tutorial-2-model-with-time.lisp

We add time to the model, updating the "interpret" function to advance the model's simulation clock, and the "evaluate-program" function to take account of time in evaluating the model's performance.

DMTS Model Evolution and Postprocessing

See file tutorial-3-evolving-models.lisp

This file presents a complete model of the Delayed Match to Sample (DMTS) task, and shows how to call the genetic programming system, recording information to files. We also show how the best models from the final population are extracted and post-processing used to generate a final set of candidate models.

Visualisation

See file Tutorial4Visualisations.java

Results from the DMTS task can be used to generate graphs and additional visualisations. The java script here takes the csv file output by the previous stage to generate a graph of the various components of the fitness function against generation number, and takes a file of model similarities to both cluster and visualise the models in a two-dimensional image.

Read the file header for information on obtaining the required Java libraries and running the script.

(Similar effects can be obtained using any data-analysis package such as Julia or R.)