最新ニュース

遺伝的アルゴリズムとは?活用事例やアルゴリズムのメリット・デメリットをわかりやすく解説

2024.1.31
遺伝的アルゴリズム

皆さんは遺伝的アルゴリズムをご存じですか?遺伝子アルゴリズムは生物の進化に着想を得て作られた探索アルゴリズムです。一体どのような仕組みで動くものなのか、気になる方も多いのではないでしょうか。

本記事では遺伝子アルゴリズムとは何かに着目し、遺伝的アルゴリズムのメリット・デメリット、活用事例などをご紹介します。

遺伝的アルゴリズムとは?

遺伝的アルゴリズム

遺伝的アルゴリズムとはどういうものなのか、まずは基本的な情報について解説します。

遺伝的アルゴリズムの概要

遺伝的アルゴリズムはGenetic Algorithm、通称GAと呼ばれ、生物の進化に着想を得て作られた最適化アルゴリズムです。遺伝的アルゴリズムには3つの概念が存在しており、この概念を活用しながら、遺伝的アルゴリズムを構成し、探索アルゴリズムとして最適化を図っていきます。

遺伝的アルゴリズムの名の通り、「遺伝子」のように扱われるのが特徴的で、単に選択されていくだけでなく、時に突然変異的な変化がもたらされるのも遺伝的アルゴリズムの特徴です。遺伝的法則をモデル化したもので、タスクへの適応度が高いものが生き残るような仕組みになっています。

遺伝的アルゴリズムの歴史

遺伝的アルゴリズム

遺伝的アルゴリズムは実は1960年代から既に始まっており、1975年には確立されている、比較的古い手法です。ダーウィンの進化論に着想を得る形で作られていき、様々な分野に応用がなされてきました。

その後も初期に構築された遺伝的アルゴリズムの研究を重ね、より改良が行われています。その結果、遺伝的アルゴリズムは様々な進化を遂げており、遺伝的アルゴリズムそのものが進化論の中に生き続け、淘汰されずに残り続けています。

遺伝的アルゴリズムの3つの概念

遺伝的アルゴリズム

遺伝的アルゴリズムには3つの概念が存在し、1つも欠かせません。遺伝的アルゴリズムの基本ともいえる3つの概念についてご紹介します。

選択

選択は生物の世界では宿命的なものと言える自然淘汰をアルゴリズム的に再現したものです。まず一定の個体を用意して、1つの集団を作ります。その集団の中から自然淘汰の作業を行っていき、生き残るものを選んでいきます

この場合の選択にはトーナメントやルーレットがあります。例えばルーレットは適応度の高いものから適応度の高さに応じてルーレットの面の大きさが決まり、個体数に応じてルーレットが回され、選抜されるという仕組みです。

トーナメントは全体からランダムで特定の個数を選び、適応度の高いものを選択し、一定回数まで繰り返していくというやり方です。これらの方法を何度も繰り返し、適応度の高いものを選抜します。

交叉

遺伝的アルゴリズム

交叉は個体が持つ「遺伝子」を組み替えることで新たな個体を作り出していくというものです。交叉を行うことで個体同士のデータが組み合わさり、次の世代につながっていきます。交叉にもいくつかの種類が存在します。

一点交叉法は「遺伝子」に切れ目を入れ、切れ目から後を入れ替えていくというものです。切れ目が2つあるものが二点交叉法です。これによって、次世代にデータが引き継がれます。

突然変異

この過程において突然変異も起こります。突然変異が起きることで全く異なるものへと変化していき、個体群全体の多様性につながります。例えば、突然変異によって全く違う特徴を持ったものに変化することがあるのです。

突然変異に関しては突然変異率として事前に設定ができるため、完全ランダム的な形で決まるようなことにはならず、ある程度コントロールすることも可能です。

遺伝的アルゴリズムで必要となる評価の仕組み

遺伝的アルゴリズム

遺伝的アルゴリズムでは3つの概念によって自然淘汰が重ねられていき、最終的に個体の評価が行われます。この場合の評価では、特定のデータのみをピックアップできるように設定することができます。

例えば、特定のデータがあれば点数を高くつけるような形で設定し、クリアしたものだけでまた次の淘汰に向けたサイクルへと進められます。そして、何周か行って、終了条件の判定が合格が出た時点で終わるのが一連の流れです。

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

遺伝的アルゴリズム

ここからは遺伝的アルゴリズムのメリットについてご紹介していきます。

幅広い分野に応用できる

遺伝的アルゴリズムは、様々な分野・問題に対応できるのが特徴的です。多少複雑なものであっても、決してシンプルな状態にすることもなく、そのままの状態で淘汰していきます。汎用的であるからこそ、様々な分野に応用できるのが遺伝的アルゴリズムの魅力と言えるでしょう。

適度にランダム性を活用できる

遺伝的アルゴリズム

遺伝的アルゴリズムではトーナメントやルーレットなどを活用し、ランダム性を取り入れています。かといって、完全ランダムにしているわけではなく、適応度に応じて選ばれやすい状態にするなど、あくまでも適度なランダム性が特徴的です。

