Skip to Content
Pythonではじめるオープンエンドな進化的アルゴリズム ―発散型の機械学習による多様な解の探索
book

Pythonではじめるオープンエンドな進化的アルゴリズム ―発散型の機械学習による多様な解の探索

by 岡 瑞起, 齊藤 拓己, 嶋田 健志
October 2023
Intermediate to advanced content levelIntermediate to advanced
296 pages
4h 26m
Japanese
O'Reilly Japan, Inc.
Content preview from Pythonではじめるオープンエンドな進化的アルゴリズム ―発散型の機械学習による多様な解の探索

2章進化的アルゴリズムの基礎

本章では、オープンエンドなアルゴリズムの基本となる遺伝的アルゴリズム、NEATアルゴリズム、CPPNアルゴリズム、そしてそれらを組み合わせたCPPN-NEATアルゴリズムを紹介します。さらに、「Evolution Gym」というベンチマークプラットフォームを用いて、NEATアルゴリズムでロボットの動きを進化させる実験を紹介します。既にこれらの内容を知っている方は、この章をスキップし、3章から読み始めていただいても構いません。

ゲノムや遺伝子に関連する用語

本書では、「ゲノム」や「遺伝子」といった用語を用います。これらの言葉は遺伝的アルゴリズムの文脈で使われるもので、生物学的な用語とは少し異なる意味合いで使われることがあります。また遺伝子型と表現型という2つのデータの表現方法を表す用語も使用します。これらの用語は混乱しやすいため、本書でのこれらの言葉の使い方を整理します。

遺伝子とゲノム
遺伝子:遺伝的アルゴリズムの文脈での「遺伝子」は、ノードやそのつながり(コネクション)の情報を指します。この遺伝子の情報を基にして、ニューラルネットワークが構築されます。ゲノム:「ゲノム」とは、これらの遺伝子の情報を管理・保持するリストやデータ構造を指します。具体的には、ノードとコネクションの遺伝子情報を保持しています。このゲノムを用いてニューラルネットワークの構築が行われます。
遺伝子型と表現型
遺伝子型は、1つのゲノム(遺伝子のセット)を指しています。ただし遺伝子型は実際の計算を行えません。ゲノムを元にニューラルネットワークを生成することで、ニューラルネットワークが計算を行います。表現型は、そのゲノムがどのようにネットワークとして「表現」されるかを指しています。生成されたニューラルネットワークは、そのゲノムを遺伝子型としたときの表現型と言えます。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

Stephen Wendel, 武山 政直, 相島 雅樹, 反中 望, 松村 草也

Publisher Resources

ISBN: 9784814400003Publisher Website