【オセロ,将棋】ボードゲーム Part3【囲碁,War】
比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
前スレ
【オセロ,将棋】ボードゲーム Part2【囲碁,War】
https://mevius.5ch.net/test/read.cgi/gamedev/1508056498/ 保守って必要なんでしたっけ?
とりあえず少し書き込んどくか CPUがシングルスレッド動作で遊んじゃってるから並列化したいが難しいかな? ライフゲーム囲碁のルール的に5x5のフィルタは絶大な効力があるはずだが。
今のネットワークが行き詰まったら試してみたい。 もしかしたらGPUつかってたらGPUがネックになってCPU並列にしても高速にならないとか可能性あるんだろか?
そんなもん試してみなきゃわからんか。
うーん。 他人のコードをただ使うだけじゃなく、ちゃんと理解したほうがいいんだろな。
ぼちぼち読み解いていくのもやっていかないとな。 今日も止まってる。
中間結果をもっとこまめに吐き出すようにして止まっても再開できるようにしないとだめかなぁ 100戦ごとに中間結果を吐き出すのを20戦ごとにしました。
ベストポリシー更新も40戦中24勝で更新のところを10戦中7勝で更新にしました。
短いスパンで回数をこなす方針です。 ただ固まらないで走り続けてくれるだけでいいのになんでこんなことで躓くんだろ?
これはあれか?new マシンを買えという神のお告げか?ww オープンソースの強い9路囲碁のAIをどこかから持ってきて、初手から上位候補3〜4手を展開して
HDDが溢れるまでDBに登録するというのをヒマができたらちょっとやってみたい。
>>310さんに聞いてみたいですが、これ筋悪ですかね? お、止まってない。
当たり前のことがこんなにうれしい。 なんかcpu特化マシンとgpu特化マシンと2台用意するのが良いのかも知れない
そんな気がする お、50戦50勝ですね。
既存AIとも対戦させてみたいですが手入力はめんどくさいですね… 手入力でやってみようかと思いましたが誤入力してしまうと取り返しがつかずかなり面倒ですね。
ちょっとやってみましたがいきなり先制攻撃して反撃を食らってしまうモンテカルロの癖が見られますね。
まだ既存のモンテカルロ+ヒューリスティックAIには勝てないかな。 ベストポリシー更新こね〜〜〜
丸一日来なかった切なすぎる。orz これがシンプルで初心者向きかと
TLWIN4
http://www2u.biglobe.ne.jp/~shunbook/omocha/tlwin4.htm >>21
囲碁っぽいゲームだね。
自分がそのAI作ろうとは思わないけど、作者がこのスレに書き込んでくれるなら歓迎する。 結構昔のゲームなのか。
強いな。勝てない。まあ当たり前か。
アルファベータっぽいアルゴリズムなのかな?
いい枝刈りがあれば完全解析も夢ではないかも。
作者もう開発してないかもね。
センスいいゲームだと思います。 ん〜16マスだとすべての局面数が高々3^16=43メガか
今のマシンなら完全解析できそうな?
ていうか多分作者がもう完全解析達成してそう?。 多分今からやるなら6x6か8x8がいいサイズかな?
でも小さい盤面でも奥が深いのは確かにそう思う。 タイルゲーム紹介した人だけど作者ではないけど
ちかいうちにたたき台をあげる
これで実験することで他のゲームにも応用、流用できるはずだろうと >>27
今後、継続的に書き込むなら、なんかコテつけてくれるとありがたいです。 ここ3日くらい止まらないで動いてくれてる。
ありがたい。 面白そうなゲームですね。このゲーム、千日手筋が出た時の引き分けの扱いが気になり
ます。引き分けにならないのかなぁ。
4×4なら、作者さんの様に盤面の勝敗情報をBook(DB)化して、幅優先探索で虱潰し
に穴埋めします。千日手検出して探索打ち切り筋決めながら。あと、Bookの遡り更新。
強いAIを作るというより、完全解析に向かっちゃいます。時間がどれくらいかかるのか
は不明だけどオセロの4×4は1秒未満で完全解析しちゃうのでいけるかなと。
8×8だと、何らかの評価関数が必要でしょうね。どういう評価関数にするか妄想膨らん
だけど、当面作る予定もない人が、先を予想するのもどうかと思うので、省略。
あと、偶数盤と奇数盤で結構必戦術が違ってきそうな気がしています。
つか、AI的に、ちょっと興味あるかも。 ライフゲーム囲碁もうまく行かないし少しこのゲームに寄り道したい気持ちが出てきた。
まだやるかわからんけど。 タイルゲームのルール実装しました。
多分4x4の完全解析行けそうな感じです。 あれ意外と手ごわいかも?
まだメモリは尽きてないから様子見かなぁ 計算おわらねぇなぁ
310さんの言うように千日手あるのかなぁ
もう今日は徹夜だ このゲーム凄いギリギリのゲームバランスを達成してるのかもしれない。
まだ計算途中だけど白黒で必勝局面の数がほとんど変わらない。
凄い。 対称局面考慮すればもうちょっと速くなりそうかな。
8対称にはならないかな?4対称? これ310さんならもっと速くとけるんじゃないかなぁ。
メモリを意識しすぎたかもしれん。
もっと贅沢にメモリ使ってもよかったかも? 16手目まで読んでも探索が終わらないだと?
なんか間違えてんのかなぁ この調子だと5x5の完全解析はかなり難しいかもな。
まだ解けてないけど4x4は行けるはず。 4対称を考慮したすべての合法な局面数16050722になるっぽい。
でも完全解析はまだできてない。
反復深化っぽいアルゴリズムにしたの失敗だったか? あ、合法局面数えるの終局判定入れてなかったorz
もっと減るかな。 反復深化やめたら72秒で完全解析完了しましたw
結果は後手の勝ち。
まあバグはあるかもしれない。
310さんもやってみてほしいな〜
答え合わせしたいw 使用メモリは2GBくらい。
うーん。
なんかちょっとバグの予感がしますが。 勝った〜
一勝した。
必勝かどうかは確かめる気力なしwww
もう寝るwwww
これ以上バグが無ければ後手必勝と出ました。 今のところ完全解析にかかる時間は2分15秒
公式AIにも勝てるし多分バグも大丈夫
ちなみに5x5完全解析は絶望的
6x6くらいをアルファゼロでやってみるのも面白いかもね。 ID真っ赤だな俺ww
まあ今日は頑張ったww
久しぶりに気分いいわww 公式AIのBookのフォーマット、ドキュメントがありますね。
必勝ブックを作るのもちょっと面白そうだがさすがにそこまではやらないかな。 お。早速やりましたか。
必勝法の類の発想ですが、盤面に2×2のフィルタをかけたとして、3^(2×2)=81通り
を、縦接続・横接続・未定に分類して9×9の盤面に置きかえると、作戦を考えやすいの
かなと思っていたりします。 AIから日本語で棋理を抽出出来たら面白いなーと妄想したり。
囲碁将棋でだれかやってくれないかな。 タイルゲームはわりとツークツワンクが大事っぽいですね。 あ、27さんの見せ場を奪ってしまったかな?
まあ5x5とか残っているし頑張れ アルファゼロってホントに強くなるのかなぁ?
疑念が収まらないww DeepMindからAlphaZeroの進化版「MuZero」が登場
?!? 19路囲連星をまたやろうかとかぼんやり考えています リレーショナルDBに手を出してみたい
ポスグレが第一候補 あけおめー。
昨年中に確定探索遡りのバックログを消化するつもりだったのが、
怪しい筋たくさん見つけて全部訂正棋譜を掘ってしまったので、
更にバックログ増加中。 ポスグレの入門本買ったけど全く手を付けてない
さぼりモード ポスグレ使うとして囲碁やるかライフゲーム囲碁やるか囲連星やるか心が決まらない とりあえず8TBのHDD買った
どのゲームやるかはまだ決まってない うお、ケースにHDD増設するスペースがないw
外付け化できるやつ買うかw HDD無事OSに認識されました。(最初認識されなくて焦った)
さてここからどうするか。 ライフゲーム囲碁はデータ取るほど弱くなるし、19路囲連星は広すぎるし9路囲連星かなぁ あれ、おかしいな。9路囲連星のソースどこかいっちゃった。
まあ気持ちも新たに1から作るのも悪くないけど。 なんかちょっとしばらくさぼってたらコーディングの腕が鈍ってるかも。
勘が働かないというか。 マジでモチベが湧いて来ない
ここのところ忙しかったのもあるけど 9路囲連星のモチベが上がらないのは本当は心の底ではライフゲーム囲碁をやりたいからなのかもしれない。 いや、ちがうな。手っ取り早く結果が欲しいだけなんだ。
心が弱いんだ。 やっぱ教科書の通り実装しようとするよりも自分でアイディアひねり出そうともがくほうが楽しいなぁ。
教科書が大事じゃないとは言わないけど、なによりモチベが全ての活動の源泉だからな。 対称局面で候補手を絞り込む処理書いてるんだけど、もしかして8対称じゃなくて4対称しか使えないのだろうか?? ちょっと言葉が足りないかな?
着手後の局面が対称局面として同型となる候補手が複数ある場合、
そのうちの一つだけを代表として選択できるようにする、みたいなイメージなんだけど。 線対称と回転対称があって、線対称は縦横斜め×2の4通りと、
180度回転対称の5通りではないかと思われます。 うーむ、線対称はそれぞれ候補手が約半分になるのはわかるが180度回転対称はどうなるんだろう? 0 O O O O @ @ @ @ @ | 0 O O O O O O O O O | 0 @ @ @ @ @ @ @ @ @ | 0 O O O O O O O O @
1 O O O O @ @ @ @ @ | 1 O O O O O O O O O | 1 O @ @ @ @ @ @ @ @ | 1 O O O O O O O @ @
2 O O O O @ @ @ @ @ | 2 O O O O O O O O O | 2 O O @ @ @ @ @ @ @ | 2 O O O O O O @ @ @
3 O O O O @ @ @ @ @ | 3 O O O O O O O O O | 3 O O O @ @ @ @ @ @ | 3 O O O O O @ @ @ @
4 O O O O @ @ @ @ @ | 4 @ @ @ @ @ @ @ @ @ | 4 O O O O @ @ @ @ @ | 4 O O O O @ @ @ @ @
5 O O O O @ @ @ @ @ | 5 @ @ @ @ @ @ @ @ @ | 5 O O O O O @ @ @ @ | 5 O O O @ @ @ @ @ @
6 O O O O @ @ @ @ @ | 6 @ @ @ @ @ @ @ @ @ | 6 O O O O O O @ @ @ | 6 O O @ @ @ @ @ @ @
7 O O O O @ @ @ @ @ | 7 @ @ @ @ @ @ @ @ @ | 7 O O O O O O O @ @ | 7 O @ @ @ @ @ @ @ @
8 O O O O @ @ @ @ @ | 8 @ @ @ @ @ @ @ @ @ | 8 O O O O O O O O @ | 8 @ @ @ @ @ @ @ @ @
やっぱりわからないかもしれない。
例えば線対称なら上図のようになりますよね(@が着手候補)
回転対称ってどう半分になりますか? もしかして現局面の対称性を考えるんじゃなくて着手後の対称性を考えるとわかるのだろうか? 回転対称の時は、180度回した場所と対称になるので、左上と右下みたいな感じです。
(0,0)⇔(8,8)
(0,1)⇔(8,7)
(1,0)⇔(7,8)
(1,1)⇔(7,7)
:
(m,n)⇔(8−m,8−n)
みたいになりますので、図形ではイメージしずらいかも。 うーん、回転対称確かに使えるかも。結局8対称全部使えるってことなのかなぁ? とりあえずpostgre sqlをインストールしました。 スレッドリッパー3990x今週発売らしいですね。
藤井聡太7段が狙ってるとかなんとかw なんか今日のabema中継で藤井君が新PC買ったみたいな話出てたよ。
解説陣の伝聞情報だからアテにならないかも知れないけど。
相変わらず棋譜作り続けているけど、まだまだ局面的にはスカスカな感じ(汗
あと1年くらい続けてもダメかも知れないorz
あと結構たくさんのパブリックドローが、ドローじゃなさそうな感じになってきてます。
ドローから外れる良い手(+2の分岐)が見つかった時に、それが正しいのかどうかを
チェックしています。深いところの分岐なら時間かければ完全読み切りで確定できる
のですが、浅いところで外れる場合は確認しきれません。Zebraを見ながら間違い探し
をしようにも、こういうのはZebraの評価値も揺れ動いていてあんまりあてにならず。
現在パブリックドローとして拾ってきた棋譜が99本ありますが、12本が確定間違い。
13本が、おそらく間違いという状態です。後者はDAGや対称形を考慮すると4パターン
に集約されます。
ちなみに、F5f6E6f4G5の筋は全滅しそうです。F5d6C3d3C4f4C5b3C2の筋は、たくさん
生き残っています。逆に新発見のおそらくパブリックドロー候補もたくさんあるけど、
まだ怖くて確認してません。 対称局面の話ですが、MCTSで探索範囲を絞るのであれば、All Moves As First法が
有効ではないかと思います。
オセロでは全く使えない方法なので僕は詳しくありませんが。 うーん、All Moves As First法ですか。
ライフゲーム囲碁は囲碁に似ているゲームだから有効かもしれませんが、手順はやっぱり大事な気がするんですよね〜
実装して試したわけじゃないけど、第一感として心のどこかで納得いってない部分はあります。 すまんライフゲーム囲碁よくわからんで適当だった。
手順が大事なら無理だね。
こちらはF5f6の筋が全滅している…。
これから間違い探しですが、大変だぁ。 いや、実はむしろ囲碁よりライフゲーム囲碁のほうが有効な可能性までありますが…
やはり心のどこかで引っかかるものがあるのです。 F5f6の筋復活。
パブリックドローリスト99件に対して、6パターン12本の棋譜が確定間違い。
そのほか3パターン9本のおそらくパブリックドローじゃない疑い。 あああ、まったく頑張れない
今日も虚しく時間だけが過ぎて行く
Orz SQLのテーブルって一回定義しちゃって運用始まっちゃうと中々変えれないイメージがあって踏ん切りがつかない
それなら初めからテーブル分割気味に定義したほうがいいのだろうか? テーブルに予備項目もたせて後から項目増やしたくなったらそれ使うみたいな手法もないことはないな。
最善策ではないにしても。 軽く計算してみたけど8TBのHDDをもってしても12〜13手くらいしか全記憶できないっぽいな
うーむ