遺伝的アルゴリズムについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
MArtisan

遺伝的アルゴリズムについて

#1

投稿記事 by MArtisan » 9年前

C言語のみが入門書程度にわかる者です。
最近遺伝的アルゴリズムに興味が出たので、オセロ等のターン制のゲームでそれなりに強い個体を作ることを目標にしたいと考えています。
そこで聞きたいのが、
1.どのような知識が必要なのか?
2.言語はどれを使えばいいのか?
3.1,2を学ぶのにおすすめの書籍・サイト
の3点です。
よろしくお願いします。

たいちう
記事: 418
登録日時: 13年前

Re: 遺伝的アルゴリズムについて

#2

投稿記事 by たいちう » 9年前

オセロには遺伝的アルゴリズムは向いていないような。
真剣に研究している人もいるかもしれませんが、
そこそこのレベルのものを作るのは相当大変ではないかと。
普通の人(私など)には不可能に近いと思うので、
普通は別のアルゴリズムで作成します。

それを踏まえて、一応回答。


> 1.どのような知識が必要なのか?

(1-1)
思った通りのプログラムが作れる力です。
「入門書の内容が判る」ではなく、「自分の作りたいプログラムに応用できる」です。
これができないと、どんなプログラムも作れません。

(1-2)
遺伝的アルゴリズムの知識。
TSPなどの遺伝的アルゴリズムに向いている問題は最低限解けるようになりましょう。

(1-3)
一般的なオセロのプログラムのアルゴリズム。
最終的な目標の「遺伝的アルゴリズムでオセロ作成」には必要ないかもしれませんが、
どのように「遺伝的アルゴリズムでオセロ作成」をすればよいのか判らないので、
このようなアプローチを提案します。

(1-4)
高度な応用する力。
(1-1)で書いた「応用」など、そこそこプログラムを作れる人ならば誰でもできることです。
ここで書いていることは、誰もやったことがないようなことを、
試行錯誤して研究していく、高度な応用の能力です。


> 2.言語はどれを使えばいいのか?

どれでもいいですが、メジャーな言語の方がサンプルが見つかりやすく、少し有利です。
C言語も最もメジャーな言語の1つです。


> 3.1,2を学ぶのにおすすめの書籍・サイト

(1-1)の習得のためにも、自分で調べた方が良いでしょう。
ましてや最終的な目標には(1-4)が必要なのです。
どうしても判らない点を聞きましょう。

MArtisan

Re: 遺伝的アルゴリズムについて

#3

投稿記事 by MArtisan » 9年前

遺伝的アルゴリズムを作成するには高度な技術が必要なのですね。
ある程度のランダム性(オセロであれば相手の行動)があるゲームで作りたいのですが、そういったもの自体が遺伝的アルゴリズムには向いていないのでしょうか。
とりあえず、現在自分の技術力が目標を達成するには圧倒的に足りていないことは理解できました。
目標は変えずにまずは言語への理解・応用力を深めていきたいと思います。
ありがとうございました。

たいちう
記事: 418
登録日時: 13年前

Re: 遺伝的アルゴリズムについて

#4

投稿記事 by たいちう » 9年前

誤解されているみたいですが、遺伝的アルゴリズムはさほど難しくないですよ。
私の考えでは、遺伝的アルゴリズムはオセロに向いていない、という話です。
向いてないもので無理やり作るのは当然難しいでしょう。
少なくとも私ではまともに対戦できるものを作る方法を思いつきません。

MArtisan

Re: 遺伝的アルゴリズムについて

#5

投稿記事 by MArtisan » 9年前

なるほど、そういうことでしたか。
確かにどういった行動が最適なのかが分かりづらいですね。
特にオセロに拘っているわけではないので、調べつつやりやすいものから挑戦してみることにします。

閉鎖

“C言語何でも質問掲示板” へ戻る