def pi_random_init(depth): tree = Tree(str(params['BNF_GRAMMAR'].start_rule[0]), None, max_depth=depth, depth_limit=depth) genome = tree.pi_random_derivation(0, max_depth=depth) if tree.check_expansion(params['BNF_GRAMMAR'].non_terminals.keys()): print("tree.pi_random_init generated an Invalid") quit() return tree.get_output(), genome, tree, False
def pi_grow_init(depth): tree = Tree((str(params['BNF_GRAMMAR'].start_rule[0]), ), None, max_depth=depth, depth_limit=depth) genome = tree.pi_grow(0, max_depth=depth) if tree.check_expansion(): print("tree.pi_grow_init generated an Invalid") quit() return tree.get_output(), genome, tree, False
def tree_init(depth, method): """ Initialise a tree to a given depth using a specified method for initialisation. """ tree = Tree((str(params['BNF_GRAMMAR'].start_rule[0]), ), None, max_depth=depth - 1, depth_limit=depth - 1) genome, nodes, d, max_depth = mapper.tree_derivation( tree, [], method, 0, 0, 0, depth - 1) if tree.check_expansion(): print("tree.init generated an Invalid") quit() return tree.get_output(), genome, tree, nodes, \ False, max_depth, len(genome)