ランダム性を活用することで、普通に探索を重ねていくだけでは気づかなかったことを発見することもあるため、その点も遺伝的アルゴリズムの魅力です。

またランダムであることは、最終的にどのような答えになるのか、可能性を狭めずに検討できることを意味します。探索の手法によっては最初の答えに依存することもありますが、遺伝的アルゴリズムの場合は最初からランダム性があるため、幅広い可能性の中で吟味していくことが可能です。

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

遺伝的アルゴリズム

次にご紹介するのは遺伝的アルゴリズムのデメリットについてです。

必ずベストな答えが出るとは限らない

ランダム性を取り入れているのが遺伝的アルゴリズムのいいところですが、裏を返せば、ランダム性を取り入れてしまうことで、完全にベストな答えが出てくるとは限らないことを意味します。中には、なぜこの結果に至ったのか分かりにくいケースもあります。

自然の世界でも全てにおいてスペックのいい生物が絶対に生き残るかといえばそんなことはありません。不慮の事故など様々な原因で寿命を全うできずに尽きてしまうケースもあります。遺伝的アルゴリズムをやれば、ベストの答えが出るとは限らないため、注意が必要です。

またランダム性の影響で、幸か不幸か、当初からハイスペックのデータが出現し、そのデータが影響を与えてしまうことがあります。遺伝子としてハイスペックなので、ずっと生き残り続け、突然変異もしにくい状態で残りやすくなるでしょう。

突然変異は劣等生を生む一方、思わぬ天才も生み出します。ランダム性にはいい部分もあれば、デメリットになってしまう部分もあることを意味すると言えます。

探索に時間がかかる

遺伝的アルゴリズム

遺伝的アルゴリズムはたくさんの個体の中からベストとなる答えを見つけ出していくため、とにかく時間がかかります。計算をするのに相当な時間がかかってしまうため、取り扱うデータ数が多ければ多いほど、一定の時間は覚悟しなければなりません。

1回のターンで終わるわけではなく、終了条件に達しない限りは続くので何回のターンで終わるかはなかなか読めないところです。最初から遺伝子的に強いものが出てくるのか、それとも運悪く淘汰されてしまって時間がかかるのか、そのあたりはやってみなければわからない部分です。

遺伝的アルゴリズムの活用事例

ここからは遺伝子アルゴリズムの活用事例についてご紹介していきます。

新幹線の先頭車両の形状

遺伝的アルゴリズム

とても意外な活用事例として、東海道新幹線の先頭車両の形状があります。2007年に登場したN700系は半分以上の区間で270キロ走行を可能にさせており、より速い時間で名古屋や大阪などに着けるようになっています。結果的に5分ほど短くなり、より利便性が高まりました。

700系の先頭部分、いわゆる顔に当たる部分は「エアロ・ダブルウィング」と呼ばれ、ある程度長くなった分、特徴的な曲線によって騒音の抑制につながっています。この形状は遺伝子アルゴリズムによって膨大なデザインの中から絞り込んで決められており、その効果はしっかりと出ました。

実に5000にも及ぶシミュレーションの結果で作られた「エアロ・ダブルウィング」は、デザイン的にも高い評価を集めるなど、N700系への人気が高まるなど、多大なプラスをもたらしたと言えます。

遺伝子アルゴリズムを使った金融取引

自動売買などを活用し、株式の売買を行うケースがありますが、この時の取引について遺伝子アルゴリズムを活用する形で行うケースが存在します。

終了条件が膨大にあり、事細かく条件を定めることでコントロールしていき、効率的に活用することが可能です。実際に遺伝子アルゴリズムを使った金融取引を行っていくと成果が出やすくなっており、非常に効果的であると言えるでしょう。

まとめ

遺伝的アルゴリズムはダーウィンの進化論にヒントを得て構築されたもので、複雑な問題であればあるほど、最適化を目指す際に有効的なものと言えます。計算時間やパラメーターの設定など難しい点も多々ありますが、これらをうまく設定していけば、より良い結果につながりやすくなります。

突然変異が遺伝的アルゴリズムにいいアクセント、多様性を示しており、突然変異の設定を行いながら探索を重ねていくことが可能です。新幹線にも用いられるなど、遺伝的アルゴリズムは多くの可能性を潰すことなくベストを尽くせる手法の1つと言えます。

生成AIパスポートとは?

生成AIパスポートはエンジニア職だけでなく一般の方向けの資格です。

生成AI業界における最前線を走っている有識者たちに監修された資格試験で、最先端の確実な知識や簡易的な活用スキルを身につけることができる認定試験・資格です。

試験を通じて、文章生成をすることができるChatGPTなど、AIを活用したコンテンツ生成の具体的な方法や事例に加え、企業のコンプライアンスに関わる個人情報保護、著作権侵害、商用利用可否といった注意点などを学ぶことができます。

生成AIの活用普及を目的とした、国内最大級の生成AI団体である、一般社団法人生成AI活用普及協会(GUGA)が発行する認定試験です。

詳細はこちら

生成AI
パスポート試験

生成AIパスポート試験のご案内はこちら

View More
入会のご案内

当協会の活動趣旨にご賛同いただける方

View More
お問い合わせ

当協会に関する質問やお問い合わせはこちら

View More