記事"遺伝的アルゴリズム - とても簡単です!"についてのディスカッション - ページ 3 12345678910...20 新しいコメント Дмитрий Александрович 2010.07.26 13:40 #21 頭の中がゴチャゴチャしていると言ったので、間違った方向に行ってしまった。 ハッシュはコロニー内の重複検索に応用でき、ハッシュを見つける機能をシンプルかつ高速にすることができる。1-2個の重複でも天候に左右されず、結果を損なわないからだ。 Andrey Dik 2010.07.26 15:46 #22 GAアルゴリズムの実行時間は、FFの実行時間と比較にならないほど小さい。したがって、例えばGAをDLLに移行することに意味がないように、アルゴリズムをさらに高速化しようとしても意味がない。要求される結果の精度を維持したまま、FFの実行回数を減らす努力をすべきなのだ。アルゴリズムには、この目的のための柔軟な設定がある。その上、一般的なGAと特に演算子の検索品質を改善することにより、検索時間をさらに短縮することができる。これらの方向に研究の可能性を向けることを推奨する。 Дмитрий Александрович 2010.07.26 16:19 #23 joo:GAアルゴリズムの実行時間は、FFの実行時間と比較にならないほど小さい。したがって、例えばGAをDLLに移行することに意味がないように、アルゴリズムをさらに高速化しようとしても意味がない。要求される結果の精度を維持したまま、FFの実行回数を減らす努力をすべきなのだ。アルゴリズムには、この目的のための柔軟な設定がある。その上、一般的なGAと特に演算子の検索品質を改善することによって、検索時間をさらに短縮することができる。これらの方向に研究の可能性を向けることを推奨する。 さて、ライブラリを書いたらすぐにテストして、出てきたものを書きますね)))。 Andrey Dik 2010.08.04 20:56 #24 記事への重要な注意アルゴリズムパラメータFFNormaliseDigitsと GeneNormaliseDigitsフィットネス関数の値と遺伝子を正規化する必要はありません。正規化は、アルゴリズムの探索性の低下とFF実行回数の増加をもたらします。さらに、小数点以下の桁数を捨てれば捨てるほど、アルゴリズムへの悪影響は大きくなります。つまり、正規化操作をアルゴリズムに導入したのは間違いだったのだ。 Precision パラメータで制御されるサンプリング操作と混同しないでください! Andrey Dik 2010.08.04 21:27 #25 FFNormalizeDigitsとGeneNormalizeDigits 適性関数と 遺伝子の値を正規化する必要はない。正規化はアルゴリズムの探索能力を低下させ、開始FFの量を増加させる。また、カンマの後の符号が多ければ多いほど、アルゴリズムへの悪影響が強くなる。 つまり、アルゴリズムに正規化の操作を導入したのは誤りであった。 パラメータPrecisionで 操作される桁上げの操作と混同しないように! Sergey Chalyshev 2010.08.06 23:04 #26 joo:記事への重要な注意アルゴリズムパラメータFFNormaliseDigitsと GeneNormaliseDigitsフィットネス関数の値と遺伝子を正規化する必要はありません。正規化は、アルゴリズムの探索性の低下とFF実行回数の増加をもたらします。さらに、小数点以下の桁数を捨てれば捨てるほど、アルゴリズムへの悪影響は大きくなります。つまり、正規化操作をアルゴリズムに導入したのは間違いだったのだ。 Precision パラメータで制御されるサンプリング操作と混同しないように! したがって、UGAlib ライブラリ自体では、正規化を削除するか、FF でのみ正規化するのがよいでしょう。 Andrey Dik 2010.08.07 09:05 #27 Serj_Che: UGAlib ライブラリ自体で正規化を削除した方が良いのか、FF でのみ削除した方が良いのか。FFNormalizeDigitsは フィットネス値を正規化するためにFFで使用され、GeneNormalizeDigitsは 遺伝子を正規化するためにアルゴリズム自体で使用されます。両方を正規化する必要はありません 。 Sergey Chalyshev 2010.08.07 14:23 #28 joo: FFNormalizeDigitsは フィットネス値を正規化するためにFFで使用され、GeneNormalizeDigitsは 遺伝子を正規化するためにアルゴリズム自体で使用される。両方を正規化する必要はありません 。なるほど。もちろん自分で修正するつもりですが、もし難しくなければUGAlibの修正版を投稿してください。間違えそうで怖いです。 Andrey Dik 2010.08.15 23:13 #29 UGAライブラリとサンプルを記事に更新。現在の無償作者バージョン1.1.0は、記事末尾の本文中のリンクから入手できます。 Alexander Agafonov 2010.08.22 19:36 #30 ライブラリを提供してくれた作者に感謝します!親検索関数のループ内に "cnt++; "という行を追加する! //Отбор двух родителей.void SelectTwoParents(int &address_mama,int &address_papa){ //-----------------------Переменные------------------------------------- int cnt=1; address_mama=0;//адрес материнской особи в популяции address_papa=0;//адрес отцовской особи в популяции //---------------------------------------------------------------------- //----------------------------Отбор родителей-------------------------- //Десять попыток выбрать разных родителей. while (cnt<=10) { //Для материнской особи address_mama=NaturalSelection(); //Для отцовской особи address_papa=NaturalSelection(); if (address_mama!=address_papa) break; cnt++; } //---------------------------------------------------------------------} Discussion of article "Genetic Questions from Beginners MQL5 Any rookie question, so 12345678910...20 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ハッシュはコロニー内の重複検索に応用でき、ハッシュを見つける機能をシンプルかつ高速にすることができる。1-2個の重複でも天候に左右されず、結果を損なわないからだ。
GAアルゴリズムの実行時間は、FFの実行時間と比較にならないほど小さい。したがって、例えばGAをDLLに移行することに意味がないように、アルゴリズムをさらに高速化しようとしても意味がない。
要求される結果の精度を維持したまま、FFの実行回数を減らす努力をすべきなのだ。アルゴリズムには、この目的のための柔軟な設定がある。その上、一般的なGAと特に演算子の検索品質を改善することにより、検索時間をさらに短縮することができる。これらの方向に研究の可能性を向けることを推奨する。
GAアルゴリズムの実行時間は、FFの実行時間と比較にならないほど小さい。したがって、例えばGAをDLLに移行することに意味がないように、アルゴリズムをさらに高速化しようとしても意味がない。
要求される結果の精度を維持したまま、FFの実行回数を減らす努力をすべきなのだ。アルゴリズムには、この目的のための柔軟な設定がある。その上、一般的なGAと特に演算子の検索品質を改善することによって、検索時間をさらに短縮することができる。これらの方向に研究の可能性を向けることを推奨する。
さて、ライブラリを書いたらすぐにテストして、出てきたものを書きますね)))。
記事への重要な注意
アルゴリズムパラメータ
FFNormaliseDigitsと GeneNormaliseDigits
フィットネス関数の値と遺伝子を正規化する必要はありません。正規化は、アルゴリズムの探索性の低下とFF実行回数の増加をもたらします。さらに、小数点以下の桁数を捨てれば捨てるほど、アルゴリズムへの悪影響は大きくなります。
つまり、正規化操作をアルゴリズムに導入したのは間違いだったのだ。
Precision パラメータで制御されるサンプリング操作と混同しないでください!
FFNormalizeDigitsとGeneNormalizeDigits
適性関数と 遺伝子の値を正規化する必要はない。正規化はアルゴリズムの探索能力を低下させ、開始FFの量を増加させる。また、カンマの後の符号が多ければ多いほど、アルゴリズムへの悪影響が強くなる。 つまり、アルゴリズムに正規化の操作を導入したのは誤りであった。 パラメータ
Precisionで 操作される桁上げの操作と混同しないように!
記事への重要な注意
アルゴリズムパラメータ
FFNormaliseDigitsと GeneNormaliseDigits
フィットネス関数の値と遺伝子を正規化する必要はありません。正規化は、アルゴリズムの探索性の低下とFF実行回数の増加をもたらします。さらに、小数点以下の桁数を捨てれば捨てるほど、アルゴリズムへの悪影響は大きくなります。
つまり、正規化操作をアルゴリズムに導入したのは間違いだったのだ。
Precision パラメータで制御されるサンプリング操作と混同しないように!
UGAlib ライブラリ自体で正規化を削除した方が良いのか、FF でのみ削除した方が良いのか。
FFNormalizeDigitsは フィットネス値を正規化するためにFFで使用され、GeneNormalizeDigitsは 遺伝子を正規化するためにアルゴリズム自体で使用される。両方を正規化する必要はありません 。
なるほど。もちろん自分で修正するつもりですが、もし難しくなければUGAlibの修正版を投稿してください。
間違えそうで怖いです。
ライブラリを提供してくれた作者に感謝します!
親検索関数のループ内に "cnt++; "という行を追加する!
//Отбор двух родителей.
void SelectTwoParents
(
int &address_mama,
int &address_papa
)
{
//-----------------------Переменные-------------------------------------
int cnt=1;
address_mama=0;//адрес материнской особи в популяции
address_papa=0;//адрес отцовской особи в популяции
//----------------------------------------------------------------------
//----------------------------Отбор родителей--------------------------
//Десять попыток выбрать разных родителей.
while (cnt<=10)
{
//Для материнской особи
address_mama=NaturalSelection();
//Для отцовской особи
address_papa=NaturalSelection();
if (address_mama!=address_papa)
break;
cnt++;
}
//---------------------------------------------------------------------
}