アルゴリズム:: Evolve :: ilt進化的アルゴリズムで使用するための便利な効用関数。 | |
今すぐダウンロード |
アルゴリズム:: Evolve :: ilt ランキングとまとめ
広告
- ライセンス:
- Perl Artistic License
- 価格:
- FREE
- 出版社名:
- Mike Rosulek
- 出版社のWebサイト:
- http://search.cpan.org/rosulek/Weather-Bug-0.01/lib/Weather/Bug.pm
アルゴリズム:: Evolve :: ilt タグ
アルゴリズム:: Evolve :: ilt 説明
進化的アルゴリズムで使用するためのいくつかの便利な効用関数 アルゴリズム:: evolve :: utilは、進化的Algorithmsで使用するための便利なユーティリティ関数を持つPerlモジュールです.synopsis Algorithm :: Evolve :: util ':str';アルゴリズム:: evolve :: util ':arr'; Syntaxatモーメントは、このモジュールはString-およびArray-Manglingユーティリティのみを提供します。それらはそれぞれ使用引数 ':str'および ':arg'でインポートすることができます。以下の説明では、遺伝子は文字列または配列参照のいずれかを指します。遺伝子内の位置は、文字列遺伝子の単一文字と、Array Genes.Str_crossover($ String1、$ String2 )ARR_CROSSOVER(@ array1、@ array2 )を指す(@ array1、@ array2 )。 2つの特定の遺伝子間のN点交差$ nのデフォルトは2になりますが、これは強制されませんが、2つの入力は同じ長さになります。 $ nも遺伝子の大きさよりも小さくなければなりません。クロスオーバー操作に慣れていない場合、それはこのように機能します:互いの上に2つの遺伝子を置きます。ランダムにN個の位置を選択し、各位置に両方の遺伝子を切断する。今度は他の一対のセグメントを交換し、その遺伝子をバックアップします。そのため、文字列遺伝子AAAAAAとBBBBBB上の2つの可能な2点交差点は、2つの遺伝子ABBAAAとBAABBBを生成します(ここでは、ここで2つの「カット」が1位と3位の位置).STR_AGREEMENT($ String1、$ String2)arr_agreement(@ array1 、@ array2)2つの遺伝子が同意する位置の数を返します。結果が幾分無意味であっても、それらが同じサイズを持つことを執行しません。これをオーバーライドして(遅くする)Unicodeに優しい文字列比較を使用するには、$ ALGORITHM :: Evolve :: util :: Unicode_Stringsを真の値に設定します。ハミングメトリック、および編集距離メトリックではありません。編集距離は、同様に使用する面白いフィットネスかもしれません。 2つのstrings.str_mutate($ string1 )arr_mutate(@ array1])の編集距離を計算する少なくとも2つのモジュール(Text :: Levenshtein and Text :: Levenshteinxs)があります。 、$ num ))与えられたアルファベットに従って遺伝子のランダムな突然変異を返します(デフォルトは{0,1})。 $ numが1未満である場合、それは確率的な突然変異を実行し、各位置は変異される可能性がある。 $ numが1以上である場合、それはN点突然変異を実行します。 $ numのデフォルトは1になります。 。次のアイデンティティは、n-pointの突然変異に保持されています:str_agreement(str_mutate($ sone_string、$ n、$ n、@ n、@ n、@ n、@ alph)、$ some_string)==長さ($ some_string) - $ n文字列遺伝子のアルファベットは単一の文字で構成されていますあなたがしていることを知らない限り。考えられるように、長さの文字列を含むアルファベットを使用して「追加」と「削除」変異を実装することができます!アレイ遺伝子の場合、アルファベットはあなたにとって意味があるものだけであり得ます.str_random($ size )ARR_RANDOM($ size )与えられたアルファベットの上に与えられたサイズのランダム遺伝子を返します。 {0,1}。要件: ・Perl
アルゴリズム:: Evolve :: ilt 関連ソフトウェア