16:33 Changeset [1246] by Maciej Komosinski
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 Maciej Komosinski
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 Maciej Komosinski
Removed scaling when calculating Creature (Model) energy from the energy that results from the "Ee" modifiers


19:12 Changeset [1243] by Maciej Komosinski
Simplify modifiers 'r' and 'R' separately because they obey simpler rules than other modifiers and thus can be reduced more


14:19 Changeset [1242] by Maciej Komosinski
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 Maciej Komosinski
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)


01:28 Changeset [1240] by Maciej Komosinski
Updated f4->f1 approximate converter


02:10 Changeset [1239] by Maciej Komosinski
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 Maciej Komosinski


02:40 Changeset [1237] by Maciej Komosinski
- 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 Maciej Komosinski


20:04 Changeset [1235] by Maciej Komosinski
Don't remove trailing '>' from genotypes


01:45 Changeset [1234] by Maciej Komosinski
Simplify sequences of modifier genes, cancelling out antagonistic ones and limiting the number of identical genes
00:57 Changeset [1233] by Maciej Komosinski
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


17:12 Changeset [1232] by Maciej Komosinski
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 Maciej Komosinski
- 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


02:14 Changeset [1230] by Maciej Komosinski
Got rid of the (buggy) look-ahead function, made parsing stricter and simpler


02:11 Changeset [1229] by Maciej Komosinski
- 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


23:44 Changeset [1228] by Maciej Komosinski
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:04 Changeset [1227] by Maciej Komosinski
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 Maciej Komosinski
- Added ShapeType? constraint to GenoOperators::parseNeuroClass() - Introduced GenoOperators::getRandomNeuroClassWithOutputAndWantingNoOrAnyInputs()
Note: See TracTimeline for information about the timeline view.