【オセロ,将棋】ボードゲーム Part3【囲碁,War】
比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
前スレ
【オセロ,将棋】ボードゲーム Part2【囲碁,War】
https://mevius.5ch.net/test/read.cgi/gamedev/1508056498/ ご無沙汰です。
現在棋譜は160万くらいになっています。縦掘り型の貪欲法が良い調子なので、学習より
棋譜作成を優先しています。残り30手推定パブリックドローは相変わらず1100〜1300件
くらいを行ったり来たりしています。まだ、知られていないドロー筋がありそうです。
やねうら王さんのサイト見ていたら、終盤近辺のヒューリスティックスオーダリングのアイデア
(偶数理論がらみ)を思いついてしまった。どうしよう(汗
羽生さん残念だったね。
正月のabemaTVトーナメントスピンオフ企画が楽しみです。 まじで神様からお前はまだフラグ立ててないから進んじゃダメって言われてるみたいだ。
なんなんだこの進まない感覚は。 セブンってショップのBTOのページすごい便利ね。
ryzen 5950x
Geforce RTX 3080
memory 64GB
これで約50万円。
ほしいなー
でも金がなー >>379にライフゲーム囲碁を移植しました。
ようやくバグも収束してきたかなという感じです。
しかし学習の計算時間が半端なく実用にはならないかも? まじであまりの計算の遅さに新PCに50万ぶっこみかねないです。金がないけど。 羽生さん残念でしたね。
自分はDL系は諦めました(汗
将棋で別ルートのアイデア考え中ですが、その前にオセロ片付けねば。 どっちかというと、パブリックドローがどんだけあるのかに興味が移っています。
残り30手ドロー筋が1100〜1300くらいとか言っていましたが、色々やっていたら
1700超えしてしまいまして。大半は、やっぱり違いましたという事になるのだと思い
ますが、まだまだ定跡が整ったと言える状態では無いという事で…。
将棋は序盤定跡だけちょっとやってみたい事があります。まだまだ妄想の域ですが。
だけど、盤面をどう表現するのか、まだ悩み中です。方針が決まったら手を付け始める
かも知れません。 パブリックドロー筋を−2〜−4程度で相手が外した時に、勝ち切るだけの
精度を持った評価関数が別途必要なのですが、まだ自信はありません。
ただ、相手が悪い変化にした時の話なので、確率的には勝ちやすくはなって
いると思います。 あと、極端に悪い手の教師データが極端に少ないため、評価値が団子状態になって
しまっていて差がつかず、そういう局面が来ると大悪手をやらかす傾向が見えます。 >>379のプログラムですが学習に2〜3ヶ月かかりそうなかんじ orz AMD株買おうかな?
AMD株で儲けた金でAMD製品を買ってさらにAMD株が上がるという夢のような話が実現したら最高なのに。 どもです。
現在棋譜173万件、推定ドローは1800件ちょい。
まだ、推定ドローの出入りが激しい状態なので、200万件くらいまでは
継続しないと確からしくならないかなぁと思っています。
将棋は、盤面をどう持つのかでまだ悩み中。
オセロでBitboardがパワー発揮しすぎだったのに引っ張られて、できない
事をやろうとしていた感じです。諦めをつけるのに時間がかかった(汗 急がず、気が向いたら少しづつね。
というか、最初にやりたい事は、AI開発じゃなかったりする。 うおお、amd株買いました!!
100株!!
絶対負けられない!!! なんか円高来そうなふいんき(なぜか変換できない)
やばいか? SQLite遅えええええええっ
なんか間違えてんのか?? トランザクション使ったら速くなったww
俺があほなだけだったか。 今、DNNに現状の局面から終局図を予測させる、というのをやってます。 ランダムな打ち手で棋譜を取る
↓
棋譜から対局途中の盤面と終局図を取り出しDNNで現局面から終局図を予想するように学習
↓
学習したDNNを使って1手読みAIを作成
↓
そのAIで棋譜取り
↓
棋譜から途中の盤面と終局図を取り出しDNNで終局図を予想するように学習
↓
学習したDNNを使って1手読みAIを作成 ←今ここ
現状全然弱いですが、何世代も繰り返したら強くならないかと淡い期待を抱いてます。 学習だけで強くなることが理想だけど時間かかりすぎるんでヒューリスティック入れます。
このヒューリスティックはかなり強力なので。 AI結構つよくなったかも。
勝てないわけじゃないけど負かされるときは大差で負かされるというなかなか面白いAIができた。
思考時間も超サクサクだしかなりいい感じ。
100世代くらい学習させてみたいな。 世代を重ねるごとにDNNの損失が減りやすくなっているな。
これはどういうことだろう? 終局図を予想する方法は囲連星でも有効な気がする。
ライフゲーム囲碁が落ち着いたら囲連星もやってみたいな。 終局図予想はなかなかいいアイディアだったけど
人間に100%勝てるようになるにはあと3つはブレークスルーが要るかな DNNが結構うまくいったのでDNNとMCTS組み合わせたらすげー強くなるんじゃないかと思ったがうまくいかない。
なんでだろ? ぎゃああああ
AMD株さがってます!
でも絶対損切りません!
ガチホールドです!! AMD株更に暴落!
/ /| /| |ヽ ヽ,ヽ, |
. // .| <l./u | レ' ヽ,ヽ, | そんなっ・・・!
〃 | / / ,.へ |! > _、へ |\ ヽ,ヽ,| バカなっ・・・! バカなっ・・・!
. | /| ./!イ==`、 iレ´==== ヽ ヽ,ヽ, なんでこんなことがっ・・・・・・!
. | / レ ト、_。_) ( ,、 | |⌒i iヽ,\
、_ レ /|  ̄/.|j~ `.=°=´ | |つ.| ゝ.\.\ なんでこんな・・・・・・
、_`'-、_ / .レ´ u u _ ,、-'´ .| |ノ/ ヽ \ \ あってはならないことがっ・・・・・・!
`' -、,`' -、/`7―-/ r'__ __ `  ̄ |j~ ||ノ. \ \ \
`'ァ、\/―- 、 __| f========ニ`i /| |\ \ \ .\ どうして・・・
/ \ \ | | } / | | / ̄ "'' ‐-\ .\ なんで・・・ こんな・・・
i. / \.\ / ||- ―‐-r――‐-/ / レ N ̄ "'' ―‐ --\ こんな・・・・・・・・・
. | / \.\〃! |` ――' -----'/ | |
| \.\| .| u== ,、- '´ u ./| | こんな理不尽なことが
| \ \l_ ,.、- ' ´ /| |. N オレの身ばかりにっ・・・・・・・・・!
| | |\ \ |j〜 / | レ |
| | レ |\ \ / | | |
|. | | | \ \ u / | | | だんだん時間かける事に鈍感になってきて、棋譜作成のサイクル一回回すのに
既に1ヵ月以上経過w
手作業で掘る作業が追い付かなくなって、まだ1ヵ月くらいかかりそう。 セブンってショップでRyzen 9が売り切れてんだが?
まじか?
かなり異常事態のような。 結構タイルゲームで遊んでるんだけど、もしかしたらAIの勝ちが人間の勝ちの2倍程度になるように調整してるのかもしれないな。
AIの勝ちが増えすぎるとわざと負けてくれてるような気がする? アイディアとモチベが湧いてこないですねぇ。
もう何週間もさぼってる。
それはそうと最近、天頂7の9段に9路の白番で勝つ手順を丸暗記するという割とむなしい遊びをしています。
相手が手順通りに打ってくれば天頂7に白番で勝てるというw
いま勝てるパターンを2つ暗記しました。 すっかり手掘り作業が癖になってしまい、棋譜は190万件突破。
FFO(フランスのオセロ団体で、FFOテストで有名)のサイトを久々に見ていたら、
今更ながらに棋譜集を見つけてしまいました。トータル5万件ちょい。
試しにいくつか読み込んでみました。残り24手以後はこちらで読み切り処理してます。
結構スコア差がついている棋譜が多くて、読み切りの結果全滅している棋譜も数%。
それでも、24手目以後ドローで、現在の自分のBookでは推定パブリックドローと
判断すべき棋譜も2000件中5件程度はあります。
現状、石差が大きい棋譜が不足しているのと、推定パブリックドローが100件程度は
拾えそうなので、順次読み込んでみたいと思います。
時々、末端に近いノードのヒューリスティックスによるオーダリングのアイデアを考えて
いますが、プログラム修正して速度計測するのが面倒くさい(汗 天頂に白番で勝てる手順w
もちろん変化されたら無力ww
(;GM[1]FF[4]AP[Zenith:7.0]SZ[9]HA[0]KM[6.5]CA[UTF-8]
PB[天頂の囲碁 九段]BR[9d]PW[あなた]WR[]ZT[10]DT[2021-02-17]
RE[W+Resign];B[ed];W[ef];B[ff];W[fg];B[gf];W[gg];B[eg];W[dg];B[eh];W[ee];
B[fd];W[dh];B[hg];W[fh];B[cd];W[gc];B[gd];W[fb];B[eb];W[hb];B[ga];W[hd];
B[fa];W[he];B[hf];W[ha];B[bf];W[bg];B[cf];W[cg];B[ag];W[ah];B[af];W[bh];
B[ie];W[id];B[gh];W[ei];B[gi];W[de];B[ce];W[dc]) ライフゲーム囲碁で軽くて強いAIができたらUnityでiOSアプリとして出して広告収入を得るという野望ができたw
ぼちぼち頑張っていこう。 終局図を予想するんじゃなくて終局図を3 x 3ごとの領域に分割して
その領域の石の数の和を予想するようにしてみた。
そしてそのDNNをつかったAIは盤面全体でなるべく万遍なく地を取るようにパラメータを調整した。
結構強くて面白い打ち筋のAIができた。 UnityってC#限定らしい。
tiny-dnn使いたいけどどうしようかな。 ヤバイ、かなり強くなった。
しかも思考時間サクサク。
IPadの計算能力でも十分実用に耐えると思う。
広告収入の夢がひろがりんぐ。 あれっはるか昔に作ったモンテカルロAIに勝てないな?
こんなはずでは… 今まで収集した棋譜から50万局面サンプリングしてDNN学習してたけど
150万局面サンプリングにしたら結構質が上がるっぽい Unityの勉強したいと思ってるけど、なんとなく先延ばしにしてしまう。
C#ならライフゲーム囲碁のGUI作ったことあるから楽勝かと思われたが案外苦戦するかも。 メモリがDDR5になると一枚128GBとかになるそうですね。
ここはZen4まで待ちか? ライフゲーム囲碁では現在石のあるところに終局時も同じ石がある事が多いから終局図予想が有効なんだろうな
オセロだと石がコロコロ変わるから役に立たないかも 本当にオセロで役に立たないかちょっと試してみたいかも
まあ当面はライフゲーム囲碁に注力するけど うあああああ、AMD株ゲロ下げ! orz orz orz
意地でも損切りしません!! あれ、ある程度強いAI出来たらなんかライフゲーム囲碁への興味が薄れてきたんだが。。。
俺の情熱はこの程度のものだったのか? 一旦AI強化はストップしてiOSアプリとして世に出すことに注力しようかな。。。
そしたらライフゲーム囲碁は一区切りつく気がする。 囲連星の時はLV3という素晴らしいライバルがいたけど、
ライフゲーム囲碁AIはある意味、独り相撲(という言い方があってるかあれだが
強い相手が欲しい。 app storeにアプリ出すのって年会費10000円以上かかるとかなんとかorz
はやくも暗礁に乗り上げたorz 一応unityダウンロードしてみたんだけど。。。
鶏を割くにいずくんぞ牛刀を用いん、って感じなんだが。。。 もっと手軽な碁石と碁盤使ったゲームのツクール系ツールみたいなのないんか? ちょっとunityからは撤退しようかな。。。w
明らかに碁盤を使ったゲームを作るのには不向きだろこれ。。。 棋譜200万件突破。
FFOの棋譜を読み込んだら、一気に推定ドロー数が半減してしまった。
一部チェックしてみたら、当然だけど最善進行になっていない棋譜が多い。
誤手1回目でドロー筋から外れて、2回目で逆転するような棋譜があると、
本当はドローなのに、ドローじゃない事になってしまうので、その可能性が高い。
もしかしたら、本当に正しくドローじゃないのかも知れないけど。
気が付いた一部の棋譜を手で修正していたら、あっという間に200万件突破。
この後、タイミング見て、前回ドローだった筋がドローから外れたところを重点チェック
する処理をかけたいけど、かなり大量になりそうです。普段ですら100件程度出てくる
んだけど1000件単位になりそう。終わった頃には棋譜が250万件超えているだろう
と思います(汗。 unityがあきらめきれず、まだもがいてます。
多分良いチュートリアルが見つかればなんとかなる。はず。 FFOから追加したのが2200件、これを見つけ出して後ろから訂正するから途方に
くれるのであって、前からドロー筋をチェックしていけば、比較的簡単じゃないかと
閃いて、前からチェックでいくつか直したけど、1/3ほどしか治らんかった。
後は、重点チェックの自動処理に任そうと思う。
手動訂正飽きてきたし。 youtubeでunity入門のいい動画が見つかって、一気に進みました!
碁盤に碁石をポチポチ置けるところまですでに出来てます!
ライフゲーム囲碁のルールを実装するのはそれほど難しくないから
あとはtiny-dnnをなんとかすればやりたいことはほぼクリア出来たも同然です!! >>456
Unityゲームスタジオ スタジオしまづ 倉庫番 で検索してください。 AMD株が瀕死 orz 絶対損切らない T△T
tiny-dnnもダメかも?
最悪Unityで使えるフレームワークで学習しなおしになるかも。
教師データが残ってるのがせめてもの救いか。 重点チェック処理完了。思ったより少なかったのでおよそ1.5万件で済みました。
ドロー筋は、FFO棋譜読み込む直前の状態に近いところまで戻りました。
もう二度と人間の棋譜は入れない(汗
なんつーか、Thread Ripperが欲しくなってきた。
そろそろBookが大きくなってメモリーパンパンだし。 AMD株が200$になったらスレッドリッパー買うんだ。。。(死亡フラグ) tiny-dnnどうするかまだ悩んでます。
一応、今考えているのが
C++をC#へトランスレートするようなものを目指すか、
tiny-dnnをすててpytorchなどで学習しなおすか。
どっちも結構な工数がかかりそう、かつ技術的ハードルも高めで踏ん切りがつかない。
特にC++をC#へトランスレートは成功する保証が全くない。
迷ってる間に両方やればいいのかもしれないけど、そこまでの体力とモチベーションもない。
悩ましい。 ,.へ /`',
//ヽ.\ (二二 .二二二)
.// \ヽ._ / ./
` ' \_`, .// ∩∩ ,へ
/_,-‐−‐‐- 、 ∪∪//
-=ニ ̄ \ // O O O
/ l__
/ __ /| _\
( i'^'l r‐ ' ̄| .| i / | 、\ ̄ 嘘だ…
//-iノr-'⌒ヽ|/ / /二|/ l |ヽ|
_< ((/((._ ,@ v, =、、 |/| | |i |
< / u_ιu~= u/_ @ ヾ//| |l/ 夢だろ…これ…
< ̄ l/ニヽ-、_r _ {ι、,-'´/ レ
─┬─ | /ヾニヾ、ヽ、\J /
./ // / `i v ヾ ニ、_ノノ 夢に決まってる…!
/ / // / ヽ ミ u,/'//
' ̄i/ // /`-'/´///
AMD下げ止まらない! pytorcで学習しなおすにはC++で書いたLifeGameGoのコードをpython に移植する必要があると思ってたけど、
swigうまく使えばかなりコード使いまわせるかも、と思いついた。 python から教師データにアクセスすることに成功しました。
あとはpytorchで学習する部分が書ければ。。。 4か所ほど改造したくなってきました。
ソースの混乱を避けるためまた新ソリューションで作ろうかと思っていますが、
例のFFO棋譜で生じたBookのダメージ箇所を見つけて直す作業がかなり時間が
かかりそうです。削除しちゃえば早かったんだけど、活かして訂正かける方向に
しちゃったので、後に引けない。
どうしよう。
あと、NTESTのソース見つけた(今頃)。
NTESTの引き分けBOOKは公開されていないらしい。残念。 意外とwebの情報だけだとpytorchがとっつきにくくて、入門本をキンドルで買いました。 なんかいまいち情熱が湧き上がってこない。
あまり気負わないほうがいいかもだけど。 >>470
ありがと。それで良いんだ。
早速ダウンロードしました。 まだpytorch進めていいフラグが立ってないみたい。orz pytorchでの学習に成功したようです。
それっぽい値が返ってきてます。
素晴らしい。
次はonnx形式にエクスポートしてunityから参照ですね。
ゴールが近づいてきたっ unityでonnx使えました!!
全ての技術的障壁はとりはらわれました!!!
あとは整えるだけです!!!! 整えるだけとか言ったけど、それが地味にボリュームあることに気づいたorz unityですが基本的なゲーム部分はほぼ形になりました。
あとはどういう形で公開するかですね。。。
収益化とか興味あったけど、どうせ大した額にはならないだろうし
iOSアプリはちょっとハードル高いのでWebGLでunityroomにでも上げてしまうか?
まあぼちぼち考えていきます。 Githubで公開しました。
GithubでLifeGameGoWebGLで検索してください。
収益化はとりあえず見送りかな。。。 LifeGameGo AI かなり強いと思いましたが、囲碁高段者とかには普通に負かされるっぽいorz
まだまだ修行が必要か。。。 でもまあライフゲーム囲碁は一区切りかなぁ?
なんか目先を変えて違うゲームやりたいな。
ライフゲーム囲碁では終局図予想が結構うまくいったから
ほかのゲームにも応用してみたいな。