Changeset [1229]: - More strict parsing (reporting errors instead of implicit fixes) - ...
- More strict parsing (reporting errors instead of implicit fixes)
- Simplified and optimized parsing of neuron class names
- Added a number of comments on parsing peculiarities
Changeset [1228]: Fixed a bug where an f4_Node tree that resulted from an f4 genotype ...
Fixed a bug where an f4_Node tree that resulted from an f4 genotype that was not properly/completely parsed due to some error would still be used to try growing an organism
Changeset [1227]: Improvements in f4: - fixed a bug where newly created cells in a given ...
Improvements in f4:
- fixed a bug where newly created cells in a given development step were not counted as in-active-development (overlooked), and if they were the only in-active-development cells, the development of an organism would stop
- added one extra development step (#ifdef EXTRA_STEP_CELL_DEVELOPMENT) so that cells that became not in-active-development ("halted" or yielding, usually due to waiting for neurons to develop in other cells) would get a chance to continue development (important when we don't want to ignore invalid neuron connections, #ifdef TREAT_BAD_CONNECTIONS_AS_INVALID_GENO)
- ensured that all connections in a cell are processed (earlier they could be skipped if the development of the cell was "halted" and all cells became not in-active-development)
- got rid of neuron connection syntax [sensor:weight], now all neuron classes are handled in a uniform way and their [connections] too; the only allowed syntax is [input_index:weight]
- unified handling of all neuroclasses during parsing, conversion and mutation
- more correct syntax coloring
- got rid of general-purpose fields (i1, i2, f1, s1) in class f4_node - now separate fields serve their individual purpose
- rewritten creating and modifying neuron connections - it is more deliberate to satisfy neuron input/output preferences
- some invalid neuron connections make a genotype invalid (previously invalid neuron connections were ignored and the genotype was considered valid)
- added (surprisingly missing) simple debug printout functions to see the f4_Node tree structure and the developing f4_Cells
- more informative variable and constant names
- improved performance
Changeset [1226]: - Added ShapeType constraint to GenoOperators::parseNeuroClass() - ...
- Added ShapeType? constraint to GenoOperators::parseNeuroClass()
- Introduced GenoOperators::getRandomNeuroClassWithOutputAndWantingNoOrAnyInputs()
Changeset [1225]: New deafult params set, unnecessary print removed.
New deafult params set, unnecessary print removed.
Changeset [1224]: Less ambiguous names of variables, improved docs
Less ambiguous names of variables, improved docs
Changeset [1223]: Description of the measures added.
Description of the measures added.
Changeset [1222]: updated for the Framsticks version 5.0rc26 (genetic operator changes, ...
updated for the Framsticks version 5.0rc26 (genetic operator changes, Population.canAdd(), MessageCatcher? improvements)
Changeset [1221]: Cosmetic
Cosmetic
Changeset [1220]: Added support for two more phenetic dissimilarity estimation methods, ...
Added support for two more phenetic dissimilarity estimation methods, which compare the distributions of samples in the two phenotypes (bodies)
Changeset [1219]: Less misleading parameter and variable name (library vs. module)
Less misleading parameter and variable name (library vs. module)
Changeset [1218]: Added a function that checks if a genotype produces a valid Creature ...
Added a function that checks if a genotype produces a valid Creature (with no warnings) and a function that generates random genotypes respecting constraints
Changeset [1217]: Handle potentially missing name in Param
Handle potentially missing name in Param
Changeset [1216]: Cosmetic
Cosmetic
Changeset [1215]: Less ambiguous names of counting functions in loggers: warning -> ...
Less ambiguous names of counting functions in loggers: warning -> error_warning, info -> error_warning_info
Changeset [1214]: The number of "steps" has now the interpretation of the number of intervals
The number of "steps" has now the interpretation of the number of intervals
Changeset [1213]: Fixed buffer overflow - the [...] pattern in scanf() always stores the ...
Fixed buffer overflow - the [...] pattern in scanf() always stores the trailing \0 in addition to the characters matched
Changeset [1212]: Properly attach muscles to joints and fix "Warning: ...
Properly attach muscles to joints and fix "Warning: Param.loadSingleLine: Unknown property 'n.n:j' (ignored)"
Changeset [1211]: linux compatibility (can't use the window state "zoomed", some state ...
linux compatibility (can't use the window state "zoomed", some state changes need wait_visibility())
Changeset [1210]: EPSILON used only where necessary
EPSILON used only where necessary