91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .py
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-12
  • 語言: Python
  • 標簽: 遺傳算法??

資源簡介

自己對遺傳算法的理解以及【Python】的實現,希望對你們有所幫助

資源截圖

代碼片段和文件信息

import?random



????
#初始化種群
def?initialize_pop(population?N?V?nbits):
????#自變量個數V并沒有用到
????
????for?i?in?range(N):
????????tempIndividual=[]
????????for?j?in?nbits:
????????????tempVal=[]
????????????for?k?in?range(j):
????????????????tempVal.append(random.randint(0?1))
????????????tempIndividual.append(tempVal)
????????population.append(tempIndividual)
????return?population
import?copy
import?random
#輪盤賭選擇法
def?selection(population?fitness_value?N?nbits):
????s1?=?sum(fitness_value)
????temp1?=?[k*1.0/s1?for?k?in?fitness_value]

????dict1?=?{}??
????for?i?in?range(len(population)):
????????dict1[i]?=?temp1[i]
????
????dict2?=?{}
????for?i?in?dict1:
????????dict2[list(dict1.keys())[list(dict1.values()).index(min(temp1))]]?=?min(temp1)
????????temp1.remove(min(temp1))
????
????dict3?=?{}
????s2=0
????for?i?in?dict2:
????????s2?=?s2?+?dict2[i]
????????dict3[i]?=?s2
????#采用父輩循環來選擇下一代種群
????temp2?=?[]
????for?i?in?dict3dict3dict3dict3dict3dict3:
????????for?j?in?i:
????????????r=random.random()
????????????if?r?<=?dict3[j]:
????????????????if?len(temp2)????????????????????temp2.append(j)
????????????????else:
????????????????????break

????temp3?=?[]
????for?i?in?temp2:
????????temp3.append(copy.deepcopy(population[i]))
????population[:]?=?temp3
????‘‘‘temp2?=?[]
????for?i?in?dict3:
????????r=random.random()
????????if?r?<=?dict3[i]:
????????????temp2.append(i)‘‘‘
????
????#未被選擇的個體重新生成
????‘‘‘for?i?in?range(N-len(temp3)):
????????tempIndividual=[]
????????for?j?in?nbits:
????????????tempVal=[]
????????????for?k?in?range(j):
????

評論

共有 條評論