iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 1
0
AI & Data

GA Note - 基因演算法的世界系列 第 1

【Day01】GA with you - What's GA? 什麼是基因演算法?

何謂「基因演算法」?
「基因演算法」能帶來甚麼?
「遺傳演算法」和「基因演算法」相同嗎?
哪些軟體可以實作基因演算法呢?
聽起來好遙不可及阿~

接下來這系列 GA wtih you 會一一跟大家做介紹,希望整個系列可以讓大家更了解基因演算法,也能夠應用在生活之中(?)
這個題目聽起來有點浮誇(有點累),沒有那麼活潑,但還是希望大家可以與基因演算法共度未來的30天
終於趕在開賽最後一天開始了><


未來30天的學習內容(GA with you 30days Index)
總共會分成4個部分

第一部分 介紹基因演算法

【Day02】GA with you - GA Element 基因演算法元素
【Day03】GA with you - Process 基因演算法的流程
【Day04】GA with you - Reproduction & Selection 複製與選擇 (1)
【Day05】GA with you - Reproduction & Selection 複製與選擇 (2)
【Day06】GA with you - Reproduction & Selection 複製與選擇 (3)
【Day07】GA with you - Crossover 交配 (1)
【Day08】GA with you - Crossover 交配 (2)
【Day09】GA with you - Mutation 突變 (1)
【Day10】GA with you - Mutation 突變 (2)
【Day11】GA with you - GA Process Review 流程回顧

第二部分 實作基因演算法-R語言

【Day12】GA with you - Develop on R 環境安裝
【Day13】GA with you - R Related Package Introduction R套件介紹
【Day14】GA with you - R Package mcga R套件mcga (1)
【Day15】GA with you - R Package mcga R套件mcga (2)
【Day16】GA with you - R Package mcga R套件mcga (3)
【Day17】GA with you - R Package genalg R套件 genalg (1)
【Day18】GA with you - R Package genalg R套件genalg (2)
【Day19】GA with you - R Package genalg R套件 genalg (3)
【Day20】GA with you - R Package GA R套件GA
【Day21】GA with you - R Package genoud R套件 genoud
【Day22】GA with you - R Package Review R語言套件

第三部分 旅行銷售員問題實作

【Day23】GA with you - R 基因演算法應用於旅行銷售員問題 (1)
【Day24】GA with you - R 基因演算法應用於旅行銷售員問題 (2)
【Day25】GA with you - R 基因演算法應用於旅行銷售員問題 (3)

第四部分 相關演算法和延伸的應用

【Day26】GA with you - Ant Colony Optimization 蟻群演算法
【Day27】GA with you - Memetic algorithm 模因演算法
【Day28】GA with you - Simulation Annealing 模擬退火法
【Day29】GA with you - Particle Swarm Optimization Algorithm 粒子群演算法


甚麼是「基因演算法」?

「基因演算法」(GA, Genetic Algorithm),又叫作「遺傳演算法」,為所有演化式演算法(EA, Evolutionary Algorithms)著名的理論,也是應用最為廣泛的演化式演算法。(後續的文章都會以GA來表示基因演算法)
從達爾文【物競天擇】理論中所衍伸出來,大家常聽到的【適者生存,不適者淘汰】是相同的原理的,在大自然的群體中,逐漸淘汰掉適應能力較差、不適應於目前環境條件下的物種,在反覆的疊代下收斂至一個平衡的機制。基因演算法屬於最佳化演算法之一,以模擬自然生態的演算法。1960年代John Von Neumann提出一個「自我複製」(Self-reproducing)的理論,奠定了基因演算法的基礎。而完整的基因演算法的概念則是到1975年John Holland與其學生共同提出來的。

基因演算法是一種最佳化空間搜尋法,主要用在解決一個最佳化問題的演算法,相當適合用來解決最佳化的問題,目前GA已被廣泛應用在求解最佳化的問題、資料搜尋、人工智慧及機器學習等領域上。

甚麼情況可以應用?

演算法中常間的旅行推銷員問題 (Travel Salesman Problem) 和 工作排程問題
後續的文章中也實際透過code來實作。

希望第一天簡單的開始不要讓大家太有負擔,
如果有任何跟基因演算法的問題都可以在文章下面提出來,
說不定你的疑惑也是其他人的疑惑,
我會盡可能的為大家解答,
如果有想要的應用也可以在底下留言告訴我,
後續的文章會盡量採納整理給大家~~

希望我們都可以堅持到最後一天 加油加油~~


相關資料來源:
林豐澤・2005。演化式計算上篇:演化式演算法的三種理論模式。智慧科技與應用統計學報,3(1),1-28。
林豐澤・2005。演化式計算下篇:基因演算法以及三種應用實例。智慧科技與應用統計學報,3(1),29-56。
林昇甫、徐永吉・2009。遺傳演算法及其應用・五南圖書出版。


下一篇
【Day02】GA with you - GA Element 基因演算法元素
系列文
GA Note - 基因演算法的世界30

尚未有邦友留言

立即登入留言