記事「母集団最適化アルゴリズム:2進数遺伝的アルゴリズム(BGA)(第1回)」についてのディスカッション

 

新しい記事「母集団最適化アルゴリズム:2進数遺伝的アルゴリズム(BGA)(第1回)」はパブリッシュされました:

この記事では、2進数遺伝的アルゴリズムやその他の集団アルゴリズムで使用されるさまざまな手法を探ります。選択、交叉、突然変異といったアルゴリズムの主な構成要素と、それらが最適化に与える影響について見ていきます。さらに、データの表示手法と、それが最適化結果に与える影響についても研究します。

最適化問題の入力はしばしば「特徴量」と呼ばれ、最適化アルゴリズムのロジックで使用するためには、一定の方法で表現する必要があります。遺伝学では、これらの特徴は表現型と遺伝子型に分けられます。表現型は最適化されるパラメータの外見であり、遺伝子型はアルゴリズムにおける表現方法です。ほとんどの最適化アルゴリズムでは、表現型は遺伝子型と同じで実数で表されます。遺伝子は最適化されたパラメータであり、染色体は遺伝子の集合、すなわち最適化されたパラメータの集合です。

分数を表現するために実数データ表現が使用されます。実数には小数部と分数部があり、小数点で区切られています。例えば、3.14と0.5は実数です。

一方、データの2進表現は、2つの記号を使用して数値を表現する2進数システムを使用します。0と1で、各桁はビット(2進数)と呼ばれます。例えば、数字5を2進数で表すと101となります。


データの実数表現と2進表現の主な違いは、数値の符号化方法です。実数は通常、浮動小数点数を表現するための形式を定義したIEEE 754などの標準規格を使用してエンコードされます。MQL5言語では、doubleデータ型は実数に使用され、数字の有効数字16桁を表すことができます。つまり、合計桁数は16を超えることはできません。例えば、「9 999 999 999 999 999.0」、「9 999 999.999 999 99」、「0.999 999 999 999 999 9」では、小数点の前後に合計16桁の「9」が存在します。なぜこれが重要なのかは、もう少し後で説明します。

実数はプログラムを書いたり日常生活で使用するのに便利で、2進数は計算機システムや論理演算、ビット演算などの低レベルの演算をおこなうときに使用されます。

作者: Andrey Dik