October 2023
Intermediate to advanced
296 pages
4h 26m
Japanese
これからいよいよ本書のメインテーマである「オープンエンド」なアルゴリズムの世界へ足を踏み入れます。まずは、目的を持たせずにコンピュータが発散的な探索を行う方法、新規性探索アルゴリズムについて説明します。
遺伝的探索アルゴリズムは、目的関数を基に個体の性能を評価し、集団が目的に向かって最適化される仕組みです。この「ものさし」となる目的関数に基づき、次世代に引き継がれるべき個体を選択します。これは、世代を経るごとに良い個体が選ばれていく、宝探しのような最適化のプロセスとも言えます。
しかし、これだけでは発散的な探索になっていません。宝探しゲームの参加者が皆、1つの最適解に収束していってしまいます。そこで登場するのが、「新規性探索アルゴリズム(Novelty Search)」です。このアルゴリズムは、宝探しの「目的」から解放され、新しい解を発見することに焦点を当てます。
進化的アルゴリズムの歴史を見ると、ほとんどのアルゴリズムが明確な目的を持って設計されていますが、新規性探索アルゴリズムは違います。目的のない探索を行うことで、従来では発見できなかった解を見つけ出すことができるのです。この独自のアプローチが、新規性探索アルゴリズムの魅力です。
目的関数を中心としたアプローチは多くの問題で効果的ですが、限界もあります。たとえば、難易度の高い迷路を解くタスクで、NEATアルゴリズムでは500世代進化させてもゴールに辿り着くことができる個体を進化させることはできませんでした。それに対して、新規性探索アルゴリズムを用いると、目的のない探索によってさまざまな経路を探索し、最終的にゴールへの経路を発見することができます。 ...