こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

遺伝的アルゴリズムによる繰り返し囚人のジレンマ

初めて質問をさせていただきます。ヨロシクお願いします。

遺伝的アルゴリズムによる繰り返し囚人のジレンマゲームに関するプログラミングについて分からないことがあります。

当方はC++初心者のためクラスの使い方がイマイチ分かりません。
クラスの概念は文献により理解できるのですが便利さが実感できません。

具体的にいうと、遺伝的アルゴリズムのどの部分にクラスが適用できるのでしょうか?クラスを用いないで強引にプログラムすることは出来そうなのですが…。

囚人のジレンマゲームに関わらず、遺伝的操作(選択、交叉、突然変異)をクラスの概念を用いてプログラムする際のヒントとコツなどを教えて下さい!また遺伝子情報は配列を用いて表現するのでしょうか?なにぶん遺伝的アルゴリズムは初めてなので分からないことだらけです。ヨロシクお願いいたしますm(__)m

投稿日時 - 2002-07-26 03:27:57

QNo.322607

すぐに回答ほしいです

質問者が選んだベストアンサー

こんにちは.Esnaです.

C++は,前に
C -> C++
C++ -> C
の移植がどうしても必要になったときとJava言語のプログラミングの混合でクラスの便利さを覚えました.Javaでかけるようになると,クラスなしでは,生きていけなくなります.
ただ,いまだにC++とJavaの微妙な違いで,どうしてJava(or C++)じゃできないんだ,なんてそれぞれプログラミングしてるときに思ったりしますが….

だから,勉強したっていうより,危機感に苛まされて,やらなきゃいけないってやっているうちに覚えたって感じなので,書籍は,本当に参考に使ってました.
例えば,
ソフトバンク,新C++入門
オライリー,C++実践プログラミング
とかです.(だから参考になるかどうか…)
Web上では,いろんなものがありましたが,初心者用としては,小林健一郎さんのC++入門のページでしょうか.

遺伝的アルゴリズムでは,なかなかソースコードが載っているものが少ないのですが,このあいだ本屋で見たときは,
昭晃堂,C言語による画像処理入門
に遺伝的アルゴリズムのソース(C言語ですが)載ってました.

参考になればいいのですが.

投稿日時 - 2002-08-01 09:26:49

お礼

お礼が遅くなって申し訳ありません!
香川に旅行に行っていました・・・うどんが美味しかった・・・。

さて、早速のご返信アリガトウございます!

どうやら経験を積んでみたほうが良さそうですね。
というわけで早速プログラミングに挑戦しています!

まだまだ分からないトコだらけですが頑張りますp(^^)q

また分からないトコがありましたらヨロシクお願いします!

投稿日時 - 2002-08-10 23:42:35

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こんにちは.Esnaです.

クラスがない言語でもGAはプログラミングできるのでクラスを使わなくてもできます.
ただ,クラスをきちんと作っておいた方が,後で拡張や変更したいときとか便利だと思います.

クラスにするとしたら,まず個体をクラスにしてみることではないでしょうか.メンバ変数としては,遺伝子情報でしょうし,メンバ関数としては,交叉や突然変異など個体自身の動作をかいてみることではないかと思います.

遺伝子情報は,配列でもいいと思います.

GAで初期設定として難しいのは,
(1)何を遺伝子情報とするか
(2)何をもって適応度がよいとするか
なので,そのあたりがしっかり考えておくことが重要です.
試行錯誤になるかもしれませんが….

がんばってください.

投稿日時 - 2002-07-26 12:50:03

お礼

こんばんは、Esnaさん!

やはりクラスを使うべきみたいですね(^^;
まだまだ夏休みは長いですので
頑張って勉強したいと思います。

ただ大型書店に行っても本が出ていないので
独学の限界を感じる今日この頃です。

もしお勧めの書籍などをご存知であれば
教えていただけないでしょうか?

投稿日時 - 2002-07-31 21:37:58

あなたにオススメの質問