def initializePopulation(self, size, depth): list1 = [] for i in range(size): choose = random.randint(1, 5) Try = DSL() OK = Script(Try.initializeNumerous(choose, depth), i) list1.append(OK) OK.saveFile(path) return list1
def initializePopulation(size, generation, depth): list1 = [] # The following line is the directory on Rohan's computer, change # this to the directory where you would like to store your scripts. for i in range(size): choose = random.randint(1, 5) Try = DSL() OK = Script(Try.initializeNumerous(choose, depth), i) list1.append(OK) OK.saveFile(path) return list1
def RemoveUnused(dictionary, indictator): newDict = {} ListoKeys = [] for guy in dictionary.keys(): ListoKeys.append(guy) # print(ListoKeys) for h in ListoKeys: fitVal = dictionary[h] # print("line 203") # print(fitVal) deleteList = [] for i in range(len(h._strategies)): if h._counter_calls[i] == 0: deleteList.append(h._strategies[i]) # print("210") # print(deleteList) for bad in deleteList: # print('213') # print(h._strategies) h._strategies.remove(bad) # print(h._strategies) if len(h._strategies) != 0: Ok = Script(h._strategies, h._id + indictator + 70) Ok.saveFile(path) module = importlib.import_module("Population.Script" + str(Ok.getId())) class_ = getattr(module, "Script" + str(Ok.getId())) inst = class_() newDict[inst] = fitVal # print("IN IF") # print(fitVal) # print(newDict) # print(inst) else: Try = DSL() OK = Script(Try.initializeNumerous(3, 3), h._id + 70 + indictator) OK.saveFile(path) module = importlib.import_module("Population.Script" + str(OK.getId())) class_ = getattr(module, "Script" + str(OK.getId())) inst = class_() newDict[inst] = 0 # print("IN ELSE") return newDict
def mutate(script, j): Try = DSL() new = [] for i in range(len(script._strategies)): if random.randint(0, 1) == 0: new.append(Try.initialize('S', 3)) if random.randint(0, 1) == 0: new.append(Try.initialize('S', 3)) else: new.append(script._strategies[i]) if random.randint(0, 1) == 0: new.append(Try.initialize('S', 3)) # print('p') # print(new) Ok = Script(new, script._id + j) Ok.saveFile(path) return Ok
def crossover(parent1, parent2, i): childStrat = generateSplit(parent1, parent2) Ok = Script(childStrat, i) Ok.saveFile(path) return Ok