8章遺伝的アルゴリズム

本章では、交叉や突然変異、適応度関数といった遺伝的アルゴリズムの基本的な構成要素を説明します。本章を通じて、次のような事柄を学びます。

  • 進化的アルゴリズムと遺伝的アルゴリズム
  • 遺伝的アルゴリズムの基本概念
  • 定義済みパラメータを用いたビットパターン生成
  • 進化過程の可視化
  • 関数同定問題の解法
  • 知的ロボット制御の構築

8.1 進化的アルゴリズムと遺伝的アルゴリズム

遺伝的アルゴリズムは進化的アルゴリズムの一種なので、遺伝的アルゴリズムを理解するために、まず進化的アルゴリズムについて説明します。進化的アルゴリズム(evolutionary algorithm)とは、問題を解くために進化の原理を応用したメタヒューリスティック(さまざまな問題に適用可能なヒューリスティック)な最適化アルゴリズムです。計算科学上の進化の概念は、自然界における進化の概念に似ています。

すべての進化的アルゴリズムの背景となる考え方は、個体群と自然淘汰です。ランダムに選択した個体の集合から始めて、最も強い個体を選択します。個体の強さは、事前に定義された適応度関数(fitness function)によって決まります。このようにして、適者生存(survival of the fittest)の方法を用いるのです。

選択された個体を用いて、組換えや突然変異を行い次の世代を作ります。組換えや突然変異についてはあとで説明します。ここでは、選択された個体を親として扱って次の世代を作る機構だと考えてください。

組換えや突然変異を行って次の個体集合を作ると、次の世代では古い世代と生存競争することになります。弱い個体を捨てて子孫に置き換えることによって、個体群全体の適合レベルを向上していきます。所望の全体適合レベルに到達するまで、この処理を繰り返します。 ...

Get PythonによるAIプログラミング入門 ―ディープラーニングを始める前に身につけておくべき15の基礎技術 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.