中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中輪盤賭算法的使用示例

發布時間:2021-05-14 15:25:43 來源:億速云 閱讀:1005 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關python中輪盤賭算法的使用示例的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1、說明

輪盤賭博算法的精髓是可以根據個人適應度隨機選擇,適應度越大的個人選擇的概率越高,群體規模越大,該算法可以比較真實地模擬自然狀態的狀況。

2、實例

def select(chromosome_list, fitness_list):
    """
    選擇(輪盤賭算法)
    :param chromosome_list: 二維列表的種群
    :param fitness_list: 適應度列表
    :return: 選擇之后的種群列表
    """
    population_fitness = np.array(fitness_list).sum()  # 種群適應度
    fit_ratio = [i / population_fitness for i in fitness_list]  # 每個個體占種群適應度的比例
    fit_ratio_add = [0]  # 個體累計概率
    for i in fit_ratio:
        fit_ratio_add.append(fit_ratio_add[len(fit_ratio_add) - 1] + i)     # 計算每個個體的累計概率,并存放到fit_ratio_add中
    fit_ratio_add = fit_ratio_add[1:]   # 去掉首位的0
 
    rand_list = [random.uniform(0, 1) for _ in chromosome_list]     # 生成和種群規模相等的隨機值列表,用于輪盤賭選擇個體
    rand_list.sort()
    fit_index = 0
    new_index = 0
    new_population = chromosome_list.copy()
    '''個體選擇 start'''
    while new_index < len(chromosome_list):
        if rand_list[new_index] < fit_ratio_add[fit_index]:
            new_population[new_index] = chromosome_list[fit_index]
            new_index = new_index + 1
        else:
            fit_index = fit_index + 1
    '''個體選擇 end'''
    return new_population

Python主要用來做什么

Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。

感謝各位的閱讀!關于“python中輪盤賭算法的使用示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青海省| 郯城县| 正镶白旗| 平原县| 宿迁市| 芜湖县| 宁德市| 洛扎县| 绥德县| 盐津县| 奉新县| 化州市| 青海省| 措勤县| 抚松县| 怀柔区| 顺义区| 浑源县| 广宗县| 岢岚县| 乌拉特中旗| 慈利县| 江口县| 揭阳市| 福州市| 二连浩特市| 和林格尔县| 茌平县| 阿鲁科尔沁旗| 庄河市| 陆良县| 新乡县| 东乌珠穆沁旗| 卢龙县| 修文县| 阿拉善右旗| 临猗县| 仁化县| 高雄县| 姜堰市| 贺兰县|