遺傳演算法的迭代
① 遺傳演算法與牛頓迭代法的優劣的比較
每個演算法都各自的特點和它的優劣性。
牛頓迭代法是一種求近似解的方法。遺傳演算法也是一種可以全程求最優值的方法,一般就演算法之間沒有辦法說優劣性,只能是說在特定的條件下該用什麼方法。
就好比專家系統是一個具有專門知識的計算機程序系統,人工神經網路有很好的學習能力,但他們也有自身的缺點。
按樓主的意思來,牛頓迭代法是一種局部演算法,遺傳演算法是全程演算法,畢竟遺傳參數里迭代次數也是一個很重要的參考因素。
② 遺傳演算法中有一個最大迭代次數的概念,我想請問一下,這個是由自己根據題目要求自己制定的嗎!
是的.達到優化值可以停止,所以一般都有兩個退出條件.
③ 遺傳演算法迭代次數比較小比如10,是不是比較不會陷入局部
在優化問題本身是凸優化問題的情況下,局部最優等於全局最優。在非凸優化的情況下,理論上是無法保證找到全局最優解的,但是可以通過例如改變初始值等方法找到盡量接近全局最優解的局部最優解。
④ 遺傳演算法中有一個最大迭代次數的概念,我想請問一下,這個是由自己根據題目要求自己制定的嗎!
是的。達到優化值可以停止,所以一般都有兩個退出條件。
⑤ 遺傳演算法求一個目標函數的最小值,但不論迭代多少次,每次的結果都是一樣的,這是為什麼。
電氣同行?
你的遺傳演算法相當於沒有進化呢 把你問題的模型和代碼貼出來或許能幫上忙……
⑥ 遺傳演算法m次迭代,比迭代50次應該會比較好吧
這個用算時間不算慢了,還可以,為了提高全局尋優,避免陷入局部最優解你可以嘗試增加種群個數NIND,最好不要讓迭代次數過大,這往往會將低演算法的泛化性能
⑦ 高分尋達人分別介紹下遺傳演算法和演化演算法,以及之間的聯系和區別
根據閱讀的資料,大概有以下判斷:
遺傳演算法是演化演算法中的一種。
遺傳演算法(Genetic Algorithm)是一類借鑒生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜索方法。它是由美國的J.Holland教授1975年首先提出,其主要特點是直接對結構對象進行操作,不存在求導和函數連續性的限定;具有內在的隱並行性和更好的全局尋優能力;採用概率化的尋優方法,能自動獲取和指導優化的搜索空間,自適應地調整搜索方向,不需要確定的規則。遺傳演算法的這些性質,已被人們廣泛地應用於組合優化、機器學習、信號處理、自適應控制和人工生命等領域。它是現代有關智能計算中的關鍵技術。
遺傳演算法是模擬達爾文的遺傳選擇和自然淘汰的生物進化過程的計算模型。它的思想源於生物遺傳學和適者生存的自然規律,是具有「生存+檢測」的迭代過程的搜索演算法。遺傳演算法以一種群體中的所有個體為對象,並利用隨機化技術指導對一個被編碼的參數空間進行高效搜索。其中,選擇、交叉和變異構成了遺傳演算法的遺傳操作;參數編碼、初始群體的設定、適應度函數的設計、遺傳操作設計、控制參數設定五個要素組成了遺傳演算法的核心內容。 作為一種新的全局優化搜索演算法,遺傳演算法以其簡單通用、魯棒性強、適於並行處理以及高效、實用等顯著特點,在各個領域得到了廣泛應用,取得了良好效果,並逐漸成為重要的智能演算法之一。
遺傳演算法是基於生物學的,理解或編程都不太難。下面是遺傳演算法的一般演算法:
創建一個隨機的初始狀態
初始種群是從解中隨機選擇出來的,將這些解比喻為染色體或基因,該種群被稱為第一代,這和符號人工智慧系統的情況不一樣,在那裡問題的初始狀態已經給定了。
評估適應度
對每一個解(染色體)指定一個適應度的值,根據問題求解的實際接近程度來指定(以便逼近求解問題的答案)。不要把這些「解」與問題的「答案」混為一談,可以把它理解成為要得到答案,系統可能需要利用的那些特性。
繁殖(包括子代突變)
帶有較高適應度值的那些染色體更可能產生後代(後代產生後也將發生突變)。後代是父母的產物,他們由來自父母的基因結合而成,這個過程被稱為「雜交」。
下一代
如果新的一代包含一個解,能產生一個充分接近或等於期望答案的輸出,那麼問題就已經解決了。如果情況並非如此,新的一代將重復他們父母所進行的繁衍過程,一代一代演化下去,直到達到期望的解為止。
並行計算
非常容易將遺傳演算法用到並行計算和群集環境中。一種方法是直接把每個節點當成一個並行的種群看待。然後有機體根據不同的繁殖方法從一個節點遷移到另一個節點。另一種方法是「農場主/勞工」體系結構,指定一個節點為「農場主」節點,負責選擇有機體和分派適應度的值,另外的節點作為「勞工」節點,負責重新組合、變異和適應度函數的評估。
http://ke..com/view/45853.html
演化演算法:
這部分的研究主要是提供具有演化特徵的演算法,已知的遺傳演算法是其中之一。許多新的演算法正在研究中。由於遺傳演算法的整體搜索策略和優化計算時不依賴於梯度信息,所以它的應用非常廣泛,尤其適合於處理傳統搜索方法難以解決的高度復雜的非線性問題。人工生命研究的重要內容就是進化現象,遺傳演算法是研究進化現象的重要方法之一
我國學者接觸這個領域較晚,目前尚未形成聲勢和有規模的研究隊伍。1997年夏天,在中科院基礎局、國家科委基礎司及中國國際經濟及技術交流中心的支持下,由中科院系統科學所和自動化研究所舉辦了第一次人工生命及進化機器人研討會[20]。與會者約60人。除去邀請了五位國際知名學者的學術報告之外,國內也有數名學者介紹了相關的研究成果。主要在數字生命、復雜巨系統方面進行了一些研究。據目前了解到的情況,國內尚有一些人在研究演化演算法,在人工智慧的一本書上有一段介紹人工生命。但對人工社會、人工生態環境及進化機器人等尚無人問津。
http://blog.ustc.e.cn/chujx/archives/000925.html
⑧ 遺傳演算法迭代次數比較多比如100,是不是會陷入局部!
迭代次數一般設置為你能承受的次數,此外還要看你的可行解的空間大小,空間大的需要次方的迭代次數。解決方案:一般設置迭代次數多一點,然後設置結束誤差,達到允許的誤差之後跳出就行了