【オセロ,将棋】ボードゲーム Part3【囲碁,War】 (636レス)
【オセロ,将棋】ボードゲーム Part3【囲碁,War】 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
500: 名前は開発中のものです。 [sage] 2021/04/17(土) 17:16:49.19 ID:76fyq86U jsでテスト関数?describe()なんてあったっけ?と調べたらnode.jsの関数だったわ それで何するのかも意義もよく分からんけど 使いこなせたら女にモテることは理解できた すごいな自動テスト http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/500
501: 310 [sage] 2021/04/19(月) 00:35:34.53 ID:MoZY+/Mw 評価関数問題は回避しました。 でも、SQliteでBook探索という一番使うところでSQLITE_MISUSEエラーが出て、 行き詰ってます(汗。よりによって、完全読み切り処理の中で起きています。 別スレッドから同じDBポインタを引数にして…という説明があるので、DB接続を分けた のですが直らん。 テストでparallel_for内でマルチスレッド化して使ってみましたが、普通に動作する。 SQL文のtypoでもこのエラーが出るのを見つけたのですが、他の場所では動作するので typoとは思えない。 何か他に原因があるのだろうか… http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/501
502: 310 [sage] 2021/04/19(月) 20:51:01.20 ID:MoZY+/Mw 原因判明。prepareのところでBUSYとなっていたのに、待っていなかったのが原因でした。 というわけで待つ様に偏向したところ、めっちゃ速度低下。そもそも探索1回あたりの処理が 軽すぎて、DBアクセスの準備が間に合わなくなっていたのが原因みたいです。 BUSYを待つようにしたら滅茶苦茶速度低下。並列化の意味なしパターンです。読み切り 処理で過去に読み切り済のBookを活用するための処理でBookを見ていましたが、初段 限定使用に改造して回避。 読み切り処理のテスト時にバグでBookに矛盾が生じてしまったので、矛盾解消の処理の テスト始めたら、ここもバグってる感じ。毎回再構築した方が早いかも。 まだ先は長そうというか、長期間楽しめそうです(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/502
503: 310 [sage] 2021/04/20(火) 00:26:09.25 ID:APnaWVT/ Book矛盾解消もBook再構築も、どちらもBUSY地獄になりました。 一旦BUSYになったら無限ループ待ち。COMMITしてみたり試したけどダメ。 Book再構築は昔は動いていたはずなのですが、DB接続を関数ごとに分離した ために動かなくなった感じなのかなぁ。泥縄で試していくしかないですね(汗 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/503
504: 310 [sage] 2021/04/22(木) 02:18:19.05 ID:7rHLmRsN BUSY問題解消。やっぱり更新Transaction内では参照系を別のDB接続でやっては ダメだった模様です。 そのほか、いわゆる単体テストレベルは一通りチェックしました。後は全部繋げて どうかという話になります。処理時間が長くて使えないものも出てきそうですが、 移行できる算段はできたかなぁ。 プログラム書いている裏で、旧版を動かしっぱなしなので、切り替えるタイミング がなかなか作れなかったりして。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/504
505: 535 [sage] 2021/04/23(金) 19:12:09.19 ID:1dz+811c いまさらながらライフゲーム囲碁のAIが思ったより強くないことに気づいてしまった。 でも、さらに鍛え直そうという気もさほど起きないな。 pythonの勉強も放置中ですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/505
506: 535 [] 2021/04/23(金) 20:10:56.55 ID:1dz+811c visual stdio 2019にpython を追加してみました。 自動テストも出来るっぽい。 ちょっとづつでいいから前進しよう。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/506
507: 310 [sage] 2021/04/23(金) 22:22:51.63 ID:SZ8gbg4M 完全移行前のチャンスだからと、今更ながらに読み切り処理の見直し。 少し前にようやくKiller Moveが何なのかわかったので、組み込んでみるも… 速度が低下してしまったorz 昔試した偶数理論もダメだったし、コーディングが悪いのかなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/507
508: 535 [sage] 2021/04/23(金) 23:50:34.12 ID:1dz+811c 自動テスト動くと結構うれしいですね。 でもテスト書く工数も意外と馬鹿にならない感じもする。 今後テスト書くモチベーションが高くなるか低くなるかどっちかなぁ。 これ多分、テストは凝らずにあっさり書くのが長く続くコツだろうな。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/508
509: 535 [sage] 2021/04/24(土) 17:53:34.18 ID:XMffmkc0 テスト書くモチベーションが低下し始めたwww さすがに根性なさすぎと思うが自分じゃどうしようもないw http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/509
510: 名前は開発中のものです。 [sage] 2021/04/27(火) 10:09:52.33 ID:mKcsXLH1 自作ゲームツールで操作履歴を記録し、操作を戻す機能を作っている それで気づいたんだけど履歴システムはテスト機能も兼ねるのでないかと... 操作名が記録されたなら、操作を行い関数実行して最後に記録するまでの証明ができる 各操作の関数内外部にテスト用関数を用意してon/offの引数があれば、 履歴機能から全テストを行い、集約できて一覧できるのでないかと... アホな思いつきですまん。履歴機能関係なくもっと簡便な方法があるはず... http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/510
511: 535 [sage] 2021/04/28(水) 17:51:10.10 ID:hK4hWoNx 黄 金 週 間 ! 7連休です。 しかし活動するかどうかは微妙なラインだなw 気持ちが乗らなくてもちょっとづつでもいいから進めるのが正解なんだろうが。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/511
512: 310 [sage] 2021/04/28(水) 20:08:37.14 ID:z1AZ6yC/ そこそこ移行できて、あとは抽出処理の速度だけだと思っていたら、棋譜とBookの 確定読み切り深さの情報に不整合が発生してました。棋譜上は26手目まで読み切り になっているのにBookだとまだ読み切りになっていないみたいな。 棋譜からBookを作っているので、棋譜が正のはずなんだけど、同じスコアとなる分岐 となる棋譜の確定読み切り深さを、深い方に揃える処理がバグっていたのかも… とりあえずおかしいのは棋譜の深さだと決めつけてヨタプロ書いてBookから棋譜に 戻してますが、ヨタプロが間違えていたりで、結構ゴタゴタしてます。 しかもヨタプロに限って、トランザクション中におそらくBUSYで固まるというトラブルも。 というわけで、まだ安定再稼働には至っていませんorz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/512
513: 535 [sage] 2021/04/28(水) 21:22:38.58 ID:hK4hWoNx GW中は一日15分でもいいから活動するようにしたいかな。 いくらpythonといえど調子さえ戻れば囲碁のルール実装するくらいはさほど難しくはないんだから。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/513
514: 535 [sage] 2021/04/29(木) 13:57:53.69 ID:3bXp+eiJ 2時間くらいコーディングできました。 仕様通り動かすだけならそんなに難しくないけど、計算量気にしだすと結構ハマるなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/514
515: 名前は開発中のものです。 [sage] 2021/04/29(木) 16:40:28.30 ID:FejMHJk5 >>514 あぁあぁあコードが見たい、、、あなたのソースコードが見たいよぉハァハァ見せておくれよお願いだよほぉぉ 少しだけでいいからチラッと画像upしてくれたら、コーディングスタイルであなたの人柄をズバリ言い当ててみせるから http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/515
516: 535 [] 2021/04/30(金) 17:35:06.43 ID:S6lNjE8w 漫画のセリフのパロディかなんかか? よくそこまでキモくできるな(驚愕 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/516
517: 535 [sage] 2021/04/30(金) 19:05:50.78 ID:S6lNjE8w 計算量には目をつぶってとりあえず動くものを目指したら 囲碁ルール、ぱっと見動くようになりました。 まだバグはありそうですが。。。 あとランダムに打って100局終局するまでに40秒かかる。 これは遅いでしょう。 あと10倍くらい速くしたいところではある。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/517
518: 535 [sage] 2021/04/30(金) 19:19:29.79 ID:S6lNjE8w 石の連結情報の更新を見直して100局26秒まで縮まりました。 もっと縮まってくれると思ってましたが、意外と厳しいorz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/518
519: 名前は開発中のものです。 [age] 2021/04/30(金) 19:36:35.75 ID:tOa4q776 見せたら見せたで貶され難癖つけられると思って警戒してるな >>516 恥ずかしい、、、恥ずかしくて怖くてたまらない...でも本当は誰かに見てもらいたい 君の心中はこうだ。違うか?違わないだろ?柔らかく膨らんだ突起が今にも芽吹きそうな自分を>>516は本能的に察知し昂ぶる己を抑えている、、、プログラマなら誰もが知っている感覚 同じコードを何度も組み替え発見し到達する興奮と充足 成長と本質を得て知る愉悦 >>516は階段を上ることができる、、、そうだ。そう、味合わせてやろう性的な意味じゃなく >>516を開発者と見込んで穴をアナリティクス性的な意味でなく 曝けたコードをサディスティックに嘗め回すように、念入りにだ(ゴム手袋パッチ--ン) >>516 君はもうすで心を決め外装を解き、とっておきの自慢な創意と工夫をこらした難解なコードを公開する準備を整えているんだろ?熱い吐息を感じるよ。そしてわざわざ反意な言で俺がどう出るか応えるか様子を伺ってるそうだね? http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/519
520: 535 [sage] 2021/04/30(金) 21:12:48.42 ID:S6lNjE8w 仲間に入りたいならお前もコード書けよ? このスレには口先だけの奴はいらない http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/520
521: 名前は開発中のものです。 [sage] 2021/05/01(土) 10:01:38.91 ID:0OdmVbko どうやら俺が囲碁も将棋もAIもプログラムも全く知らない解らないのを見抜いたようだな ふふふそのとおりだ。>>520、俺は適当な誘い文句で>>520 のコードを嘲るのが目的のただの釣り師だ よくぞ見破った。だが食えるサイズかと思いきや>>520 は餌取り程度の小物だな 懐も心も狭い矮小な輩のようだな、まあいいせっかくのGW、獲物はそこら中にいる>>520はせいぜいプログラム楽しんで爆死するがいいさ粉塵爆発しろフケとか埃を掃除するがいい俺はした自己満足の囲碁プログラムとともに果てろ。鉢植えとか興味あ?ない?あ、そう。近日中に爆死だカス何が仲間だこのスレに仲間?片腹から漏れて痛いわ http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/521
522: 535 [sage] 2021/05/03(月) 10:58:02.00 ID:ICgnPkz4 囲碁AIですがGUIを作ろうかと思ったのですがよく考えたら囲碁はGTPに準拠すればオープンソースなGUIが使えるんでした。 GTP勉強するか。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/522
523: 535 [sage] 2021/05/06(木) 18:32:54.56 ID:ouP76J0S あれ、セキってどう判定すればいいんだ? 意外と難しい? http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/523
524: 310 [sage] 2021/05/08(土) 01:40:22.09 ID:Rn4e+nua 主要な棋譜作成処理は動作確認・速度問題解消できたので、とりあえずsqlite3版を 本チャンに移行して、ぼちぼち残った部分を直しています。 メモリーがスカスカになって気持ちいい。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/524
525: 535 [age] 2021/05/08(土) 18:30:20.35 ID:8E+G72PB visual studioとか使ってみたけど結局、Cygwin+サクラエディタに戻っちまうな bashが手になじみすぎてそうそう抜けられない。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/525
526: 535 [sage] 2021/05/11(火) 19:16:26.84 ID:icbSDjYV KataGoのソースをgithubから落としてきました。 セキ判定のアルゴリズムをパクろうとしているのですが読み解くの結構しんどいorz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/526
527: 535 [sage] 2021/05/13(木) 19:44:58.56 ID:S2BvmmkM 株バブル弾けたか? AMDもヤバイ orz orz orz http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/527
528: 310 [sage] 2021/05/14(金) 00:24:09.18 ID:UCKlrk0/ sqlite3でエラーになる原因がほぼ特定できて、エラー処理を全面見直しました。 ・棋譜追加処理のトランザクションのCOMMITの際にBUSY状態の継続を検出した時は、 ロールバックして再度更新をやり直すという形に変更。棋譜とBOOKの整合性を保つため にも、速度面でもトランザクションは必須。 ・SQL文の事前コンパイルであるprepareでもBUSYが発生する事がわかったので、エラー 処理を行ってBUSY検出して成功するまで繰り返す事で、prepareの完了を保証する これらにより2プロセスまでのデッドロックは何度も検出してロールバックしてやり直しが 完遂するのが確認できています。 が、3つ以上の棋譜作成プロセスを同時に動かした時に、たまたま棋譜追加のタイミングが 3つ揃うと三すくみ的なデッドロック的状況になってしまうようで、ロールバックしてリトライが 3プロセスで順番に発生して無限ループに的に繰り返される状態になってしまう…。 2プロセスでは起きた事は無いのですが、3つだと起きる模様。 まだまだsqlite3の理解が足りないようです。 http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/528
529: 535 [age] 2021/05/15(土) 17:53:18.42 ID:q3mhOH+l あかん、囲碁、撤退したくなってきた orz まさかルール実装ごときで躓くとは… http://mevius.5ch.net/test/read.cgi/gamedev/1574503798/529
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 107 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s