Dev_gabe_to_merge pulled to main for v0.3 release#11
Merged
Conversation
one hot into dev_gabe
Merging BioHEL and RIPPER Code into HEROS Base Code
-Completed merge with main -Cleaned up tree initialization method -Made it so that the initial tree pop could be archived for later exporting/viewing -Added reporting of rule specificity limit (RSL) to the rule population output file under 'sepcified count' column -fixed minor issue where rule compaction (QRF) was not updating the micro-population size in the rare event that a rule was removed for poor performance.
…ation Made a number of minor fixes to the updated HEROS version with tree initialization and phase alternation. - tree initialization now assigns birth iteration of 1 to all tree init rules -added a rule compaction phase immediately after tree initialization to remove poor and subsumable rules -added global pareto fitness evaluation after tree initialization to make sure all initialized rules have correct fitness assignment before phase I begins -fixed issue where tree initialized rules were being saved in rules as np.int64 objects rather than python int objects -to address random seed reproducibility of code when tree initialization was activated a number of minor updates were made. the most critical was to make sure that prior to creating HEROS rules from the extracted tree rules, that the extracted tree rules were sorted so they were always added to the HEROS population in the same order and with the same rule IDs. -Tournament selection method improved/fixed (should improve efficiency and random seed reproducibility in future.
-cluster commands -heros schematic in readme -readme citations -updated default run parameters for 'alternate' and 'alternate_mode'
-removed import of unneeded packages and update requirements.txt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These changes reflect updates to HEROS for the v0.3 release that correspond with our GECCO 2026 publication introducing phase alternation and tree-initialization of the rule population. Also included is some (as of yet) untested experimental code prototyped by Gabe Lipschutz-Villa for passing 'feedback' between Phase I and Phase II of HEROS during phase alternation. While the specific code used to run the experiments described in the GECCO 2026 publication is documented by the 'gecco_2026' branch, this merge adds some other minor new fixes to the code base including (1) fixing random seed reproducibility, which was previously not working due to the random order in which extracted rules were added to the HEROS population given that they were stored in a numpy array, (2) minor fixes to tournament selection to ensure reproducibility and efficacy, (3) the addition of rule compaction following tree-initialization of rules to ensure that no obviously poor or subsumable rules were in the initial rule population prior to the start of phase I rule evolution, (4) updates to the readme and requirements.txt, and (5) reorganization and updates to the cluster scripts used to run all HEROS benchmarking experiments described in the GECCO 2026 publication - NOTE - we reran these benchmark analyses and confirmed similar (occasionally better) performance to those reported in the publication.