C言語のみが入門書程度にわかる者です。
最近遺伝的アルゴリズムに興味が出たので、オセロ等のターン制のゲームでそれなりに強い個体を作ることを目標にしたいと考えています。
そこで聞きたいのが、
1.どのような知識が必要なのか?
2.言語はどれを使えばいいのか?
3.1,2を学ぶのにおすすめの書籍・サイト
の3点です。
よろしくお願いします。
遺伝的アルゴリズムについて
Re: 遺伝的アルゴリズムについて
オセロには遺伝的アルゴリズムは向いていないような。
真剣に研究している人もいるかもしれませんが、
そこそこのレベルのものを作るのは相当大変ではないかと。
普通の人(私など)には不可能に近いと思うので、
普通は別のアルゴリズムで作成します。
それを踏まえて、一応回答。
> 1.どのような知識が必要なのか?
(1-1)
思った通りのプログラムが作れる力です。
「入門書の内容が判る」ではなく、「自分の作りたいプログラムに応用できる」です。
これができないと、どんなプログラムも作れません。
(1-2)
遺伝的アルゴリズムの知識。
TSPなどの遺伝的アルゴリズムに向いている問題は最低限解けるようになりましょう。
(1-3)
一般的なオセロのプログラムのアルゴリズム。
最終的な目標の「遺伝的アルゴリズムでオセロ作成」には必要ないかもしれませんが、
どのように「遺伝的アルゴリズムでオセロ作成」をすればよいのか判らないので、
このようなアプローチを提案します。
(1-4)
高度な応用する力。
(1-1)で書いた「応用」など、そこそこプログラムを作れる人ならば誰でもできることです。
ここで書いていることは、誰もやったことがないようなことを、
試行錯誤して研究していく、高度な応用の能力です。
> 2.言語はどれを使えばいいのか?
どれでもいいですが、メジャーな言語の方がサンプルが見つかりやすく、少し有利です。
C言語も最もメジャーな言語の1つです。
> 3.1,2を学ぶのにおすすめの書籍・サイト
(1-1)の習得のためにも、自分で調べた方が良いでしょう。
ましてや最終的な目標には(1-4)が必要なのです。
どうしても判らない点を聞きましょう。
真剣に研究している人もいるかもしれませんが、
そこそこのレベルのものを作るのは相当大変ではないかと。
普通の人(私など)には不可能に近いと思うので、
普通は別のアルゴリズムで作成します。
それを踏まえて、一応回答。
> 1.どのような知識が必要なのか?
(1-1)
思った通りのプログラムが作れる力です。
「入門書の内容が判る」ではなく、「自分の作りたいプログラムに応用できる」です。
これができないと、どんなプログラムも作れません。
(1-2)
遺伝的アルゴリズムの知識。
TSPなどの遺伝的アルゴリズムに向いている問題は最低限解けるようになりましょう。
(1-3)
一般的なオセロのプログラムのアルゴリズム。
最終的な目標の「遺伝的アルゴリズムでオセロ作成」には必要ないかもしれませんが、
どのように「遺伝的アルゴリズムでオセロ作成」をすればよいのか判らないので、
このようなアプローチを提案します。
(1-4)
高度な応用する力。
(1-1)で書いた「応用」など、そこそこプログラムを作れる人ならば誰でもできることです。
ここで書いていることは、誰もやったことがないようなことを、
試行錯誤して研究していく、高度な応用の能力です。
> 2.言語はどれを使えばいいのか?
どれでもいいですが、メジャーな言語の方がサンプルが見つかりやすく、少し有利です。
C言語も最もメジャーな言語の1つです。
> 3.1,2を学ぶのにおすすめの書籍・サイト
(1-1)の習得のためにも、自分で調べた方が良いでしょう。
ましてや最終的な目標には(1-4)が必要なのです。
どうしても判らない点を聞きましょう。
Re: 遺伝的アルゴリズムについて
遺伝的アルゴリズムを作成するには高度な技術が必要なのですね。
ある程度のランダム性(オセロであれば相手の行動)があるゲームで作りたいのですが、そういったもの自体が遺伝的アルゴリズムには向いていないのでしょうか。
とりあえず、現在自分の技術力が目標を達成するには圧倒的に足りていないことは理解できました。
目標は変えずにまずは言語への理解・応用力を深めていきたいと思います。
ありがとうございました。
ある程度のランダム性(オセロであれば相手の行動)があるゲームで作りたいのですが、そういったもの自体が遺伝的アルゴリズムには向いていないのでしょうか。
とりあえず、現在自分の技術力が目標を達成するには圧倒的に足りていないことは理解できました。
目標は変えずにまずは言語への理解・応用力を深めていきたいと思います。
ありがとうございました。
Re: 遺伝的アルゴリズムについて
誤解されているみたいですが、遺伝的アルゴリズムはさほど難しくないですよ。
私の考えでは、遺伝的アルゴリズムはオセロに向いていない、という話です。
向いてないもので無理やり作るのは当然難しいでしょう。
少なくとも私ではまともに対戦できるものを作る方法を思いつきません。
私の考えでは、遺伝的アルゴリズムはオセロに向いていない、という話です。
向いてないもので無理やり作るのは当然難しいでしょう。
少なくとも私ではまともに対戦できるものを作る方法を思いつきません。
Re: 遺伝的アルゴリズムについて
なるほど、そういうことでしたか。
確かにどういった行動が最適なのかが分かりづらいですね。
特にオセロに拘っているわけではないので、調べつつやりやすいものから挑戦してみることにします。
確かにどういった行動が最適なのかが分かりづらいですね。
特にオセロに拘っているわけではないので、調べつつやりやすいものから挑戦してみることにします。