1. 大學里面哪種 自動化專業 要學 遺傳算法
為什么一定要學遺傳算法?
雖然有很多遺傳算法的書,但遺傳算法并不是一門很重要的課程。
很多學校只有研究生才會選修遺傳算法,即便本科時學習,也是簡單過一下。
大多數都是自學的,遺傳算法的書主要有:《遺傳算法——理論、應用與軟件實現》、《遺傳算法與工程設計》、或者結合Matlab講的《MATLAB遺傳算法工具箱及應用》。
基本上學習遺傳算法要大三或大四,甚至是研究生階段。很多本科生的畢業論文要求用遺傳算法來解決實際問題。
但說實話,不管你學哪一個專業,都可以自學遺傳算法的,它只是一個算法,不是一門學科。
類似的智能算法有:模擬退火、蟻群算法、禁忌搜索、神經網絡等。
其他的專業有計算機方面可能會學到遺傳算法。
你現在只是考大學,沒必要專門為了遺傳算法而選擇專業。遺傳算法多數是大四或研究生階段才會接觸到的東西。
當然,如果你參加數學建模競賽,可能會接觸的早一些。
2. 遺傳學中提到的遺傳算法是什么
在生命科學領域中,人們已經對遺傳(Heredity)與免疫(Immunity)等自然現象進行了廣泛深入的研究。
六十年代Bagley和Rosenberg等先驅在對這些研究成果進行分析與理解的基礎上,借鑒其相關內容和知識,特別是遺傳學方面的理論與概念,并將其成功應用于工程科學的某些領域,收到了良好的效果。 時至八十年代中期,美國Michigan大學的Hollan教授不僅對以前的學者們提出的遺傳概念進行了總結與推廣,而且給出了簡明清晰的算法描述,并由此形成目前一般意義上的遺傳算法(GeneticAlgorithm)GA。
由于遺傳算法較以往傳統的搜索算法具有使用方便、魯棒性強、便于并行處理等特點,因而廣泛應用于組合優化、結構設計、人工智能等領域。 另一方面,Farmer和Bersini等人也先后在不同時期、不同程度地涉及到了有關免疫的概念。
遺傳算法是一種具有生成+檢測(generateandtest)的迭代過程的搜索算法。從理論上分析,迭代過程中,在保留上一代最佳個體的前提下,遺傳算法是全局收斂的。
然而,在對算法的實施過程中不難發現兩個主要遺傳算子都是在一定發生概率的條件下,隨機地、沒有指導地迭代搜索,因此它們在為群體中的個體提供了進化機會的同時,也無可避免地產生了退化的可能。在某些情況下,這種退化現象還相當明顯。
另外,每一個待求的實際問題都會有自身一些基本的、顯而易見的特征信息或知識。 然而遺傳算法的交叉和變異算子卻相對固定,在求解問題時,可變的靈活程度較小。
這無疑對算法的通用性是有益的,但卻忽視了問題的特征信息對求解問題時的輔助作用,特別是在求解一些復雜問題時,這種忽視所帶來的損失往往就比較明顯了。實踐也表明,僅僅使用遺傳算法或者以其為代表的進化算法,在模仿人類智能處理事物的能力方面還遠遠不足,還必須更加深層次地挖掘與利用人類的智能資源。
從這一點講,學習生物智能、開發、進而利用生物智能是進化算法乃至智能計算的一個永恒的話題。所以,研究者力圖將生命科學中的免疫概念引入到工程實踐領域,借助其中的有關知識與理論并將其與已有的一些智能算法有機地結合起來,以建立新的進化理論與算法,來提高算法的整體性能。
基于這一思想,將免疫概念及其理論應用于遺傳算法,在保留原算法優良特性的前提下,力圖有選擇、有目的地利用待求問題中的一些特征信息或知識來抑制其優化過程中出現的退化現象,這種算法稱為免疫算法(ImmuneAlgorithm)IA。下面將會給出算法的具體步驟,證明其全局收斂性,提出免疫疫苗的選擇策略和免疫算子的構造方法,理論分析和對TSP問題的仿真結果表明免疫算法不僅是有效的而且也是可行的,并較好地解決了遺傳算法中的退化問題。
轉載請注明出處華閱文章網 » 自動生成宋詞的遺傳算法