人工智能遺傳算法論文(2)
人工智能遺傳算法論文
人工智能遺傳算法論文篇二
人工智能之遺傳算法論文
摘 要:非線性方程組的求解是數(shù)值計算領域中最困難的問題,大多數(shù)的數(shù)值求解算法例如牛頓法的收斂性和性能特征在很大程度上依賴于初始點。但是對于很多高維的非線性方程組, 選擇好的初始點是一件非常困難的事情。本文采用了遺傳算法的思想,提出了一種用于求解非線性方程組的混合遺傳算法。該混合算法充分發(fā)揮了遺傳算法的群體搜索和全局收斂性。選擇了幾個典型非線性方程組,考察它們的最適宜解。
關鍵詞:非線性方程組;混合遺傳算法;優(yōu)化
1. 引言
遺傳算法是一種通用搜索算法,它基于自然選擇機制和自然遺傳規(guī)律來模擬自然界的進化過程,從而演化出解決問題的最優(yōu)方法。它將適者生存、結構化但同時又是隨機的信息交換以及算法設計人的創(chuàng)造才能結合起來,形成一種獨特的搜索算法,把一些解決方案用一定的方式來表示,放在一起成為群體。每一個方案的優(yōu)劣程度即為適應性,根據自然界進化“優(yōu)勝劣汰”的原則,逐步產生它們的后代,使后代具有更強的適應性,這樣不斷演化下去,就能得到更優(yōu)解決方案。 隨著現(xiàn)代自然科學和技術的發(fā)展,以及新學科、新領域的出現(xiàn),非線性科學在工農業(yè)、經濟政治、科學研究方面逐漸占有極其重要的位置。在理論研究和應用實踐中,幾乎絕大多數(shù)的問題都最終能化為方程或方程組,或者說,都離不開方程和方程組的求解。因此,在非線性問題中尤以非線性方程和非線性方程組的求解最為基本和重要。傳統(tǒng)的解決方法,如簡單迭代法、牛頓法、割線法、延拓法、搜索法、梯度法、共軛方向法、變尺度法,無論從算法的選擇還是算法本身的構造都與所要解決的問題的特性有很大的關系。很多情況下,算法中算子的構造及其有效性成為我們解決問題的巨大障礙。而遺傳算法無需過多地考慮問題的具體形式,因為它是一種靈活的自適應算法,尤其在一些非線性方程組沒有精確解的時候,遺傳算法顯得更為有效。而且,遺傳算法是一種高度并行的算法,且算法結構簡單,非常便于在計算機上實現(xiàn)。本文所研究的正是將遺傳算法應用于求解非線性方程組的問題。
2. 遺傳算法解非線性方程組
為了直觀地觀察用遺傳算法求解非線性方程組的效果,我們這里用代數(shù)非線性方程組作為求解的對象
問題描述:
非線性方程組指的是有n個變量(為了簡化討論,這里只討論實變量方程組)的方程組
𝑓𝑖 x1,x2,…,xn =0 𝑖=1,2,…,𝑚
中含有非線性方程。其求解是指在其定義域內找出一組數(shù)x∗ x1,x2,…,xn 能滿足方程組中的每一個方程。這里,我們將方程組轉化為一個函數(shù)
F x1,x2,…,xn = 𝑓𝑖
i=0
則求解方程組就轉化為求一組值x∗ x1,x2,…,xn 使得F x∗ =0成立。即求使函數(shù)F x1,x2,…,xn 取得最小值0的一組數(shù),于是方程組求解問題就轉變?yōu)楹瘮?shù)優(yōu)化問題
3. 遺傳算子
遺傳算子設計包括交叉算子、變異算子和選擇算子的設計。
(1)交叉算子
算術交叉算子是實數(shù)編碼遺傳算法中應用最廣泛的一種算子, 該算子描述如下:
假設在兩個體X 1 和X 2 之間進行算術交叉, 則交叉運算后所產生出的兩個新個體為
∗X1=aX1+(1−a)X2 ∗ X2= 1−a X1+aX2
其中a是在[0,1]區(qū)間內的參數(shù),它可以是一個常數(shù),也可以是由進化所決定的變量,本文選擇為[ 0,1] 區(qū)間上的隨機數(shù)。
(2)變異算子
設被選中變異的個體的染色體為Xk, 隨機產生一個擾動方向pk, 整個變異操作的過程是以Xk為起點, 沿方向pk尋求最優(yōu)點作為新的染色體, 即完成如下一維搜索運算:
min∅ τ =F Xk+τpk
本文以黃金分割方法搜索得到最優(yōu)步長τ° , 則變異后個體的新染色體Xk′
′Xk=Xk+τ°pk
(3)選擇算子
傳統(tǒng)的標準選擇算子一方面要求適應度函數(shù)大于零, 給適應度函數(shù)的選擇帶了一定的困難; 另一方面基于適應值的排序選擇算子是造成算法早熟、收斂速度慢的主要原因。為避免上述問題, 本文采用了既具有較高確定性和一定隨機性的聯(lián)賽競爭法為選擇算子, 聯(lián)賽規(guī)模取為3。由于遺傳算法中有許多隨機因素的影響, 當前群體的最好個體可能會被破壞, 影響算法的運行效率和收斂性, 因此采用了最優(yōu)保存策略, 即當前群體中最優(yōu)個體不參與交叉運算和變異運算, 而是用它來替代本代群體中經過交叉、變異操作后所產生的最差個體。
4. 實例驗證
我們?yōu)榱蓑炞C這個遺傳算法是否能夠找到我們需要的合適解,選取下面
的非線性方程組來驗證:
x1+x2+x3−0.5=0
x1x2+x2x3+x3x1+7.5=0
222x1+x2+x3−15.25=0
運行得到的結果為:得出來的結果為逼近準確解
第2 / 5頁
ans = 0 -2 1
由此可知能找到合適的解的。
參考文獻:
[1]陳明. 基于進化遺傳算法的優(yōu)化計算[J]. 軟件學報, Vol.9 No.11, 1998.11:876-879.
[2]陳火旺. 遺傳程序設計(之一)[J]. 計算機科學, 1995.22(6):12-15.
[3]馮果忱. 非線形方程組迭代解法[M]. 上??茖W技術出版社, 1989.
看了“人工智能遺傳算法論文”的人還看了: