プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

遺伝的アルゴリズムとは何ですか?


遺伝的アルゴリズムは、遺伝的遺伝の手順を使用した数学的構造です。それらは、さまざまな分析問題にうまく使用されてきました。データマイニングは、人間の理解と情報の自動分析を結び付けて、設計や主要な関係を見つけることができます。

複数の変数で表される大規模なデータベースを考えると、目的はデータベース内で最も興味深い設計を効果的に見つけることです。一部のソフトウェアでは、遺伝的アルゴリズムを使用して興味深いデザインを認識しています。これらは通常、データマイニングで、意思決定ツリーアルゴリズム、別の相関ルールなどの他のアルゴリズムの実行を強化するために使用されます。

遺伝的アルゴリズムには特定のデータ構造が必要でした。それらは、カテゴリー構造で定義された特性を持つ母集団に作用します。遺伝学との類似性は、母集団(遺伝子)に特性が含まれていることです。遺伝的アルゴリズムを実装する方法は、突然変異の機能を備えた演算子(複製、クロスオーバー、選択)を使用して、おそらくより良い組み合わせの生成を改善することです。

遺伝的アルゴリズムの手順は次のとおりです-

  • 親をランダムに選択できます。

  • クロスオーバーで再現するために使用されます。

  • 複製とは、それを処理する単一のエンティティを選択することです。言い換えれば、生存を決定するためにいくつかの客観的なサービスまたは選択機能が必要です。クロスオーバーは、エンティティの将来の生産における変更を説明します。

  • フィットネスサービスを通じて次世代の生存者を選ぶことができます。

  • ミューテーションは、次の操作でランダムに選択されたエンティティのランダムに選択された属性を変換するサービスです。

  • これは、特定のフィットネスレベルが達成されるか、現在の反復回数に達するまで繰り返すことができます。

  • 遺伝的アルゴリズムのパラメーターには、母集団のサイズ、交差率、突然変異率が含まれます。

遺伝的アルゴリズムの利点

遺伝的アルゴリズムの利点は次のとおりです-

  • 遺伝的アルゴリズムは、作成および検証するために非常にアクセスしやすく、使用すると非常に魅力的なものになります。

  • アルゴリズムは並列であり、高い人口に効率的に使用できることを定義しています。このアルゴリズムは、元の不十分なソリューションから開始した場合、すぐに最適なソリューションに進むことができるという点でも効果的です。

  • 突然変異を使用すると、非常に非線形な問題ルールでもグローバル最適を認識するのに適した方法が作成されます。この方法では、情報の配布に関する知識は必要ありません。

遺伝的アルゴリズムのデメリット

  • 遺伝的アルゴリズムでは、遺伝的アルゴリズムが機能するために、属性が離散値を持つ場所にデータセットをマッピングする必要がありました。これは一般的に可能ですが、連続変数を処理するときに大量の詳細データを失う可能性があります。

  • これは、情報をカテゴリ形式にコード化するために使用され、レコードに偏りが生じる可能性があります。

  • 遺伝的アルゴリズムで考慮できるデータセットのサイズのチェックもあります。

  • 非常に巨大なデータセットの場合、サンプリングが重要になります。これにより、同等のデータセットに対して複数の実行にわたって複数の結果が得られます。


  1. JavaScript演算子とは

    「10+20は30に等しい」という簡単な式を考えてみましょう。ここで、10と20はオペランドと呼ばれ、「+」は演算子と呼ばれます。 JavaScriptは、次のタイプの演算子をサポートしています。 算術演算子 比較演算子 論理(またはリレーショナル)演算子 代入演算子 条件付き(または3値)演算子 比較演算子を見てみましょう- JavaScriptは、次の比較演算子をサポートしています。変数Aが10を保持し、変数Bが20を保持すると仮定します- Sr.No 演算子と説明 1 ==(等しい) 2つのオペランドの値が等しいかどうかをチェックし、等しい場合は条件が真

  2. JavaScriptのPromisesとは何ですか?

    Promiseを使用すると、Promiseの作成時に値が事前にわからない非同期操作を実行できます。約束には、保留中、履行済み、拒否済みの3つの状態があります。 以下はJavaScriptのpromiseのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-sc