記事「母集団最適化アルゴリズム:ハーモニーサーチ(HS)」についてのディスカッション

 

新しい記事「母集団最適化アルゴリズム:ハーモニーサーチ(HS)」はパブリッシュされました:

今回は、完璧な音のハーモニーを見つける過程に着想を得た、最も強力な最適化アルゴリズムであるハーモニーサーチ(HS)を研究し、検証してみます。私たちの評価でトップになるのはどのアルゴリズムでしょうか。

HSロジックの仕事は、完璧なハーモニーを生み出す音楽家の仕事と似ています。音楽家は、完璧なハーモニーを見つけるまで、音色を色々変化させようとします。その後、見つかったハーモニーのコレクションはメモリに保存されます。最適化問題において、ハーモニーは様々な変化を遂げます。変化の結果が好ましいものであれば、メモリにハーモニーを追加し、好ましくない要素を取り除くことでメモリを更新します。これだけだと、かなりわかりにくいかもしれません。ハーモニーとは何でしょうか。音色とは何でしょうか。自分たちの言葉でアルゴリズムを理解してみましょう。

曲とは何でしょうか。もちろん、私は音楽家ではなく(これは残念なことですが)、プログラマーです。しかし、アルゴリズム検出のためには、「音符」という概念を適用すれば十分でしょう。曲は、音符(和音)で構成されています。図1は、曲を構築するための「仕組み」を模式的に示したものです。音符の選択は曲になっており、音楽のセンスがなくても音楽教育を受けていなくても容易に特定できます。当てたい方は、以下のコメント欄にご記入ください。

HSアルゴリズムの最適化は、音符が描かれた緑のバーを曲自体の青いバーを横切って移動させることにあります。緑色のバーの範囲は1オクターブで、個々の音で構成されています。プロダクト(青色のバー)は、最適化ソリューションの1つに相当します。緑色のバーの音符は、問題の最適化パラメータに対応するものです。音楽家の記憶(メモリ)には、曲のいくつかのバージョン(青いバーのいくつかのバリエーション)が保存されています。これがアルゴリズム母集団です。



HSachord

図1:曲の音符の選択(ハーモニーの探索)。青色のバーが曲、緑色のバーが音符のセット

図1の例は、離散問題の解に相当し、パラメータが8段階あります。アルゴリズムの動作を理解しやすくするために、例を挙げています。しかし、任意のタスクでは、最適化されたパラメータの任意の段階が存在し、中間音である半音も存在する可能性があります。問題を解くための正しいパラメータは、曲中の正しい音符に対応しています。

作者: Andrey Dik