From afa01084b0563c30012fa4fd017979e5a95d342f Mon Sep 17 00:00:00 2001 From: Kai Staats Date: Wed, 13 Jul 2016 22:52:42 -0600 Subject: [PATCH] revised text --- RELEASE_NOTES.txt | 155 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 RELEASE_NOTES.txt diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt new file mode 100644 index 0000000..0bbd1af --- /dev/null +++ b/RELEASE_NOTES.txt @@ -0,0 +1,155 @@ +2016 07/13 - version 0.9.1.6 + +In karoo_gp_base_class.py + - enabled auto counting of labels (right column) in loaded data (data_y) + - re-ordered presentation of screen modes, in order of decreasing feedback [i, g, m, s] + - added argparse to further enhance karoo_gp_server.py as a scriptable tool --FINALLY! :) + +In karoo_gp_main.py + - removed user query for number of class labels + - re-ordered presentation of screen modes, in order of decreasing feedback [i, g, m, s] + +In karoo_go_server.py + - re-ordered presentation of screen modes, in order of decreasing feedback [i, g, m, s] + - argparse to further enhance karoo_gp_server.py as a scriptable tool + + + +2016 07/11 - version 0.9.1.5 + +In karoo_gp_base_class.py + - renamed kernel (fitness function) type from 'a' to 'r' for regression + - renamed all associated variable and methods to match switch from 'abs_value' to 'regression' + - reorganised validation methods to match order of fitness functions + - added [other] place holder to validation methods + +In karoo_gp_main.py + - renamed kernel (fitness function) type from 'a' to 'r' for regression + - adjusted upper boundary for qty of generations from 1000 to 100 + +In karoo_go_server.py + - renamed kernel (fitness function) type from 'a' to 'r' for regression + +In files/ data_ABS.csv and functions_ABS.csv were rename data_REGRESS.csv and functions_REGRESS.csv accordingly. + + + +2016 07/10-11 - version 0.9.1.4 + +In karoo_gp_base_class.py + - renamed variable 'tree_depth_max' to 'tree_depth_base' + - renamed variable 'tree_depth_adj' to 'tree_depth_max' + - renamed variable 'gp.pop_tree_depth_max' to 'gp.pop_tree_depth_base' + - enabled 2 children to be produced by each Crossover function + - extensive testing of Crossover in debug to validate process + - reduced # of crossover functions per run by 1/2 + - improved on-screen output for all 4 genetic operators + - removed not-in-use 'accuracy' test + - added 'Arguments required:' to each method notes + - edited a number of method notes + +In karoo_gp_main.py + - renamed variables (according to karoo_gp_base_class.py) + +In karoo_go_server.py + - renamed variables (according to karoo_gp_base_class.py) + + + +2016 07/08-09 - version 0.9.1.3 + +In karoo_gp_base_class.py + - added CTRL-C catch to the (pause) menu; removes potential to accidentally kill a run when attempting to + copy/paste an on-screen function to research notes (use the mouse instead). + - rebuilt each (pause) menu function for improved exception handling + - added the new gp.tree_depth_adj user defined variable to branch mutation and crossover, enabling Trees to grow + beyond their original size which adds opportunity for more complex solutions, as well as the unavoidable bloat + - reduced complexity of a few lines in both branch mutation and crossover methods + - tested, tested, tested + +In karoo_gp_main.py + - added CTRL-C catch to the at-launch user menu. + - renamed the method gp.fx_karoo_crossover_reproduction() to gp.fx_karoo_crossover() + - added user input for the new global variable gp.tree_depth_adj + +In karoo_go_server.py + - added new gp.tree_depth_adj variable + + + +2016 07/07 - version 0.9.1.2 + +In preparation for public launch of Karoo GP, a number of updates are complete or underway. + +The Quick Start Tutorial is being fully revised. A number of corrections were made, but more importantly, all new +content has been added relevant to preparation of datasets and the use of the Karoo GP Tools accordingly. The genetic +operators descriptions now feature visuals and revised descriptions, as to many other sections. + +In the karoo_gp/tools/ directory, all scripts have undergone updates, 2 of which now offer automated scaling and a +user interface that in the original versions were not present, as follows: + + karoo_data_sort.py (formerly karoo_features_sort.py) + This script now engages the user with a query for the number of class labels and the number of data points (rows) + for the new, randomly generated subset of the parent dataset. This script is designed to be used prior to + karoo_normalise.py. + + karoo_normalise.py + This script now auto-scales to any number of columns and rows (within the limit of your computer's capability), + and features a text-based user interface. This script is designed to be used following karoo_data_sort.py. + + karoo_multiclassifier.py + This script functions as before, but with a minor bug fixed in which the final class was mislabeled. + + karoo_iris_plot.py + This script functions as before, but with improved in-script documentation and cleaner code. + + +In development now are a number of updates and improvements to the base_class such that Karoo GP will more readily +conform to the GP standards, as follows: + +1) Karoo GP currently produces only 1 offspring for each parent, where it should produce 2. + +2) The tree generation method 'Ramped Half/Half', in its current state, produces a 50/50 split of Full and Grow +methods, not a graduated ramp through all depths. + +3) Karoo GP currently engages a bloat inhibitor, that is, an upper limit on tree depth which is maintained through +all modes of mutation and crossover. This will become a user defined setting such that it can be adjusted, enabling +growth of trees beyond the original, user defined limit. + +4) Karoo GP will be made to launch as a single, command-line function with all required parameters included, SciKit +Learn style. + + + +2015 12/23 - version 0.9.1.1 + +It was discovered that when loading external datasets, Karoo was yet extracting variables (terminals) from the data in +the files/ directory, according to the selected kernel. + +This is fixed. + + + +2015 11/04 - version 0.9.1.0 + +Initial development of Karoo GP began in February 2015, on a Python-based evolutionary algorithm for an MSc research +project at the University of Cape Town (UCT) / African Institute for Mathematical Sciences (AIMS) and the Square +Kilometer Array (SKA). The myriad debug statements evolved into the user interface while the classic Machine Learning +test cases became the built-in example runs. + +In the course of six months development, the code base grew to become a flexible, easy-to-use platform for Genetic +Programming. + +Karoo GP has been thoroughly tested on a 40-core server at the Square Kilometer Array offices in Cape Town, South +Africa, where for one month it chewed through 10,000 rows of data for up to 50 hours without incident. It is proved +as a fully functional, multi-core workhorse. + +With all development to date conducted locally, this version 0.9 marks the first release to github. + +This initial github release is private, shared with select collaborators only. Please do not distribute any part of +the code until it is made public. + +Kai Staats + +www.kaistaats.com/research/ +www.kaistaats.com/film/