続・遺伝的アルゴリズムと
遺伝的プログラミング
使いこなせるGA,GP
平野 廣美 著
定価 4,180円(本体 3,800円+税)
ISBN 978-4-89362-228-0
A5判 並製
360 頁
CD-ROM付き
2006年5月29日 発売
『遺伝的アルゴリズムと遺伝的プログラミング』の続編。
豊富な事例で「使えるGAGP」を実現する。オブジェクト指向フレームワークを大幅に改良し、問題解決できる領域を増やした最新の解説書。全ソースリストを含むCD-ROM付き。
書籍版 定価 4,180円 |
|
電子書店版 定価 3,344円 |
- 内容紹介
- 目次
- リンク
- 開発環境
- CD-ROM
- ダウンロード
- FAQ
- 書評・紹介
「進化」というのは,生物が過酷な自然環境の中で生き延びていくため,味方にした強力な武器であるといわれています。そのような強力な方法を,コンピュータのアルゴリズムとして実現したものが遺伝的アルゴリズム(GA:Genetic Algorithm)と遺伝的プログラミング(GP:Genetic Programming)です. このGA,GPは問題解決の強力なツールであり,うまく使いこなせば,困難な問題を解決していくことが可能となります。
本書は3部からなり,第1部では,遺伝的アルゴリズムの4つの応用を試みます。第2部では,遺伝的プログラミングの5つの応用を試みます。また前著『遺伝的アルゴリズムと遺伝的プログラミング』で作成したGPフレームワークの改良についても取り上げます。この改良により関数の表現力が増し,扱える領域が広がっています。第3部では,GA, GPから少し離れ,問題解決方法として「カオス」の手法を紹介します。
本書が取り上げる応用事例を通じて,遺伝的アルゴリズムや遺伝的プログラミングが実際の問題にいかに適用しやすいかを理解することができます。
- 著者:平野廣美(ひらの ひろみ)
- 昭和51年、京都大学工学部航空工学科卒業後、(株)日本CAD、(株)新日鉄ソリューションズ、楽天(株)楽天技術研究所等を経て、現在、株式会社エクスメディオ在籍。
大学卒業後まもなくして人工知能に興味を持ち始め,LispやPrologの処理系の開発に従事する。また,日本語によるデータベースの検索システムの開発や工場等の生産計画の最適化,テキストマイニングなどの知識処理などを行ってきた。
(※著者紹介は、2020年のものです。) - 関連図書
- はじめに
- 第1部 遺伝的アルゴリズムの応用
- Chapter 1 GA の解説を兼ねて,式の因数分解を解いてみよう
- Chapter 2 ゲームで勝つ方法
- Chapter 3 隣り合ったものは別の色で――グラフ彩色
- Chapter 4 これだけの荷物を何台の配送車で配達できる? ――Vehicle Routing Problem
- 第2部 遺伝的プログラミングの応用
- Chapter 5 GPの解説を兼ねて,どれくらい連続して素数を生成できるか試してみよう
- Chapter 6 うるう年の判定は4年ごと!?
- Chapter 7 多くのデータから「なぜ」を見出そう――データマイニング
- Chapter 8 GPにもっと意味を――型付きGPフレームワーク
- Chapter 9 多くのデータから意味を探ろう――改良した動物分類
- Chapter 10 数値データを含んだ分類――あやめの分類
- 第3部 付録:カオスと予測
- Chapter 11 カオスを利用した予測の可能性について
- 参考文献
- あとがき
- 索引
- 付録CD-ROMのご利用について
○動物分類,あやめ分類のオリジナルベンチマークデータは、下記をはじめとする各サイトで入手できます。
○グラフ彩色問題用のベンチマークテストデータは、下記webサイトで提供されています。
- Network Resources for Coloring a Graph
https://mat.tepper.cmu.edu/COLOR/color.html
○Vehicle Routing Problem用のベンチマークテストデータは、下記webサイトで提供されています。
○素数生成式についての情報が下記webサイトで提供されています。
- mathworldの中のPrime-Generating Polynomial
https://mathworld.wolfram.com/Prime-GeneratingPolynomial.html
○「Chapter 11 カオスを利用した予測に可能性について」の参考サイトです。
※リンクは2020年7月現在の情報です。
- 開発環境
- C++等開発環境は、マイクロソフトのVC++6.0 が必要となります。 VC++の後継バージョンでも基本的にはかまいませんが、コンパイル~動作確認は、VC++6.0で行っております。(後継バージョンでは、ソースの若干の修正が必要になる可能性があります。)また、マイクロソフトのVC付属のMFCというクラスを使用しているため、VC++以外では動きませんのでご注意ください。
- 動作環境
- VC++(6.0)でビルドを行い、Windows 2000, Windows XPでの動作が確認済みです。(メモリ 1G)
CD-ROMには,本書で紹介したプログラムおよびそれに必要なデータを格納しています。
CD-ROM内フォルダの内容と本文との対応は以下となります。
また,データマイニングなど一部データについては,各webサイトよりダウンロードしてご利用ください。
(CD-ROM収録のリンクおよび下記リンクを参照ください。)
※詳しくは、CD-ROM収録の「README」をお読みください。
フォルダ | 対象Chapter | 備考 | |
---|---|---|---|
GA | FactorizationX | Chapter 1 GAの解説を兼ねて,式の因数分解を解いてみよう | |
IteratedPDy | Chapter 2 ゲームで勝つ方法 | ||
GraphColoringY | Chapter 3 隣り合ったものは別の色で | ||
VRPBb | Chapter 4 これだけの荷物を何台の配送車で配達できる? | 分割・最短経路探索同時戦略 | |
VRPBc | Chapter 4 これだけの荷物を何台の配送車で配達できる? | 分割優先戦略 | |
MPGaFrame | MPGaFrame 遺伝的アルゴリズムフレームワークの基本クラス | ||
GP | GenPrimeZ3 | Chapter 5 GAの解説を兼ねて, どれくらい連続して素数を生成できるか試してみよう |
|
GenPrimeZ4 | Chapter 5 GAの解説を兼ねて, どれくらい連続して素数を生成できるか試してみよう |
GenPrimeZ3から div関数を取り除いた関数集合 | |
BissextileY | Chapter 6 うるう年の判定は4年ごと!? | ProgN等の関数を持たない | |
BissextileZ | Chapter 6 うるう年の判定は4年ごと!? | BissextileY に定数 100 と 400 を加えている | |
DMZoo | Chapter 7 多くのデータから「なぜ」を見出そう | 型フリーGPでの動物分類 | |
DMZooNoCast | Chapter 9 多くのデータから意味を探ろう | 型付きGPでの動物分類 | |
DMIrisZ | Chapter 10 数値データを含んだ分類 | 型付きGPでのあやめの分類 | |
GpFrame | 型なし遺伝的プログラミングフレームワークの基本クラス | ||
SyntaxGpFrame | 型付き遺伝的プログラミングフレームワークの基本クラス | ||
Chaos | NNChaosStockG | Chapter 11 カオスを利用した予測に可能性について | テスト用株価データと為替データを含む (備考欄参照) |
Data | zooV2.arff | Chapter 7 多くのデータから「なぜ」を見出そう Chapter 9 多くのデータから意味を探ろう |
動物分類で使用するデータ |
IrisvIEEE.arff | Chapter 10 数値データを含んだ分類 | あやめの分類で使用するデータ | |
GraphColoring | Chapter 3 隣り合ったものは別の色で | グラフ彩色問題用のベンチマークテストデータ | |
omake | NNBook | 『Cでつくるニューラルネットワーク』 | オリジナル版 (書籍で取り扱ったすべてのソースファイル) |
WinNN | 『Cでつくるニューラルネットワーク』 | GUI版(C++Builder開発) | |
GaBook | 『応用事例でわかる遺伝的アルゴリズムプログラミング』 | 16bit版(オリジナル)とVC++版(32bit) | |
Gadelphi | 『応用事例でわかる遺伝的アルゴリズムプログラミング』 | 書籍のDelphi版 |
備考 (詳しくは、CD-ROM収録のREADMEをお読みください)
- ※Chapter 8の対象フォルダはありません
- ※Chapter 11のプログラムについて
本プログラムの中の StLyapunov.cpp だけは,未完成となっております.
スケルトン形式になっていて,作成のための説明をコメントとして記述しています.
StLyapunov_sakusei.txt(StLyapunov.cppの作成要領が記載してあります)と StLyapunov.cpp のコメントを参考にして,プログラムを完成させてください。
なお、Chapter 11用に収録してある株価データおよび為替データは,本文中で使用したものではなく,動作確認用のダミーデータとなっております。
LINK
- 動物分類,あやめ分類のオリジナルベンチマークデータは,下記をはじめとする各サイトで入手できます。
https://www.cs.umb.edu/~rickb/files/UCI/
- グラフ彩色問題用のベンチマークテストデータは,下記webサイトで提供されています。
Network Resources for Coloring a Graph
https://mat.tepper.cmu.edu/COLOR/color.html
→ More than 70 instances from a variety of sources
- Vehicle Routing Problem用のベンチマークテストデータは,下記webサイトで提供されています。
Vehicle Routing Problem
http://neo.lcc.uma.es/vrp/vehicle-routing-problem/
→ Instances
→ CVRP
→Augerat et al.を利用します。
※本文中では,Set A,Set B,Set P の3つのうち Set P を使用しています。
- 素数生成式についての情報が下記webサイトで提供されています。
Prime-Generating Polynomial
https://mathworld.wolfram.com/Prime-GeneratingPolynomial.html
ご注意
- 本書では,全ソースプログラムをCD-ROMでご提供しています。本書で利用しているベンチマークデータの一部につきましては,readme記載のwebサイトよりダウンロードをお願いします。
- プログラムコードの実行については,個人の責任にて行ってください。
- 収録されたコンテンツは,使用者の責任において利用するものとし,プログラムの実行により発生したいかなる直接的・間接的被害についても,著者およびパーソナル メディア株式会社はその責任を負いません。
- 収録するプログラムの営利目的での使用は禁止します。また,収録するプログラムやその他データの再配布は禁止します。
- 本書についてのお問い合わせは,郵送もしくはE-mailにてお受けいたします。回答にはお時間をいただく場合がございます。またご回答できない場合もございます。
- 本書の内容を逸脱したご質問,各ツールや操作に関するご質問につきましては,お答えいたしかねますので,あらかじめご了承ください。
- 本CD-ROMに収録する各プログラムやデータの著作権は各著作者が保有します。
- 本CD-ROM中のファイルをハードディスクにコピーした場合,「書き込み禁止」属性がつくことがありますので,各ファイルのプロパティから属性の「読み取り専用」チェックボックスをオフにしてください(詳しくはWindowsのマニュアルを参照してください)。
- その他,本書および本CD-ROMに関する情報を当社webサイトでご案内しております。
https://www.personal-media.co.jp/book/ - 本CD-ROMには,『Cでつくるニューラルネットワーク』『応用事例でわかる遺伝的アルゴリズムプログラミング』(平野廣美著,パーソナルメディア刊)に掲載されているソースファイルも収録しております。(omakeフォルダに収録)
ダウンロードサービスのご案内
- 『続・遺伝的アルゴリズムと遺伝的プログラミング (電子書店版)』をご利用の方は、本文掲載のソースファイルがダウンロードできます。
- ※圧縮ファイルの解凍には、電子書店版の本文に掲載されてあるパスワードが必要です。
- その他、収録ソースファイルについては、「CD-ROM」タブの記載内容を参照してください。
-
※付録CD-ROMとは以下の収録物に違いがございます。あらかじめご了承ください。
紙書籍版付録CD-ROMに収録されている『Cでつくるニューラルネットワーク』『応用事例でわかる遺伝的アルゴリズムプログラミング』(平野廣美著 パーソナルメディア刊)のソースファイル,Cygwinおよび関連のプログラムなどのツール類は,本ダウンロードファイルには含まれません.
また,本書で利用しているベンチマークデータの一部につきましては,Readme.html 記載のwebサイトよりダウンロードをお願いします.
ご注意
- 本ダウンロードファイルをご利用になる前に,必ず収録の「Readme.html」をお読みください。
- ご使用上のご質問,および収録ソフトに関するお問い合わせについては,各ソフトの開発元,著者およびパーソナルメディア株式会社ではお答えできませんのでご了承ください.
- プログラムコードの実行については,個人の責任にて行ってください.
- 収録されたコンテンツは,使用者の責任において利用するものとし,プログラムの実行により発生したいかなる直接的・間接的被害についても,著者およびパーソナルメディア株式会社はその責任を負いません.
- 収録するプログラムの営利目的での使用は禁止します.また,収録するプログラムやその他のコンテンツの,ネットワークなどへの配布はできません.
- 掲載されている商品名や会社名は,各社の登録商標または商標です.また収録する各プログラムの著作権は各著作者が保有します.
「続・遺伝的アルゴリズムと遺伝的プログラミング」のFAQ/追加情報
「Chapter 4 これだけの荷物を何台の配送車で配達できる?」において、ソースを実行し、リンク先のベンチマーク問題を読み込もうとすると「Debug Assertion Failed!」と出てエラーになってしまいます。 |
問題を入れておくフォルダに"解答"というフォルダを準備しておき、そこに、各問題の最適な解答を記述したファイルP-n16-k8.optなどを入れておく必要があります。 ファイル名の約束は、
たとえば、"P-n16-k8"が<問題名>となります。 解答ファイルは、AとBについては、問題を置いてあるサイトにおいてありますが,Pはありませんでした。 参考までにPについての解答フォルダごと圧縮したファイルを用意いたしました。 解答ファイルは、あくまで解の比較用だけを目的にに読み込んでいますので、詳しくは、ソースコードを参照してください。 |
本書が紹介されています。(一部引用)
SoftwareDesign 2006年7月号 (技術評論社) |
|