まえがき
フィードバックにより、この投稿を思い出すことが決定されたので、今読んでより楽しく有益なレッスンになることを願っています。 私はすべての願いを最大限に考慮に入れようとしました。まえがき
先ほど書いたように、ヒューリスティックな方法(かなり一般的でも未知でも)をカバーしたいという要望があります。
この投稿は、このトピックがあなたの興味を引くかどうかを理解することを目的としています。 まあ、私が間違っていなかったことを願っています。 読者に紹介したい最初の方法は、調和検索(HS)メソッドです。

歴史的背景
では、どこから始まったのでしょうか? それはすべてそれほど前ではありませんでした。 2001年、Geemは独自の高調波検索アルゴリズム(Harmony Search、またはHS)を開発および提案しました。 このアルゴリズムはジャズミュージシャンに触発されたと主張する著者もいれば、基本は心地よいメロディーを作成するプロセスにすぎないと言う著者もいます。 これは本質を変えません。 唯一の重要なことは、経験豊富なミュージシャンが他のミュージシャンと素早く演奏し、美しいものを即興演奏できることです。 これがアルゴリズムの基礎となりました。
戦略
クラシックHSは、調和メモリの概念を使用します(遺伝的アルゴリズムの親プールに似ています)。 以下は、最適化問題の近似解を表す保存されたベクトルです。 最初に、最大または最小(必要なものに応じて)が検査される領域でランダムに生成されます。 このメモリのサイズは当然制限されています。 その後
、即興の
魔法 (アルゴリズムの反復部分)を開始します。
即興演奏自体は次のとおりです。
- テストベクトルが生成されます(絶対にランダムに、またはメモリからのベクトルを使用して)。
- テストベクトルが変更されます(テストベクトルがメモリを使用して作成された場合、コンポーネントにわずかなシフトがあります)。
- 修正されたトライアルベクトルは、利用可能な最悪のものを置き換えます。
長所と短所
長所:
- シンプルさ(実装と理解の両方)。 確かに、アルゴリズムには操作が積まれていません(実際には、乱数の生成とベクトルの変更のみです)。
- かなり少数の構成可能なパラメーターと、パラメーターを選択するための推奨事項の可用性。
- ゼロ次法です(数値微分の必要がないため、このプロセスに関連するすべての困難があります)。
- このメソッドは、他のメソッド(たとえば、ミームアルゴリズム、または遺伝的アルゴリズムの追加の輪郭)に簡単かつ便利に組み込まれます。
短所:
- 収束率が低い;
- 私の意見では、この方法は大規模な問題(アニーリングシミュレーション方法など)を解決するのにあまり適していません。これは、この方法を構成する操作が単純であるためです(この場合、同じ遺伝的アルゴリズムは1桁速く動作します)。
使用したソース
- Zong Woo Geem、音楽にヒントを得たハーモニー検索アルゴリズム(Springer)
- ウィキペディア
- Chukiat Worasucheepが執筆した記事(HSバリエーションへのリンクがあります)、
- 私の好きな作家であり学者でもあるXin-She Yang の記事 。
あとがき
私は良い伝統を確立したい-投票によって将来のポストのトピックを決定する。 だから、次の投稿のトピックに投票したいすべての人への要求。