続・遺伝的アルゴリズムと
遺伝的プログラミング
使いこなせるGA,GP

続・遺伝的アルゴリズムと遺伝的プログラミング

平野 廣美 著

本体価格 3,800円+税

ISBN 978-4-89362-228-0

A5判 並製

360 頁

CD-ROM付き

2006年5月29日 発売

『遺伝的アルゴリズムと遺伝的プログラミング』の続編。
豊富な事例で「使えるGAGP」を実現する。オブジェクト指向フレームワークを大幅に改良し、問題解決できる領域を増やした最新の解説書。全ソースリストを含むCD-ROM付き。


書籍版

本体 3,800円+税


  • 内容紹介
  • 目次
  • リンク
  • 開発環境
  • CD-ROM
  • FAQ
  • 書評・紹介


 「進化」というのは,生物が過酷な自然環境の中で生き延びていくため,味方にした強力な武器であるといわれています。そのような強力な方法を,コンピュータのアルゴリズムとして実現したものが遺伝的アルゴリズム(GA:Genetic Algorithm)と遺伝的プログラミング(GP:Genetic Programming)です. このGA,GPは問題解決の強力なツールであり,うまく使いこなせば,困難な問題を解決していくことが可能となります。

 

 本書は3部からなり,第1部では,遺伝的アルゴリズムの4つの応用を試みます。第2部では,遺伝的プログラミングの5つの応用を試みます。また前著『遺伝的アルゴリズムと遺伝的プログラミング』で作成したGPフレームワークの改良についても取り上げます。この改良により関数の表現力が増し,扱える領域が広がっています。第3部では,GA, GPから少し離れ,問題解決方法として「カオス」の手法を紹介します。


 本書が取り上げる応用事例を通じて,遺伝的アルゴリズムや遺伝的プログラミングが実際の問題にいかに適用しやすいかを理解することができます。


著者:平野廣美(ひらの ひろみ)
昭和51年、京都大学工学部航空工学科卒業後、(株)日本CAD、(株)新日鉄ソリューションズ等を経て、現在、楽天株式会社 楽天技術研究所在籍。
大学卒業後まもなくして人工知能に興味を持ち始め,LispやPrologの処理系の開発に従事する。また,日本語によるデータベースの検索システムの開発や工場等の生産計画の最適化,テキストマイニングなどの知識処理などを行ってきた。
(※著者紹介は、2008年のものです。)

関連図書


  • はじめに

  • 第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のご利用について
開発環境
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



ご注意

  • 本書では,全ソースプログラムをCD-ROMでご提供しています。本書で利用しているベンチマークデータの一部につきましては,readme記載のwebサイトよりダウンロードをお願いします。
  • プログラムコードの実行については,個人の責任にて行ってください。
  • 収録されたコンテンツは,使用者の責任において利用するものとし,プログラムの実行により発生したいかなる直接的・間接的被害についても,著者およびパーソナル メディア株式会社はその責任を負いません。
  • 収録するプログラムの営利目的での使用は禁止します。また,収録するプログラムやその他データの再配布は禁止します。
  • 本書についてのお問い合わせは,郵送もしくはE-mailにてお受けいたします。回答にはお時間をいただく場合がございます。またご回答できない場合もございます。
  • 本書の内容を逸脱したご質問,各ツールや操作に関するご質問につきましては,お答えいたしかねますので,あらかじめご了承ください。
  • 本CD-ROMに収録する各プログラムやデータの著作権は各著作者が保有します。
  • 本CD-ROM中のファイルをハードディスクにコピーした場合,「書き込み禁止」属性がつくことがありますので,各ファイルのプロパティから属性の「読み取り専用」チェックボックスをオフにしてください(詳しくはWindowsのマニュアルを参照してください)。
  • その他,本書および本CD-ROMに関する情報を当社webサイトでご案内しております。
    http://www.personal-media.co.jp/book/
  • 本CD-ROMには,『Cでつくるニューラルネットワーク』『応用事例でわかる遺伝的アルゴリズムプログラミング』(平野廣美著,パーソナルメディア刊)に掲載されているソースファイルも収録しております。(omakeフォルダに収録)

 「続 遺伝的アルゴリズムと遺伝的プログラミング」のFAQ/追加情報


「Chapter 4 これだけの荷物を何台の配送車で配達できる?」において、ソースを実行し、リンク先のベンチマーク問題を読み込もうとすると「Debug Assertion Failed!」と出てエラーになってしまいます。 
問題を入れておくフォルダに"解答"というフォルダを準備しておき、そこに、各問題の最適な解答を記述したファイルP-n16-k8.optなどを入れておく必要があります。

ファイル名の約束は、
  •  <問題名> .vrp --> <問題名> .opt
となっています。

たとえば、"P-n16-k8"が<問題名>となります。
解答ファイルは、AとBについては、問題を置いてあるサイトにおいてありますが,Pはありませんでした。
参考までにPについての解答フォルダごと圧縮したファイルを用意いたしました。  
解答ファイルは、あくまで解の比較用だけを目的にに読み込んでいますので、詳しくは、ソースコードを参照してください。

本書が紹介されています。(一部引用)


SoftwareDesign 2006年7月号 (技術評論社)
  • SD BOOK FORUM (p.72)
  • 「……本書は、2000年に発売された、『遺伝的アルゴリズムと遺伝的プログラミング―オブジェクト指向フレームワークによる構成と応用』の続編で、GA、GPフレームワークを用いて、課題を解決するためのプログラミングを作成しながらGA、GPを学ぶ。扱う課題は「これだけの荷物を何台の配送車で配達できる?」など、おもしろいものが並ぶ。後半では、応用としてデータマイニングについても解説しており、GA、GPがさまざまな分野に応用できることがよくわかるだろう。
    ソースファイルやフレームワークなどは付属のCD-ROMに収録されているので、ぜひGA、GPの奥深さを味わって欲しい。」
 
 

トップ > コンピュータ書 > 続・遺伝的アルゴリズムと遺伝的プログラミング