【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
上下前次1-新
抽出解除 レス栞
507: 310 [sage] 2021/04/23(金) 22:22:51.63 ID:SZ8gbg4M(1) AAS
完全移行前のチャンスだからと、今更ながらに読み切り処理の見直し。
少し前にようやくKiller Moveが何なのかわかったので、組み込んでみるも…
速度が低下してしまったorz
昔試した偶数理論もダメだったし、コーディングが悪いのかなぁ。
512: 310 [sage] 2021/04/28(水) 20:08:37.14 ID:z1AZ6yC/(1) AAS
そこそこ移行できて、あとは抽出処理の速度だけだと思っていたら、棋譜とBookの
確定読み切り深さの情報に不整合が発生してました。棋譜上は26手目まで読み切り
になっているのにBookだとまだ読み切りになっていないみたいな。
棋譜からBookを作っているので、棋譜が正のはずなんだけど、同じスコアとなる分岐
となる棋譜の確定読み切り深さを、深い方に揃える処理がバグっていたのかも…
とりあえずおかしいのは棋譜の深さだと決めつけてヨタプロ書いてBookから棋譜に
戻してますが、ヨタプロが間違えていたりで、結構ゴタゴタしてます。
しかもヨタプロに限って、トランザクション中におそらくBUSYで固まるというトラブルも。
というわけで、まだ安定再稼働には至っていませんorz
524: 310 [sage] 2021/05/08(土) 01:40:22.09 ID:Rn4e+nua(1) AAS
主要な棋譜作成処理は動作確認・速度問題解消できたので、とりあえずsqlite3版を
本チャンに移行して、ぼちぼち残った部分を直しています。
メモリーがスカスカになって気持ちいい。
528: 310 [sage] 2021/05/14(金) 00:24:09.18 ID:UCKlrk0/(1) AAS
sqlite3でエラーになる原因がほぼ特定できて、エラー処理を全面見直しました。
・棋譜追加処理のトランザクションのCOMMITの際にBUSY状態の継続を検出した時は、
ロールバックして再度更新をやり直すという形に変更。棋譜とBOOKの整合性を保つため
にも、速度面でもトランザクションは必須。
・SQL文の事前コンパイルであるprepareでもBUSYが発生する事がわかったので、エラー
処理を行ってBUSY検出して成功するまで繰り返す事で、prepareの完了を保証する
これらにより2プロセスまでのデッドロックは何度も検出してロールバックしてやり直しが
完遂するのが確認できています。
が、3つ以上の棋譜作成プロセスを同時に動かした時に、たまたま棋譜追加のタイミングが
3つ揃うと三すくみ的なデッドロック的状況になってしまうようで、ロールバックしてリトライが
3プロセスで順番に発生して無限ループに的に繰り返される状態になってしまう…。
2プロセスでは起きた事は無いのですが、3つだと起きる模様。
まだまだsqlite3の理解が足りないようです。
532: 310 [sage] 2021/05/17(月) 00:32:35.57 ID:eljQUmfc(1) AAS
よびのりたくみ先生のYoutubeに、谷合四段が出演して、自作将棋AIでよびのり先生
(おそらく有段レベル)と対局した顛末がアップされていました。
ライブラリ活用して2日で作ったそうです(驚)が、見事に快勝されていました。
独自部分はDLで自然言語処理向けのネットワークを使ってみたとの事で、探索部は
MCTSで動作しているようです。おそらく、ポリシーネットに使用しているのかと思います。
流石、東大大学院で自動運転技術の研究している異色の棋士ですね。
で、今更ながらにライブラリの存在に思い至りました(汗。盤面とか指し手生成とか、その手
の処理を今から作っても車輪の再発明にしかならないし、自分が考えていた独自性に至る
手前の障害物となっていたので、時間ができたら調べてみようかなぁと思います。
また、自然言語処理は今まで関心がわかなかったのですが、ポリシーネットに使うという
アイデアに惹かれています。多分、手筋の学習に強いのかなと。
当分オセロにかかりきりですが、少しづつ勉強してみようかなと思います。
とかいって、また途中で放置しちゃうのかなぁ。
オセロのAIだって、いつかやろうと思ってから25年放置していたし(笑)
538: 310 [sage] 2021/06/21(月) 22:52:46.12 ID:uctn9NI1(1) AAS
だらだらと棋譜を作り続けています。
250万件突破したけど、チェック対象の局面が大量に残っていて、また偽引き分け筋を
発見するために棋譜を作成する処理も組んでいて、まだまだ棋譜がスカスカな感じです。
500万件までやるとまだ何年かかかるのかなぁ(笑えない)
sqlite化して重くて使えなくなったいくつかの処理(棋譜内の矛盾チェックなど)については、
まったく進展せず、使用頻度を下げる事で逃げています。
上記の様に、引き分け筋の正当性チェックやら、引き分けから除外された局面が本当に
引き分けじゃないかのチェック対象がたくさんあって、30手目以後確定引き分け筋の
件数は1600〜2400件の間を行ったり来たりで、現在は2000件くらいです。
540: 310 [sage] 2021/08/06(金) 23:32:09.66 ID:WgZOTDfh(1) AAS
ご無沙汰です。535さんが書き込んだ日に書こうとしたら巻き添え規制でした
棋譜数276万件超えました。
ドロー筋は結構入り繰りありますが2200〜2400件くらいで推移しています。
久々に学習しようとしたら連続領域確保できないと怒られて、慌てて速度低下
覚悟の中間vector廃止しました。最後の手段はファイル掃き出しですが、その
ためにはオンファイルのソートユーティリティが必要です。
そのうち探します。
将棋については、頭の中で新機軸の方向性を思い描いていますが、未だに
盤面のデータ構造を決められずにいます。既存の奴を見て真似すれば良いの
ですが、やはり他人のソースを見るのに耐えられない状態ですorz
542: 310 [sage] 2021/09/16(木) 19:51:02.34 ID:ZzfQmSXn(1) AAS
久々です。棋譜297万件。あと少しで300万件。
そろそろドロー筋も出尽くしたかなと思って、既知のドロー筋が本当にドローなのか
重点チェックする処理を動かしていますが、凄く時間がかかるのと…。
ドローの可能性がある筋が更に1000件くらい増えてしまいました。
多分かなりの数が脱落していくと思いますが、予想外でした。
そろそろ終活始めないといつまで経っても終われないというのにorz
545: 310 [sage] 2021/10/04(月) 03:16:10.21 ID:OVA3Pvl4(1) AAS
棋譜305万件。まだまだ落ち着いてくれません。
久々に評価関数の学習しようとしたらまたしても連続領域確保できませんエラー。
仕方無いので教師データをバイナリファイルに外だしして準備をすることにしましたが、
並び順のshuffleでスワップ発生しまくって進まないorz
シャッフルしないと過学習が起きやすくなるので、とりあえずバイナリファイル上で
シャッフルしてみるつもり。ダメなら2分割とか考えないと。
今夜はBookの再構築までにしておきます。
メモリーが倍あれば、まだしばらく大丈夫なんだけどなぁ。
549: 310 [sage] 2021/10/21(木) 09:52:39.74 ID:1G6/45ua(1) AAS
無限時間を相手にした時に本来の確率通りになるのは自明ですね。
短い時間での試行だと、階段状になるので解析は難しいかも知れません。直観ではAが
勝った時には追加時間が入るようなものなのでAが有利になりそうではありますよね。
面倒なので勝手に問題を書き換えてみます。
「糞粘りするソフトAが有利にならず真の強弱を判定するためには、どのくらいの時間を
かけて対戦させ計測すればよいのか。」
時間を考慮に入れずに試行回数を決めて計測すれば解決する問題な気がします(汗
また、真の強弱を調べる場合に必要な試行回数は、母集団の推定ってやつなので、どこか
探せば出てくると思います。時間で区切る場合は、その試行回数を実行した時の「経過時間
の分布」ととらえる事もできますので、ここで問題を分割して、どのくらい試行時間を掛ければ
十分な試行回数が得られるのか問題ととらえなおすことができると思います。
実際の計算は…
この定理に関して、私は真に驚くべき証明を見つけたが、この余白はそれを書くには狭すぎる(笑)
553: 310 [sage] 2021/10/27(水) 22:24:54.19 ID:EdJdOKHZ(1/2) AAS
自明というほどの証明は僕にはありません(汗
開幕19連勝しちゃうとかなり期待しますよね。
やはり強さを確定するためにはそれなりの試行回数が必要という事なんでしょう。
開幕29連勝したお方は凄い事になってますし。
タイルゲームまたやってみようかな。
MCTSと親和性高そうだし。
min-Max系は自分の力では、これ以上高速化できない気がしています。
554: 310 [sage] 2021/10/27(水) 22:32:23.20 ID:EdJdOKHZ(2/2) AAS
オセロの方は、評価関数は自己対局用にそこそこの奴ができればいいやと、Book構築
の方に力を入れています。ロジックで間違っていそうな筋を分岐させてみたり、ドローっ
ぽい棋譜はかなり厳しめに分岐させてチェックしてみたり、目視で怪しいところ見つけたら
手動で分岐させてみたり。でも、なんか賽の河原状態に陥っています。どこかで安定しだ
すと期待していたら逆で、どんどん宿題が積み上がっていく感じです。
気分転換に、以前一回諦めた、読み切り処理で正解分岐が複数あって、既に確定済の
筋以外の手を選ぶロジックを見直していました。半年〜1年くらい放置していた奴です。
今見たら何を悩んでいたのかというくらい、当時の問題があっさり解決しました。まあ、
読み切り速度が20〜30%遅くなってしまうのですが、分岐を作れるので教師データに
は良いかなと。
評価関数の学習は、またパンクしてしまったので、バイナリファイル上でシャッフルする
処理を書きましたが、処理時間が怖くてまだ試していません。いっそ、もう一度評価関数
をステージ分割してしまった方が良いのではないかと思い始めています。
やればやるほどZebraの評価関数の正確さに頭が下がる思いです。
556: 310 [sage] 2021/10/28(木) 20:34:55.57 ID:tAZRxFew(1) AAS
ルールを理解して、盤面の内部表現と勝敗判定を考え始めたところで
うっちゃってますので、まだ何もしていません(汗
558: 310 [sage] 2021/10/30(土) 22:23:00.51 ID:KcRkQNBB(1) AAS
パソコンうらやましす。
メモリー128Gで32スレッドくらい欲しいなぁ。
評価関数は結局ステージ分割にしています。が、学習途中でEigenがコケる。
なんとなくステージ単位での件数オーバーっぽいので、更にステージ分割を
細かくしてみていますが、今日1日の作業がパーで、また丸1日くらいかかる
のかなと。
まだ原因特定できた訳ではないし、件数が大丈夫かも判然としないので、また
こけないか心配ではあります。
561: 310 [sage] 2021/10/31(日) 23:27:26.19 ID:wMiG8knd(1) AAS
GPUにはそんな相性問題があるのですか…
色々調べてやらないとダメですね。
コケる原因と思われるところを見つけました。
色々やった挙句、矛盾した盤面がありそうだという事になって、調べたらビンゴ。
これからヨタプロ書いて、問題の棋譜を見つけて削除するつもり。
デバッグ中にさらに色々評価関数のを見つけてしまいました。
評価関数って多少バグってても、それっぽく学習しちゃうんだよねorz。
562: 310 [sage] 2021/11/01(月) 07:58:02.78 ID:dM9ZkTyW(1/2) AAS
多分解決。
棋譜の問題じゃなくてBook構築時の問題でした。
40手目までBook登録しているのですが、40手目以前に全滅した時の
終局判定が漏れていて、無いはずの矛盾した後続の盤面を作ってました。
普段は全く影響でないのですが、Bookまとめて読みだして処理をかける時
だけ出てくる奴です。
昨夜学習開始しましたが、まだ問題箇所を全部通過したわけではありません。
が、たぶん大丈夫だと思う。昼過ぎにはわかるはず。
Book再構築に1時間と、学習に丸1日以上かな。
明日の朝までには第一陣の学習が終わるかな?
まだ学習回数不足で評価値が安定していなので、バグが快勝していても、
しばらくは時間がかかりそうです。
564: 310 [sage] 2021/11/01(月) 23:01:49.02 ID:dM9ZkTyW(2/2) AAS
とりあえず問題箇所全クリアは確認できました。
エポック10回で1日半かかるのが面倒。
せめて50エポックくらいしたい。
今週は学習週刊になりそう。
568: 310 [sage] 2021/11/05(金) 20:47:26.54 ID:TX9UwcXB(1) AAS
心の迷いから、途中まで学習して止めて、ちょこっと修正してを繰り返してますのでまったく
学習が進んでいません。Bookチェック用コンソールでの浅い探索がびっくりするほど遅く
なってしまい、原因を探したりなんやかんややっていたのが迷いの原因です。
最終的にステージ分割を止めて、8対称を4対称に落として教師データを半分にしたりして
学習再開しました。1エポック1時間半でとりあえず30回学習させてみるという事で仕上がり
は日曜日の夕方〜夜の予定。まるまる1週間パーになりました。
もともと件数オーバーでメモリ溢れ始めたのは、4対称だったのを8対称に変えてからだった
ような気がしてきました。また、ステージ分割も、昔1回トライして、速度低下が酷くてやめ
ちゃった事があったような記憶もうっすら残っています。なんつーか、こういう類の手戻りが多いorz
ただ、探索がステージ分割だけで遅くなるとも思えないです。浅い探索は単純なαβで、
オーダリングはヒューリスティックスオンリーだし、ProbCutもしていないです。分割により
評価値ゼロとなる末端が多くてβカットが減っているのかなと思っています。間違っていて
も値が入っていればβカットはされますから。
棋譜作成にランダム要素加えて、悪手変化後の局面もたくさん学習させないといかんのかな。
570: 310 [sage] 2021/11/06(土) 21:44:45.75 ID:zi779w0E(1) AAS
なんか評価値がおかしかったのでチェックしていたら、末端ノードでの評価値の差分計算
がおかしくなっていた。もともとちゃんと動いていた箇所なので、何故変わっていたのか謎。
これも激遅の原因の一つではあると思うけど、まだ遅いんだよなぁ。
575: 310 [sage] 2021/11/15(月) 00:36:16.61 ID:hveDHfQn(1) AAS
藤井先生はAIだと思うようになりました(汗
新人王とった伊藤匠4段もかなり強いね。これから期待です。
評価関数学習し始めたら、オプティマイザーでSMORMS3は学習開始直後の集束は
滅茶苦茶早いんだけど、汎化が上手く行かないので、momentumと併用していたのを
思い出して、今はmomentumで毎晩6エポックづつ学習させてます。結構よくなって
きたけど、まだまだかなぁ。このまま続けたら速さは戻りそうですが…
それならステージ分割してまた学習やり直しても良いのではないかと思ってみても
良いのかなという気がし始めています(汗
途中、棋譜をほぼ全部飛ばしそうなバグ出してました。
たまたま戻せましたが、危ない危ない。
576: 310 [sage] 2021/11/22(月) 02:44:48.95 ID:EeZe+kFL(1) AAS
中盤探索劇遅の原因わかりました。
static constな関数をstatic constexprに変更していたのが原因のようです。
色々原因探して、最後の最後にまさかと思って、戻してもたら速度問題解消。
constexprにしたらコンパイル時定数扱いになると思っていたのですが何故?
595: 310 [sage] 2022/02/25(金) 19:23:51.93 ID:magE3DLU(1) AAS
やっちまった…
うっかりBookのtableを壊してしまって、焦って削除したら棋譜まで全滅させてしまった。
棋譜だけでも吸いだせたらBook再構築できたのに…
バックアップが去年の11月で、およそ40万件分を喪失orz
手作業でいろいろ修正かけていたのに…
めげずに棋譜作成ロジックを色々いじって手修正の作業部分も自動化しましたが、
かなりテンション下がっています。
削除寸前の状態で356万棋譜に対して、30手読み切りドロー筋が3500件くらいに
なっていまして、まだ増えそうな雰囲気だったのに。
600: 310 [sage] 2022/05/24(火) 10:28:08.08 ID:MzEGW+qm(1) AAS
データベース化だね。Q学習と言った方が良いのかな。
今、小学生の子供が任天堂Switchの世界のアソビ大全51やってるんだけど、その中
に、タイルゲームとかコネクト4があって懐かしい。それらゲームを見ながら、これなら
min-Maxでとか、これはモンテカルロかなとか、つい考えちゃいます。
子供がオセロの「つよい」に勝てなくて「やばい」のレベルができないと言っていたので、
自分のAIでソフト指しして勝ってあげましたが、驚きも尊敬もしてくれませんorz
606: 310 [sage] 2022/10/09(日) 04:59:44.72 ID:Pe03UEBE(1) AAS
大変ご無沙汰です。
先々週ノートPCが不調になり、タッチパッドと画面タッチが効かなくなりました。
マウスつなげるとそれなりに使えるという状態です。
で、ゲーミング用のノートPCを新規でポチってましたが、初期不良にて現在交換待ち。
暇なんで久々にネットを徘徊して情報収集しています。
引き分け手順数の定義も見つかりました。世間一般は最終盤面(リーフ)の数でした。
自分は30手目までの手順数(合流含む)でしたので、桁が違っていたのは当然かな。
自分のBookはリーフまでもっていないので比較できないですが。
新品PCが来たら色々はかどると良いなあと思いつつ、全く別の事をやりたい気分でもあります。
609: 310 [sage] 2022/11/25(金) 09:47:26.42 ID:F+aFNO0Q(2/2) AAS
あ、>>608608(1): 名前は開発中のものです。 [sage] 2022/11/25(金) 09:46:48.62 ID:F+aFNO0Q(1/2) AAS
羽生さん来ましたね。
正直厳しいとは思いますが、最近の復調ぶりはすごいですね。
#とはいえドイツ戦みたいな事があるかもとちょっと期待
新品PCは液晶破損の初期トラブルでの交換ありましたが、一応導入完了。
Edgeと相性が悪いのかタブにマウスを持っていくとノイズが入って数秒固まるorz
プログラムについてはDB周りをかなりいじりました。現在大体移植終わって本番
テスト待ちですが、旧PCが気温の低下とともに復活してしまって(完全ではない)、
キリの良いところまで旧PCで棋譜づくり継続しようと思ったまま1ヵ月経過して
しまいました(汗。
あとスレッドのスケジューリングがいまいちわからない。ターボブーストみたいな
機能がない分、PCのスレッド数を抑えて加熱対策しているような動作にも見える。
CPUがAVX512対応なので、count leading zeroのSIMD版が使えるんじゃないかと
期待していたけど、残念ながらこの命令には対応していませんでした。
そろそろ時間があるときにDB含めて移行しないと。
は自分です。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.061s*