考えるコンピュータのアルゴリズムJava & C++で学ぶ遺伝的/進化的/免疫アルゴリズム
- ソフトバンククリエイティブ (2007年9月15日発売)
本棚登録 : 39人
感想 : 1件
本ページはアフィリエイトプログラムによる収益を得ています
- Amazon.co.jp ・本 (200ページ)
- / ISBN・EAN: 9784797342734
作品紹介・あらすじ
複雑な問題から最適な解を見つけるヒューリスティックな(発見的な)解法とは?基本概念から応用プログラムへの適用まで高度な知識をわかりやすく解説。
感想・レビュー・書評
-
まずは、ナップザック問題の定義から。「大きいほど、値段も高くなっている10個の商品があります(つまり、一番小さい商品は一番安く、一番大きい商品は一番高い)。これらを、ある決められた大きさのナップザックに適当に入れます。ナップザックに入ったものはあなたのものになります(当然ですが、すべての商品入るほどナップザックは大きくありません)。商品の合計金額が多ければ多いほど得であるとした場合、どの商品を選べば最も得でしょうか?」 この程度の数では、すべての組み合わせについて調べることができる。しかし、10個ではなく、1万個になればほぼ計算不可能(組み合わせは2の1万乗)。このような問題に対して、「そこそこ良い解」を選ぶ方法を導き出すのが本書の目的である。 その方法とは、簡単に言うと生物進化をシミュレートするようなアルゴリズムである。つまり、遺伝子配合、突然変異、自然淘汰を使いながら、世代交代を繰り返すことで、よさそうな組み合わせを導き出すのである。いつも決定論的解法に慣れている私にとっては、目から鱗的な驚きがあり、なかなか参考になった。 ちなみに本書のサンプルプログラムはJAVAで書かれているが、JAVAに似た言語ではC++しか知らない私でもそこそこ読めたので、JAVAを知らなくてもC++を知っていれば読める。
詳細をみるコメント0件をすべて表示
全1件中 1 - 1件を表示