./image_small.jpg

このページは書籍「Pythonではじめるオープンエンドな進化的アルゴリズム - 発散型の機械学習による多様な解の探索」のサポートページです。

昨今では社会の様々な所でAIを実装し利用するようになってきました。従来の強化学習のアルゴリズムでは、問題を解決するための「目的」を設定し、目的関数を実装してきました。本書では「目的」ではなく、別の指標に着目して探索する手法について取り上げます。つまり「目的」を設定しない探索を目指します。このような探索を「オープンエンドな探索」と呼ぶ事にします。生命の進化の仕組みに着想を得て、強化学習や遺伝的アルゴリズムを組み合わせたアルゴリズムについて考えます。本書で紹介する「オープンエンドな探索」のアプローチでは、「新しさ」や「品質多様性」に着目して探索したり、環境とエージェントを共に進化させます。それにより複雑な問題を解決したり、従来のアルゴリズムでは発見できなかった解を見つける事を目指します。そんな広がりのある探索である「オープンエンドな探索」に興味を持ったら、ぜひ本書を手に取ってみてください。

注意

Evolution Gymのインストールの際、プラットフォームによってはエラーが出ることがあります。その際は、こちらのリポジトリに追加の修正を加えたコードを準備しましたので、こちらをお使いください。

https://github.com/oreilly-japan/evogym

サンプルコード

本書で紹介したサンプルプログラムはこちらにあります。

https://github.com/oreilly-japan/OpenEndedCodebook

オンライン付録、サポートページに関するファイルも含まれています。ディレクトリの構成は以下のようになっています。

ディレクトリ名用途
README.mdREADME
appendixサポートページ及びオンライン付録のコンテンツ
envs/circuitサンプルプログラムで使うモジュール: 論理回路の実験用
envs/evogymサンプルプログラムで使うモジュール: ソフトロボットの実験用
envs/mazeサンプルプログラムで使うモジュール: 迷路の実験用
experiments/Chapter22章サンプルプログラム
experiments/Chapter33章サンプルプログラム
experiments/Chapter44章サンプルプログラム
experiments/Chapter55章サンプルプログラム
experiments/Chapter66章サンプルプログラム
hugoサポートページ用の設定
libsサンプルプログラムで使うモジュール: 共通ライブラリ
requirements.txt

サンプルプログラムの環境構築

サンプルプログラムの実行環境は以下の手順で作成します。

Evolution Gymのインストール

まず Evolution Gym のインストールを行います。

  1. リポジトリのソースコードを取得する

    Github上にホスティングされているソースコードを取得します。ここでは例としてGitを使います。

    git clone --recursive https://github.com/EvolutionGym/evogym.git
  2. 作業ディレクトリをリポジトリルートに移動する

    ソースコードを取得できたら、作業ディレクトリをリポジトリルートに移動します。

    cd evogym
  3. venvを用いて仮想環境をを作成する

    venv=を用いてPython 3.8の仮想環境を作成します。ここでは便宜上 =env-evogym という名前で仮想環境を作成する事にします。

    python3.8 -m venv env-evogym .
  4. 仮想環境をアクティベートする

    先程作成した仮想環境をアクティベートします。

    source env-evogym/bin/activate
  5. 依存パッケージをインストールする

    依存パッケージをインストールします。

    pip install -r requirements.txt
  6. Evolution Gym をインストールする

    Evolution Gym 本体をインストールします。ここでは pip を用いることにします。インストール時にはシミュレータもビルドされるため、そこそこ時間がかかります。

    pip install .
  7. 動作確認する

    インストールが完了したら、動作確認用のスクリプトを実行し、うまくいったかを確認します。

    python examples/gym_test.py

    以下のような画面が表示されたら、インストールは成功です。

    /OpenEndedCodebook/img/example_f99vlj.png
    シミュレータの起動画面

インストールができたら、作業ディレクトリを移動しておきます。

cd ../

Evolution Gym のインストールが上手くいかない場合は付録6 Evolution Gym のインストールに失敗したら?も参照ください。

サンプルプログラムの環境構築

次にサンプルプログラムの実行環境を構築します。

  1. サンプルプログラムのソースコードを取得する

    Github上にあるサンプルプログラムのソースコードを取得します。

    git clone https://github.com/oreilly-japan/OpenEndedCodebook.git
  2. 作業ディレクトリをリポジトリルートに移動する

    ソースコードを取得できたら、作業ディレクトリをリポジトリルートに移動します。

    cd OpenEndedCodebook
  3. 依存パッケージをインストールします。

    pip install -r requirement.txt

    本書で使用する依存パッケージの中に、以前のバージョンのライブラリを期待しているものがあります。ただしパッケージの状態により、依存パッケージの依存パッケージがインストールできない状態になっています。そのため --no-deps を指定してインストールします。

    pip install --no-deps -r requirements-extra.txt

これで環境構築は終わりです。

オンライン付録

本書では執筆段階で想定以上に文章の量が多くなってしまい、執筆した文章の全てを紙面に収める事ができませんでした。そこで、それらをオンライン付録として、サポートページに掲載する事にしました。本書を読み進め理解を深める時の補助的な資料としてご活用ください。

正誤表

本書の正誤情報は以下のページで公開しています。

https://www.oreilly.co.jp/books/9784814400003/

本ページに掲載されていない誤植など間違いを見つけた方は、japan@oreilly.co.jpまでお知らせください。

最終更新: 2023-10-08
© 2023, O’Reilly Japan, Inc.