def testing(): """ A test function for running the experiment manager. Calls all functions. :return: Nothing. """ # Quick scrip to run multiple consecutive experiments for x in range(10): path_1 = path.join(getcwd(), "..", "parameters/progsys.txt") new_string = "" with open(path_1, 'r') as readf: for line in readf: if "NOVELTY_FACTOR" in line: line = "NOVELTY_FACTOR: " + str(x) + "\n" elif "EXPERIMENT_NAME" in line: line = "EXPERIMENT_NAME: NoveltySearchLevi" + str(x) + "\n" new_string += line with open(path_1, "w") as writef: writef.write(new_string) # Setup run parameters. set_params(sys.argv[1:], create_files=False) # Check the correct parameters are set for this set of runs. check_params() # Execute multiple runs. execute_runs() # Save spreadsheets and all plots for all runs in the 'EXPERIMENT_NAME' # folder. parse_stats_from_runs(params['EXPERIMENT_NAME'])
def main(): """ The main function for running the experiment manager. Calls all functions. :return: Nothing. """ # Setup run parameters. set_params(sys.argv[1:], create_files=False) # Check the correct parameters are set for this set of runs. check_params() # Execute multiple runs. execute_runs() # Save spreadsheets and all plots for all runs in the 'EXPERIMENT_NAME' # folder. parse_stats_from_runs(params['EXPERIMENT_NAME'])
import sys def mane(): """ Run program """ # Set Fitness Funtion params['FITNESS_FUNCTION'] = set_fitness_function(params['PROBLEM'], params['ALTERNATE']) # Set Grammar File params['BNF_GRAMMAR'] = grammar.Grammar(params['GRAMMAR_FILE']) # Run evolution individuals = search_loop.search_loop_wheel() # Print final review get_stats(individuals, end=True) # Returns only needed if running experiment manager return params['TIME_STAMP'], stats['best_ever'].fitness if __name__ == "__main__": set_params(sys.argv) mane() # dump an ave_fitness plot for the run from utilities import trackers, save_plots data = [i['ave_fitness'] for i in trackers.stats_list] save_plots.save_plot_from_data(data, 'ave_fitness')
Run all functions to parse a target string into a GE individual. :return: A GE individual. """ # Ensure there is a target to parse. if not params['REVERSE_MAPPING_TARGET']: s = "scripts.GE_LR_Parser.main\n" \ "Error: No target string specified for parsing." raise Exception(s) # Parse the terminals in the target string. parse_terminals(params['REVERSE_MAPPING_TARGET']) # Iterate over the solution list until the target string is parsed. solution = parse_target_string() # Check the mapping of the solution and all aspects to ensure it is valid. check_ind_from_parser(solution, params['REVERSE_MAPPING_TARGET']) return solution if __name__ == '__main__': # Set parameters set_params(sys.argv[1:], create_files=False) # Print parsed GE genome. print("\nGenome:\n", params['SEED_INDIVIDUALS'][0].genome)
""" # Ensure there is a target to parse. if not params['REVERSE_MAPPING_TARGET']: s = "scripts.GE_LR_Parser.main\n" \ "Error: No target string specified for parsing." raise Exception(s) # Parse the terminals in the target string. parse_terminals(params['REVERSE_MAPPING_TARGET']) # Iterate over the solution list until the target string is parsed. solution = parse_target_string() # Check the mapping of the solution and all aspects to ensure it is valid. check_ind_from_parser(solution, params['REVERSE_MAPPING_TARGET']) return solution if __name__ == '__main__': # Set parameters set_params(sys.argv[1:]) # Generate solution. solution = main() # Print parsed GE genome. print("\nGenome:\n", solution.genome)
# Michael Fenton and David Fagan # Hereby licensed under the GNU GPL v3. """ Python GE implementation """ from utilities.algorithm.general import check_python_version check_python_version() from stats.stats import get_stats from algorithm.parameters import params, set_params from utilities.stats import trackers import sys def mane(): """ Run program """ # Run evolution individuals = params['SEARCH_LOOP']() # Print final review get_stats(individuals, end=True) # Returns only needed if running experiment manager return params['TIME_STAMP'], trackers.best_ever.fitness if __name__ == "__main__": set_params(sys.argv[1:]) # exclude the ponyge.py arg itself mane()
# PonyGE2 # Copyright (c) 2017 Michael Fenton, James McDermott, # David Fagan, Stefan Forstenlechner, # and Erik Hemberg # Hereby licensed under the GNU GPL v3. """ Python GE implementation """ from utilities.algorithm.general import check_python_version check_python_version() from stats.stats import get_stats from algorithm.parameters import params, set_params import sys def mane(): """ Run program """ # Run evolution individuals = params['SEARCH_LOOP']() # Print final review get_stats(individuals, end=True) if __name__ == "__main__": # set_params(sys.argv[1:]) # exclude the ponyge.py arg itself set_params(['--parameters', 'progsys.txt']) mane()
print("Result for SMAC: SAT,{},{},{},{},0".format(duration, length, 100 - fitness, seed)) def preprocess_parameters(cmd_line_params): def add_dash(name): return "-{}".format(name) keys = cmd_line_params[::2] values = cmd_line_params[1::2] cmd_line_params_dict = dict(zip(keys, values)) cmd_line_params = [] for (k,v) in cmd_line_params_dict.items(): pk = add_dash(k) if v == "False": continue if v == "True": cmd_line_params += [pk] else: cmd_line_params += [pk, v] return cmd_line_params if __name__ == "__main__": seed = sys.argv[5] cmd_line_params = ["-parameters", "tune.txt", "-random_seed", seed] + sys.argv[6:] cmd_line_params = preprocess_parameters(cmd_line_params) set_params(cmd_line_params) start = timer() fitness, length = tune() duration = int(timer() - start) print_results(seed, fitness, duration, length) sys.exit(0)
# PonyGE2 # Copyright (c) 2017 Michael Fenton, James McDermott, # David Fagan, Stefan Forstenlechner, # and Erik Hemberg # Hereby licensed under the GNU GPL v3. """ Python GE implementation """ from utilities.algorithm.general import check_python_version check_python_version() from stats.stats import get_stats from algorithm.parameters import params, set_params import sys def mane(): """ Run program """ # Run evolution individuals = params['SEARCH_LOOP']() # Print final review get_stats(individuals, end=True) if __name__ == "__main__": set_params(sys.argv[1:]) # exclude the ponyge.py arg itself mane()
def __init__(self, master): set_params(["--parameters", "cargobot.txt"]) self.path = params['GAME_BOARD'] self.master = master self.generated_board = [] self.initial_board = Board.Board(self.path, "init") self.final_board = Board.Board(self.path, "end") self.lift = Lift(self.path) self.width = 800 self.height = 500 master.title("Cargobot automatic programmer") frame0 = tk.Frame(master=master, width=self.width, height=50) frame0.pack() frame0_1 = tk.Frame(master=frame0, width=self.width // 2, height=50) frame0_1.pack(side="left") label_in = Label(frame0_1, text="Initial board") label_in.pack(side="left") frame0_2 = tk.Frame(master=frame0, width=self.width // 2, height=50) frame0_2.pack(side="right") label_fi = Label(frame0_2, text="Final board") label_fi.pack(side="right") frame1 = tk.Frame(master=master, width=self.width, height=self.height // 2) frame1.pack() frame1_1 = tk.Frame(master=frame1, width=self.width // 2, height=self.height // 2) frame1_1.pack(side="left") self.print_board(self.initial_board, frame1_1) frame1_2 = tk.Frame(master=frame1, width=self.width // 2, height=self.height // 2) frame1_2.pack(side="right") self.print_board(self.final_board, frame1_2) frame1_5_0 = tk.Frame(master=master, width=self.width, height=50) frame1_5_0.pack() label_in = Label(frame1_5_0, text="Generated result ") label_in.pack(side="left") frame2 = tk.Frame(master=master, width=self.width, height=self.height // 2) frame2.pack() self.frame2_1 = tk.Frame(master=frame2, width=int(self.width), height=self.height // 2) self.frame2_1.pack(side="left") frame3 = tk.Frame(master=master, width=self.width, height=50) frame3.pack() greet_button = Button(frame3, text="Generate solution", command=self.generate_solution) greet_button.pack() close_button = Button(frame3, text="Close", command=self.master.quit) close_button.pack()
# PonyGE2 # Copyright (c) 2017 Michael Fenton, James McDermott, # David Fagan, Stefan Forstenlechner, # and Erik Hemberg # Hereby licensed under the GNU GPL v3. """ Python GE implementation """ from utilities.algorithm.general import check_python_version check_python_version() from stats.stats import get_stats from algorithm.parameters import params, set_params import sys def mane(): """ Run program """ # Run evolution individuals = params['SEARCH_LOOP']() # Print final review get_stats(individuals, end=True) if __name__ == "__main__": set_params(['--parameters', 'trading.txt']) # exclude the ponyge.py arg itself mane()