def initDecode(self, ind): """ """ # decode tree chromosome room_list = parseTree.parseTree(ind.genome["tree"], self.params["plotSizeX"], self.params["plotSizeY"]) tree, shape_list = self.getQuadTree(room_list["sizes"], room_list["desc"]) ind.genome["tree"] = tree ind.shape_list = shape_list plan = self.newDecode(tree) ind.decoded_plan = plan ind.numRoom = plan[0] ind.roomarea = plan[1] ind.roomlist = plan[2] ind.roomDesc = plan[3] ind.roomSizes = plan[4] # 2nd chromosome # decode color chromosome chrom = ind.genome["color"] temp = 0 len_chrom = len(chrom) for i in xrange(len_chrom): if chrom[i]: temp += 2 ** (len_chrom - i - 1) ind.color = self.colors[temp]
def initDecode(self, ind): ''' ''' # decode tree chromosome room_list = parseTree.parseTree(ind.genome['tree'], self.params['plotSizeX'], self.params['plotSizeY']) tree, shape_list = self.getQuadTree(room_list['sizes'], room_list['desc']) ind.genome['tree'] = tree ind.shape_list = shape_list plan = self.newDecode(tree) ind.decoded_plan = plan ind.numRoom = plan[0] ind.roomarea = plan[1] ind.roomlist = plan[2] ind.roomDesc = plan[3] ind.roomSizes = plan[4] # 2nd chromosome # decode color chromosome chrom = ind.genome['color'] temp = 0 len_chrom = len(chrom) for i in xrange(len_chrom): if chrom[i]: temp += 2**(len_chrom-i-1) ind.color = temp
def decodePlan(self, ind): room_list = parseTree.parseTree(ind, self.width, self.height) plan = decodePlan.decodePlan(room_list) ind.decoded_plan = plan ind.numRoom = plan[0] ind.roomarea = plan[1] ind.roomlist = plan[2] ind.roomDesc = plan[3] ind.roomSizes = plan[4]
def decodePlan(self): room_list = parseTree.parseTree(self, self.params["plotSizeX"], self.params["plotSizeY"]) plan = decodePlan.decodePlan(room_list) self.decoded_plan = plan self.numRoom = plan[0] self.roomarea = plan[1] self.roomlist = plan[2] self.roomDesc = plan[3] self.roomSizes = plan[4]
def decodePlan(self, ind): room_list = parseTree.parseTree(ind, self.params["plotSizeX"], self.params["plotSizeY"]) plan = decodePlan.decodePlan(room_list) ind.decoded_plan = plan ind.numRoom = plan[0] ind.roomarea = plan[1] ind.roomlist = plan[2] ind.roomDesc = plan[3] ind.roomSizes = plan[4]
def decodePlan(self, ind): room_list = parseTree.parseTree(ind, self.params['plotSizeX'],self.params['plotSizeY']) plan = decodePlan.decodePlan(room_list['desc'], room_list['sizes']) ind.decoded_plan = plan ind.numRoom = plan[0] ind.roomarea = plan[1] ind.roomlist = plan[2] ind.roomDesc = plan[3] ind.roomSizes = plan[4] ind.transf = room_list['transf']
def decodePlan(self, ind): ''' ''' # decode tree chromosome room_list = parseTree.parseTree(ind.genome['tree'], self.params['plotSizeX'], self.params['plotSizeY']) plan = decodePlan.decodePlan(room_list['desc'], room_list['sizes']) ind.decoded_plan = plan ind.numRoom = plan[0] ind.roomarea = plan[1] ind.roomlist = plan[2] ind.roomDesc = plan[3] ind.roomSizes = plan[4] # decode transformation chromosomes transf = room_list['transf'] for i in xrange(len(transf)): xscale_chrom = transf[i][0] yscale_chrom = transf[i][1] len_scale = len(xscale_chrom) temp_x, temp_y = 0., 0. for j in xrange(len_scale): if xscale_chrom[j]: temp_x += 2**(len_scale-j-1) if yscale_chrom[j]: temp_y += 2**(len_scale-j-1) transf[i][0] = temp_x/(2**len_scale) transf[i][1] = temp_y/(2**len_scale) ind.transf = transf # 2nd chromosome # decode color chromosome chrom = ind.genome['color'] temp = 0 len_chrom = len(chrom) for i in xrange(len_chrom): if chrom[i]: temp += 2**(len_chrom-i-1) ind.color = temp
import parseTree import settings s = settings.runSettings() x = parseTree.parseTree(s) x.createER() print x.toDict() print x.evaluate() #print x.eval2() x.makeProg() x.report() x.makeGraph()