回覆列表
  • 1 # 涵mm962

    運算過程

    遺傳演算法(Genetic Algorithm)是一類借鑑生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜尋方法。它是由美國的J.Holland教授1975年首先提出,其主要特點是直接對結構物件進行操作,不存在求導和函式連續性的限定;具有內在的隱並行性和更好的全域性尋優能力;採用機率化的尋優方法,能自動獲取和指導最佳化的搜尋空間,自適應地調整搜尋方向,不需要確定的規則。遺傳演算法的這些性質,已被人們廣泛地應用於組合最佳化、機器學習、訊號處理、自適應控制和人工生命等領域。它是現代有關智慧計算中的關鍵技術。

    對於一個求函式最大值的最佳化問題(求函式最小值也類同),一般可以描述為下列數學規劃模型:式中x為決策變數,式2-1為目標函式式,式2-2、2-3為約束條件,U是基本空間,R是U的子集。滿足約束條件的解X稱為可行解,集合R表示所有滿足約束條件的解所組成的集合,稱為可行解集合。

    遺傳演算法也是計算機科學人工智慧領域中用於解決最最佳化的一種搜尋啟發式演算法,是進化演算法的一種。這種啟發式通常用來生成有用的解決方案來最佳化和搜尋問題。進化演算法最初是借鑑了進化生物學中的一些現象而發展起來的,這些現象包括遺傳、突變、自然選擇以及雜交等。遺傳演算法在適應度函式選擇不當的情況下有可能收斂於區域性最優,而不能達到全域性最優。

    遺傳演算法的基本運算過程如下:

    a)初始化:設定進化代數計數器t=0,設定最大進化代數T,隨機生成M個個體作為初始群體P(0)。

    b)個體評價:計算群體P(t)中各個個體的適應度。

    遺傳演算法

    c)選擇運算:將選擇運算元作用於群體。選擇的目的是把最佳化的個體直接遺傳到下一代或透過配對交叉產生新的個體再遺傳到下一代。選擇操作是建立在群體中個體的適應度評估基礎上的。

    d)交叉運算:將交叉運算元作用於群體。遺傳演算法中起核心作用的就是交叉運算元。

    e)變異運算:將變異運算元作用於群體。即是對群體中的個體串的某些基因座上的基因值作變動。

    群體P(t)經過選擇、交叉、變異運算之後得到下一代群體P(t+1)。

    f)終止條件判斷:若t=T,則以進化過程中所得到的具有最大適應度個體作為最優解輸出,終止計算。

    特點

    遺傳演算法是解決搜尋問題的一種通用演算法,對於各種通用問題都可以使用。搜尋演算法的共同特徵為:

    ①首先組成一組候選解

    ②依據某些適應性條件測算這些候選解的適應度

    ④對保留的候選解進行某些操作,生成新的候選解。

    在遺傳演算法中,上述幾個特徵以一種特殊的方式組合在一起:基於染色體群的並行搜尋,帶有猜測性質的選擇操作、交換操作和突變操作。這種特殊的組合方式將遺傳演算法與其它搜尋演算法區別開來。

    遺傳演算法

    遺傳演算法還具有以下幾方面的特點:

    (1)遺傳演算法從問題解的串集開始搜尋,而不是從單個解開始。這是遺傳演算法與傳統最佳化演算法的極大區別。傳統最佳化演算法是從單個初始值迭代求最優解的;容易誤入區域性最優解。遺傳演算法從串集開始搜尋,覆蓋面大,利於全域性擇優。

    (2)遺傳演算法同時處理群體中的多個個體,即對搜尋空間中的多個解進行評估,減少了陷入區域性最優解的風險,同時演算法本身易於實現並行化。

    (3)遺傳演算法基本上不用搜索空間的知識或其它輔助資訊,而僅用適應度函式值來評估個體,在此基礎上進行遺傳操作。適應度函式不僅不受連續可微的約束,而且其定義域可以任意設定。這一特點使得遺傳演算法的應用範圍大大擴充套件。

    (4)遺傳演算法不是採用確定性規則,而是採用機率的變遷規則來指導他的搜尋方向。

    (5)具有自組織、自適應和自學習性。遺傳演算法利用進化過程獲得的資訊自行組織搜尋時,適應度大的個體具有較高的生存機率,並獲得更適應環境的基因結構。

    (6)此外,演算法本身也可以採用動態自適應技術,在進化過程中自動調整演算法控制引數和編碼精度,比如使用模糊自適應法。

  • 中秋節和大豐收的關聯?
  • 輿情監測系統的未來趨勢如何?