2 Star 20 Fork 11

虾神说D/遗传算法之Python实战

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
图着色问题-checkpoint.ipynb 96.48 KB
一键复制 编辑 原始数据 按行查看 历史
import random,csv,datetime,json
import matplotlib.pyplot as plt
def load_data(localFileName):
    with open(localFileName, mode='r') as infile:
        reader = csv.reader(infile)
        lookup = {row[0]: row[1].split(';') for row in reader if row}
    return lookup
def build_rules(items):
    rulesAdded = {}
    for state, adjacent in items.items():
        for adjacentState in adjacent:
            if adjacentState == '':
                continue
            rule = Rule(state, adjacentState)
            if rule in rulesAdded:
                rulesAdded[rule] += 1
            else:
                rulesAdded[rule] = 1
    for k, v in rulesAdded.items():
        if v != 2:
            print("rule {0} is not bidirectional".format(k))
    return rulesAdded.keys()
class Rule:
    def __init__(self, node, adjacent):
        if node < adjacent:
            node, adjacent = adjacent, node
        self.Node = node
        self.Adjacent = adjacent

    def __eq__(self, other):
        return self.Node == other.Node and self.Adjacent == other.Adjacent

    def __hash__(self):
        return hash(self.Node) * 397 ^ hash(self.Adjacent)

    def __str__(self):
        return self.Node + " -> " + self.Adjacent

    def IsValid(self, genes, nodeIndexLookup):
        index = nodeIndexLookup[self.Node]
        adjacentNodeIndex = nodeIndexLookup[self.Adjacent]
        return genes[index] != genes[adjacentNodeIndex]
class Chromosome:
    def __init__(self, genes, fitness):
        self.Genes = genes
        self.Fitness = fitness
        
def mutate(parent,geneSet,size):
    childGenes = parent.Genes[:]
    index = random.randrange(0, len(parent.Genes))
    newGene, alternate = random.sample(geneSet, 2)
    childGenes[index] = alternate if newGene == childGenes[index] else newGene
    fitness = get_fitness(childGenes,rules,size)
    return Chromosome(childGenes, fitness)
def display(candidate, startTime):
    timeDiff = datetime.datetime.now() - startTime
    print("{0}\t{1}\t{2}".format(
        ''.join(map(str, candidate.Genes)),
            candidate.Fitness,
            str(timeDiff)))
def get_fitness(genes, rules, stateIndexLookup):
    rulesThatPass = sum(1 for rule in rules if rule.IsValid(genes, stateIndexLookup))
    return rulesThatPass
states = load_data("./adjacent_states.csv")
rules = build_rules(states)
optimalValue = len(rules)
stateIndexLookup = {key: index
        for index, key in enumerate(sorted(states))}
colors = ["Orange", "Yellow", "Green", "Red"]
colorLookup = {color[0]: color for color in colors}
geneset = list(colorLookup.keys())
def get_best():
    random.seed()
    startTime = datetime.datetime.now()
    x = [random.choice(geneset) for i in range(len(stateIndexLookup))]
    bestParent = Chromosome(x,get_fitness(x,rules,stateIndexLookup))
    if bestParent.Fitness >= optimalValue:
        return bestParent
    num = 0
    while True:
        num +=1
        child = mutate(bestParent,geneset,stateIndexLookup)
        if bestParent.Fitness > child.Fitness:
            continue
        else:
            display(child,startTime)
            if child.Fitness  >= optimalValue:
                return (child,num)
            bestParent = child
b = get_best()
ROOYOGOORYRGYROOGGGGROOOGYYRGYRRORGOOYROOGOROGGROGG	74	0:00:00
ROOYOGOORYRGYROOGGGGROOOGYYRGYRRORGOOYROOROROGGROGG	76	0:00:00
RORYOGOORYRGYROOGGGGROOOGYYRGYRRORGOOYROOROROGGROGG	77	0:00:00
RORYOGOORYRGYROOGGGGGOOOGYYRGYRRORGOOYROOROROGGROGG	77	0:00:00
RORYOGOORYRGYROOGGGGGOOOGYYRGYRRORGGOYROOROROGGROGG	77	0:00:00.001013
RORYOGOORYRGYROOGGGGGOOORYYRGYRRORGGOYROOROROGGROGG	78	0:00:00.001013
RORYOGOORYRGYROOGGGGROOORYYRGYRRORGGOYROOROROGGROGG	78	0:00:00.001013
RORYOGOORYRGYROOGGGGROOORYYRGYRRORGGOYROOROROGGRORG	79	0:00:00.001013
RORYOGOORYRGYROOGGGGROOORYYRGYRRORGGOYYOOROROGGRORG	83	0:00:00.001013
RORYOGOORYRGYROOGGGGROOORYYRGYRRORGGOYYROROROGGRORG	84	0:00:00.001013
RORYOGOORYRGYROOGGGGROOORYYRGYRRORGYOYYROROROGGRORG	84	0:00:00.001996
RORYOGOORYYGYROOGGGGROOORYYRGYRRORGYOYYROROROGGRORG	84	0:00:00.001996
RORYOGOORYYGYROOGGGGROORRYYRGYRRORGYOYYROROROGGRORG	84	0:00:00.001996
RORYOYOORYYGYROOGGGGROORRYYRGYRRORGYOYYROROROGGRORG	85	0:00:00.002991
YORYOYOORYYGYROOGGGGROORRYYRGYRRORGYOYYROROROGGRORG	85	0:00:00.002991
YORYOYOORYYGYROOGGGGROORRYYRGYRRORGYOYYYOROROGGRORG	85	0:00:00.002991
YORYOYRORYYGYROOGGGGROORRYYRGYRRORGYOYYYOROROGGRORG	85	0:00:00.002991
YORYOYRORYYGYROOGGGGROORRYYRGYRRORGYOYYYOROROGGRGRG	87	0:00:00.002991
YORYOYRORYYGYROOGGGGROORRYYRGYRRORGYOYGYOROROGGRGRG	87	0:00:00.002991
YORYOYRORYYGYROOGGGGROOORYYRGYRRORGYOYGYOROROGGRGRG	88	0:00:00.003989
YOOYOYRORYYGYROOGGGGROOORYYRGYRRORGYOYGYOROROGGRGRG	88	0:00:00.003989
YOOYOYRORYYGYROOGGGGROOORYYRGYRRORGYOYGYOROROGGRGOG	89	0:00:00.003989
YOOYOYRORYYGYROOGGGGROOORYYRGYRRORGYOYGOOROROGGRGOG	89	0:00:00.003989
YOOYOYRORGYGYROOGGGGROOORYYRGYRRORGYOYGOOROROGGRGOG	90	0:00:00.003989
YOOYOYROGGYGYROOGGGGROOORYYRGYRRORGYOYGOOROROGGRGOG	91	0:00:00.003989
YOOYOYROGGYOYROOGGGGROOORYYRGYRRORGYOYGOOROROGGRGOG	91	0:00:00.003989
YOOYOYROGGYOYROOGGGGROOORYYRGYRRORGYOYGOOROROGGYGOG	91	0:00:00.003989
YOOYOYROGGYOYROGGGGGROOORYYRGYRRORGYOYGOOROROGGYGOG	92	0:00:00.004985
YOOYOYROGGYOYROYGGGGROOORYYRGYRRORGYOYGOOROROGGYGOG	92	0:00:00.004985
YOOYOYROGGYRYROYGGGGROOORYYRGYRRORGYOYGOOROROGGYGOG	92	0:00:00.004985
YOOYOYROGGYRYROYGGGGROOORYYRGYRRORGYOYGOORRROGGYGOG	92	0:00:00.004985
YOOYOYROGGYRYROYGGGGROOORYYRGYRRORGYOYGOORRROGRYGOG	93	0:00:00.004985
YOOYOYRYGGYRYROYGGGGROOORYYRGYRRORGYOYGOORRROGRYGOG	93	0:00:00.004985
YOOYOYRYGGYRYROYGGGGROOORYYRGYRRORYYOYGOORRROGRYGOG	95	0:00:00.004985
YOOYGYRYGGYRYROYGGGGROOORYYRGYRRORYYOYGOORRROGRYGOG	95	0:00:00.005983
YOOYGYRYGGYRYROYGGGGROOORYYGGYRRORYYOYGOORRROGRYGOG	95	0:00:00.005983
YOOYGYRYGGYRYROYGGGGROOORYYGGYRRORYYOYGOORRROGRGGOG	96	0:00:00.005983
YOOYGYRYOGYRYROYGGGGROOORYYGGYRRORYYOYGOORRROGRGGOG	97	0:00:00.005983
YOOYGYRYOGYRYROYGGGGROOORYYGGGRRORYYOYGOORRROGRGGOG	97	0:00:00.005983
YOOYGYRYOGYRYROYGGGGRORORYYGGGRRORYYOYGOORRROGRGGOG	97	0:00:00.005983
YOGYGYRYOGYRYROYGGGGRORORYYGGGRRORYYOYGOORRROGRGGOG	97	0:00:00.005983
YOGYGYRYOGYRYROYGGGGRORORYYGGGRRORYYOYGOORRROGYGGOG	97	0:00:00.006983
YOGYGYRYOGYRYROYGGGGRORORYYGGGRRGRYYOYGOORRROGYGGOG	98	0:00:00.006983
YOGYGYRYOGYRYROYGGGGRORORYYGGGRRGROYOYGOORRROGYGGOG	99	0:00:00.006983
YOGYGYRYOGYRYROYGGGGRGRORYYGGGRRGROYOYGOORRROGYGGOG	99	0:00:00.006983
YOGYGYRYOGYRYROYGGYGRGRORYYGGGRRGROYOYGOORRROGYGGOG	99	0:00:00.006983
YOGYGYRYOGYRYROYGGYGRGRORYYOGGRRGROYOYGOORRROGYGGOG	99	0:00:00.006983
YOGYGYRYOGYRYROOGGYGRGRORYYOGGRRGROYOYGOORRROGYGGOG	99	0:00:00.007980
YOGYGYRYOGYRYRORGGYGRGRORYYOGGRRGROYOYGOORRROGYGGOG	99	0:00:00.007980
YOGYGYRYOGYRYRORGGYGRGRORYYOGYRRGROYOYGOORRROGYGGOG	99	0:00:00.007980
YOGYGYRYOGYRYRORGGYGRGGORYYOGYRRGROYOYGOORRROGYGGOG	99	0:00:00.007980
YOGYGYRYOGYRYRORGGYGRGGORYYOGYRRGROYOYGOGRRROGYGGOG	100	0:00:00.007980
YOGYGYRYOGYRYRORGGYGRGYORYYOGYRRGROYOYGOGRRROGYGGOG	100	0:00:00.007980
YOGYGYRYOGYRYRORGGYGRGYORYYOGYRYGROYOYGOGRRROGYGGOG	100	0:00:00.008977
YOGYGYRYOGYRYRORGGYGRGYORYYOGYRRGROYOYGOGRRROGYGGOG	100	0:00:00.008977
YOGYGYYYOGYRYRORGGYGRGYORYYOGYRRGROYOYGOGRRROGYGGOG	100	0:00:00.008977
YOGYGYRYOGYRYRORGGYGRGYORYYOGYRRGROYOYGOGRRROGYGGOG	100	0:00:00.008977
YOGYGYRYOGYRYRORGGYGRGYORGYOGYRRGROYOYGOGRRROGYGGOG	100	0:00:00.009975
ROGYGYRYOGYRYRORGGYGRGYORGYOGYRRGROYOYGOGRRROGYGGOG	100	0:00:00.009975
ROGYGYRYOGYRYRORGGYGRGYORGYOGYRRGGOYOYGOGRRROGYGGOG	100	0:00:00.009975
ROGYGYRYOGYYYRORGGYGRGYORGYOGYRRGGOYOYGOGRRROGYGGOG	100	0:00:00.010972
ROGYGRRYOGYYYRORGGYGRGYORGYOGYRRGGOYOYGOGRRROGYGGOG	101	0:00:00.010972
ROGYGRRYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYGGOG	101	0:00:00.010972
ROGYORRYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYGGOG	102	0:00:00.010972
ROGYORRYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG	102	0:00:00.011967
GOGYORRYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG	102	0:00:00.011967
GOGYORYYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG	102	0:00:00.011967
GOOYORYYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG	102	0:00:00.011967
GOOYORYYYGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG	102	0:00:00.011967
GOOYORYOYGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG	102	0:00:00.012965
GOOYORYOYRYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG	102	0:00:00.013962
GOOYORYOYRYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRYROGYOGOG	102	0:00:00.013962
GOGYORYOYRYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRYROGYOGOG	102	0:00:00.014959
GOGYORYOYRYYYRORGGYGRYYORGYOGYRRGGOROYGOGRYROGYOGOG	102	0:00:00.014959
ROGYORYOYRYYYRORGGYGRYYORGYOGYRRGGOROYGOGRYROGYOGOG	102	0:00:00.015958
ROGYORYOYGYYYRORGGYGRYYORGYOGYRRGGOROYGOGRYROGYOGOG	102	0:00:00.015958
ROGYORYOYGYYYRORGGYGRYYORGYOGYRRGGORYYGOGRYROGYOGOG	102	0:00:00.015958
ROGYORYOYGYYYRORGGYGRYYORGYOGYRRGGORYYGOGRRROGYOGOG	102	0:00:00.015958
ROGYORYOYGYRYRORGGYGRYYORGYOGYRRGGORYYGOGRRROGYOGOG	102	0:00:00.016957
ROGYORYOYGYRYROROGYGRYYORGYOGYRRGGORYYGOGRRROGYOGOG	102	0:00:00.016957
ROGYORYOYGYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG	102	0:00:00.016957
YOGYORYOYGYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG	102	0:00:00.016957
YOOYORYOYGYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG	103	0:00:00.016957
YOOYORYOYRYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG	103	0:00:00.017962
YOOYORYOORYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG	103	0:00:00.017962
ROOYORYOORYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG	103	0:00:00.017962
ROOYORYOORYRYROROGYGRYYORGOOGYRRGGORYYGRGRRROGYOGOG	103	0:00:00.017962
ROOYORYOORYOYROROGYGRYYORGOOGYRRGGORYYGRGRRROGYOGOG	103	0:00:00.018948
ROOYORYOORYOYROROGYGROYORGOOGYRRGGORYYGRGRRROGYOGOG	103	0:00:00.018948
ROOYORYOORYOYROYOGYGROYORGOOGYRRGGORYYGRGRRROGYOGOG	103	0:00:00.019954
ROOYORYOORYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROGYOGOG	103	0:00:00.019954
GOOYORYOORYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROGYOGOG	103	0:00:00.019954
GOOYORYOOGYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROGYOGOG	103	0:00:00.019954
GOOYORROOGYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROGYOGOG	103	0:00:00.019954
GOOYORROOGYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROYYOGOG	104	0:00:00.020943
GOOYORROOGYOYROYOGYGROYORGOOGGRRGGORYYGOGRRROYYOGOG	104	0:00:00.022938
GOOYORROOGYOYROGOGYGROYORGOOGGRRGGORYYGOGRRROYYOGOG	104	0:00:00.023936
GOOYORROOGYOYROGOGYGROYORGOOGORRGGORYYGOGRRROYYOGOG	104	0:00:00.023936
GOOYORROOGYOYROGOGYGROYORGYOGORRGGORYYGOGRRROYYOGOG	104	0:00:00.023936
GOORORROOGYOYROGOGYGROYORGYOGORRGGORYYGOGRRROYYOGOG	104	0:00:00.023936
GOORORROOGYOYROGOGYGROYORGYOGORRGGORYYGYGRRROYYOGOG	104	0:00:00.024932
GOORORROOGYOYROGOGYGROYORGOOGORRGGORYYGYGRRROYYOGOG	104	0:00:00.024932
GOORORROOGYGYROGOGYGROYORGOOGORRGGORYYGYGRRROYYOGOG	104	0:00:00.025930
GOORORROOGYGYROGOGYGRYYORGOOGORRGGORYYGYGRRROYYOGOG	104	0:00:00.025930
GOORORROOGYGYROGOGYGRYYORGOOGORRGGORYYGYRRRROYYOGOG	104	0:00:00.025930
GOORORROOGYGYROGOGYGRYYORGOOGGRRGGORYYGYRRRROYYOGOG	104	0:00:00.025930
GOORORROOGYGYROGOGYGRYYORGOOGGRYGGORYYGYRRRROYYOGOG	104	0:00:00.026927
GOORORROOGYGYROGOGYGRGYORGOOGGRYGGORYYGYRRRROYYOGOG	104	0:00:00.026927
GOORORROOGYGYROGOGYGRGYORGOOGGRYGGORYYGYRRRROYYOROG	104	0:00:00.026927
GOORORROOGYGYROGOGYGRGYORGOOGGRYGGORYYGYRRRROYYGROG	104	0:00:00.026927
GOORORROOGYGYROGOGYGRGYORGOOGGRYGGORYYGYGRRROYYGROG	104	0:00:00.026927
GOORORROOGYYYROGOGYGRGYORGOOGGRYGGORYYGYGRRROYYGROG	104	0:00:00.027924
GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGYGRRROYYGROG	104	0:00:00.028922
GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGYGRRRYYYGROG	104	0:00:00.028922
GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGOGRRRYYYGROG	104	0:00:00.029919
GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGOGRRRYYYGROO	104	0:00:00.030922
GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGOGRRRYYYOROO	104	0:00:00.031919
GOORORROOGYYYROOOGYGRGYORGOOGGOYGGORYYGOGRRRYYYOROO	104	0:00:00.031919
GOORORROOGYYYROOOGYGRGYORGOOGGOYOGORYYGOGRRRYYYOROO	104	0:00:00.031919
GOORORROOGYYYROOOGYGRGYORGOOGGRYOGORYYGOGRRRYYYOROO	104	0:00:00.031919
GOORORROOGYYYROOOGYGRGYORGOOGGRYOGORYYGOGRRRYYYGROO	104	0:00:00.032910
GOORORROOGYYYROROGYGRGYORGOOGGRYOGORYYGOGRRRYYYGROO	104	0:00:00.033908
GOORORRGOGYYYROROGYGRGYORGOOGGRYOGORYYGOGRRRYYYGROO	104	0:00:00.034904
GOORORRGOGYYYROROGYGRGYORGOOGGRROGORYYGOGRRRYYYGROO	104	0:00:00.034904
GOORORRGOGYYYROROGYGRGYORGOOGGRROGORYYGOGRRRYYYGROY	104	0:00:00.034904
GOORORRGYGYYYROROGYGRGYORGOOGGRROGORYYGOGRRRYYYGROY	104	0:00:00.034904
GOORORRGYGYYYROROGYGRGYORGOOYGRROGORYYGOGRRRYYYGROY	104	0:00:00.034904
GOORORRGYGYYYROROGYGRGYORGOOYGRROGOOYYGOGRRRYYYGROY	104	0:00:00.035902
GOORORRGYGYYYROROGYGRGGORGOOYGRROGOOYYGOGRRRYYYGROY	104	0:00:00.035902
GOORORRGYGYYYROROGYGRGGORGOOYGRROGOOYYGOGRRROYYGROY	105	0:00:00.035902
GOORORRGYGYYYROROGYGRGYORGOOYGRROGOOYYGOGRRROYYGROY	105	0:00:00.035902
GOORORRGYGYYYROROGYGRGYORGOOYGRROGOOYYGYGRRROYYGROY	105	0:00:00.036911
GOORORRGYGYYYROROGYGRGYORGOOYGRRGGOOYYGYGRRROYYGROY	105	0:00:00.036911
GOORORRGYGYGYROROGYGRGYORGOOYGRRGGOOYYGYGRRROYYGROY	105	0:00:00.036911
GOORORRGYGYGYROROGYGRGYORGOOYGRRGGORYYGYGRRROYYGROY	105	0:00:00.037896
GOORORRGYGYGYROROGYGRGYORGOOYGRRGGORYYGYGRRROYYOROY	105	0:00:00.037896
GOORORRGYRYGYROROGYGRGYORGOOYGRRGGORYYGYGRRROYYOROY	105	0:00:00.038894
GOORORRGYRYGYROGOGYGRGYORGOOYGRRGGORYYGYGRRROYYOROY	105	0:00:00.038894
GOORORROYRYGYROGOGYGRGYORGOOYGRRGGORYYGYGRRROYYOROY	105	0:00:00.038894
GOORORROYRYGYROGOGYGRGYORGOOYGRRGGORYYGOGRRROYYOROY	105	0:00:00.038894
GOORORROYRYGYROGOGYGRGYORGOOYGORGGORYYGOGRRROYYOROY	105	0:00:00.038894
GOORORROYRYGYROGOGYGRGYORGOOGGORGGORYYGOGRRROYYOROY	105	0:00:00.038894
GOORORROYRYGYROGOYYGRGYORGOOGGORGGORYYGOGRRROYYOROY	105	0:00:00.039892
GOORORROYRYGYROGOYYGRGYORGOOGGORGGORYYGYGRRROYYOROY	105	0:00:00.039892
GOORORROYRYGYROGOYYGRGYORGOOYGORGGORYYGYGRRROYYOROY	105	0:00:00.039892
OOORORROYRYGYROGOYYGRGYORGOOYGORGGORYYGYGRRROYYOROY	105	0:00:00.039892
OOORORROYRYGYROGOYYGRGYORGOOYGOROGORYYGYGRRROYYOROY	105	0:00:00.040906
OOORORROYGYGYROGOYYGRGYORGOOYGOROGORYYGYGRRROYYOROY	105	0:00:00.043880
OOORORROYGYGYROGOYYGRGYOGGOOYGOROGORYYGYGRRROYYOROY	105	0:00:00.043880
OOORORROYGYGYROGOYYGRYYOGGOOYGOROGORYYGYGRRROYYOROY	105	0:00:00.043880
GOORORROYGYGYROGOYYGRYYOGGOOYGOROGORYYGYGRRROYYOROY	105	0:00:00.044879
GOORORROYGYGYROGOYYGRYYOGGOOYGOROGORYYGYGRRROGYOROY	106	0:00:00.044879
GOORORROOGYGYROGOYYGRYYOGGOOYGOROGORYYGYGRRROGYOROY	106	0:00:00.044879
GOORORROOGYGYROGOYYGRYYOGGOOYGOYOGORYYGYGRRROGYOROY	106	0:00:00.044879
YOORORROOGYGYROGOYYGRYYOGGOOYGOYOGORYYGYGRRROGYOROY	106	0:00:00.045876
YOORORROOGYGYROGOYYGRYOOGGOOYGOYOGORYYGYGRRROGYOROY	106	0:00:00.045876
YOORORROOGYGYROGOYYGRYOOGGOOGGOYOGORYYGYGRRROGYOROY	106	0:00:00.053853
GOORORROOGYGYROGOYYGRYOOGGOOGGOYOGORYYGYGRRROGYOROY	106	0:00:00.053853
GOORORROOGYGYROGOYYGRGOOGGOOGGOYOGORYYGYGRRROGYOROY	106	0:00:00.053853
GOORORROOGYGYROGOYYGRGOOGGOOGGOROGORYYGYGRRROGYOROY	106	0:00:00.054851
GOORORROOGYRYROGOYYGRGOOGGOOGGOROGORYYGYGRRROGYOROY	106	0:00:00.054851
GOORORROOGYRYROGOYYGRGOOGGOOYGOROGORYYGYGRRROGYOROY	106	0:00:00.054851
GOORORROOGYRYROGOYYGRYOOGGOOYGOROGORYYGYGRRROGYOROY	106	0:00:00.054851
GOORORROOGYRYROGOYYGRYOOGGOOYGORGGORYYGYGRRROGYOROY	106	0:00:00.054851
GOORORROOGYRYROGOYYGRROOGGOOYGORGGORYYGYGRRROGYOROY	106	0:00:00.054851
YOORORROOGYRYROGOYYGRROOGGOOYGORGGORYYGYGRRROGYOROY	106	0:00:00.054851
YOORORROOGYRYROGOYYGRROOGGOOYGORGGORYYGYGRRROGYGROY	106	0:00:00.055848
YOORORROOGYRYROGOYYGRRYOGGOOYGORGGORYYGYGRRROGYGROY	106	0:00:00.056846
YOORORRYOGYRYROGOYYGRRYOGGOOYGORGGORYYGYGRRROGYGROY	106	0:00:00.057843
YOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGYGROY	106	0:00:00.058841
GOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGYGROY	106	0:00:00.059839
YOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGYGROY	106	0:00:00.059839
YOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGRGROY	106	0:00:00.059839
YOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYYYGRRROGRGROY	106	0:00:00.060836
ROORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYYYGRRROGRGROY	106	0:00:00.060836
ROORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGRGROY	106	0:00:00.060836
ROORORRYOGYGYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGRGROY	106	0:00:00.060836
ROORORROOGYGYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGRGROY	106	0:00:00.060836
ROORORROOGYGYROGOYYGRRYOGGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.060836
GOORORROOGYGYROGOYYGRRYOGGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.060836
GOORORROOGYGYROGOYYGRRYORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.061832
OOORORROOGYGYROGOYYGRRYORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.062838
OOORORROOGYYYROGOYYGRRYORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.062838
OOORORROOGYYYROGOYYGRROORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.064826
OOORORROOGYYYROGOYYGRYOORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.065822
OOORORROOGYYYROGOYYGRYOORGOOGGORGGORYYGYRRRROGYGROY	106	0:00:00.065822
OOORORROYGYYYROGOYYGRYOORGOOGGORGGORYYGYRRRROGYGROY	106	0:00:00.065822
OOORORROYGYYYROGOYYGRGOORGOOGGORGGORYYGYRRRROGYGROY	106	0:00:00.066820
OOORORROYGYYYROGOYYGRGOORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.066820
OOORORROYRYYYROGOYYGRGOORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.066820
OOORORROORYYYROGOYYGRGOORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.066820
OOORORROORYYYROGOYYGRGOORGOOGGORGGYRYYGYRRRROGRGROY	106	0:00:00.067817
OOORORROYRYYYROGOYYGRGOORGOOGGORGGYRYYGYRRRROGRGROY	106	0:00:00.067817
OOORORROORYYYROGOYYGRGOORGOOGGORGGYRYYGYRRRROGRGROY	106	0:00:00.067817
OOORORROORYYYROGOYYGRYOORGOOGGORGGYRYYGYRRRROGRGROY	106	0:00:00.068814
OOORORROORYYYROGOYYGYYOORGOOGGORGGYRYYGYRRRROGRGROY	106	0:00:00.068814
OOORORROORYYYROGOYYGYYYORGOOGGORGGYRYYGYRRRROGRGROY	106	0:00:00.068814
OOORORROORYYYROGOYYGYYYORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.069811
ROORORROORYYYROGOYYGYYYORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.069811
YOORORROORYYYROGOYYGYYYORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.069811
YOORORROORYYYROGOYYGYYOORGOOGGORGGORYYGYRRRROGRGROY	106	0:00:00.069811
YOORORROORYYYROGOYYGYYOORGOOYGORGGORYYGYRRRROGRGROY	106	0:00:00.069811
YOORORROORYYYROGOYYGYYOGRGOOYGORGGORYYGYRRRROGRGROY	106	0:00:00.070808
YOORORROORYYYROGOYYGYYYGRGOOYGORGGORYYGYRRRROGRGROY	106	0:00:00.070808
YOOYORROORYYYROGOYYGYYYGRGOOYGORGGORYYGYRRRROGRGROY	106	0:00:00.070808
YOOYORROORYYYROGOYYGYYYGRGOOYGORGGORYYGYGRRROGRGROY	106	0:00:00.070808
YOOYRRROORYYYROGOYYGYYYGRGOOYGORGGORYYGYGRRROGRGROY	106	0:00:00.071806
YOOYRRROORYYYROGOYYGYGYGRGOOYGORGGORYYGYGRRROGRGROY	106	0:00:00.072804
YOOYRRROORYYYROGOYYGYGYGRGGOYGORGGORYYGYGRRROGRGROY	106	0:00:00.073800
YOOYRRROORYYYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY	106	0:00:00.073800
YOOYRRROORYOYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY	106	0:00:00.073800
GOOYRRROORYOYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY	106	0:00:00.073800
GOOYRRROOGYOYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY	106	0:00:00.074798
GOOYRRROOGYGYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY	106	0:00:00.074798
GOOYRRROOGYGYROGOYYGYGYGRGGOYGORGGYRYOGYGRRROGRGROY	106	0:00:00.074798
GOOYRRROOGYGYROGOYYGYGYGRGGOYGORGGYRYOGYGORROGRGROY	106	0:00:00.075795
GOOYRRROOGYGYROGOYYGYGYGRGGOYGORGGORYOGYGORROGRGROY	106	0:00:00.075795
GOOYRRROOGYGYROGOYYGYGOGRGGOYGORGGORYOGYGORROGRGROY	106	0:00:00.076795
GOOYRRROOGYGYROGOYYGYGOGRGGORGORGGORYOGYGORROGRGROY	106	0:00:00.076795
YOOYRRROOGYGYROGOYYGYGOGRGGORGORGGORYOGYGORROGRGROY	106	0:00:00.076795
GOOYRRROOGYGYROGOYYGYGOGRGGORGORGGORYOGYGORROGRGROY	106	0:00:00.077790
GOOYRRROOGYGYROGOYYGYGOGRGGORGORGGORYOGYRORROGRGROY	106	0:00:00.077790
GOOYRRROOGYGYROGOYYGYGOGRGGOYGORGGORYOGYRORROGRGROY	106	0:00:00.077790
GOOYRRROOGYGYROGOYYGYGOGRGGOYGORGGORYOGYGORROGRGROY	106	0:00:00.077790
GOOYRRROOGYGYROGOYYGYROGRGGOYGORGGORYOGYGORROGRGROY	106	0:00:00.078787
ROOYRRROOGYGYROGOYYGYROGRGGOYGORGGORYOGYGORROGRGROY	106	0:00:00.078787
YOOYRRROOGYGYROGOYYGYROGRGGOYGORGGORYOGYGORROGRGROY	106	0:00:00.078787
YOOYRRROOGYGYROGOYYGYROGRGGOYGOROGORYOGYGORROGRGROY	106	0:00:00.079785
YOOYRRROOGYGYROGOYYGYROGRGGOYGOROGORYOGOGORROGRGROY	106	0:00:00.079785
YOOYRRROOGYGYROGOYYGYROGRGGOYGOROGORYYGOGORROGRGROY	106	0:00:00.079785
YOOYRRROOGYGYROGOYYGYYOGRGGOYGOROGORYYGOGORROGRGROY	106	0:00:00.079785
YOOYRRROOGYGYROGOYYGYYOGRGGOYGOROGORYYGORORROGRGROY	106	0:00:00.079785
YOOYRRROOGYGYROGOYYGYYOGRGGOYGOROGORYYGORORROGYGROY	106	0:00:00.080782
YOOYRRROOGYGYROGOYYGYYOGRGGOYGOROGORYYGOGORROGYGROY	106	0:00:00.080782
YOOYORROOGYGYROGOYYGYYOGRGGOYGOROGORYYGOGORROGYGROY	106	0:00:00.080782
YOOYORROOGYGYROGOYYGYROGRGGOYGOROGORYYGOGORROGYGROY	106	0:00:00.080782
YOOYORROOGYYYROGOYYGYROGRGGOYGOROGORYYGOGORROGYGROY	106	0:00:00.081779
YOOYORROOGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY	106	0:00:00.081779
YOORORROOGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY	106	0:00:00.081779
GOORORROOGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY	106	0:00:00.081779
GOORORROOGYYYROGOYYGYGOGRGGORGOROGORYYGOGORROGYGROY	106	0:00:00.081779
GOORORRROGYYYROGOYYGYGOGRGGORGOROGORYYGOGORROGYGROY	106	0:00:00.082776
GOORORRROGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY	106	0:00:00.082776
OOORORRROGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY	106	0:00:00.084772
OOORORRROGYYYROGOYYGYYOGRGGORGOROGORYYGOGORROGYGROY	106	0:00:00.085768
OOORORRROGYYYROGOYYGYGOGRGGORGOROGORYYGOGORROGYGROY	106	0:00:00.085768
OOORORRROGYYYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYGROY	106	0:00:00.085768
OOORORRROGYYYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYOROY	106	0:00:00.086766
GOORORRROGYYYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYOROY	106	0:00:00.086766
GOORORRROGYRYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYOROY	106	0:00:00.086766
ROORORRROGYRYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYOROY	106	0:00:00.086766
ROORORRROGYRYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY	106	0:00:00.086766
GOORORRROGYRYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY	106	0:00:00.087763
GOORORRROGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY	106	0:00:00.087763
GOORORRRRGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY	106	0:00:00.087763
GOORORRORGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY	106	0:00:00.088760
YOORORRORGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY	106	0:00:00.088760
YOORORRRRGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY	106	0:00:00.088760
YOORORRRRGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.090755
ROORORRRRGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.093747
ROORORRRRGYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.093747
ROORORRRRRYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.094744
GOORORRRRRYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.095742
GOORORRORRYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.095742
GOOYORRORRYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.096739
GOOYORRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.096739
GOOYORRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORGOGYGROY	106	0:00:00.096739
GOOYORRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.096739
OOOYORRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.096739
OOOYRRRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.097736
OOOYRRROORYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY	106	0:00:00.097736
OOOYRRROORYOYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY	106	0:00:00.097736
ROOYRRROORYOYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY	106	0:00:00.097736
ROOYRRYOORYOYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY	106	0:00:00.097736
YOOYRRYOORYOYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY	106	0:00:00.098734
YOOYRRYOORYYYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY	106	0:00:00.098734
YOOYRRYOORYYYROGOYYGYGOGRGGOYGRYOGORYOGOGORROGYGROY	106	0:00:00.098734
YOOYRRYOORYYYROGOYYGYGOGRGGOYGRYOGORYOGORORROGYGROY	106	0:00:00.098734
YOOYRRYOORYYYROGOYYGYGOGGGGOYGRYOGORYOGORORROGYGROY	106	0:00:00.099731
YOOYRRYOOGYYYROGOYYGYGOGGGGOYGRYOGORYOGORORROGYGROY	106	0:00:00.099731
YOOYRRYOOGYYYROGOYYGRGOGGGGOYGRYOGORYOGORORROGYGROY	106	0:00:00.099731
YOOYRRYOOGYYYROGOYYGRGOGGGGOYRRYOGORYOGORORROGYGROY	106	0:00:00.099731
YOOYRGYOOGYYYROGOYYGRGOGGGGOYRRYOGORYOGORORROGYGROY	107	0:00:00.099731
b[1]
1396
n = sorted(list(states.keys()))
clm = {}
for i in range(len(n)):
    clm[n[i]] = colorLookup[b[0].Genes[i]]
us = json.load(open("./states.json","r"))
fig = plt.figure(figsize=(14,8)) 
ax = plt.subplot()
for c in us:
    js = json.loads(us[c])
    poly = plt.Polygon(js["rings"][0],ec = '#000000',
                           fc=clm[c], alpha = 0.8)
    ax.add_patch(poly)
       
ax.set_xlim(-178,-66)
ax.set_ylim(18,71)
plt.show()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/godxia/python_genetic_algorithm.git
git@gitee.com:godxia/python_genetic_algorithm.git
godxia
python_genetic_algorithm
遗传算法之Python实战
master

搜索帮助