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

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

資源簡介

遺傳算法求sinx最大值

資源截圖

代碼片段和文件信息

#?-*-?coding:?utf-8?-*-

import?numpy?as?np
import?matplotlib.pyplot?as?plt

#?適應度函數
def?fitness(x):
????return?np.sin(?x)

#?個體類
class?indivdual:
????def?__init__(self):
????????self.x?=?0??#?染色體編碼
????????self.fitness?=?0??#?適應度值

????def?__eq__(self?other):
????????self.x?=?other.x
????????self.fitness?=?other.fitness


#?初始化種群
def?initPopulation(pop?N):
????for?i?in?range(N):
????????ind?=?indivdual()
????????ind.x?=?np.random.uniform(-10?10)
????????ind.fitness?=?fitness(ind.x)
????????pop.append(ind)

#?選擇過程
def?selection(N):
????#?種群中隨機選擇2個個體進行變異(這里沒有用輪盤賭,直接用的隨機選擇)
????return?np.random.choice(N?2)

#?結合/交叉過程
def?crossover(parent1?parent2):
????child1?child2?=?indivdual()?indivdual()
????child1.x?=?0.9?*?parent1.x?+?0.1?*?parent2.x
????child2.x?=?0.1?*?parent1.x?+?0.9?*?parent2.x
????child1.fitness?=?fitness(child1.x)
????child2.fitness?=?fitness(child2.x)
????return?child1?child2


#?變異過程
def?mutation(pop):
????#?種群中隨機選擇一個進行變異

評論

共有 條評論