source: framspy/README.txt @ 1304

Last change on this file since 1304 was 1195, checked in by Maciej Komosinski, 22 months ago

Cosmetic

File size: 2.5 KB
Line 
1______________________________ "framspy" directory _______________________________
2
3This directory contains sources that allow one to interact with the native
4Framsticks library from Python, and to perform evolutionary optimization.
5
6"frams.py" is the most fundamental file. It allows to access Framsticks script
7objects in Python. You will find detailed descriptions in the source of this file,
8but since this file is only responsible for buidling the low-level bridge between
9Framsticks and Python, understanding and modifying it should not be necessary.
10
11"frams-test.py" uses "frams.py" and tests the connection between Python
12and the native Framsticks library by performing a number of simple yet diversified
13operations, so you should run it first to ensure everything works correctly.
14This file can also be treated as a set of examples and demonstrations on how to access
15Framsticks genotypes, the simulation, body parts, neurons, etc.
16Again, read the comments in the source for more information.
17
18"FramsticksLib.py" uses "frams.py" and provides a few fundamental, high-level building blocks
19for optimization: functions to mutate, crossover, evaluate a solution, etc.
20
21
22There are three independent implementations of evolutionary algorithms in this directory
23and they all rely on "FramsticksLib.py":
24
251)
26"FramsticksEvolution.py" - the simplest one, everything is in one file. Uses the DEAP
27framework ( https://deap.readthedocs.io/en/master/ ) to perform the optimization.
28Supports multiple criteria, the generational architecture, and numerous parameters
29to customize the evolutionary search. Invalid genotypes are assigned the fitness of "-1"
30and the selection process is responsible for their extinction.
31See "run-deap-examples.cmd".
32
332)
34The "evolalg_steps" module - the most complicated one, every piece of an algorithm
35is considered a "step" and can be customized. This results in a large number of small
36files (classes), but allows for the highest flexibility in building new algorithms.
37This module is no longer supported, but basic usage scenarios should work correctly.
38See "run-evolalg_steps-examples.cmd".
39
403)
41The "evolalg" module - the middle ground. Minimalistic yet it allows for easy
42customizations, supports the generational architecture, the island model, quality-diversity
43techniques and numerical optimization (completely independent from Framsticks).
44Invalid genotypes are not accepted, so new ones are generated until they are valid.
45See "run-evolalg-examples.cmd".
Note: See TracBrowser for help on using the repository browser.