Discuss Scratch

ARATAKU
Scratcher
500+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

はい。このトピックは、僕が作ったReversi を強くして、みんなの技術力を高めよう!というトピックです。
スタジオも作りました。Reversi合作

このトピックでのルール
・基本AIまたはクラウドに関わることを話し合い、合作し合います。
・ブロックによる返信は、明らかに不要な物は止めてください。ただし、
もし <誰々さんが作ってくれる> なら 
[お願いします!] と言う
でなければ
他の人を探す
end
などの、文章で説明するよりも簡潔に、伝わりやすく伝えられる場合は、ブロックで返信してもいいです。
・ブロックによる返信には、あまり厳しく注意しないでください。

・クラウドに関する質問も受け付けています。
ただし、今のReversiに実装してあるクラウド機能は、不完全です。一緒に改善していき、より理解を深めていけるといいなと思っています。

・このルールを守れていない人に、このルールをそのまま貼り付けるのは止めてください。出来るだけ丁寧に、#1にルールが書いてあることを伝えてください。

よろしくお願いします。

Last edited by ARATAKU (Aug. 10, 2018 23:29:29)


つかれた。もう聞き飽きたよ
watashida
Scratcher
500+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

皆さん評価関数には何を使っているんですか?
私の予想では序盤中盤は開放度理論を使って、終盤は石の数を使うのがそれなりにいいかなと。
試したことがないのでわかりませんが…

ついでにニューラルネットワークとかも使ってみたいけど、速度が遅いのはそれなりにネックっぽい

Last edited by watashida (Aug. 10, 2018 13:11:44)


機械学習たーのしー!わーい!
ARATAKU
Scratcher
500+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

watashida wrote:

皆さん評価関数には何を使っているんですか?
私の予想では序盤中盤は開放度理論を使って、終盤は石の数を使うのがそれなりにいいかなと。
試したことがないのでわかりませんが…

ついでにニューラルネットワークとかも使ってみたいけど、速度が遅いのはそれなりにネックっぽい
リバーシにニューラルネットワークはむいていないような気がします。
開放度理論ってなんですか?(自分では、勝手に着手可能手数の事だと思っている。)

つかれた。もう聞き飽きたよ
watashida
Scratcher
500+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

ARATAKU wrote:

watashida wrote:

皆さん評価関数には何を使っているんですか?
私の予想では序盤中盤は開放度理論を使って、終盤は石の数を使うのがそれなりにいいかなと。
試したことがないのでわかりませんが…

ついでにニューラルネットワークとかも使ってみたいけど、速度が遅いのはそれなりにネックっぽい
リバーシにニューラルネットワークはむいていないような気がします。
開放度理論ってなんですか?(自分では、勝手に着手可能手数の事だと思っている。)
うまくやればニューラルネットワークは探索をせずに使えるかもと思ったのですけどどうでしょう?
開放度理論はこことか

機械学習たーのしー!わーい!
IRON-OWL
Scratcher
100+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

僕今作ろうとしてたのは、盤面を毎勝負おきに記録、買ったら評価を上げて負けたら下げるする。手を打った後に、起きる盤面と記録にある盤面をパーセントで表記して、一致度でその盤面のお評価をかけたものの合計値をその手の評価とする。って言う学習型。
作れたら作って見る

Last edited by IRON-OWL (Aug. 11, 2018 01:38:24)


Scratch Reversi Engine Competition(2017.8.1)優勝作品は@s00384206さんのAI@KAMESAN123AIでした!
ARATAKU
Scratcher
500+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

IRON-OWL wrote:

僕今作ろうとしてたのは、盤面を毎勝負おきに記録、買ったら評価を上げて負けたら下げるする。手を打った後に、起きる盤面と記録にある盤面をパーセントで表記して、一致度でその盤面のお評価をかけたものの合計値をその手の評価とする。って言う学習型。
作れたら作って見る

なるほど。ただ、一致度と言っても、駒の数、駒の色の一致度、などもありますし、また、リバーシは単純そうに見えて実は複雑なゲームなので、一致度だけで評価して、強くなるかどうかは若干怪しいところですが、まぁ、作ってみるまで分かりませんね。

つかれた。もう聞き飽きたよ
ARATAKU
Scratcher
500+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

帰ってきました。(用事で今日まで休んでいました。)
kamesan123さんが開催されていたリバーシコンテスト、またやってくれるといいですね。もし開催されるなら、みんなで最強ののAIを作ってみたいと思っています。

つかれた。もう聞き飽きたよ
ARATAKU
Scratcher
500+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

クラウド機能が一応しっかり動くようになりました。

つかれた。もう聞き飽きたよ
tyawanmusi
Scratcher
100+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

watashida wrote:

皆さん評価関数には何を使っているんですか?
自分は中盤までは盤面位置+開放度理論+確定石個数を合わせて使っていますね。
それぞれの評価がうまく噛み合うようにそれぞれの「重さ」を出すのがちょいと難しかったです。
終盤では読み切りますね。
弱点といえば盤面位置評価が少し弱くなるのでたまに頭おかしい所に置いちゃうことがあることですね。

にゃ~ん ( =^・ω・^= )
ARATAKU
Scratcher
500+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

tyawanmusi wrote:

watashida wrote:

皆さん評価関数には何を使っているんですか?
自分は中盤までは盤面位置+開放度理論+確定石個数を合わせて使っていますね。
それぞれの評価がうまく噛み合うようにそれぞれの「重さ」を出すのがちょいと難しかったです。
終盤では読み切りますね。
弱点といえば盤面位置評価が少し弱くなるのでたまに頭おかしい所に置いちゃうことがあることですね。
tyawanmusiさんのリバーシって、最後の方パスの連続で何も出来ずに負けることが多いんですよね。反対に、自分のオセロは、本来コンピュータが得意なはずの終盤に弱くなります。 読み切って、双方最善手を打つと自分が負けると確信すると、意味の分からない手を打ち始めるんですが、どうすればいいでしょう・・・。(勝とうとしない。)
 確定石について、最近自分のオセロの確定石の判定を強化して、かなり正確にたくさんの確定石を評価できるようになりました。が、あまり強くなりません。ただ重くて弱いオセロができあがりました。
 そこで、確定石を素早く確実に評価できるアルゴリズムを一緒に考えてもらいたいと思います。よろしくお願いします。
(編集しました。)

Last edited by ARATAKU (Aug. 19, 2018 00:54:36)


つかれた。もう聞き飽きたよ
ARATAKU
Scratcher
500+ posts

Reversi AIを強くすることで、技術力を向上させるトピック

satoru_solurさん、クラウドの作り方を説明するので、このトピックを見つけたら教えてください。(フォローすると通知が来て便利です。)

つかれた。もう聞き飽きたよ

Powered by DjangoBB