This class is the black box search algorithm. It contains the parse tree which is used to evaluate the bbsa.
This is a mutation that selects a random node and randomizes the parameters of that node. Note: not all nodes have parameters that can be altered.
This function is used to analyze the logs that are generated in the run function.
This function creates a random tree bounded by 2^(max depth) nodes. Note: since the majority of nodes are unary nodes the actual depth of the trees may exceed the maximum depth.
This function is/will be used to determin domination for a multi objective algorithm
This function evaluates the bbsa by running it a user specified number of times. The average number of evaluations and the average best fitness found are stored for use in calculating the fitness.
This function loads a bbsa into the parse tree structure from a dictionary that can be generated by the toDict() function.
This function generates the code that is used for external verification. It generates code in a post-order fashion. This functions assumes that the structure of the algorithm has already been created
This is the standard sub-tree crossover. This operation does not strictly keep the max depth that is set in the settings file. Meaning the resulting tree(s)’ depth may exceed the maximum depth.
This is the a sub-tree mutation where the amount of nodes added is bounded by a user defined value. This operation does not strictly keep the max depth that is set in the settings file. Meaning the resulting tree’s depth may exceed the maximum depth.