[過去ログ]
【オセロ,将棋】ボードゲーム【囲碁,War】 (1002レス)
【オセロ,将棋】ボードゲーム【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
599: 535 [sage] 2016/10/06(木) 21:04:20.88 ID:/7+JrWaw >>598 ん〜そうですか。 それは失礼しました。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/599
600: 310 [sage] 2016/10/06(木) 22:11:43.15 ID:2nbHwrUk >>598 投了は将棋用語で「参った」です。むしろ中押し勝ちと同じ意味です(汗 将棋の場合、詰まれるまで粘る事はみっともないこととされているので、 入玉とか千日手、反則負けなどの特殊なケースを除けば全て投了です。 囲碁は、逆に終局まで打つ事があって、「数え碁」と呼ぶみたいです。 この間のアルファ碁vsセドルの試合見て覚えました(笑) オセロのように必ず最後まで打って、得点差がはっきりと出るゲームの 方が珍しいのかも知れません。 オセロみたいなmin-Max+評価関数は既にダメ認定されてます。 アルファ碁までは、MTCS(モンテカルロツリーサーチ)が主流で、 モンテカルロ系には評価関数はありません。着手順決定のための ヒューリスティックが大事になります。 アルファ碁の登場で、一気にディープラーニングにシフトしていますが、 基本骨格はMTCSです。着手順のヒューリスティックに「次の1手を返す DCNN」と、評価値たるモンテカルロの勝率に、補助的に「勝率を返す 評価関数としてのDCNN」を組み合わせているようです。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/600
601: 310 [sage] 2016/10/08(土) 22:22:06.53 ID:wBSLMo4h あ、MTCSじゃねー。MCTSだ。 >>600書きながら、Q-Learningなるものの存在を思い出して、調べ始めたら、 やっぱりDQN(ブロック崩しで有名になった奴)はQ-Learning+DeepLearning だった。 興味津々だけど、どんどん発散しちゃうなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/601
602: 535 [sage] 2016/10/10(月) 19:51:24.57 ID:WonRpXhk なんかモチベーションあがらんなぁ 三連休まるまるさぼってしまった。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/602
603: 名前は開発中のものです。 [sage] 2016/10/10(月) 22:22:05.27 ID:WonRpXhk 将棋電王戦あったみたいですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/603
604: 名前は開発中のものです。 [sage] 2016/10/10(月) 22:38:31.22 ID:WonRpXhk 優勝はポナンザか。 一発勝負のトーナメントなのに強え。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/604
605: 名前は開発中のものです。 [sage] 2016/10/10(月) 23:10:57.87 ID:WonRpXhk ん? 一発勝負じゃないのか? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/605
606: 310 [sage] 2016/10/13(木) 11:06:43.08 ID:f6Nd8WJL ここ数日、気分転換でConnect4やってました。 ビットマップ方式の置換表付αβのオーダリング無し。リーチ状態のみ後方枝刈。 完全解析ができそうか確認してました。 全42手でルートから30手くらい置換表適用すると、序盤はかなり良いペースで探索 してくれますが、数時間で置換表パンク。置換表を20手くらいまでにとどめると、びっくり するほど速度低下。手順の前後で簡単に同形が生じるので、置換表が肝なのは確か。 というか、手順前後の同形を排除する仕組みが作れればメモリ節約可能になる。 けど、それを一般化した処理が置換表なので、全てカバーしなくても3手以内くらいで 排除すれば状況はかなり改善するかも知れない。 あと、パンク前も探索が進むにつれて徐々にnpsが低下していきます。原因不明。 書きながら気づいたのですが、置換表のハッシュ値はオセロのものを流用しています。 Connect4はビット数が少ないので、ハッシュ衝突が頻発して、格納効率が低下して 領域拡張が頻繁におきて、探索速度も落ちている可能性があります。 というわけで、現段階では置換表周りを工夫しないと完全解析は厳しそうです。 一方で、空26箇所くらいの終盤探索なら実用的な速度が出そうな感触です。 >>569の完全ソルバは、評価値表示機能があるけど、あの表示の仕方だと、証明数 探索みたいな手法を使っているのかなぁ。ほぼノータイムで最善手のみ着手してくる ので。完全ソルバの出現で終わっちゃってるゲームなんでしょうね。 で、このゲームってMCTSの練習台にちょうど良いのではないか?とふと思いついて しまいまして・・・。更に脱線しようかなと思います。Playout関数は作りましたが、ツリー 展開の仕方に疑問があり、まだ調べ中です。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/606
607: 名前は開発中のものです。 [sage] 2016/10/13(木) 21:15:41.15 ID:XMNeJMFS 310氏もConnect 4 参戦か〜 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/607
608: 535 [sage] 2016/10/13(木) 21:53:14.86 ID:XMNeJMFS 名前書き忘れた。 終盤26手読み行けそうというのは流石ですな。 完全解析ってConnect 4だと簡単そうに見えますがこれが意外と手強いんですよね〜 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/608
609: 310 [sage] 2016/10/15(土) 13:58:53.52 ID:iZ3eY/zy NPS低下問題はやはりハッシュ衝突のようで、ちょこっと直したら解消しました。 Connect4は手順前後しても同じ形になる事が多いゲーム(DAG問題多発)なので、 置換表を上手く使わないと、7兆種類あると言われている盤面を何度も重複探索して しまう事になります。が、置換表探索と登録のオーバーヘッドは結構大きく、メモリ パンクでスワップ多発の問題も起きます。 今の設定だと残り27手探索くらいなら難しい問題で1分程度で解けそうです。 NPSは20メガくらい。が、メモリパンクや重複探索の問題があるので、その速度を もとに完全解析に要する期間を推計するのは無理っぽい感じです。 というわけで、完全解析はこの辺にして、MCTSの方に行きます。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/609
610: 535 [sage] 2016/10/15(土) 20:55:10.85 ID:jn3cHMWR >>609 多分純粋なMCTSだけではあまり強くならず、 プレイアウトになにがしかの工夫を入れる必要が出てくると見てます。 逆にプレイアウトさえ改良できればMCTSはびっくりするくらい強くなる。 しかしそれでも完全ソルバには届かない。みたいな感じだと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/610
611: 310 [sage] 2016/10/15(土) 21:29:59.48 ID:iZ3eY/zy MCTS(UCT)多分できました。STL様様です。 探索時間1秒で40万プレイアウト。 playout部をnegamax的に書いたので、ちょっと混乱しました。 まだ終局判定とかいい加減で、引分近辺で落ちる可能性あります。 オセロでも1秒で10万プレイアウト以上いけるんじゃないかなぁ。 探索時間固定できるのでオセロ序盤〜中盤で使えるかも。 >>535さんのプログラムはもうダウンロードできないですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/611
612: 535 [sage] 2016/10/15(土) 21:54:42.38 ID:jn3cHMWR 秒速40万プレイアウト!?すげぇぇぇぇ 1プレイアウト=1手てことですか? 1プレイアウト=1局てことですか? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/612
613: 535 [sage] 2016/10/15(土) 22:17:47.78 ID:jn3cHMWR 460氏もオセロで10000Knps〜15000Knpsとか言ってるし、まじか〜 やっぱ本気でやってる人達は違うのかな… http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/613
614: 535 [sage] 2016/10/15(土) 23:46:45.43 ID:jn3cHMWR NPSは20メガって書いてありますね… すいません。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/614
615: 310 [sage] 2016/10/16(日) 01:32:06.03 ID:KTdXBWLt プレイアウトなので1局です。色々ごにょごにょはありますが、ランダム着手で、 とりあえず勝負がつくまで打ちます。これで1プレイアウト。 速度が出るのはビットマップとBMI命令などのX64命令を使ってるからだと思います。 が、Perfect Solverに先手で勝てません(汗。5手目に必ず間違えます。 評価値を眺めても、当たり前のように、正解(真ん中列)が最下位になります。 パラメータをそこそこいじってみましたが、状況は変わらないです。 一本道には弱いって事かなぁ。 とはいえ、自分がやると、さっくりと負けてしまいます(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/615
616: 310 [sage] 2016/10/16(日) 13:25:18.14 ID:KTdXBWLt mobility周りにバグがあって直したところ、1秒読みでPerfect Solverに先手で勝ちました。 昨夜は120秒読みでも同じ手順で負けていました。 とはいえ、乱数が絡むので引き分ける事もあります。 まだ若干問題があります。1本道を交互に着手していくと自動的に勝ちが確定する盤面 なのに、評価が引き分けになっています。プレイアウトの終局判定で何かの条件が抜け ていて、勝ちと判定されていない感じです。 直したらまた勝てなくなったりして(汗 C++の診断ツールを今回初めて使ってみました。 関数ごとの使用時間がわかるようで、速度アップの検討に重宝します。 が、どうもUCB1の計算で使うsqrtとlogを使ってる箇所でCPUを9割くらい使っている 感じです。見方が良くわからないけど、多分そういう状況。速度アップ難しい。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/616
617: 535 [sage] 2016/10/16(日) 16:43:19.50 ID:Ts0NTtMt 一秒読みで完全ソルバに勝とかまじか〜 やっぱ積み上げてきた基礎力が違うんだろうな〜 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/617
618: 310 [sage] 2016/10/16(日) 17:19:15.26 ID:KTdXBWLt どもです。評価値問題は治りました。 乱数じゃなくて、ある手順で引き分けな手を選んでしまう事が判明したので探索時間 を延ばしてみたら、逆に序盤で負け手順を選んでしまうようになりました(汗。 ツリー部の地平線臭い感じなのかなぁ。 というわけで、たまたま選んだ1秒が良かっただけかも知れませんorz MCTSも理論的には探索回数を∞にすると、最善手を必ず導き出す事は保証されて いるらしいのですが、中途半端な回数の時は保証されていないんですよね。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/618
619: 535 [sage] 2016/10/16(日) 21:36:30.64 ID:Ts0NTtMt なんか将棋で評価値を深く探索した時の評価値に近づけるっていう学習方法があるみたいですね。 ちょっと興味あります。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/619
620: 310 [sage] 2016/10/16(日) 22:45:31.89 ID:KTdXBWLt なんか、デバッグ報告みたいな状況になってすみません。 地平線臭い状況を調べていたら、負ける寸前なのに評価値が勝ちになってます。 つまり負けを認識していない。 着手を間違えるのはこの辺も原因かも知れません。 ぱっと思いつく原因が見当たらないので、しばし長考します。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/620
621: 535 [sage] 2016/10/17(月) 22:03:40.14 ID:B9d5KHtX connect 4序盤ブック作ってみようかな。 完全ソルバ丸パクリでw http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/621
622: 310 [sage] 2016/10/18(火) 00:57:04.06 ID:k8M1GDOc 色々直して、ほぼバグは取れたと思います。 で・・・強くなったはずですが・・・PerfectSolverに先手で勝てなくなりました。 かつて勝てたのはたまたま上手くバグっていたという事みたいです。 1秒設定は途中で間違えて引き分け、10秒設定は初手で負け確定(真ん中以外に着手)。 1秒設定で初手真ん中を選択するのはたまたまかもしれません。 初手だけ調べると150万プレイアウトくらいで間違えはじめ、15億プレイアウトまで確認 しましたが、雰囲気的には当分正しい答えに戻ってこないようです。 評価値の推移を見ると、一本道問題に引っかかっているように見えます。 DAG問題がやっぱり気になるので、ハッシュと組み合わせて合流できるようにしてみます。 多少は改善するかも知れないし、逆にもっと早く真ん中から外れるかも。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/622
623: 名前は開発中のものです。 [] 2016/10/18(火) 17:50:18.00 ID:7idTlLLA 読めば読むほど弱くなるとは不思議 ucbの計算間違えてるとかでは? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/623
624: 名前は開発中のものです。 [] 2016/10/18(火) 19:31:31.87 ID:4bRvdGb+ ボードゲームのオリジナルオーダー制作 http://www.logygames.com/logy/ordermade.html 簡単に本格自作ボードゲームが作れる時代到来!! http://jellyjellycafe.com/3869 100円ショップでボードゲームを自作しよう https://sites.google.com/site/jun1sboardgames/blog/makeyourbg ノーアイデアでボードゲームを作ろう第1回「100円ショップで物を買う」 http://boardgamelove.com/archives/boardgame-make-1/ 自作ゲームをゲームマーケットで売って来た http://portal.nifty.com/kiji/160418196277_1.htm 「街コロ」はカードゲームに興味ありな初心者の入門用に最適、サイコロを振って カードを集めどんどん自分の街を発展させて勝利を目指せ http://news.livedoor.com/article/detail/10962802/ ようこそ「男の世界」へ。『ダンジョン オブ マンダム』試されるカードゲーム http://www.moguragames.com/entry/dungeon_of_mandum/ かわいいひつじを増やして増やして増やしまくれ! “一人用”カードゲーム『シェフィ』 http://www.moguragames.com/entry/shephy/ http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/624
625: 535 [sage] 2016/10/18(火) 22:30:42.36 ID:5rT5zFZw 完全ソルバから定石パクるの意外とめんどくさいな。 クローラーみたいにして自動でパクれるようにしようかな。 でも迷惑かかるかな? http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/625
626: 535 [sage] 2016/10/18(火) 23:07:54.58 ID:5rT5zFZw なんか本末転倒だからやめとくかw http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/626
627: 310 [sage] 2016/10/19(水) 02:53:35.54 ID:YWnebdEb まさかの場所にバグ発見。 プレイアウトでランダムに1手選ぶところがバグってました。 良く動いていたものだと思う反面、MCTSってそういう所がある事も薄々感じてます。 が、状況はほぼ変わらず。初手真ん中と、5手目真ん中。この2か所が鬼門。 まだバグがあるのかも知れない。やっぱり自分が一番信用できないですね。 DAG問題対策でノードの合流を実装しました。枝とノードを分離して、ノードをハッシュ にして、ノードの下に次の枝をぶら下げました。同時に、ハッシュキーに細工して、 左右同形も合流させてます。あまり変化はない気が。 速度低下が酷いです。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/627
628: 310 [sage] 2016/10/20(木) 00:37:06.99 ID:yz39woaL 5手目真ん中以後どうなるのか1秒探索検証。6手目2列目に対しては、勝利(全て 最善着手)。6手目1列目に対しては、5列目着手で引き分け進行に入り、引分終了。 この時の手順では、全箇所が最善手という盤面ばかり通っていくように感じています。 つまり、MCTS的に勝利期待値が最大になりやすい手です。という事で、まあ、そんな に間違った手は打っていないかなと。 また、プレイアウトを繰り返して手がどう変遷するのか見ていくと、最善手である真ん中 は、ある一定数からほとんど選択されなくなっています。結果、その手で枝の分岐が起き ない事から、いつまでたっても評価が更新されず正解に戻らないと推測できます。 そこで、試行回数に圧倒的な差ができても、下位の手も一定回数は試行されるように できないかと、手の選択基準をucb1の大きい順から、ソフトマックス関数を通して確率 分布に変えて、乱数で選択してみました。 結果は・・・。expの計算がある事からか、速度が激減。PVに割り当てられる試行回数は 2/3程度になり、その時点の最悪手でもそれなりに試行されるようになりましたが、それ でも手の選択は微妙な感じです。この程度の効果なら、他のパラメータいじった方が 速度低下も無く良かったかも(汗 というわけで、本日のトライアルも失敗。 気が進まなかったけど、やっぱりucb1計算の検算をしてみます。 あと、部分的にmin-Maxを適用するとか。 http://mevius.5ch.net/test/read.cgi/gamedev/1057763418/628
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 374 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.032s