JP2004532454A - 進化的アルゴリズムを使用するハードウェア設計 - Google Patents
進化的アルゴリズムを使用するハードウェア設計 Download PDFInfo
- Publication number
- JP2004532454A JP2004532454A JP2002574585A JP2002574585A JP2004532454A JP 2004532454 A JP2004532454 A JP 2004532454A JP 2002574585 A JP2002574585 A JP 2002574585A JP 2002574585 A JP2002574585 A JP 2002574585A JP 2004532454 A JP2004532454 A JP 2004532454A
- Authority
- JP
- Japan
- Prior art keywords
- fitness
- chromosomes
- population
- design
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Data Mining & Analysis (AREA)
- Genetics & Genomics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Physiology (AREA)
- Geometry (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Stereophonic System (AREA)
- Transforming Electric Information Into Light Information (AREA)
- Picture Signal Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
【0001】
本発明は、進化的ハードウェア、及び進化的ハードウェアを使用するハードウェアアーキテクチャ及び構造の設計に関する。
【背景技術】
【0002】
進化的ハードウェア(EHW)はハードウェアの1つの特定のタイプに関連し、そのアーキテクチャ/構造及び機能は、一定のタスクを実行するのにその性能を改善するために動的且つ自律的に変化している。進化的ハードウェアは、1999年のACM通信、42巻4号の47〜49頁のX.Yaoによる「進化的ハードウェアの道に続く」という表題の論文、及びIEEE会報のX.Yao及びT.Higuchiによる「進化的ハードウェアの見込みと挑戦」という表題の論文において説明されている。システム、マン、サイバネティックスにおいて、C部分は1999年の適用及び論評の29巻1号の87〜97頁である。
【0003】
近年のこの新分野の出現は変更可能なハードウェア及び進化的計算の進歩により大いに影響されている。伝統的なハードウェアは柔軟性のないことで有名である。一度それが作られると、ハードウェアの構造及びその機能を変更することはできない。しかし、最も本当の世界的な問題は解決されていない。それらは時間と共に変化する。これらの問題を効率良く有効に処理するため、異なるハードウェア構造が必要である。EHWは理想的なアプローチを与え、ハードウェア構造を動的に問題に適合させることによりハードウェアを「柔軟」にする理想的なアプローチを与える。
【0004】
EHWは、電子ハードウェア設計、例えば、フィルター設計、又はそのアーキテクチャを動的且つ自立的に変更することによりオンライン適合が可能なハードウェアに対する進化的計算技術の適用として説明されてもよい。前者は潜在的な設計ツールとして進化的計算技術を強調し、後者はハードウェア適合を強調している。EHWが進化的アルゴリズムのハードウェア手段と全く異なり、ハードウェアが各種の進化的操作の速度を上げるために使用されることを指摘することは価値がある。ハードウェアそれ自体は変更又は適合しない。
【0005】
EHWには、模擬的進化と電子ハードウェアの2つの主な特徴がある。模擬的進化は、遺伝子アルゴリズム(Gas)、遺伝子プログラミング(GP)、進化的プログラミング(EP)又は進化的戦略(Ess)により動作可能である。進化的アルゴリズムのどのタイプがEHWにとって最良かについては一定の回答はない。異なる進化的(EAs)は異なるEHWに適する。EHWで使用される電子ハードウェアはデジタル、アナログ又はハイブリッド回路とすることができる。Easの利点の1つは、それらがEHWで使用される回路のタイプにほとんど制約を課さないことである。
【0006】
たいていのEHWは、フィールドプログラム可能なゲートアレイ(FPGAs)のような変更可能なハードウェアに非常に依存する。FPGAのアーキテクチャ及び機能性はそのアーキテクチャビットにより直接決定される。これらビットは変更可能である。EHWは、一定のタスクを効率良く且つ有効に行うため、この柔軟性を使用し、EAを使用し、これらのビットを進化させる。
【0007】
進化的ハードウェアの最も一般的定義は、「進化的アルゴリズムによるハードウェアの設計(通常は電子だが、機械、生物、化学)」である。異なるタイプの多くの進化的アルゴリズムがあり、それらの全てはEHWで使用されるが、それらはすべて、「適合の残存」の考えと結合し、生成及びテストに基づいている。一般に、個体の母集団(この場合の設計)は最初、適当に生成される。その後、アルゴリズムは、
1.適応度基準をそれぞれの個体に割り当てる。
2.多数の高適応度の個体を親として選択する。
3.進化的オペレータにより親から新しい個体(子孫)を生成する。(例えば、交差、突然変異)。
4.現在の母集団と子孫の結合により、多数の個体を選択し、次の世代に残存する。
5.母集団の個体が幾つかの終了基準を満たさなければ(1)に行く。
となる。
【0008】
図1はEHWの進化的サイクルにおける主要なステップを示している。染色体10として符号化されたアーキテクチャビットの最初の母集団は、随意又は帰納的のいずれかで生成される。その後、それらは適応度評価のため12をFPGAs14にダウンロードされる。コストを削減すると共にスペースを節約するため、幾つかのEHWは、連続的にすべての」染色体の適応度を評価するために使用されるFPGAハードウェアを1セットだけ有している。FPGAの適応度は、通常、その染色体の適応度に等しいが、環境16との対話を通して評価される。そのような適応度は、その後、さらなる再生及び遺伝子操作のため親の染色体18を選択するために使用される。交差及び突然変異20は親から子孫の染色体22を生成するために使用されることがよくある。これらの子孫は、その後、一定の置換戦略によりそれらの親を置換するだろう。幾つかの置換戦略は親を保有し、その子孫を捨てる。染色体の新しい世代は置換後に形成される。
【0009】
図1の概略図はEHWの例としてFPGAsを使用する。しかし、説明されるステップはEHWの他のタイプに等しく適用可能である。
【0010】
一般的に、識別可能なEHWの5つのレベルがある。
1.単発外因性:生成及びテストサイクルはソフトウェアにおいて完全に行われる。設計はシミュレーションでテストされ、処理の最後に、設計又は1セットの設計が生成され、ハードウェアで実行可能となる。
2.単発ミックストリンシック(Mixtrinsic):レベル1の時、しかし、設計はシミュレーションと実際のハードウェアの両方で評価される。
3.単発内因性:レベル1の時、しかし、それぞれの生成及びテストサイクルでは、すべての設計がハードウェアにプログラムされ、評価は実際のハードウェアをテストすることにより起こる。設計プロセスの制御はホストコンピュータのソフトウェアで行われる。
4.オンチップ制御による単発内因性:レベル3の時、しかし、プログラム可能なハードウェアの部品は設計プロセスの制御を実行するために使用される。
5.適応的内因性:レベル4の時、しかし、設計サイクルは環境が変化する度に繰り返され、ハードウェアを変化する環境、ハードウェアの故障等に適応させる。
【0011】
検索の視点から、レベル1とその他との間には大きな差異がある。ハードウェアが実際にチップ上で評価された場合、設計はシミュレートされない結果を組み込むことができ(及び時には組み込むだろうし)、通常、伝統的な設計プロセス(例えば、セル間の寄生的結合)では考えられない。これは非常に興味のある、新しい設計に導くことができるが、同時に、分析を非常に困難にする。レベル2からレベル5に行くことは自明ではないが、検索を減少させ、エンジニアリング/実行の問題を増大させる。勿論、実際の適用の視点から、レベル5が非常に望ましい。
【0012】
レベル1のEHW適用以外のすべては再プログラム可能なハードウェアに基づいている。アナログの変更可能なデバイスも使用されるが、通常、これらはFPGAs及び他のPLDsである。FPGAs又はASICsを使用して行われる設計は現在、おそらく最も適切である。進化的設計は生成及びテストアプローチである。そのため、それは生成される回路を機械的に評価することが可能な要求である。その上さらに、このテストは適度に早くすべきである。これが正確に意味することは、多数の要因、特に、(幾つかの困難な問題のため、しばしば非常に多数又は無数の回路設計が評価されなければならない)設計の困難さ、及び設計の生成のために利用可能な時間に依存する。
【0013】
EHWは複雑さを緩和するために小さく設計することで最小に作動する。現在公表された適用では、指定すると共に接続する約30個のエレメントは異なるタスクと考えられていると思われる。検索スペースが、例えば、可能な相互接続を限定することにより制限された場合、より多くのエレメントが使用可能となる。エレメントが正確に何であるかはその手段に依存し、それはFPGAでの単一の機能セル(又はアナログ回路でのトランジスタ)、又は大モジュール、例えば、計算機能装置となることができる。
【0014】
EHWの主な強度はそれが確立された設計方法に依存しないことである(それらは使用可能であるが、要求されない)。実際に、他の方法と比較すると、進化的設計方法は、一般的に、少ない設計知識が利用可能な領域又は利用可能な設計方法が設計可能な回路セットを制限する領域で最良に使用される。「黒魔術」又は「試行錯誤」がより多く設計プロセスに含まれると、より多くEHWはよりよい設計を作ることできるだろう。それらの母集団ベースの性質のため、しばしば、進化的アルゴリズムは多目的最適化で非常に良く処理可能である。
【0015】
レベル5のEHW設計は特別の場合である。変化する環境又は再配線自体にハードウェアそれ自体を適応させ、ハードウェアの故障に応じる適用のため(故障に耐えるHW)、EHWは非常に有望なアプローチと考えられる。この場合には、連続的な変更に対応できる設計者がいないので、EHW設計プロセスは人間の設計者と競争しない。限定された資源及び短い応答時間の要求のため、小さい検索スペース及び迅速な試験は、特に、適応性のある設計適用において重要である。
【発明の開示】
【課題を解決するための手段】
【0016】
本発明は、進化的アルゴリズムを使用してハードウェア部品を設計する改善された方法を提供することを目的とする。その広範な形式において、本発明は、個体が次世代に生存する選択においてクラスター及びパレートフロントの使用にある。パレートフロントはクラスターにおいて優位でない個体から形成される。
【0017】
より詳細には、進化的アルゴリズムを使用してハードウェア部品を設計する方法が提供され、
a)ハードウェア部品の最初の母集団を供給するステップと、
b)前記最初の母集団を染色体として符号化するステップと、
c)多目的適応度基準により前記それぞれの最初の母集団の適応度を評価するステップと、
d)前記最初の母集団の適応度評価に基づいて親の染色体を選択するステップと、
e)遺伝子操作を前記選択された親の染色体に適用し、子孫の母集団を作り出すステップと、
f)前記親及び子孫から複数のクラスターを形成すると共に各クラスターのため優位でない染色体のパレートフロントを形成することを含めて、前記親及び子孫の染色体から新しい染色体セットを選択するステップと、
g)所定の終了基準が満たされるまで、前記新しい染色体セットのためにステップc)〜f)を繰り返し、新世代を形成するステップと、
を含んでいる。
【0018】
本発明はまた、進化的アルゴリズムを使用して現存のハードウェア部品を再設計する方法を提供し、
前記ハードウェア部品の染色体表現に遺伝子操作を適用することにより、前記現存のハードウェア部品から子孫の母集団を生成するステップと、
染色体の複数のクラスターを形成すると共にそれぞれのクラスターのため優位でない個体のパレートフロントを形成することを含めて、前記存在する子孫の染色体から新しい染色体セットを選択するステップと、
1以上の基準によりそれぞれの個体の適応度を評価するステップと、
前記適応度の評価に基づいて親の染色体を選択するステップと、
子孫の染色体の新しいセットが形成され、所定の性能又は他の基準を満たすまで、新しい染色体セットを選択し、適応度を評価し、及び親の選択を行うステップを繰り返すステップと、
を備えている。
【0019】
本発明の実施例は、進化的プロセスの間、設計の変化が促進されると共に維持される。これは早期の収束を防止するだけでなく、部品を設計する人間の熟練者には考えられない普通でない設計が考えられることをも保証する。
【0020】
好ましくは、前記クラスターを行うステップは、遺伝子型間の距離に基づいてクラスターを形成することを含んでいる。好ましくは、プロセスのn世代後に再度クラスターが行われる。これは定義されたクラスターが母集団の染色体に均等に分配される利点を有している。
【0021】
好ましくは、多数の再クラスターを行った後、クラスターはクラスターに渡って遺伝子材料の交換がないように固定される。これは変化の維持を助ける利点を有している。
【0022】
好ましくは、周期的に染色体はクラスターのパレートフロントから取り除かれる。フロントのこの移動はフロントが大きく成長し過ぎて多くの同様の個体で構成されるのを防止する利点を有している。好ましくは、フロントは最小の遺伝子型の距離を有する対の優位でない個体を確認すると共に最悪の適応度を有する対部材を取り除くことにより減少される。
【0023】
好ましくは、制約を強化することをパレートフロントに適用する。これは、有望な個体を減少させうるフロントから最高の個体を取り除く利点を有している。
【0024】
好ましくは、親の染色体は、4つの方法の1つによって選択される。結合適応度を使用する選択、分割適応度を使用する選択、及びニッチ数又は使用されるクラスターサイズにより優位な個体での優位でない個体の選択であって、両方の個体が優位でなくなる選択である。
【0025】
好ましくは、子孫を作るための遺伝子操作の適用は、突然変異及び又は交差を含んでいる。二点交差が好ましい。
【0026】
本発明の実施例は、デジタルフィルターを含んで、広範囲のハードウェア部品を設計するために使用されてもよい。デジタルフィルターの設計では、染色体の遺伝子型はフィルターのポールゼロ記述であり、表現型は伝達関数であることが好まれる。これは、全ての一次IIRフィルターが表現可能であり、全ての表現型が実行可能である利点を有している。さらにその上、同様の遺伝子型が同様の周波数応答を有し、検索スペースが比較的滑らかである点において場所は保存される。
【発明を実施するための最良の形態】
【0027】
本発明の実施例は添付した図面に関連させて説明するが、それは例示だけの目的である。
【0028】
本発明はデジタルフィルターの設計に関して説明されるだろう。本発明がハードウェア設計のための進化的計算技術にあることを強調することが重要である。デジタルフィルターは本発明を使用して設計可能なハードウェアの正に一例であり、本発明はデジタルフィルター又はそれらの設計に限定されるものではない。説明される設計アプローチは多数の交差及び突然変異操作による染色体表現図を基にしたベクトルを使用し、染色体を操作する。異なる設計は説明するように分割適応度を使用して共進化されてもよい。
【0029】
本発明の方法を使用するデジタルフィルターの設計は多数の理由で魅力的である。
【0030】
問題はエンジニアリングの関連性を有している。デジタルフィルターは通信システムにおいて、しばしば、デジタルとアナログ信号処理システムの間のインターフェースで、重要な役割を果たす。例えば、移動通信、会話処理、モデム等である。
【0031】
デジタルフィルターは変更可能なハードウェアで実行可能であり(しばしば、実行され)、そのため、EHWに適している。
【0032】
デジタルフィルター設計の技術は良く確立され、研究されているが、一般的な場合に許容可能な努力で最適な設計に導く伝統的な設計手順がない。デジタルフィルター設計は研究の活発的な領域である。
【0033】
デジタルフィルターの設計スペースは良く定義されているが大きく複雑である。良く定義されたスペースは異なる結果の比較を容易にする。大きく複雑な設計スペースは本発明を具現化して進化的システムに挑戦し、困難な設計問題を処理するのに我々のシステムの適合を評価するのが得意であろう。
【0034】
フィルター性能の量的な基準は、一般的に、比較的計算し易いEAsのため適応度基準を供給して、利用可能である。それは異なる設計を比較するのに簡単な計量器をも提供する。
【0035】
使用される部品のタイプ(例えば、線形又は非線形の部品)、(例えば、フィードバックと共に又はフィードバックなしに)相互接続の制約及びフィルターの意図した特性により、多くの異なる種類のデジタルフィルターがある。個々のフィルターを設計する困難さはフィルターの正確なタイプにより、分析的な方法が利用可能であったり、近似方法が使用されたりする。そんな場合でも、通常、異なるフィルターは異なる設計アプローチを必要とする。1つのタイプのフィルターを設計するのに専門化した人間の設計者は異なるタイプの最適なフィルターを設計することができないかもしれない。通常の設計方法は利用できないから、進化的設計は良く、手動に変わる自動的な設計である。
【0036】
説明される実施例は、回路及びシステムIIのIEEE会報:アナログ及びデジタル信号処理、1999年46巻11号の1421〜1426頁の「イクウィリップル(equiriple)通過帯域及びピーク制限平方停止帯域による安定したIIRフィルターの設計」という表題のW.S.Luによる論文に説明された設計問題に本発明の方法を適用している。その論文では、伝統的なアプローチは2つの設計を作って2つの問題を解決するために行われた。発表された結果は、伝統的な方法及び本発明を具現化する進化的方法を使用して作られる設計の性能の直接比較を可能にする。
【0037】
理解を助けるため、フィルター設計の幾つかの基本的な考え及び概念を説明する。フィルター設計技術はその当業者にとって、McGraw Hill International,2ed、1993年のA.Antonionによる「デジタルフィルター−分析、設計及び適用」、及びJohn and Wiley and Sons、1987年のT.W.Parks及びC.S.Burrusによる「デジタルフィルター設計、デジタル信号処理の主題」等のフィルター設計の教科書からもっと詳細に理解できることが公知である。
【0038】
説明される実施例は、線形の無限の衝撃応答(IIR)デジタルフィルターの設計を考えている。線形フィルターにとって、作用は「周波数応答」により特徴付けられる。これは、0とサンプリング周波数の半分の間の全ての周波数にとって、入力信号に対する出力信号の位相及び大きさである。これは、一般的に、0≦ω≦ωS/2のωにより表わされ、ωSはサンプリング周波数である。フィルターの要求される作用は周波数応答により明記される。
【0039】
一般に、デジタルフィルターの設計は通常、2ステッププロセスである。第1ステップでは、設計基準を満たすフィルターの数学的記述が得られる。その後、この記述は第2ステップにおいてハードウェア記述に変換される。これらの2ステップは、困難さ、使用される方法、及び性能基準により非常に異なる。ほとんどのフィルター設計の論文と同様に、その記述はより難しい第1ステップを考えるだけである。その後、ハードウェア手段に変換可能な最適な(最適に近い)多項式を作り出す。
【0040】
線形のデジタルフィルターは複雑に番号をつけられた多項式関数、すなわち、伝達関数(式1)により数学的に特定される。この多項式関数、すなわち、式2は、多項式のゼロを特定する分子とポールを特定する分母を有する2つの積の多項式の商として書き換えられることができる。その関数は通常、スケーリング定数を有している(式2)。2つの記述は同等である。ポールゼロ記述を多項式記述に変換するのは容易だが、その反対は容易ではない。周波数応答は、サンプリング周波数Tによりz=ejwTのための値を計算することにより伝達関数から得ることができる。
【0041】
【0042】
全ての伝達関数がハードウェアフィルターで実現可能とは限らない。2つの主な要求は監視されなければならない。
【0043】
実係数:多項式記述の係数はハードウェア手段の倍率器に直接書き換えられる。複素数を信号に乗じることは非常に困難であるから、全ての係数が実数であることが重要である。ポール及びゼロにより、これは、全てのポール及びゼロが実数か、共役−複素数対(すなわち、a+jb及びa−jb)に存在しているかのいずれかの場合に達成可能である。
【0044】
安定度:一般的なIIRフィルターはフィードバックループを有しているので、それは振動してもよい。出力は結合することなく(又はオーバーフローするまでハードウェアで)成長する。安定したフィルターでは、結合した出力は常に結合した出力を作り出すだろう。全てのポールが装置サイクル内にある場合、すなわち、
の場合、フィルターは安定するだけである。特定の適用において不安定なフィルターのための使用がある間、ほとんどのフィルターは安定になるように設計されている。
【0045】
フィルター性能は通常、多目的である。全てのフィルターに適用する普遍的な基準はない。正確な目標はフィルターのタイプ及びそれらの適用により課せられる工学の制約による。考えられる2つの例のフィルターはローパスフィルターである。適用例は20KHzの折点周波数の電話システムのフィルターだろう。この周波数以下の周波数の信号は変更せずにフィルターを通過すべきだが、その上の信号は抑制されるべきである。理想的なローパスフィルターは低周波数領域(通過帯域)で信号を変更せずに通過させ、高い周波数領域(停止帯域)において完全に信号をさえぎる。現実には、遷移帯域はしばしば通過帯域と停止帯域の間に配置される。フィルター設計の目的は通過帯域において信号のひずみを最小にし、停止帯域において抑制を最大にすることである。遷移帯域は可能な限り狭くすべきである。
【0046】
通過帯域の信号のひずみを最小にするため、2つの基準が満たされなければならない。第1は通過帯域の周波数応答の振幅が可能な限り一定であることである。例えば、会話信号の全ての周波数は正に同一量により増幅される。
【0047】
第2の基準は通過帯域の位相が可能な限り直線的でなければならない。実際には、いわゆる「集団遅れ」、すなわち、位相、δψ/δωの最初の導関数が使用されることがよくある。そのため、第2の基準は一定の集団遅れとして示される。これは、全ての周波数が同一時間、フィルターにより遅らされることを意味している。集団遅れが一定でない場合、幾つかの周波数は他より早くフィルターを通過し、出力で信号ひずみに導く。
【0048】
停止帯域では、設計の目的は、一般的に、可能な限り信号を減衰することである。信号が減衰されるため、停止帯域での信号の位相及び集団遅れは通常、重要ではなくなる。
【0049】
遷移帯域のために、制約はめったに使用されない。
【0050】
図2は典型的なローパスフィルターを示している。上半分は振幅を示し、下半分は集団遅れを示している。理想的な動作24は太線で示されており、実際の動作(細線)26はそれが影領域内にある限り許容可能である。
【0051】
本発明を具現化する方法及び他の現存する作用を使用して設計されたフィルター間の比較を容易にするため、この報告は可能な時にいつでも前に参照したW.S.Luの論文で使用した基準に従っており、すなわち、
1.通過帯域及び停止帯域の振幅における加重された平方誤り
2.停止帯域におけるピーク振幅
3.通過帯域における一定振幅からの最大偏差
4.目標の集団遅れからの最大偏差
5.安定性
【0052】
人間の熟練者により採用された伝統的な設計プロセスは最適化基準として基準(1)を使用し、制約として所定値の基準(2)〜(5)を使用する。進化的システムが人間の設計より良い設計を発見することができるかどうかを検査するため、進化的システムにおいて基準(2)〜(5)がまた制約として課せられる。特に、安定性は染色体表現の安定性のための十分な条件を実行する線形変動により保証される。本発明を具現化する進化的システムにおいて適応度関数がどのように実施されるかの詳細な説明はやがて説明されるだろう。
【0053】
フィルタ設計に対する進化的アプローチ
進化的アルゴリズム(EAs)は自然の進化の考え及び原理から発展した母集団ベースの統計学的な検索アルゴリズムの1種類に関連する。それらは、[ニューヨーク、John Willey & Sons、1995、H-P Schwefalの進化及び最適な探求に記載されているような]進化戦略(ES)、[ニューヨーク、NY:IEEE定期刊行物、1995、D.B.Fogelの進化的計算:機械知能の新哲学に向かってに記載されているような]進化的プログラミング(EP)、及び[検索、最適化及び機械知識、読本、MA;Addison-Wesley、1989のD.E.Goldbergの遺伝子アルゴリズムに記載されているような]遺伝子アルゴリズム(GAs)を含んでいる。これらの全てのアルゴリズムの1つの重要な特徴はそれらの母集団ベースの検索戦略である。母集団の個体は一定のタスクを実行するためお互いに競争すると共に情報を交換する。EAsの一般的な枠組みは図3によって説明される。
【0054】
EAsは多くの局所最適度を生成する大きい複雑な問題を処理するのに特に有用であることを示している。それらは伝統的な勾配ベースの検索アルゴリズムより局所最小値に閉じ込められそうにはならない。それらは勾配情報に依存せず、したがって、そのような情報が利用できない又は得るのが又は評価するのが非常に高価な問題にかなり適している。それらは明確でない及び又は正確な目的関数が利用可能な問題を処理さえ可能である。これらの特徴は多くの他の検索アルゴリズムよりそれらをずっと強くさせる。
【0055】
染色体表現
それぞれの個体の(染色体)表現の選択はEAの成功に重要である。それは(検索オペレーターと共に)検索スペースを定義するだけでなく、進化的設計プロセスにバイアスを導入することをできる。問題についての十分な従来知識を有している場合、より効率良く検索する一定のバイアスを引き出すような知識を使用することができる。しかし、不正確なバイアスは誤った方向に進化的検索を導く。表現により導入される強いバイアスを最小にすべきである。そのため、その表現は多数の条件を満たすべきである。この実施例では、更なる考察が存在する。その表現は新しい設計及び設計遺伝子の発見を容易にしなければならない。
【0056】
EAで使用される表現は適用範囲に適していなければならない。より詳細には、良好な表現は以下のことを考慮すべきである。
完全性:表現は全ての可能性のある興味のある設計を表現することをできるべきである。
可能性:そのような表現の下の全ての遺伝子型は可能な表現型に変換されることができる。
場所:同様の遺伝子型が同様の表現型を作り出すべきである。
平滑:遺伝子型の小さな変化がその適応度の小さな変化を作り出すべきである。
【0057】
この章では染色体のフィルターを定義する伝達関数を表現する方法を吟味する(すなわち、遺伝子型)。
【0058】
説明したように、伝達関数は、一般的に、フィルターの多項式又はポールゼロの2つの形式の1つに与えられる。伝達関数と周波数応答との間の直接の関係のため、伝達関数のポールゼロ形式(式2)は、現在の周波数近くのポールは信号を増幅し、ゼロはそれを減衰させると直接的に解釈可能である。ポールゼロは複素数であるから、複素平面のそれらの位置は極座標で自然に表現可能である。そのような座標の下、角度はポール又はゼロが活発な周波数を直接特定し、原点からの距離はその「強度」を示している。
【0059】
これの代わりとして、多項式の複素数のパラメータ(式1)を遺伝子型に直接符号化することも可能である。しかし、パラメータはそのような表現の下で周波数応答に明白な関係を有していない。一般的に、パラメータの変化が周波数応答をどのように変化させるかについて言うことは不可能である。さらにその上、複素数パラメータの直接符号化により、極座標を使用することが可能な一方、安定性のために直接テストをすることは不可能である。ポールゼロの表現をベースにした極座標は以下の利点を有している。
【0060】
それは全ての線形IIRフィルターを表現可能である。
【0061】
以下に示すように、全ての表現型の可能性を保証することは可能であり、場所は保存されている。すなわち、同様の遺伝子型が同様の周波数応答を有している。そして、遺伝子型の変化が周波数応答に小さな変化を引き起こし、そのため、ほとんどの場合に遺伝子型の適応度に小さな変化を引き起こすため、検索スペースは比較的平滑になる。
【0062】
フィルターの伝達関数は、連続する対の実数値により表現可能であり、各対はポール又はゼロの極座標を示す。実数値の更なる対はスケーリングパラメータb0を符号化する。実数値の各対は遺伝子と呼ばれる。
【0063】
特定の制約を課すため、ポールゼロは実軸上に配置されるか(すなわち、IM(z)=0)、又は遺伝子型が表現型に位置された時に共役複素数対にあるかのいずれかである必要がある。全ての極はフィルターの安定性を保証するため装置サイクル内に配置されなければならない。
【0064】
例えば、実数値のNP2+NP1+NZ2+NZ1+1対の遺伝子型は、以下により構成される。
NP2ポール対:遺伝子型の実数値の各対は複素対を表現する。共役複素数極はフィルターが実行できることを保証するため遺伝子型−表現型関数により自動的に生成される。半径は−1.0と1.0の間に置くことができ、それは安定性を保証する。
NP1単一ポール:これらの極にとって、角度は無視される。半径だけが実軸の位置を決定するために使用される。半径は−1.0と1.0の間に制限される。
NZ2ゼロ対:ゼロの共役複素数対の1つを決定し、仲間は自動的に生成される。半径は−1.0と1.0の間にあるが、係数RZMaxにより遺伝子型−表現型関数で測られる。
NZ1単一ゼロ:角度は無視される。半径は−1.0と1.0の間であり、RZMaxにより測られる。
スケーリング係数b0:角度は無視される。半径は多項式を測定するために使用され、−1.0と1.0の間であり、SMaxにより側られる。
【0065】
さらに、伝達関数は原点にN(P0)極を有することができる。以下の表1は、2個の共役複素数ゼロ対、単一の実ゼロ、単一の共役複素数極対、及び単一実極を有する遺伝子型の例を示している。原点には2つの更なるポールがある。2.0のゼロスケールRZMax及びSmax=3.0の全体スケールが想定された場合、遺伝子型は以下の表現型(伝達関数)に書き換えられる。
【0066】
ゼロ及びb0のために使用されるスケーリングは、実数値の全ての対が、半径が−1.0と1.0の間で、角度が−πとπの間の正確に同一範囲を有していることを意味する。これは、ゼロ、ポール、及びb0の間の差異についての特別な知識なしに進化的検索を容易にすることがよくある。実験ではスケールRmax及びSmaxが固定される。それらを最適値に設定することはいくらかの領域の知識を要求する。
【0067】
検索オペレータ
進化的検索オペレータの設計は染色体表現と密接に結合している。遺伝子は実数値の対であるので、単一数ではなく、交差及び突然変異のような新しい検索オペレータが必要とされる。染色体表現のための交差と突然変異の両方の操作としての使用は当分野で公知である。
【0068】
交差オペレータ
半径−角度対が密接に結合されると、交差がそれらを分離させることは意味をなさない。そのため、交差点はこれらの対の間に限定される。換言すれば、2つの親は遺伝子内ではなく、遺伝子の間に交差可能なだけである。均一の2点交差が実施され、後者がほとんどの実験で使用される。実施される均一で2点交差のオペレータはそれらの2つで一対のものを一般化することに注目する価値がある。
【0069】
突然変異オペレータ
許容された異なる範囲のため、角度の変化は半径の変化から異なって実行される。コーシー変化は両方の場合に使用される。突然変異オペレータのスケーリング要素ηは固定されるが、角度及び半径が異なる。半径が変化すると、突然変異は検索スペースの縁部から「反射」される(例えば、ポールが現在、0.9の半径を有しており、変化は+0.3であり、それは(1.0−0.2)=0.8となる)。角度が変化すると、その値は±πで終了される。
【0070】
全てのポールとゼロの位置の間に強い相互関係があり、変化する単一ポール及びゼロは適応度を改善させることを起こりにくくさせることを認める。一方、同時に全ての値を変化させることは遺伝子型を非常に乱させるように思われる。折衷案として、以下のアプローチが使用される。それぞれの遺伝子が遺伝子型のとき、この遺伝子が当然変異するかどうかについて任意の決定がなされる。突然変異の可能性は平均で2又は3個の遺伝子が遺伝子型毎に突然変異するように設定される。
【0071】
促進すると共に維持する変化
かなり複雑なデジタルフィルターを設計する時、アルゴリズムが検索しなければならない検索スペースは通常、非常に大きい。検索スペースは非常に相互に関連し、多くの大きい、人を誤らせる、低い適応度のローカルな最適度を有している。単純なEAはローカルな最適度において早期に容易に収束可能であり、許容可能な結果を見つける困難さを有している。
【0072】
早期の収束を防止するため、母集団変化が進化を通して促進されると共に維持される。母集団変化はパレート最適化、適応度分割及びクラスター化を使用して達成されてもよい。
【0073】
パレート適応度
フィルター性能は、一般的に、多目的である。パレート適応度に基づく選択計画はEAのための自然な選択である。パレート選択において、かなり多数の基準が使用可能である。優性に基づく個体間の部分的次数だけは確立される必要がある。その適応度が、少なくとも1つの基準により他の適応度より高く、残りの基準により他の適応度と同様に良い場合、1つの個体は他方を支配する。母集団は通常、多数の優位でない個体を含んでおり、それは「パレートフロント(pareto front)」と呼ばれる。パレートフロントの個体の中で、どれが他より良いかを言うことはできない。
【0074】
パレートフロントの異なる領域からの異なる個体は非常に異なる遺伝子型を有することができる。それらは支配されていないので、お互いに直接競争しない。異なる基準のため最適化を可能にしながら、パレート適応度(及び選択)は検索スペースでEAに異なる領域を探させることができる。そのような方法は同一の母集団において異なる高適応度の設計を維持することができる。
【0075】
適応度分割
パレート最適化が検索スペースにおいて異なる領域の探索を許容している間、それはEAに選択圧力を導入せず、変化を増大させる。そのため、ほとんどのパレート最適化計画はニッチ又は適応度分割を実行する。適応度分割は個体の生の適応度を変更するために使用される技術に関連し、「同様の」個体が適応度を分割するようになっており、すなわち、それらの適応度の値を減少させ、類似の基準が適応度分割技術の重要問題となる。2つの個体の類似性はそれらの間の遺伝子型距離によりここに定義されている。
【0076】
以前の研究により示されているように、適応度分割は、進化において母集団の変化を増加させると共に維持し、異なる個体の発見を促進することができる。適応度分割は進化的設計システムにおいて母集団の変化を非常に増加させると共に維持させることに貢献することが分かった。
【0077】
類似基準
遺伝子型は実数値の対から構成されている。各対は複素数平面の点を示している。そのため、2つの遺伝子型の一致点の間のユークリッド距離はそれらの間の一定の距離として使用可能である。角度が無視されるこれらの対には特別の注意が払われなければならない(単一ポール、単一ゼロ、及び全体スケール)。一定の角度はそのような場合に使用される。点は単に遺伝子型の位置に一致される。ポールとゼロは分類されない。2つの個体が同一のポール又はゼロを偶然有したが、遺伝子型内の異なる次数にある場合、それらはそれらの間の大きな距離を有するだろう。その距離は全ての対において蓄積され、2つの遺伝子型の間の全体距離を与える。
【0078】
距離計算はデカルト座標で行われる。適応度分割の変換時間を減少させるため、それぞれの遺伝子型は極座標に等しいデカルトをキャッシュに入れる。
【0079】
適応度分割とは別に、距離計算はまた説明したようにクラスター化を要求される。
分割された適応度
適応度分割は同一の「ニッチ」を占有する母集団の他の個体数により個体の生の適応度を変更する。距離計算は計算的に高価なので、それぞれの個体は母集団の個体の小さい任意のサンプルに比較されるだけである。これは陰関数表示の適応度分割に幾分類似している。上記計算したように2つの個体間の距離が閾値距離(すなわち、ニッチ半径)以下の場合、個体の「ニッチ数」は距離に反比例する値で増加される。ニッチ数はこの個体が比較されるサンプル数でそれを割ることにより標準化される。
【0080】
現在の分割アルゴリズムでは、全体の結合適応度だけは分割を受けやすい。低い適応度がより良くなるように適応度が定義されるので、適応度分割はゼロでないニッチ数の個体のための適応度を増加する必要がある。分割適応度は、fitness*(1.0+nicheCount*c8)として計算され、c8は分割の程度を調節するパラメータである。アルゴリズムには他のパラメータ、例えば、ニッチ半径及び母集団から得られたサンプル数がある。
【0081】
より柔軟性を許容するため、結合適応度、分割適応度、及び標準化ニッチ数はすべて選択可能である。
クラスター毎の自己適応分割
適応度分割の重要なパラメータは分割(ニッチ)半径である。それが大きすぎる場合、多過ぎる個体が半径内になり、個体の分割値の間にほとんど差がなくなる。半径が小さ過ぎ、少ない個体だけがニッチ半径内の他の個体を有し、再度、ニッチサイズについての情報はほとんど得られない。クラスターしている進化的アルゴリズムの作動の間、最初の母集団での検索スペースにおいて等しく分配された個体から、後の少ないクラスターに集中された個体まで、個体の分布は著しく変化する。さらにその上、異なるクラスターは適応度の景観の形状により異なる分布を有するだろう。幾つかの適応度のピークでは、個体は他のピークより共に非常に厳しい。この理由のため、本発明の好適な実施例によると、ニッチ半径は一定ではないが、現在の母集団分布によるクラスター毎のバイアスにおいて計算される。それぞれの世代では、特定のクラスターのために現在の半径を使用する分割計算後、クラスターのための新しい半径は、好ましくは、そのクラスターの個体の現在の平均遺伝子型距離の0.5倍として計算される。
【0082】
クラスター化
パレート選択はそれらが支配されない限りパレートフロントの個体を共存させる。適応度分割は母集団変化を増加させると共に維持させるのに役立つことができる。これらの2つの技術は母集団に残存する優位な個体を助けるのにはあまり役に立たない。
【0083】
大きな設計スペースの異なる領域のための検索及び異なる高品質の解決策を発見するため、優位でない個体はほとんどの選択計画で好適とされ、しばしば、母集団の大部分を作り出す。一度、パレートフロントが確立されると、それは更なる検索を支配するだろう。
【0084】
パレートフロントは少なくとも1つの目的物により適応度が非常に良好な「最高」領域を有しているが、他の目的物については非常に悪い。それはまた非常に良くも悪くもない異なる目的物による適応度の幾つかの「折衷」領域をも有している。図4は2つの目的物が考えられる時のそのような2つの状況を示している。図面では、最高の領域は適応度1又は適応度2が1より低いものである。折衷領域は残りのスペースである。目的物の1つによる適応度が許容するには悪過ぎるので、我々が最高領域に興味がないことは明らかである。折衷領域にはさらに追跡する価値のある非常に多くの可能性のある解決策がある。
【0085】
パレート選択及び適応度分割が進化的システムで使用される時、母集団の個体は同一のポールゼロ構成の小さな変化となる傾向があった。パレート選択及び適応度分割だけは異なる設計を徹底的に生成するのに十分ではない。これは2段階のクラスター化アルゴリズムを使用して実行される。最初の位相では、アルゴリズムは大スペースを検索し、その意図は可能な限り多くの「良い」クラスターを発見することである。それぞれのクラスターにとって、別のパレートフロントが維持され、それにより、単一のクラスターがパレートフロントを支配することができないことを保証する。2番目の位相では、アルゴリズムは事実上別々に全てのクラスターを検索し、遺伝子材料はクラスター間で交換されない。
【0086】
パレート選択、適応度分割は興味のある有望な結果を作り出す。良い解決策はしばしば、長時間、最良の「結合適応度」によりそれらの優勢を維持する1又は2個のクラスターにより非常に早く見つけることができる。しかし、より良い解決策は、1又は2個のクラスターがそれらの限界に接近し、改善を停止する時、他のクラスターから結局現れるだろう。クラスター化は母集団の変化を増加すると共に維持するために役立つだけでなく、より良い解決策を見つけるのに役立つ。
【0087】
パレート選択、適応度分割及びクラスター化を使用する1つの欠点は、余分な計算時間が掛かることである。より良く新しい設計解決策を得るため、時間が十分に費やされ、その時間は同一の設計を提供するために人間の設計者により使用される時間より非常に短いが、それにも拘らず、可能か限り計算時間を減少することが望まれる。説明される適応できる制約の使用は著しく計算時間を減少可能である。
【0088】
適応度評価
設計タスクは通常、多目的であり、設計の品質を決めることは困難なことがあるので、適応度評価は設計における興味深い問題である。適応度評価は3段階で行われる。第1に、遺伝子型は前述した関数により表現型に変換される。この表現型はフィルターの伝達関数である。第2に、周波数応答が規則的な間隔で伝達関数をサンプリングすることにより得られる。(異なる目的物による)多数の適応度の値が周波数応答から計算される。第3に、適応度分割が行われる。
【0089】
周波数応答の生成
伝達関数は本質的に2つの積の商である。それぞれの積は、(z−zpn)又は(z−zzn)の形式の多数の項を含んでおり、zpn及びzznは遺伝子型から得られたポールとゼロである(式2参照)。単一周波数のためのフィルター応答は、z=ejw、合計、積及び最終的な商を計算することにより容易に計算可能である。0≦ω≦2πのための計算の繰返しが周波数応答を供給する。
【0090】
全ての計算は複素数を含む。非常に多くの項を有する自明でないフィルターにとって、周波数応答を計算するためにはかなりの計算努力が要求される。ポールとゼロが実数軸上か共役複素数対にあるかのいずれかを考慮に入れた場合、計算時間の小さな節約が達成可能である。計算努力は計算で使用されるサンプル数に直接依存する。実際に、通過帯域と停止帯域のため異なるサンプリング割合を使用することが意味を成すことがよくある。サンプルの数及び配置は設計の異なる目的物に異なる影響を有する。幾つかの目的物(すなわち、それらの目的物による適応度の値)はサンプルの数及び配置にかなり敏感であり、他は敏感でない。この感度の問題は進化的アプローチに特定されない。それは、人間の熟練者による設計を含めて、フィルター設計への他のアプローチにおいて同様に発生する。 適応度の値はそれぞれの帯域のために別々に計算される。
【0091】
通過帯域及び遷移帯域
人間の熟練者は、通常、遷移帯域でのフィルターの性能に制約を課すことはない。しかし、しばしば、遷移帯域の振幅での「オーバースウィング」は図5で示されたように発生することを見出した。換言すれば、カットオフ周波数に非常に近い信号は強く増幅されるだろう。これは信号をひずませることがある。そのため、遷移帯域は我々のシステムの通過帯域、すなわち、以下の項目(1)及び(2)での通過帯域のための適応度の値の幾つかに含まれていた。
【0092】
通過帯域及び遷移帯域の適応度の評価で計算される。したがって、通過帯域及び遷移帯域のための基準は次の通りである。
1.信号が1.0以上の領域の通過帯域及び遷移帯域における振幅1.0からの(dBでの)最大偏差
2.遷移帯域を含めて信号が1.0以上の場合に、振幅が許容帯域外のすべてのサンプルにおける、(振幅/最大許容振幅)4−1の合計、遷移帯域を含めて信号が1.0より小さい場合に、振幅が許容帯域外のすべてのサンプルにおける、(最小許容振幅/振幅)4−1の合計
3.通過帯域だけにおける、蓄積された誤り、すなわち、Σ(振幅−1.0)2
4.集団遅れにおける目的の集団遅れからの最大偏差
5.集団遅れが許容帯域外のすべてのサンプルにおける、(遅れ−最大許容遅れ)8−1又は(最小許容遅れ−遅れ)8−1の合計
【0093】
停止帯域
停止帯域では、信号の位相は無視される。3つの値が振幅のために計算される。停止帯域のための基準は次の通りである。
6.dBに変換される通過帯域における最大振幅は以下の通りである。
最大振幅<0.99の場合、1/(−20*log10(最大振幅))
そうでない場合、11.455*20*(1+log10(最大振幅/0.99))
2番目の形式は、実際にローパス動作を行わないが、停止帯域で1.0以上の振幅を有するフィルターに有用な結果を作るために要求される。
7.振幅が許容帯域外のすべてのサンプルにおける、(振幅/最大許容振幅)4−1の合計
8.停止帯域における振幅の蓄積された平方
全て(1〜8)の場合、より小さい値が常に良い。そのシステムは「適応度」を最小にするために実行される。1〜8の場合は全体としてフィルターの設計のための8個の基準セットを供給する。
【0094】
結合適応度
多目的最適化問題のため、全ての目的物による全ての他の個体より良い単一の最良の個体はめったにない。換言すれば、進化的検索を通じて正しい方向に進化を導くことのできる(より正確にはその適応度の値となる)単一の目的物はない。我々は全ての目的物を考慮に入れることが必要である。我々の仕事では、異なる適応度の値の加重合計として計算される結合適応度を採用した。我々のほとんどの経験では、結合適応度の関数は上記した項目(1)、(4)及び(6)の加重合計である。使用される重みはそれぞれ、10,10及び100である。
【0095】
親の選択
親の選択はEAsの性能に大きな影響を有する。我々の大部分の実験は以下の4つの方法の1つを使用して行っている。
1.結合適応度を使用するトーナメント選択
2.分割適応度を使用するトーナメント選択
3.ニッチ数を使用する優勢によるトーナメント選択、1つの個体が支配されないが、他はそうではない場合、支配されていない個体がトーナメントを勝つ。そうでなければ、最小のニッチ数の個体が勝つ。
4.クラスターサイズを使用する優勢によるトーナメント選択、上記と同様であるが、ニッチ数の代わりに、同一のクラスターの個体数が使用される。
【0096】
現在、母集団の最良の個体の質と母集団の変化との間の交換条件を上記2つが供給すると信じられている。
交換戦略
交換戦略は次世代を生き残る全ての親と子孫のプールから個体を選択するために使用される。これは上述した親の選択とは異なる。我々は進化的システムで多数の交換戦略を実行している。クラスターベースの交換戦略は非常に効果的であることが分かった。
【0097】
クラスター化交換戦略は4段階から構成されている。第1段階では、個体はクラスターの1つに割り当てられる。優位でない個体が確認される。次の2段階では、これらの優位でない個体のどれが次世代に生き残るかについての決定がなされる。最後に、次世代に残っている場所が全ての親及び子孫のプールの残っている個体により満たされる。
パレートフロントのクラスター化及び識別
最近の検索はパレート最適化のエリート主義の利点を証明している。エリート主義のパレート最適化では、パレートフロントの仲間は外部の「店」に移動され、生存のために他の個体と競争しなくてもよい。我々はこれの簡略化バージョンを実行する。パレートフロントの仲間は我々の場合には母集団の一部のままであるが、優位でないと記録される。結果として、大部分のそれらは自動的に次世代に生き残る。
【0098】
クラスター化のため、1以上のパレートフロントが進化的システムの母集団に存在する。クラスター化の動機付けは複数のパレートフロントを維持し、それらがお互いに対して競争しないようになっていることである。
【0099】
交換戦略の第1段階はそれぞれの個体がクラスターの1つに割り当てられることを保証することである。クラスターの数は全体の動作において一定である。(しかし、幾つかのクラスターは空であってもよい)。アルゴリズムのそれぞれの単一の動作は3つの段階を有しており、クラスター化は異なる方法で行われる。
最初の段階:最初の母集団が生成された後、それは上述したように計算された遺伝子型間の距離によりk手段のクラスター化アルゴリズムを使用してクラスターされる。k手段のクラスター化の結果として、クラスター中心は各クラスターのために確立される。
探求段階:この段階の目的は興味ある結果を作り出す機会を有する十分な数の異なるクラスターを確認することである。この段階では、母集団は少なくとも全てのn世代で再クラスター化される(我々の大部分の実験ではn=100)。同一のクラスターからの親間の交差により、又は単一の親の突然変異により生成された子孫は親と同一のクラスターに割り当てられる。他の子孫は中心がそれに最も近いクラスターに割り当てられる。最も近い中心への距離が母集団の2つのクラスター中心間の最大距離のm倍(我々の大部分の実験ではmは約1.8)以上の場合、完全な再クラスター化が発生する。この段階は予め設定された世代数(例えば、1000回)続く。
搾取段階:再クラスター化及び内部クラスター交差は他のクラスターを「汚す」1つのクラスターからの遺伝子材料となることがある。この材料が非常に成功した場合、最終的に全てのクラスターを収束させる。これは異なる設計解決策の発見には有用ではない。そのため、搾取段階ではすべてのクラスターが凍結される。交差は同一のクラスターからの親の間で許容されるだけである。再クラスター化は行われない。結果としてクラスター間に遺伝子情報の相互交換はない。すべての新しい子孫はそれらの親からクラスター情報を受け継ぐだろう。勿論、それぞれのクラスター内に非常に異なる遺伝子型が現れることは可能であり、通常、観察可能である。そのような異なる遺伝子型はクラスターのパレートフロントの異なる領域を最も構成しそうである。
【0100】
結局、子孫はクラスターに割り当てられ、新しいパレートフロントが計算される。これはクラスター毎ベースで行われる。第1に、子孫での優位でない個体が計算される。その後、これらは以前の優位でない個体により併合される。個体はまた上述したように現在の適応度の制約に対してチェックされる。
【0101】
減少するパレートフロント
エリート主義のパレート選択の大部分の手段では、パレートフロントの個体数は作動を通して連続的に成長するだろう。パレートフロントから周期的に個体を取り除き、フロント及び母集団が成長し過ぎるのを防止することが必要である。フロントの個体数が予め設定された閾値以上の時はいつでも、個体はクラスターのパレートフロントから取り除かれる。
【0102】
一般的に言うと、非常に類似する個体を維持することはあまり刺激的ではないので、非常に類似する多くの個体が見出された時はいつでも個体は取り除かれるべきである。これを達成するため、全ての個体は「対」にされ、2個が対となり、その後、次の最小距離の2個の個体が対となったり等する。各個体は1つだけそのような対になることを許容される。それぞれの対内では、1個の個体が取り除かれる。このプロセスは個体の十分な数が取り除かれるまで繰り返される。取り除かれる個体の数は予め設定されたパラメータである。
【0103】
どの対の個体が取り除かれるかについての決定は個体の結合適応度に基づいている。より良い個体が生存する。母集団の最良の個体は減少操作において母集団から取り除かれないだろう。
強化する制約
パレート選択を使用すると、不十分な適応度の値の個体はそれらが他の個体により支配されない限り依然として生存することができる。例えば、それらは停止帯域で信号の抑圧を最小にし、同一の母集団において他のフィルターと非常に異なるので、最後の母集団は信号を通過させない「フィルター」を容易に含むことができる。これらの最高の個体はパレートフロントにおいて個体の大部分を作り上げ、フロントの折衷領域において見込みのある個体を圧搾する。
【0104】
パレートフロントにおいてそのような最高の個体の数を制限することは個体にとって数種の制約を有するために有用である。不幸にも、これらの制約を設定することは困難である。厳しい制約は最高の個体の数を制限するが、それは潜在的に良い個体を除外する危険性をも内在している。この問題に打ち勝つため、自己適応機構が使用され、母集団において現在達成された適応度の値に動的に制約のベクトルを適応させる。
【0105】
全てのn世代のため、制約は「最終制約ベクトル」(FCV)により強化される。このベクトルは適応度の値と同様に多くの要素を有している。それの値は予め定義されている。それらは作動の最後に適用される制約である。典型的に、現在の最終的な制約は予想される「最良の個体」の性能の約3〜4倍に設定されている。第2のベクトルの「現在の制約ベクトル」(CCV)は最悪の可能性の適応度の値(最小化の場合には正の無限大)により初期化される。
【0106】
それぞれの特定の適応度基準のため、この特定の適応度のための最良の値による個体、最良の全体の結合適応度による個体、この特定の適応度のための最悪の値による個体の3つの異なる集団が分類される。
【0107】
全ての適応度の基準を考える時、個体は1つ以上の集団にあることがある。特に、1つの適応度基準のため第1集団の個体は異なる適応度の基準のための第3集団にあることもよくある。例えば、停止帯域で最良の信号の減衰を有する個体は通過帯域において最大の振幅の偏差を有することがあるだろう。
【0108】
概して、個体の第1集団は、それらの個体が通常、1以上の他の適応度基準により不十分であるため、第3集団に連結されることがよくある。第2集団はそれが有用な折衷案として解決策を作り出すのに最も有望な時に重要である。第2集団の個体での進化的検索に集中するため、次のアルゴリズムが使用される。
1.それぞれの適応度基準のために最悪な個体を見つける。
2.それぞれの適応度基準のため、母集団の現在の最悪の値に対するFCVの値の商を計算する。最大の商を有する基準が強化のために選択される。
3.以前の段階で選択された基準により全ての優位でない個体を分類する。
4.削除のため最悪のn個の個体を明らかにし、それらにしるしをつける(nは所定のパラメータであり、例えば、サイズ1400の母集団のための0.5%)。
5.最悪の残存する個体により達成されるものに選択された基準の値を設定することによりCCVを更新する。
【0109】
CCVはどの個体がパレートフロントにあるべきかを決定するのに使用される。その1以上の適応度の値がCCVの値より悪い個体が母集団において許容されるが、優位でないものとしてしるしをつけられない。それはパレートフロンドの一部とならないだろう。CCVの値は上記アルゴリズムが動作する度に減少するだろう。減少速度は進化の経過による。一度、CCVの値がFCVのそれに達すると、それはさらに減少しないだろう。
【0110】
最良の結合適応度を有する個体が母集団から取り除かれることは可能である。これがどのように発生するかは主に、それぞれの強化の間に取り除かれる個体数に依存する。強化速度は重要である。早い強化は進化の初期の発展を非常に改善させるが、非常に有望な個体を取り除くことがある。有望な個体は、一般的に異なる基準間で妥協されるからである。それらは単一基準によって最良となりそうになく、したがって、取り除くことができるだろう。実際に、少しの個体だけを取り除くには十分である。
【0111】
制約強化の他の可能な効果は、特にそのクラスターの全ての個体が「最高の」適応度の値を有する時のクラスターのすべての個体の除去である。これが起こると、アルゴリズムは残りのクラスターのパレートフロントの許容サイズを自動的に増加させるだろう。これは、アルゴリズムが残りのクラスターに集中することができるので非常に有用である。ある意味では、競争の制限度合いがクラスター間に導入され、不十分なクラスターが消滅に追い立てられるだろう。
【0112】
優位な個体
結局、優位でない個体は次世代のために考えられ、次世代の空の場所は優位な個体により満たされるだろう。どの個体が母集団で生き残るかを決定するため、すべての親及び子孫のプールの優位なすべての個体は結合適応度、分割適応度、又はニッチ数のいずれかにより分類される。これらの個体の最良のものは次世代に生き残る。
他の交換戦略
上述した交換戦略に加えて、他の戦略が使用されてもよい。クラスター化のない動作のため、エリート主義のパレート選択計画が使用可能である。この選択機構は上述したそれの簡略化バージョンである。それはクラスター化を使用しないから、1つだけのパレートフロントが維持される。選択は適応度の値に制約を課さない。他の戦略は簡単な省略戦略であり、最良の個体が次世代に生き残る。
【0113】
図6〜18は進化したフィルター設計の質を評価するため人間の熟練者により生成されたものと比べて、説明された進化的システムを使用してなされた設計の結果を示している。
【0114】
説明したすべての結果では、300サンプルが通過帯域で使用され、200が停止帯域で使用された。公平な比較を行うため、我々の進化的システムのものと全く同じサンプリング及び適応度の計算方法を使用して、人間の熟練者により与えられる設計のために適応度の値が計算されている。サンプリングすると共に概数にするため、フィルターの計算された適応度の値は類似するが、正確には人間の熟練者により報告されたものと同じではない。
【0115】
2つのテスト問題
両方のテスト問題は、僅かに異なるポール及びゼロ、カットオフ周波数、及び遅れ及び振幅の目的のローパスフィルターである。
【0116】
問題ケース1:ωp=0.2、ωa=0.28、最大振幅偏差0.1dB、最小停止帯域減衰43dB、集団遅れ=最大偏差0.35の11サンプル、7ゼロ対、1単一ゼロ、2ポール対、1ポール単一、原点で10ポールの等級15。
【0117】
問題ケース2:ωp=0.25、ωa=0.3、最大振幅偏差0.3dB、最小停止帯域減衰32dB、集団遅れ=最大偏差0.5の9サンプル、6ゼロ対、単一ゼロなし、5ポール対、1ポール単一、原点で1ポールの等級12。
【0118】
個体を表現する遺伝子型はケース1のために12対の数及びケース2のために13対の数を要求する。ケース1で人間の設計のために適応度を計算する時、振幅曲線は僅かに高過ぎると思われることに注目される。b0のための値が上述したW.S.Luの論文で与えられるように、−0.00046047から−0.000456475に変更された時、適応度の値は論文で与えられるそれに非常に類似するようになる。その公表された論文に活字又は純粋な誤りがあると信じられている。それは周波数応答の計算の概数により引き起こされたのかもしれない。正確な値はすべての以下の性能比較において使用されている。
【0119】
進化的システムの性能
以下の表2は設計ケース1の3つの動作の結果を示している。それは、作動1で使用される全てのクラスター及び作動2及び3の3つの最良のクラスターのため、最良の結合適応度のクラスターの個体の性能を列挙している。表3は設計ケース2の同様の結果を示している。表の第1列は、フィルターの質を評価するためにW.S.Luの論文で人間の熟練者により提案された性能基準を示している。表2において、PbmaxAmpは(dBでの)通過帯域の最大振幅偏差であり、PbmaxDelは(サンプルでの)通過帯域最大遅れ偏差であり、SbmaxAmpは(dBでの)停止帯域の最大振幅の逆数である。
【0120】
幾つかの観察が表2からすぐになされる。第1に、作動1のため20個のクラスターから3個は空であり、制約を強化し、より有望なクラスターに集中するために説明された技術が動作するようになることを示している。
【0121】
第2に、人間の熟練者により設計されたフィルターより性能が優れている少なくとも1つのよりよい設計がそれぞれの作動に含まれている。すべての設計基準を考える結合適応度によれば、作動1における4番目及び14番目のクラスターの最良の個体はそれぞれ6.085と6.046の性能を達成し、それは人間の熟練者により得られた6.293より良い。作動2の4番目のクラスター及び作動3の2番目のクラスターの最良の個体はそれぞれ5.702と5.760を達成し、それは人間の設計以上の9.4%及び8.5%の性能の改善を示している。作動3の19番目のクラスターの最良の個体はまた僅かだけだが人間の設計より性能が優れている。
【0122】
第3に、含まれた設計は精密な調査により分かるようにお互いとはかなり異なっている。例えば、両方の設計は同様の結合適応度の値を有しているとはいえ、作動2の4番目のクラスターの最良の個体は通過帯域で極端に小さい最大遅れ偏差(0.043)を有しており、作動3の2番目のクラスターの個体は通過帯域で非常に小さい最大振幅偏差を有している。これらの2つのサンプルは異なる設計を発見するのに進化的システムの力を示している。EAsは人間の設計者により調査されるそれより遥かに大きい設計スペースを検索することができる。
【0123】
第4に、結合適応度はなお悪いけれども、表2には1つだけの進化した設計(作動1の9番目のクラスターの最良の個体)があり、停止帯域による人間の設計より良い性能を達成した。これは人間の設計において0.023の停止帯域の性能が克服するのに非常に厳しいことを示していることは明白である。同時に、これはまた我々の進化的システムを改善するための方向を指摘し、すなわち、進化的検索においてこの基準をもっと強調するようにSbmaxAmpのための重みを増加させる。
【0124】
表3は第2のテスト問題の結果を示している。表3は表2により示されたものと同様の点を示している。作動4と5の両方は人間の設計、作動4の15番目のクラスター及び作動5の17番目のクラスターの最良の個体よりよい個体を作り出す。
【0125】
表2及び3の結果に導いた実験では、作動1,2及び4は表2及び3の列3〜5の結合適応度及び3つの適応度の値を使用した。作動2及び5では、二次的誤り(すなわち、セクション3.5の基準(3)及び(8))はまた優勢を決定すると共に制約を計算するのに使用された。適応度の評価で考えられる他の値は単一点での情報を与えるだけだから、れらの値は全体の帯域において計算され、設計についてもっと情報を供給すべきである。平方の誤りの最適化はまたより良い結果を見つけるためさらなる「経路」をEAに与える。
【0126】
表 2
【0127】
表 3
【0128】
作動1,2,4及び5は1400の母集団サイズを使用して50,000世代のため作動した。70個体の最大は各クラスターのパレートフロントで許容され、パレートフロントを減少後、50の最小が許容された。作動3は同一のパラメータを使用したが、67,000世代において作動した。50,000世代の作動は、典型的に、500MHzのペンティアム(登録商標)のコンピュータで1.5日掛かる。
【0129】
図6及び7はシステムの進化的プロセスを示している。図面の曲線は母集団の最良の適応度を示している。図面は適応度が約50,000番目の世代でさえ依然として向上していることを示している。我々が実験をより長く行っていた場合、より良い設計が見つけられるように見える。計算時間が長い程、解答が良くなるというのは常に真実とは限らないことを指摘する価値がある。十分な母集団の変化があった時だけ、EAはその検索において進歩することができる。我々のシステムで実行されるパレートの最適化、適応度の分割及びクラスター化のため、我々は他のEAsより非常に長い時間、現在の進化的システムにおいて高レベルで母集団の変化を維持することができる。それは世代数が増加された場合により良い性能が予想される主な理由の1つである。
【0130】
進化した設計の例
比較の目的のため、図8及び9は人間の熟練者が設計した2つのフィルターを示している。各図の左側はフィルターの応答を示している。上の曲線は振幅である。下の曲線はフィルターの集団遅れを示している。3つの垂直線はω=ωp、ω=0.25、ω=ωaを示している。振幅と遅れ曲線は両方とも一様目盛を使用する。図面の右手側には、伝達関数のポールとゼロが示されている。ポールは十字により示され、ゼロは丸で示されている。
【0131】
図10及び16は進化的フィルター設計を示している。図10及び11は作動1において最良(14)と次に最良のクラスター(4)のうち、最も優良な個体を示している。図12は作動2の中で最良(4)のクラスターのうち最も優良の個体を示し、図13は作動3の中で最良のクラスター(2)からの最も優良な個体を示している。ポールゼロの図は設計の違いを検証する上でかなり容易に比較できる。問題ケース1として、作動1の14番目のクラスターからの進化的設計(図10)と作動2の4番目のクラスターからのそれ(図12)とは、類似したポールゼロの図を有している。図11のポールゼロの図(作動1の4番目のクラスターの中で最良の個体)と図13(作動3の2番目のクラスターからの最良の個体)もまたお互いに類似している。しかし、それらは図8の人間が設計したポールゼロの図とはすべてが非常に異なる。それらは人間の設計者が通常、そのような設計にならない意味において確かに新しい。
【0132】
異なる設計の発見は問題ケース2の進化的フィルターによりもっと明確に示されておりほとんどすべての進化的設計(図14〜16)はお互いに及び人間の設計と明確に異なる。図14及び15は各々、作動4の最良と次に最良のクラスターからの最良の個体を示している。これらは各々クラスター14と20からのものである。図16は5番目の作動の最良のクラスター17からの最良の個体を示している。
【0133】
進化的設計と人間の設計との比較
図17及び18は最良の進化的設計(作動3のクラスター2)と人間の設計を比較したもので、詳細には問題ケース1のため、図面の中で参照設計と名称付けされている。図17では、振幅の対数目盛は停止帯域の性能での違いを強調している。進化的設計の方が明らかに良い。挿入図が示しているように、通過帯域の性能が顕著に良く見える(つまり良い)。
【0134】
図18は遅れの点でも進化的フィルター設計の方がなぜ良い性能を有しているかを明確に示している。その性能は通過帯域のちょうど終わりの値によって決定される。進化的フィルターは終わりで上がっているので、かなり良い適合度を有している。この図面はまたサンプル周波数と位置がなぜそれほど重要かを説明している。つまり、この地点での遅れは非常に鋭い勾配になっており、サンプルの位置のどんな変化も大きい値の変化をもたらす。
【0135】
その他の実験
上記の結果に加えて、我々は我々が発見したものも含め、違った技術の賛否を評価するため、異なる選択計画及び置換戦略を使用していくつかの実験を行った。例えば、上述した「最悪置換」戦略は多くの実験において使用された。この戦略は弱い個体に対してより強力な選択圧力を有し、敏速な収束度を促進する。予想されているように、それは計算時間をより短くするが、満足の解答を得られなくなる危険性を有している。
【0136】
初めから進化的設計を開始するよりむしろ、我々はかなり良い人間の設計を既に有する度に、可能な限り人間の設計の情報を活用しながら、進化的較正が有益であることを認識した。これを成し遂げるために、我々は人間の設計から変化した個体の初期の母集団の小部分(10%)を初期化した。変化した人間の設計のそのような小部分は、多くの母集団の変化を消うことなく、有効な染色体を母集団に導く可能性があるだろう。予備的な結果はその初期化が非常に短時間で人間の設計を超えて10%の性能向上に導くことができることを証明している。進化的な解答は人間の設計に類似する傾向があるので、そのような改善が大部分十分に調整されることを、精密な分析は示した。しかし、幾つかのパラメーターの十分な調整は再び重大な性能に導く。多くの工業製品は出荷までに調整と較正が必要となる為、我々の実験は、EAsがそのようなタスクにとって非常に有望な較正と適切な調整ツールとなり得ることを示している。
【0137】
説明した実施例は新しく今までにない設計の発見を強調する進化的設計システムを供給する。デジタルフィルターの設計は、パレート最適化、適応度の分割、クラスター化等のような技術を使用して、進化的システムがいかに異なるフィルターを進化させるかを説明する例としていままで使用されてきた。多くの技術が我々のシステムで実行されると共に実験された。実験結果は、進化的計算技術が人間の熟練者が設計したものと非常に違う設計を進化させるために効果的に使用可能であることがわかる。進化的設計はしばしば人間の設計したものより良好な成果を上げる。この成功の主な理由の一つは、もっとずっと大きな設計空間を調査し、結果として、人間の設計者によって監視された設計を発見するEAの能力である。
【0138】
進化的設計の一つの欠点は、その長い計算時間である。しかし、進化的設計は時間を消費するが、それは、少なくとも一部分、人間の設計者が異なる設計の代案を試みると共に試験することから開放する。進化的設計システムに要する時間は時には人間の設計者が良い設計を作るのに要する時間より短くてすむ場合もあるだろう。
【0139】
進化的な計算技術は発見エンジンとしてだけでなく同様に問題解決のツールとしても使用可能である。このシステムは高性能な設計を進化させる。進化した設計に隠れた良い設計者の発見や抽出は新しい設計原理又は構成に導くかもしれないし、それは毎回、進化的システムに立ち返ることなく、異なる設計タスクに使用可能であろう。
【0140】
EAを使用するハードウェアの設計は伝統的な設計とは非常に異なる。進化的な設計は経験が乏しく、非常に予備的である。それはそれに対して競争するより伝統的な設計を補完する。伝統的な設計はほとんどの設計者が従う現存するアプローチに関連している。伝統的な設計は通常、決定論的なアルゴリズム、又は確立されたモデルから設計を得る手順を使用する。例えば、二次プログラミングは人間の熟練者によるフィルター設計に使用されていた。
【0141】
進化的な設計システムにおける多目的最適化問題として設計問題を定式化することは比較的簡単である。進化的な設計システムは開発されなければならないので、そのシステムのセットアップコストは高いが、システムが開発された後に動作させるのは比較的安価である。例えば、異なるフィルターが必要とされた時、進化的な設計システムは容易にそれぞれのフィルターのための適応度評価関数を使用する。しかし、全く異なるアルゴリズムは人間の熟練者により使用される伝統的なアプローチにおいて異なるフィルターのため開発されなければならない。
【0142】
表4はハードウェア設計に対する伝統的なアプローチと進化的なアプローチの主な相違点及び類似点を要約している。これらの比較の幾つかはフィルター設計問題に特有であり、そのため、例示である。
【0143】
表 4
【0144】
目標及び制約が決定される方法は設計の結果に重要な影響を有することがある。進化的な設計アプローチでは、目標及び制約は適応度関数及び染色体(遺伝子型)に直接符号化される。適応度関数は目標が使用されるものは何でも、例えば、線形振幅からの最大偏差を直接測定する。制約は適応度関数の一部分を作るか、又は染色体に符号化するかのいずれかが可能である。例えば、我々の染色体表現は不安定なフィルターが進化において生成されないことを保証する。結果として、安定性の試験は必要ではない。これは実行可能な設計スペースを犠牲にすることなく達成される。
【0145】
フィルター設計への伝統的なアプローチでは、幾つかの安定した設計を実際に除外する制約を線形にする必要がある。換言すれば、実行可能な調査スペースは伝統的なアプローチにより考えられるのを取り除かれる。その上さらに、「最大値を最小化する」形の目標は容易に線形できないので、最適化は全体の関数に加重された最小の二次的誤りを使用して実際に行われる。すなわち、最適化されたものは最適化されるべきものと全く同じとは限らない。伝統的なアルゴリズムは大きい加重された平方誤りを有するが最大誤りを小さくする良好な設計になり損なうかもしれない。
【0146】
説明した発明を具現化する方法を実行するために使用されるソフトウェアはジャバ(登録商標)で開発され、構成ファイルを特定することによりアーキテクチャのプラグの回りに作られ、モジュールは操作を行うためにロードされる。これはオペレータの異なる組合せを調査可能にする。モジュールの2つの異なる種類が使用される。進化的アルゴリズムの基本的な部分はインターフェースにより定義され、1以上のモジュールはそれぞれのインターフェースを実行するために設計される。モジュールの他のセットは基本のフック可能なインターフェースだけを実行し、これらのモジュールはロードにおいて一定のフックを登録する。これらはメタレベルのオペレータをアルゴリズムの構造に誘導可能である。モジュール依存性があり、例えば、モジュールは要求されたフックを作動させ、「メタレベル」のモジュールを活動させることが重要である。モジュールはそれらが要求された時に実行されるだけである。
【0147】
ジャバはすべてのモジュール対象をファイルするために簡単にセーブさせることができ、すべての作動データはセーブされるようになっている。しかし、ジャバでは、このデータは、一度、対象が変更されると、再度ロードされることはできない。したがって、単一の方法をクラスに付加することはセーブされた作動データをロード不可能にさせるだろう。そのため、すべてのモジュールはそれらの作動データをセーブし、別々にファイルしなければならない。これは、データ形式が変わらないとの条件でファイルが変わった時に依然として作動するだろう。
【0148】
基本モジュールは、以下の通りである。
ローダー:これは実際にはモジュールではないが、唯一の一定のエレメントである。それはすべてのモジュールをロードし、初期化したフックを作動し、作動が再始動した時にセーブされたデータを再ロードする処理を行う。
ループ:基本の進化的アルゴリズムを実行し、進化的及び選択モジュールと呼ばれ、各ループの初め及び終わりにフックを作動させる。
遺伝子型工場:選択された表現に適切な遺伝子型を作り出す。
母集団:母集団の蓄積を行い、個体を母集団に追加、除去及び選択を許容する。現在使用されているモジュールは単一の母集団を実行するが、分配モデルも可能であろう。
親の選択:母集団からの親の選択をする義務がある。
遺伝子:二項演算子モジュール及び単項演算子モジュールを使用して、親を取ると共に子孫のリストを戻す。
二項演算子:1以上の二項遺伝子演算子、例えば、交差を実行する。
単項演算子:単項遺伝子演算子、通常、突然変異を実行する。
評価:固体のリストを取り、それらを評価し、現在、すべての個体が連続して評価されているが、分配評価が可能である。
適応度関数:評価により使用され、単一の個体の適応度を計算する。
置換:現在の母集団と新世代への子孫とを結合する。
終結:作動が終了した場合に「本当(true)」に戻る。
統計値:ループ数、母集団サイズ、最良及び平均適応度等の基本的な統計値を保有する。
【0149】
次のモジュールはメタレベルの関数を実行する。モジュールのどれがロードされるかはEAローダーに通過するプロパティファイルに依存する。モジュールは適当なフックに依存し、基本モジュール内から作動される。
適応度分割:それぞれの評価の後に作動され、それぞれのループの後、適応度分割を実行する。
注入解法(InjectSolutions)作動:初期の個体が作られた後、公知の解法から作られた固体を注入する。
プリント統計値:スクリーン上に統計値をプリントする。
セーブ統計値:統計値をセーブし、ファイルする。
セーブ作動:規則的に「saveYouself」フックを作動し、すべてのモジュールに命令し、それらのデータをセーブし、ファイルする。
応答プロッター:最良の個体を記入する。
【0150】
この説明はローパスデジタルフィルターに関連して与えられた。デジタルフィルター設計はそれを進化的アプローチに適させる多くの特徴を有している。稀に、フィルターは相互連結部の限定されたセットにより比較的少数の高レベルエレメントから作られることができ、そのため、有用な設計は進化的アルゴリズムによって探求されうる調査スペック内となる可能性がある。また、シミュレーション又はハードウェアのいずれかにおいて、デジタルフィルターを試験することは比較的簡単で早い。
【0151】
設計されるフィルターのタイプにより、伝統的な設計方法はあまり有効でない。線形のフィードバックのないフィルター(FIRフィルター)の設計は一般的に簡単であるが、フィードバックのあるフィルター(IIRフィルター)にとって、設計方法は特定のタイプのフィルターのために存在するだけである。非線形フィルターは解析的に処理することはほとんど不可能であり、そのため、設計するのが非常に難しい。
【0152】
最後に移動通信のような分野では、チャンネル特性の変化は適応できる設計を必要とするだろう。進化的HWに基づくフィルターは、フィルターへの構造を「移動中」に異なる環境に適応させることができる。伝統的な設計では、可能性のある唯一の適応はフィルター回路、通常はFIRフィルターの係数の変化である。
【0153】
対照的に、数学共同プロセッサー又は同様の種類のデバイスの設計は、多くの理由のため、あまり好ましいアプリケーション領域にはならない。一般的に、その設計は調査用の非常に大きい調査スペースを含めて、非常に大きく複雑になりがちである。また、入力の数と内部状態のため、もし本当に可能な場合には、試験が非常に遅くなる。全体として、これは進化的アプローチのためタスクを非常に難しくする。
【0154】
一方、ユニットを設計する方法について多量の情報が入手可能であり、新しい環境へのハードウェアの適応は一般的に要求されない。そのため、伝統的な設計方法は、そのような設計タスクにもっと有用となる可能性がある。
【0155】
以上より、本発明の方法は多くの他のタイプのハードウェア部品を設計するのに適していることが分かる。網羅的でないリストは、ハイオーダー、アナログフィルター、アナログ増幅器、アナログ回路、電磁画像阻止ミキサー、アナログフィルター較正器、非線形デジタルフィルター、デジタルイコライザー、ロスの少ないデジタル画像圧縮を含んでいる。このリストは数例を与えるために含まれているだけである。当業者にとって、多くの他のものが可能であり、思い浮かぶだろう。
【図面の簡単な説明】
【0156】
【図1】進化的ハードウェアの進化的サイクルにおける主要ステップの概略図である。
【図2】周波数応答の制約を示す可能なローパスフィルターの振幅と集団の遅れを示している。
【図3】進化的アルゴリズムの枠組みを示している。
【図4】パレートフロントの異なる領域を示している。
【図5】仮の進化的システムにより作られたローパスフィルターの遷移帯における振幅のオーバスウィングを示している。
【図6】第1及び第2の作動のための母集団の最良の適応度のグラフを示している。
【図7】第4及び第5の作動のための母集団の最良の適応度のグラフを示している。
【図8】右手側のポールゼロのプロットと共にそれぞれの第1及び第2の問題のため人間が設計したフィルターのために、振幅及び集団の遅れ応答を示している。
【図9】右手側のポールゼロのプロットと共にそれぞれの第1及び第2の問題のため人間が設計したフィルターのために、振幅及び集団の遅れ応答を示している。
【図10】作動1の問題ケース1の最良のクラスターからの最良の個体を示す、図8及び9と同様のグラフである。
【図11】作動1の問題ケース1の第2の最良のクラスターからの最良の個体を示す、図8及び図9と同様のグラフである。
【図12】作動2の問題ケース1の最良のクラスターからの最良の個体を示す、図8及び9と同様のグラフである。
【図13】作動3の問題ケース1の最良のクラスターからの最良の個体を示す、図8及び9と同様のグラフである。
【図14】作動4の問題ケース2の最良のクラスターからのテストの個体を示す、図10と同様のグラフである。
【図15】作動4の問題ケース2の第2の最良のクラスターからのテストの個体を示す、図10と同様のグラフである。
【図16】作動5の問題ケース2の最良のクラスターからのテストの個体を示す、図10と同様のグラフである。
【図17】作動3から人間基準の設計と進化した設計との振幅の比較を示している。
【図18】作動3から人間基準の設計と進化した設計との遅れの比較を示している。
Claims (27)
- 進化的アルゴリズムを使用してハードウェアエレメントを設計する方法であって、
a)ハードウェアエレメントの最初の母集団を供給するステップと、
b)前記最初の母集団を染色体として符号化するステップと、
c)多目的適応度基準により前記最初の母集団のそれぞれの適応度を評価するステップと、
d)前記最初の母集団の適応度評価に基づいて親の染色体を選択するステップと、
e)前記選択した親の染色体に遺伝子操作を適用し、子孫の母集団を作り出すステップと、
f)前記親及び子孫の染色体から複数のクラスターを形成すると共にそれぞれのクラスターのための優位でない染色体のパレートフロントを形成することを含めて、前記親及び子孫の染色体から新しい染色体セットを選択するステップと、
g)所定の終了基準が満たされるまで、前記新しい染色体セットのためにステップc)〜f)を繰り返し、新しい世代を形成するステップと、
を備えていることを特徴とする方法。 - 前記親及び子孫の染色体をクラスター化するステップは、遺伝子型間の距離に基づいてクラスターを形成することを含んでいる請求項1に記載の方法。
- n世代後に再度クラスター化することを含んでいる請求項1又は2に記載の方法。
- 再度クラスター化するステップにおいて、同一のクラスターにおいて1つの親又は2つの親を有する子孫は前記親のクラスターに再度クラスター化され、他の子孫は最も近い中心を有するクラスターに割り当てられる請求項3に記載の方法。
- 所定回数、再度クラスター化を行った後、前記クラスターは固定される請求項3又は4に記載の方法。
- 前記再度クラスター化された染色体のそれぞれのクラスターのため、新しいパレートフロントを形成することを含んでいる請求項3,4又は5に記載の方法。
- 前記クラスターの数が固定されている前記請求項のいずれか1の請求項に記載の方法。
- 前記フロントの前記個体数が所定の閾値を超えた時にパレートフロントから染色体を取り除くことを含んでいる前記請求項のいずれか1の請求項に記載の方法。
- 前記染色体を取り除くステップは、最小の遺伝子型の距離により最小に分割された染色体を対にし、低い適応度を有する前記対から前記染色体を取り除くことを含んでいる請求項8に記載の方法。
- 制約を強化することを適用し、クラスターのパレートフロントから染色体を除去することを含んでいる前記請求項のいずれか1の請求項に記載の方法。
- 前記制約を強化することを適用するステップは、その又はそれぞれの適応度基準のため最悪の個体を確認し、その確認された個体の最後の制約ベクトルの値の商を計算し、最悪の商を有する個体を除去することを含んでいる請求項10に記載の方法。
- 前記親の染色体の選択は前記適応度基準上の染色体の結合適応度に基づいている前記請求項のいずれか1の請求項に記載の方法。
- 結合適応度は適応度基準の加重合計である請求項12に記載の方法。
- 前記親の染色体の選択は、分割適応度に基づいており、前記個体の適応度は適応度ニッチを占有する他の個体の数により変更される請求1〜11のいずれか1の請求項に記載の方法。
- 前記親の染色体の選択は、優位でない個体の好みに基づいており、優位でない個体、最小のニッチ数の間にある請求項1〜11のいずれか1の請求項に記載の方法。
- 前記親の染色体の選択は、優位でない個体の好みに基づいており、優位でない個体、個体が属するクラスターのサイズの間にある請求項1〜11のいずれか1の請求項に記載の方法。
- 前記親の染色体に対する遺伝子操作の適用は、親の染色体の突然変異を含んでいる前記請求項のいずれか1の請求項に記載の方法。
- 前記親の染色体に対する遺伝子操作の適用は、遺伝子の交差を含んでいる前記請求項のいずれか1の請求項に記載の方法。
- 前記交差は二点交差を含んでいる請求項18に記載の方法。
- 進化的アルゴリズムを使用してハードウェアエレメントを再設計する方法であって、
前記ハードウェアエレメントの染色体の表現に対して遺伝子操作を適用することにより、存在するハードウェアエレメントから子孫の母集団を発生させるステップと、
染色体の複数のクラスターを形成すると共にそれぞれのクラスターのため優位でない個体のパレートフロントを形成することを含めて、前記存在する子孫の染色体から新しい染色体セットを選択するステップと、
1以上の基準によりそれぞれの個体の適応度を評価するステップと、
前記適応度の評価に基づいて親の染色体を選択するステップと、
子孫の染色体の新しいセットが形成され、所定の性能又は他の基準を満たすまで、新しい染色体セットを選択し、適応度を評価し、及び親の選択を行うステップを繰り返すステップと、
を備えていることを特徴とする方法。 - 前記ハードウェア部品はデジタルフィルターであり、前記染色体は前記フィルターのポールゼロ記述を含む遺伝子型を有している前記請求項のいずれか1の請求項に記載の方法。
- 前記染色体の表現型は前記フィルターの伝達関数である請求項21に記載の方法。
- 請求項1〜22のいずれか1の請求項に記載の方法により設計されたハードウェア部品。
- 請求項1〜22のいずれか1の請求項に記載の方法により設計されたデジタルフィルター。
- コンピュータ上で作動している時に、前記コンピュータに請求項1〜22のいずれか1の請求項に記載の方法を実行させるコンピュータプログラム製品。
- コンピュータ上で作動している時に、前記コンピュータに請求項1〜22のいずれか1の請求項に記載の方法を実行させるコンピュータプログラム。
- 進化的アルゴリズムを使用して設計を最適化する方法であって、
a)設計エレメントの最初の母集団を供給するステップと、
b)前記最初の母集団を染色体として符号化するステップと、
c)多目的適応度基準により前記最初の母集団のそれぞれの適応度を評価するステップと、
d)前記最初の母集団の適応度評価に基づいて親の染色体を選択するステップと、
e)前記選択した親の染色体に遺伝子操作を適用し、子孫の母集団を作り出すステップと、
f)前記親及び子孫の染色体から複数のクラスターを形成すると共にそれぞれのクラスターのための優位でない染色体のパレートフロントを形成することを含めて、前記親及び子孫の染色体から新しい染色体セットを選択するステップと、
g)所定の終了基準が満たされるまで、前記新しい染色体セットのためにステップc)〜f)を繰り返し、新しい世代を形成するステップと、
を備えていることを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0106459.1A GB0106459D0 (en) | 2001-03-15 | 2001-03-15 | Hardware design using evolutionary algorithms |
PCT/GB2002/001157 WO2002075650A2 (en) | 2001-03-15 | 2002-03-13 | Hardware design using evolution algorithms |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004532454A true JP2004532454A (ja) | 2004-10-21 |
Family
ID=9910780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002574585A Pending JP2004532454A (ja) | 2001-03-15 | 2002-03-13 | 進化的アルゴリズムを使用するハードウェア設計 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20090313191A1 (ja) |
EP (1) | EP1388123B1 (ja) |
JP (1) | JP2004532454A (ja) |
CN (1) | CN1529873A (ja) |
AT (1) | ATE407410T1 (ja) |
CA (1) | CA2440343A1 (ja) |
DE (1) | DE60228701D1 (ja) |
GB (1) | GB0106459D0 (ja) |
WO (1) | WO2002075650A2 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2411502A (en) * | 2002-12-13 | 2005-08-31 | Hewlett Packard Development Co | System design using artifical intelligence |
US7337154B2 (en) * | 2003-05-19 | 2008-02-26 | Raytheon Company | Method for solving the binary minimization problem and a variant thereof |
JP2006295580A (ja) * | 2005-04-12 | 2006-10-26 | Matsushita Electric Ind Co Ltd | アンテナの製造方法及び通信機器の製造方法 |
CN1751857B (zh) * | 2005-09-27 | 2010-04-28 | 上海理工大学 | 恒力磨削滤波器的自动优化设计方法 |
US20090037352A1 (en) * | 2007-08-01 | 2009-02-05 | Electronic Data Systems Corporation | System and method for automated determination of solutions to known equations |
HUE034642T2 (en) | 2008-02-12 | 2018-02-28 | Codexis Inc | A method for selecting an optimized diverse population of variants |
US7996344B1 (en) * | 2010-03-08 | 2011-08-09 | Livermore Software Technology Corporation | Multi-objective evolutionary algorithm based engineering design optimization |
CN102117480A (zh) * | 2011-03-08 | 2011-07-06 | 武汉大学 | 基于函数级演化硬件的图像空间域滤波系统及方法 |
US9201652B2 (en) * | 2011-05-03 | 2015-12-01 | Qualcomm Incorporated | Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy |
CN102254225B (zh) * | 2011-06-03 | 2013-09-25 | 中国科学院西安光学精密机械研究所 | 基于趋向型紧凑遗传算法的演化硬件实现方法 |
US8838510B2 (en) | 2011-09-16 | 2014-09-16 | International Business Machines Corporation | Choosing pattern recognition algorithms and data features using a genetic algorithm |
CN103107963A (zh) * | 2013-01-09 | 2013-05-15 | 王少夫 | 一种基于混合遗传算法的宽带匹配网络优化方法 |
US10311358B2 (en) * | 2015-07-10 | 2019-06-04 | The Aerospace Corporation | Systems and methods for multi-objective evolutionary algorithms with category discovery |
US10474952B2 (en) | 2015-09-08 | 2019-11-12 | The Aerospace Corporation | Systems and methods for multi-objective optimizations with live updates |
US10387779B2 (en) | 2015-12-09 | 2019-08-20 | The Aerospace Corporation | Systems and methods for multi-objective evolutionary algorithms with soft constraints |
US10402728B2 (en) | 2016-04-08 | 2019-09-03 | The Aerospace Corporation | Systems and methods for multi-objective heuristics with conditional genes |
US11379730B2 (en) | 2016-06-16 | 2022-07-05 | The Aerospace Corporation | Progressive objective addition in multi-objective heuristic systems and methods |
US11676038B2 (en) | 2016-09-16 | 2023-06-13 | The Aerospace Corporation | Systems and methods for multi-objective optimizations with objective space mapping |
US10474953B2 (en) | 2016-09-19 | 2019-11-12 | The Aerospace Corporation | Systems and methods for multi-objective optimizations with decision variable perturbations |
CN106254008B (zh) * | 2016-10-09 | 2019-06-11 | 哈尔滨工程大学 | 一种能量采集绿色认知无线电的频谱感知方法 |
US10360500B2 (en) * | 2017-04-20 | 2019-07-23 | Sas Institute Inc. | Two-phase distributed neural network training system |
CN107885910B (zh) * | 2017-10-23 | 2023-10-13 | 苏州大学 | 一种基于演化策略的近似电路逻辑综合优化方法 |
CN108519944B (zh) * | 2018-03-07 | 2019-04-05 | 北京航空航天大学 | 一种基于噪声共振的软件加速测试技术的构建方法 |
CN108345250B (zh) * | 2018-03-08 | 2020-04-21 | 河南科技大学 | 一种演化硬件无延迟控制装置 |
US20220108186A1 (en) * | 2020-10-02 | 2022-04-07 | Francisco Daniel Filip Duarte | Niche Ranking Method |
CN112182974B (zh) * | 2020-10-09 | 2022-04-26 | 中国人民解放军陆军工程大学 | 一种神经元电路演化设计方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2974900B2 (ja) * | 1993-12-13 | 1999-11-10 | 株式会社 エイ・ティ・アール人間情報通信研究所 | 自律進化型ハードウェア設計システム |
US5867397A (en) * | 1996-02-20 | 1999-02-02 | John R. Koza | Method and apparatus for automated design of complex structures using genetic programming |
US5940816A (en) * | 1997-01-29 | 1999-08-17 | International Business Machines Corporation | Multi-objective decision-support methodology |
US6757667B1 (en) * | 2000-04-12 | 2004-06-29 | Unilever Home & Personal Care Usa, Division Of Conopco, Inc. | Method for optimizing formulations |
GB2362481B (en) * | 2000-05-09 | 2004-12-01 | Rolls Royce Plc | Fault diagnosis |
US7630928B2 (en) * | 2004-02-20 | 2009-12-08 | General Electric Company | Systems and methods for multi-objective portfolio analysis and decision-making using visualization techniques |
-
2001
- 2001-03-15 GB GBGB0106459.1A patent/GB0106459D0/en not_active Ceased
-
2002
- 2002-03-13 DE DE60228701T patent/DE60228701D1/de not_active Expired - Lifetime
- 2002-03-13 CN CNA028097548A patent/CN1529873A/zh active Pending
- 2002-03-13 WO PCT/GB2002/001157 patent/WO2002075650A2/en active IP Right Grant
- 2002-03-13 EP EP02706925A patent/EP1388123B1/en not_active Expired - Lifetime
- 2002-03-13 CA CA002440343A patent/CA2440343A1/en not_active Abandoned
- 2002-03-13 US US10/473,685 patent/US20090313191A1/en not_active Abandoned
- 2002-03-13 AT AT02706925T patent/ATE407410T1/de not_active IP Right Cessation
- 2002-03-13 JP JP2002574585A patent/JP2004532454A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2002075650A3 (en) | 2003-11-27 |
CN1529873A (zh) | 2004-09-15 |
CA2440343A1 (en) | 2002-09-26 |
US20090313191A1 (en) | 2009-12-17 |
DE60228701D1 (de) | 2008-10-16 |
WO2002075650A2 (en) | 2002-09-26 |
GB0106459D0 (en) | 2001-05-02 |
ATE407410T1 (de) | 2008-09-15 |
EP1388123B1 (en) | 2008-09-03 |
EP1388123A2 (en) | 2004-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004532454A (ja) | 進化的アルゴリズムを使用するハードウェア設計 | |
Laumanns et al. | On the effects of archiving, elitism, and density based selection in evolutionary multi-objective optimization | |
Andersson | A survey of multiobjective optimization in engineering design | |
Yen et al. | Dynamic multiobjective evolutionary algorithm: adaptive cell-based rank and density estimation | |
Wang et al. | Architecture evolution of convolutional neural network using monarch butterfly optimization | |
Ewees et al. | A new multi-objective optimization algorithm combined with opposition-based learning | |
Parsa et al. | Pabo: Pseudo agent-based multi-objective bayesian hyperparameter optimization for efficient neural accelerator design | |
Chen et al. | A fast memetic multi-objective differential evolution for multi-tasking optimization | |
CN109344969B (zh) | 神经网络系统及其训练方法以及计算机可读介质 | |
Leung et al. | Parameter control system of evolutionary algorithm that is aided by the entire search history | |
Schnier et al. | Digital filter design using multiple pareto fronts | |
JP2019191887A (ja) | 最適化計算方法、最適化計算プログラム及び最適化計算装置 | |
JP7137074B2 (ja) | 最適化計算方法、最適化計算装置及び最適化計算プログラム | |
Iannuzzi et al. | Optimal tolerancing: the link between design and manufacturing productivity | |
Yang et al. | A particle swarm optimization-based approach with local search for predicting protein folding | |
Rastegar et al. | A new fine-grained evolutionary algorithm based on cellular learning automata | |
Valdez et al. | A meta-heuristic for topology optimization using probabilistic learning | |
Sarker et al. | An evolutionary algorithm for constrained multiobjective optimization problems | |
CN112749082B (zh) | 一种基于de-th算法的测试用例生成方法及系统 | |
Li et al. | A surrogate-assisted offspring generation method for expensive multi-objective optimization problems | |
Uday et al. | Implementation and Validation of NSGA-II Algorithm for Constrained and Unconstrained Multi-Objective Optimization Problem | |
Hacker et al. | Tuning a hybrid optimization algorithm by determining the modality of the design space | |
Li et al. | Surrogate-Assisted Evolution of Convolutional Neural Networks by Collaboratively Optimizing the Basic Blocks and Topologies | |
Cuevas et al. | Multimodal States of Matter Search | |
Wu et al. | Digital filter design using evolutionary algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050302 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20070201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070702 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071002 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081104 |