Timeline
05/21/23:
- 23:16 Changeset [1249] by
- Multiple issues fixed when calculating bending range for the '|' bending muscle (earlier it was always 1.0 despite the code that supposedly calculated this)
- 23:03 Changeset [1248] by
- Less duplicated constants (default values of Part and Joint properties)
- 22:52 Changeset [1247] by
- Cosmetic
05/20/23:
- 16:33 Changeset [1246] by
- Optionally normalize the four "biological" properties when propagating them along sticks (only to test legacy code, now normalization is no longer used)
- 03:16 Changeset [1245] by
- Disabled "Ii" (energy ingestion/transfer rate) modifiers for f1/f4 mutations by default, as they are not useful in most standard evolutionary experiments
- 03:12 Changeset [1244] by
- Removed scaling when calculating Creature (Model) energy from the energy that results from the "Ee" modifiers
05/19/23:
- 19:12 Changeset [1243] by
- Simplify modifiers 'r' and 'R' separately because they obey simpler rules than other modifiers and thus can be reduced more
05/18/23:
- 14:19 Changeset [1242] by
- Changed the default behavior of modifier genes in f1 and f4 to GenePropsOps_New05: the coefficient of change is set to 0.5 for all properties and for both increase and decrease, which ensures an equal distribution of target property values with a relatively fast convergence to minimal and maximal values; the four "biological" properties are no longer aggregated and normalized
- 03:43 Changeset [1241] by
- No longer sort modifiers and cancel out antagonistic modifiers in f1 and f4; simplifying modifier sequences is now much less intrusive to allow for 2N distinct values of properties instead of only 2*N that resulted from earlier forced ordering (N is the number of same-letter upper- and lower-case characters in a modifier sequence)
05/10/23:
- 01:28 Changeset [1240] by
- Updated f4->f1 approximate converter
05/08/23:
- 02:10 Changeset [1239] by
- More robust stopping condition for organism development: no longer based on declarations of cells (I am active or I am not), but on the observation of their actual development progress
- 02:09 Changeset [1238] by
- Cosmetic
05/07/23:
- 02:40 Changeset [1237] by
- - Got rid of a redundant source of information: cells development stops when a cell sets an error code during its development, not when a function returns an error code - Fix whitespace repair being potentially overwritten by further repairs
- 02:39 Changeset [1236] by
- Cosmetic
05/06/23:
- 20:04 Changeset [1235] by
- Don't remove trailing '>' from genotypes
05/04/23:
- 01:45 Changeset [1234] by
- Simplify sequences of modifier genes, cancelling out antagonistic ones and limiting the number of identical genes
- 00:57 Changeset [1233] by
- Added a function that simplifies a sequence of modifier genes (useful in f1 and f4 encodings) by removing antagonistic modifier genes and limiting the number of genes of the same kind
05/02/23:
- 17:12 Changeset [1232] by
- The validate() function may now attempt to repair genotypes without syntax errors (i.e., fully parsed into a correct f4_Node tree), but with semantic errors
- 01:36 Changeset [1231] by
- - Thanks to r1230, it is possible to detect (and repair=remove) junk trailing genes that are left after successful parsing (after last '>') - The validate() function may attempt to repair a genotype where earlier it would give up - Stricter parsing of the '#' gene
05/01/23:
- 02:14 Changeset [1230] by
- Got rid of the (buggy) look-ahead function, made parsing stricter and simpler
04/30/23:
- 02:11 Changeset [1229] by
- - 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
04/28/23:
- 23:44 Changeset [1228] by
- 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
04/27/23:
- 04:04 Changeset [1227] by
- 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
- 03:55 Changeset [1226] by
- - Added ShapeType? constraint to GenoOperators::parseNeuroClass() - Introduced GenoOperators::getRandomNeuroClassWithOutputAndWantingNoOrAnyInputs()
Note: See TracTimeline
for information about the timeline view.