【囲碁?】囲連星のAIを作ってみよう【連珠?】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2006/08/03(木) 16:13:45ID:jCmv785lデフォルトのAIが弱いので今なら囲連星AIの第一人者になれる。
もし名人より強いAIを作成すればそのAIが名人位に。
詳しいことはソフトダウンロード後、ヘルプメニューを参考に。
作成方法:AI部分をプログラムしコンパイルしたものをファイルコピーすればOK
ソフトダウンロード:http://irensei.com/
0286名前は開発中のものです。
2007/08/14(火) 13:47:37ID:17wQSC/9まずAIが打って次に人間が打ってまたAIが打つとこまでシュミレーションしたら3回?
0287Y
2007/08/14(火) 21:03:08ID:fafg0qF6特に実行速度を意識して書いたわけではないので、おそらく誰が書いても
囲連星のシミュレーションなら同じ位の速さになるんじゃ無いかと思います。
>>286
終局までシミュレーションして1回とカウントしています。
ただし、MinMax木の探索中に終局局面まで達した場合も
一回シミュレーションしたとカウントしているので、
終局直前だとシミュレーション回数が非常に大きくなっているようです。
改良してみたので、よろしかったら試してみてください。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000018018.zip
0288東陶基
2007/08/14(火) 22:42:27ID:/CVQuFQO修正点の概要とかも一言書いといていただけると
テストしてくれる人もそのあたりをチェックしながらテスト出来るので
便利かもしれないです。
ちなみに5秒でなんとか勝ててるけどもうそろそろ怪しくなってきたw
AIと同じ時間しか考えれなかったらそろそろ負けそうな感じかもしれない。
0289東陶基
2007/08/14(火) 22:50:47ID:/CVQuFQO0290Y
2007/08/15(水) 00:14:56ID:wuc4uCcI今回の変更点は、
・良さそうな手を先に探索するようにした。
・UCTの実装にミスがあったのを修正。
です。
0291Y
2007/08/16(木) 00:36:59ID:cO/OQC/Thttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000018092.zip
・ランダムシミュレーション部分のバグを修正
・手を探索する順番を少し工夫した
多少ましになったと思います。
0292東陶基
2007/08/16(木) 00:45:37ID:4Ulb4nNF毎日強くなってるのでちょっと驚きではありますが。
もし良ければLv2より明らかに強くなった段階とかでコンテストに参加して
あとは上級レベルを目指して対人戦に参加してみてください。
ちなみに賞金はとりあえずお二人には中級レベル分のをご用意してますので
いつでもどうぞw
0293Y
2007/08/16(木) 15:18:25ID:cO/OQC/Thttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000018110.zip
修正点
・重複して手を探索していた問題の修正
・相手の石を取る手を優先して探索するようにした
そろそろネタ切れで、今のところ二つしか改善案がないので
Lv2より強いAIが作れるかどうか…
0294東陶基
2007/08/16(木) 19:41:20ID:wcDeX23qただ今でも黒で10秒だとYさんので勝率5割くらいなので
2つも改善案あればそれなりになるかも。
安易過ぎてすいませんが。
出来ればYさんのをとりあえずLv3にしたいので
色々試してみてください。
0295名前は開発中のものです。
2007/08/16(木) 22:09:01ID:Uiav3adw黒がuctです。
17手目で守らないと利き筋がありすぎてさすがに黒きつい。
一気に押し切られそう。
事前に察知して利き筋が沢山ある状況に陥らないようにできれば。
求めすぎかもしれないけど、がんばってください。
(;SZ[19]
;B[ji];W[kj];B[kh];W[li];B[lh];W[ih];B[mi];W[mj]
;B[ki];W[lj];B[jj];W[ni];B[mg];W[mh];B[lf];W[qj]
;B[ij];W[pj];B[oj];W[ok];B[oi];W[oh];B[pi];W[qi]
;B[hk];W[ph];B[gl];W[nj];B[lg];W[oj])
0296Y
2007/08/17(金) 12:49:13ID:oGXfUFgT了解です
>>295
なるほど、確かに17手目で守らないとまずいですね。
そういう局面にも対処できるように努力してみます。
ご報告ありがとうございます。
0297東陶基
2007/08/20(月) 17:33:03ID:XUpC2/oz(B[ji];W[kh];B[ki];W[li];B[lj];W[mj];B[lh];W[mi];B[kg];W[jh]
;B[jg];W[ih];B[hh];W[ig];B[ii];W[hg];B[gg];W[gf];B[ff];W[gh]
;B[hi];W[fg];B[gi];W[fi];B[fj];W[lg];B[ei];W[fh];B[ij];W[kj]
;B[gk];W[kf];B[hl];W[im];B[ik];W[jf];B[mg];W[mh];B[hj];W[kg]
;B[gm];W[gg];B[jj];W[jg])
AIが黒です。
これで途中でもAIが勝てそうなところはありますが
31手目のG9の手がちょっと疑問ですね。
D10やK10あたりでもう決まりそうなのになぜかG9。
あんまり詰めの段階で強くなりすぎるのもあれですがとりあえず報告です。
10秒でしたので単に時間の問題だけでしたらスルーして下さい。
あと黒19手目、白20手目のところも両アタリになって基本的に不利になるので
極力その状況を作らない方がいいと思います序盤は特に。
0298Y
2007/08/21(火) 01:27:21ID:aNq9gjpS十分に時間をかければ大丈夫だと思いますが
短時間の思考で打てるようにしたいですね。
なるほど、両アタリの問題も何かしら対処した方が良さそうですね。
修正したので、アップロードしました。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000018349.zip
修正点
・重複して手を探索していた問題を修正
・自分と相手が同時に6連がある場合に相手の6連を止めてしまう問題を修正
など
0299東陶基
2007/08/21(火) 14:34:33ID:zldNYv2Sあと土曜日に試して思ったのですがAIを大会に出そうとすると
思いのほか持ち時間のロスがありました。
AIの手を見ながら確認して打っているとAIの思考時間が10秒だとしても
20秒弱一手にかかる事が判明。もちろん3分+1手20秒なので最初の3分の余裕で
時間切れになることはなかったですが。
そういう意味ではこの前も書いたようにあんまり時間かけなくても即指せる手は
即指したほうが持ち時間の節約にもなります。
可能でしたら検討してみてください。
0300名前は開発中のものです。
2007/08/24(金) 00:57:15ID:e4ppSOYf会長はCPU&メモリだけでも最新ハイスペックPCを用意すべき、
とはおもうけど、そこまで負担を強いるのも酷かな。
でも賞金にポンと20万だせるなら…
それに普通の人のPCが会長くらいのPCだとすれば、
会長のPCで評価するのが妥当ともいえなくも無いし。
0301Y
2007/08/24(金) 01:29:50ID:kir021IA正常に動いているようだったので、
どういう動作をするのかちょっと確認させていただきたいのですが、
一手に20秒弱かかるというのは毎回20秒弱かかってしまうということか、
それとも一手に20秒弱かかってしまうことがあるということか、
どちらでしょうか?
あと一手でどちらかに七連が出来るという時に七連を作るもしくは
相手の七連を止めるというのであれば即指すように修正することは
出来ますが、それ以上の状況だと結構大変だと思います。
自分としては、まだ今はAIの実力が十分ではないので、
AIの強化の方に力を注ぎ、即指しの方は後回しにしたいと思っています。
0302東陶基
2007/08/24(金) 02:05:12ID:FSMXsN2D20秒弱というのはあくまで対人相手に大会とかで確かめようと思った場合に
ネット上の対局場で対局する必要がありますよね。
で、その場合にフリーソフトを起動して対人間で動かしてAIの手を確認しながら
人がその手を対局場の画面に打つ必要がありますよね。
わかりやすく言えば将棋で竜王とボナンザ(AI)が対局していましたが
ボナンザを竜王が遊ぶわけではなくボナンザのはじき出した手を開発者が
実際の将棋盤に指してましたよね。
その作業のロスが結構あったって意味です。
「AI指した。」
「えっと・・・Gの8か」
「G・・・の8・・・・・ここだなポチッ」
逆に対局者が指した手もフリーソフト上で指す事になりますよね。
そのタイムロスが結構あったなと。
0303東陶基
2007/08/24(金) 02:11:55ID:FSMXsN2D10秒で指しますw。
>Yさん
そうですね。即指しの件はいつでもOKですよ。
ただ上に書いた通りthinkingtimeが10秒でギリギリだときついかなと
勝手に思っただけなので。
もしかしたら会長が不器用なだけかもしれないです。他の人なら早く打てるのかな。
逆に万が一でも打つ場所が1つずれたらまた最初からやるなり投了するなりに
なるので思ったより慎重になっちゃいますね。
0304東陶基
2007/08/24(金) 02:24:17ID:FSMXsN2Dただ10万って事は名人戦の予選を勝ちあがる程度の勢いなので
対局者の方々には頑張って死守してもらおうかと。
20万ってことはAIが名人かぁ・・・。時の名人に頑張ってもらおう。
ちなみに会長は昨日ガチで負けました。陥落です。
0305Y
2007/08/25(土) 00:13:23ID:zfU9HOY2確かに人を介して打つのは時間がかかりそうですね。
今のところ多少強化を試みてはいるのですが、余りうまくいっていないので
次に公開するまでには少し時間がかかりそうです。
0306東陶基
2007/08/27(月) 17:10:14ID:kiBWNFISとりあえず最新版のやつで参加してみようと思います。
もしYさんが実際に打ってみたいとか自分の所のPCのが早いから使いたいとか
もしくは自分が介して打てばロスが少ないから考慮時間を節約できるとかでしたら
Yさんが参加して頂いても結構です。
無理なら代わりに打っておきます。
今のAIでどれくらいまでいけるのかはわからないですが
後で結果の棋譜などもHPに載せるので何か参考になるかもしれないです。
AIと対人での棋譜はYさんが自分で打つ以外にあんまり無いと思うので。
0307Y
2007/08/28(火) 21:38:41ID:vKz8Y/pE大会で打つのは東陶基さんにお願いします。
たまに投了してしまう事があったのですが、それを修正しました。
もし大会にAIを出すときは、お手数ですがこちらを使って下さい。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000018740.zip
0308東陶基
2007/08/29(水) 14:29:46ID:/tNNKDxnもし可能ならテクノエイド杯用に珠形に対応してもらえると助かります。
と言っても一番簡単な修正で白のの時は白の初手天元というのだけを
追加してもらえるといいです。
ただあくまで珠形ありの大会用なので最新のプログラムに珠形ありの
参加時にはその関数を毎回コピペして別にコンパイルとかになるので
手間なら結構です。その場合はとりあえず黒が珠形どおりに打って
その時に打ったAIの白でそのまま対局を続けるようにします。
もし可能ならthink_timeのテキストで時間を読込む時に二行目に珠形なり1なりが
書き込まれてたら珠形対応の打ち方をするとかでもいいですが
そこはお任せします。Yさんが管理しやすい方で結構です。
0309東陶基
2007/08/29(水) 14:32:31ID:/tNNKDxnするためだけの仕組みなので今後初期配置が変わる可能性があります。
ただ白の天元は確定だと思うのでそれだけ対応して頂ければ十分かなと。
黒の方は今の1間飛び状態から斜めとか桂馬とか先手後手の均衡のために
変わるかもしれませんが白はそのままなので。
0310東陶基
2007/08/29(水) 14:35:45ID:/tNNKDxnなんでこんなに早くAI強くなったんでしょうね?
オセロや五目並べも今は人間より圧倒的に強いし、
チェスや将棋も互角になりつつありますが
こんな一年や二年でってレベルじゃなくて10年20年かけてですよね。
そういうAI開発のノウハウが広まったからなのかなんなのかはわからないですが
囲連星はいきなりもう強くなってるなぁと。
ハードの進化も少なからず影響してるのかな。
0311名前は開発中のものです。
2007/08/29(水) 20:08:55ID:BO4xRyJp囲連星に応用できるということだと思います。
数学的にいえば所詮どのゲームのAIもやってることはグラフの探索って事でしょうし。
特にモンテカルロ法は大きなブレークスルーだったと聞きます。
急に囲連星に強いAIが現れたからといって、囲連星の底が浅いとは思えません。
ハードの進化も当然関係あると思います。
あと、10年、20年前というとゲームのAIが研究の題材として
今ほど市民権を得てなかったんじゃないですか?
0312名前は開発中のものです。
2007/08/29(水) 23:18:37ID:z6Pio4iV0313東陶基
2007/08/30(木) 19:32:34ID:jAOtLfPu逆に囲連星は人間の上達の余地がまだかなりあるので
万が一AIに名人を奪われた場合にまた奪い返すという他のゲームでは
なかなかありえない現象も起きるかもしれないなとちょっと期待してたりします。
0314名前は開発中のものです。
2007/08/30(木) 22:34:37ID:OvCX2NF/三 { l`ヾ ゙ "! ノ リ `ヽ\ ヽ _ノ Yの意見を聞こう!!
´,. ト ヽ |'/}ヾ, } ミシ `ヽ
ノ //`ヽミ:、 _,.ノ ,l::::( ( ( i
_-ニ -‐ ''´ ,r ^ー' |:::::::ヽ ヽ l l
i` ‐ r-- ' _,〉 |:::::::::ハ l }
、._i l ;:=ュ |:::::::i' /' / ノ
ヽ.`、 l /ニ、l |::::;r'彡-' `7
::::::::::\. ` l、__,)゙i |::'":::i、 フ
::::::/\::::`ヽ、 ` ー ' |::::::/::ヽ ´ ̄`ヽ、_....._,.--v‐-、/⌒^`
0315Y
2007/08/31(金) 00:07:47ID:2kUb35vK・AI開発技術の蓄積
・囲連星が他のゲームと比較して歴史が浅く十分に研究されていない
・石が近くに無いところに打つのは、おそらく悪手になる(だろうと思う)ので
囲碁や将棋に比べて探索すべき手が少ない
ことが大きな要因じゃないかと思います。
珠形ありの場合、現行ルールでは黒は天元を避けて打ち、
白は最初に天元に打つということで良いでしょうか?
0316東陶基
2007/08/31(金) 02:10:05ID:LTSF5Ut6確かに珠形ありの場合の黒の制限も書いておかないとエラーになっちゃいますね。
そのあたりはお任せします。あくまで珠形のは大会用の暫定処理なので
一応動くというレベルでいいのですが、ただ毎月使うとなると思いのほか使用頻度高いかな。
個人的には
if 白の初手の時に
天元に打つ
だだしその時に
if 黒が既に天元に打っていたら
う〜んどうしましょう。天元以外に打つ?もしくは終了させる?
まぁYさんの管理しやすいように加えてみてください。
0317Y
2007/09/01(土) 00:47:14ID:Mo23uPB7setting.txtの1行目は思考時間です。
2行目は珠形の設定で、1なら珠形ありで打ちます。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000018908.zip
珠形ありの場合
黒…初手は天元に打たない。
白…天元が空いているなら天元に打ち、そうでないときは
何事も無かったかのように続行。
というようにしました。
0318東陶基
2007/09/01(土) 02:00:18ID:iN2WEBarAIの強化とは関係ないところでお手数掛けてすいませんでした。
この後はどうしましょう?
今後もsetting.txtで1行目が時間で2行目が珠形での管理でOKですか?
とりあえず今日の大会に出してみます。一応時間は10秒でやってみようかなと
思ってます。
0319Y
2007/09/01(土) 16:44:01ID:Mo23uPB7>この後はどうしましょう?
というのは、setting.txtの仕様をどうするかっていうことですかね?
とりあえず、今のところsetting.txtはこのままにしておくつもりです。
0320東陶基
2007/09/02(日) 08:34:11ID:z0yarTVmファイル名は今まで通りのthink_time.txtの方がいいのかなと思ってます。
普通に一行目には秒数が書いてあって、2行目に1と書いてあれば珠形みたいな感じで。
と言うのはHPから普通に追加AIとしてDLする人がsetting.txtというファイルが合ったときに
何行目に何が書いてあって・・・と言った説明をどこかでする必要があるなと。
それであれば大会とかに参加する人以外が使用しない珠形のモードは隠しコマンド感覚に
しておいて、普通の人にとっては単にthink_timeだから秒数が書いてあるだけって方が
わかりやすいかなと。
要するに仕様は今のsetting.txtのままでファイル名だけ以前のthink_time.txtのままの方が
良いのかなと思ってます。
0321東陶基
2007/09/02(日) 08:37:32ID:z0yarTVmちなみにここに昨日の対局結果が載ってます。
AIは惜しくも負けましたが棋譜などを参考にしてみて下さい。
0322Y
2007/09/04(火) 18:45:35ID:gecUjBDmとりあえず、ファイル名を元に戻したのと、
相手に六連がある時には端を押さえるようにしていたのですが
石を取る手があるかも知れないので普通に探索するように
変更しました。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000019105.zip
0323東陶基
2007/09/05(水) 01:51:38ID:eTyiMwzqとりあえず暫く今の仕様で行ってみましょう。
確かに六や五は基本的には石を取って止めれるのならそうした方が
有利な事が多いですね。あとYさんも既に理解している事かもしれませんが
思いついた事をちょっと上げておきますね。
・片方が止まってる五を六にすることで相手が止める石をかなり戦力外の遠い位置に持っていける
・シチョウを追う時にはその過程で七が出来やすいのでそれを考慮する必要有り
・攻撃権をもっているとき(五とか六とかが出来る時)は極力攻撃しつづけた方が良い
・ただし攻めつづけれないと判断した時はとりあえず守りに入るのが無難
・白の場合は六を止めたらその石が取られても基本的に長連で助かる(斜め以外)
などなど、どなたか他にもあったら書き込んで。
0324名前は開発中のものです。
2007/09/05(水) 20:39:35ID:PjBVe6M2囲碁的な考え方なんですが囲連星にも通じるものがあるようです。
0325Y
2007/09/08(土) 00:53:59ID:UVSjBwsWhttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000019243.zip
・探索速度を2倍くらい高速化した。
・AIが白番の時に、相手が必勝形を作るのを止めないことが多い気がしたので
ちょっと修正。
・シミュレーションの内容が少し劣化した。
アドバイスありがとうございます。
今のところ、AIに組み込む良い方法が思いつかないので、
うまくAIに組み込む方法が思いついたら実装したいと思います。
0326名前は開発中のものです。
2007/09/08(土) 07:10:24ID:DCYBcTKV組み込む必要はないかもね
0327名前は開発中のものです。
2007/09/08(土) 14:04:27ID:+FepQ0nX0328東陶基
2007/09/09(日) 23:02:27ID:SnPr9bDSまだ実際に打ってないので>>327さんの指摘をまだ検証できてませんが。
そもそも自分にその違いを確認出来るのかも不明ですけど、
あとでちょっとチェックしてみます。
0329Y
2007/09/10(月) 02:35:41ID:QJJzeHx8そうですか…今のところ他にAIを強くする方法が思いつかないので、
一応少しでも強くなるか試して見たいと思います。
>>327
ちょっと検証してみたところ確かに弱くなってしまったようです。
>>325のAIと>>322のAIを50回ずつai-lv2と対戦させてみました。
すべてai-lv2が白です。
325のAI:27勝23敗
322のAI:33勝17敗
原因を探って改善したいと思います。
0330263
2007/09/12(水) 19:36:18ID:EfElGBABもしもAI改善が手詰まりでしたらマルチスレッド化のほうをひとつお願いできないでしょうか。
簡単に、しかも確実に効果があると思います。
宜しくお願いします。
0331東陶基
2007/09/13(木) 17:39:56ID:nNjfqDvI50回の対戦ありがとうございます。
黒でそれくらいだと白持った時にはどれくらいになるんでしょうね。
人間同士の場合の対戦での白黒の差の参考になるかな。
白でも五分五分程度ですってなると先手後手の差ってそれほどでもないのかな
って気もしますが明らかに白もったら負け越したとなると
やはり先手かなり有利のゲームなんだなと
0332Y
2007/09/14(金) 00:32:51ID:jOpSU5UKai-uct.dllがシングルスレッドで、ai-uct-mt.dllがマルチスレッドです。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000019514.zip
>>322からの変更点
・高速化したが、巨大なテーブルを埋め込んだらファイルの大きさが1MBこえました。
・白番の時に少し弱いような気がしたんでちょっと修正
>>263
マルチスレッド版を作ってみました。
まだあまり試していないので強さの変化はわかりませんが…
>>331
参考までに対戦記録を書いときます。
これはai-uctのシミュレーション回数を25000回に固定して
行いました。
>>322のAIでは
ai-uctが黒番の時
31勝19敗
ai-uctが白番の時
15勝35敗
今回のアップロードしたAIでは
ai-uctが黒番の時
27勝23敗
ai-uctが白番の時
24勝26敗
でした。
50回だと回数が少ないかもしれませんね。
0333東陶基
2007/09/14(金) 21:47:43ID:IcVeQSRYスパムかと思っていたら、なんと窓の杜に掲載されてました。
http://www.forest.impress.co.jp/article/2007/09/14/irensei.html
すごいですね窓の杜・・・。
>>332
いつもありがとうございます。
シュミレーション回数というのは/secでなくて純粋に25000回終わったら打つ感じですか?
それだとマシンによってとか場面によって時間がバラバラになるので
なんとなく良い感じはしますね。
0334263
2007/09/14(金) 23:27:03ID:DT2DqSl2マルチスレッド化対応ありがとうございます。
ところでai-uct vs ai-uct-mt のデータを取ってみようとしたのですが、
なぜかai-uct-mtがあるとai-uctが選択肢から消えてしまいます。
バグでしょうか?
あとYさんにお聞きしたいのですが、AI vs AI のデータは
1局づつ手動でファイル→新規対局をやってるのでしょうか。
シェルか何かで50戦なり100戦なり自動でデータが取れるといいのですが…
0335Y
2007/09/15(土) 01:15:37ID:qmZ0QnlKそうです。この方法ならAIの強さがマシンの性能によらないので、
思考時間を設定するよりも良いかもしれないですね。
>>334
バグです。
二つ目のai-uct〜を読み込む時に呼び出すLoadLibraryでエラーが出ているようです。
原因がわかれば対処したいと思いますが…
自動対戦の時に使っていた実行ファイルをアップロードしておきました。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000019560.zip
irensei_auto_game 黒番のdllファイル名 白番のdllファイル名 対局回数
というように起動して下さい。
一局終わるごとに、result.txtというファイルに結果を出力します。
この文がわかりにくかったらauto_game.batを見れば多分わかると思います。
auto_game.batは黒番:ai-uct.dll、白番:ai-lv2.dllで
50局連続対戦するように設定しています。
これを使っても、LoadLibraryで失敗してしまうので
ai-uct.dllとai-uct-mt.dllでは対戦出来ませんでした。
0336263
2007/09/15(土) 02:15:25ID:oYTr24vAおお、これは便利ですね。
囲連星AI開発における大きな前進ですね。
LoadLibraryですか。
全然見当違いかもしれませんが、あるDll AをLoadLibraryするときにそのDll Aがさらに
別のDll Bを必要としてるときにDll BがロードできないとDll AのLoadLibraryが失敗する
ということを昔、経験したことがあります。
ここからは勝手な推測ですがai-uct.dllとai-uct-mt.dllで同じユーティリティdllを参照していて、
それがかぶっているために2つ目のLoadLibraryが失敗するとか…
私よりもYさんのほうがスキルがあるとはおもうのですが一応そんなことを思いついたので。
0337263
2007/09/15(土) 02:19:02ID:oYTr24vAおかしなことを言ってても聞き流してくださいね。
0338名前は開発中のものです。
2007/09/15(土) 07:38:35ID:avLbAZl+窓の杜はすごいね
下手な宣伝より普及効果ありそう
>>335
GetLastErrorは試した?
0339Y
2007/09/15(土) 15:19:00ID:qmZ0QnlK他のDLLを読み込んでいないので、おそらく原因は他のところなんじゃ
ないかと思います。
>>338
はい、試しました。
エラーコードは998でした。
日本語エラーメッセージを調べたところ、
"メモリ ロケーションへのアクセスが無効です"
ということらしいのですが、どこを直せばよいのかわからず放置していました。
0340東陶基
2007/09/15(土) 22:51:33ID:Ut9Zqs+Oそうですね。組み込む場合に設定ファイルが無い方がいいので
(dll単体のみで組み込む方が良いので)
できればその方向でお願いします。
ただ25000回だと強さとしては厳しいですか?
自分のPCが4000〜5000/secなので6秒くらい。
別に問題ないのですが今普通のPCってどれくらいなんでしょうね。
新しいのは早いんでしょうけど普通に使われているPCだとどうなんでしょうね。
逆に早いマシンだと2,3秒とかなのかな25000回は。
0341Y
2007/09/17(月) 01:49:08ID:RYB5dAYCまだ試していないので確かなことはいえませんが、
手が進むごとに試行回数を徐々に増やしていけばそれなりに
打てるんじゃないかと思います。
0342東陶基
2007/09/18(火) 15:27:34ID:Ns0vZj2Iその方がいいのかもしれませんね。
そう考えるとthink_timeのテキストとかどうしましょうかね。
オプションで試行回数を増やしたい人は増やすことも可能とかですかね。
もしくはもう完全に別にしてソフトに組み込むAIは試行回数固定で
今と同じ様に別でAI配布してそっちは昔みたいに指定可能ってのがわかりやすいのかも。
0343Y
2007/10/02(火) 00:15:58ID:gTgRT4wlAIの強化と投了してしまうことがあったバグの修正をしたので
アップロードしました。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000020358.zip
今回のAIはシミュレーション回数を五万回固定にしてみました。
参考までに、ai-lv2との対戦結果です。
前回のAIとai-lv2の対戦結果
・ai-uctが黒番のとき
29勝21敗 (25000回)
33勝17敗 (50000回)
・ai-uctが白番のとき
15勝35敗 (25000回)
22勝28敗 (50000回)
今回のAIとai-lv2の対戦結果
・ai-uctが黒番のとき
64勝36敗 (25000回)
40勝10敗 (50000回)
・ai-uctが白番のとき
57勝43敗 (25000回)
38勝12敗 (50000回)
括弧内の数字はシミュレーション回数です。
0344東陶基
2007/10/02(火) 08:09:00ID:EOzTrlhiやっぱり回数固定の方が良い感じですね。
自分のPCでは5万回だと時間的には丁度良い感じでしたね。
もう白盤でもlv2に圧倒ですねぇ・・・
とりあえず対人中級レベル認定(賞金支払)に関してはいつでもOKなので
今の段階で参加でしたらいつでも言ってください。
強さに関してはこれくらいで十分ですので。
もし可能でしたら今くらいの強さのままでいいのでファイルサイズと
シュミレーション回数(要するに時間)が改良可能でしたらお願いしたいですが
これも難しそうでしたら今のままでもOKです。
フリーソフトにLv3で組み込む上でYさんの中で「これで一区切りついたかな」
と思う段階でお願いします。
ちなみに珠形の設定ってまだ有効ですか?
0345東陶基
2007/10/02(火) 08:13:06ID:EOzTrlhi終盤で多分自分が勝ったと思った後にAIがそれでもわずかな可能性を求めて
勝ちを狙っていくあたりがいかにも人間風で良い感じでした。
(;SZ[19]
;B[ii];W[jj];B[hj];W[jh];B[ji];W[kj];B[ki];W[gi]
;B[lj];W[jl];B[lh];W[hi];B[kk];W[jk];B[jg];W[ih]
;B[hh];W[ig];B[hg];W[kg];B[lg];W[kl];B[lk];W[ll]
;B[lf];W[le];B[gj];W[fh];B[gh];W[fi];B[jf];W[if]
;B[he];W[kf];B[je];W[ke];B[hf];W[kh];B[li];W[hl]
;B[ml];W[mg];B[mi];W[gl];B[il];W[im];B[mm];W[ik]
;B[fl];W[mn];B[gk];W[lm];B[no];W[fm];B[hm];W[hn]
;B[nj];W[ni];B[jn];W[jm];B[gm];W[gn];B[em];W[gm]
;B[dn];W[co];B[kn];W[km];B[ln];W[hm])
0346東陶基
2007/10/02(火) 13:16:06ID:fVUGZ445ストップウォッチで手動計測なので誤差はそれなりにあります。
参考までにスペックは
[CPU]AthlonXP2500+
[Mem]512MB
です。
序盤中盤終盤それぞれで数手抜き出して見ました。
やはり序盤の方が思考時間が長く終盤になるほど段々短くなっていきました。
これより明らかに思考時間が長いPCがありましたらスペックと秒数を書いてもらえると
嬉しいです。
13.36
13.35
13.87
13.92
13.12
13.34
・
・
・
10.98
12.29
10.17
11.03
9.73
・
・
9.04
7.28
3.62
1.01
0347名前は開発中のものです。
2007/10/02(火) 22:33:38ID:MtrAvLE6ううっ、涙ぐましい努力だ……。
囲連星本体のほうでAIの思考時間を測れるようにできるといいんだろうけど。
0348Y
2007/10/03(水) 00:45:45ID:9mVEW7xnとりあえず、ファイルサイズにを減らすのは今回保留にさせて下さい。
AIも最初から比べるとかなり強くなりましたし、バグも一通り排除出来て
区切りが良いと思うので、コンテストに参加したいと思います。
ただ、ai-lv2との対戦結果だけを見ていたので、ai-lv2には勝つけど
人が打ったら弱かったなんてことが無いか不安ですが…
少し変更してアップロードしました。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000020421.zip
今回の修正点
・シミュレーション回数を徐々に増やしていくようにしました。
・AI Params -> Show Log Windowに思考時間を出力するようにしました。
・LoadLibraryで落ちてたバグの修正。
CPU:Pen4、メモリ:512Mでは
0回目:8.125000 [sec].
1回目:9.016000 [sec].
2回目:9.391000 [sec].
3回目:9.765000 [sec].
4回目:11.125000 [sec].
5回目:11.469000 [sec].
6回目:9.797000 [sec].
7回目:10.438000 [sec].
8回目:10.797000 [sec].
9回目:13.047000 [sec].
10回目:6.281000 [sec].
11回目:0.578000 [sec].
12回目:0.094000 [sec].
でした。
0349東陶基
2007/10/03(水) 01:27:30ID:yTT7t4LQ他と一緒にコンピュータ Lv.3にしておいてもらえますか?
一応バグ取りもOKという事ですのでコンテスト終了時にそのまま組み込んでしまおうと
思ってますので。
ただもしシュミレーション回数の操作が可能なのであれば
初手と二手目くらいまで5秒程度で指してもらえると助かります。
中盤移行は時間かかるのは自然なのですが初手とかが遅いと一瞬バグか?
と思ってしまうので強さに影響無いレベルで最初の数手だけ短くしてもらえると
ありがたいです。
まぁハードは昔ほどではないですがこれからも確実に進化してくと思うので
最初の数手以外は今の様に10秒前後で問題ないとは思ってます。
0350東陶基
2007/10/03(水) 01:32:21ID:yTT7t4LQ強い方に打ってもらっての結果などで判断していこうと思ってます。
今後対人の大会などはどうなるかはちょっと不明ですが
とりあえず自分がもう明らかにどう転んでも敵わないレベルを対人上級と考えているので
上級までは囲連星の対人状況がどうなっていても認定は出来ると思います。
囲連星プレイヤーさんもしよかったらLv2と今回のLv3とかと何回か対戦してみて
感想などがありましたら教えてもらえるとありがたいです。
0351東陶基
2007/10/03(水) 01:34:49ID:yTT7t4LQ本体に組み込めればいいんですけどね。
本体を直すとなると色々大変なのでまた機会があるときにでも。
今さらながらタイマー表示はあれば良かったかなと思ってますね。
今回以降思考時間がそれなりにある場合は固まってないかとか
もう打ち終わったかもタイマーでわかると思うのであれば重宝したのかも。
0352東陶基
2007/10/03(水) 01:50:58ID:yTT7t4LQシュミレーション回数に関する要望をまとめさせてもらいますと
@初手、二手目くらいまでは5秒以内程度で(あんまり早くても途中で遅くなる差が出て変かなと)
ALv2との勝率は>>343にあるように8割以上が希望
B8割以上を満たす上で@以外の思考時間はYさんの自由でOKです
といったところです。最後まで色々要望すいませんがご検討お願いします。
※ファイルサイズにつきましては了解致しました。
0353東陶基
2007/10/03(水) 02:02:29ID:yTT7t4LQ度々すいません。
>>343を見る限りやっぱり明らかにLv2を超えるにはシュミレーション回数は
多いに超したことはないんですよね・・・
5万回以上ってのも検討ありなんですかねぇ。
あと序盤・中盤・終盤でどこで時間を長く使うのが勝率あがるんでしょうね・・・。
個人的には序盤の最後の方〜中盤くらいが一番影響力が大きいのかなと
思ったりもしますが根拠はないです。
あとはヘルプにLv3はそれなりに思考時間はかかりますという注を入れて
もうそれこそ勝負どころは10万回とか使うのも手なんですかねぇ。
0354Y
2007/10/04(木) 02:06:16ID:TerPQ0HBhttp://ud.gs/409yo
・新規対局時に表示される名称をコンピュータ Lv.3に変更
・待ったをした時にバグが発生していたのを修正
・少し高速化
ai-lv2との対戦結果
黒(ai-uct.dll)の勝利回数: 43
白(ai-lv2.dll)の勝利回数: 7
ある対局の思考時間です。
0回目:3.422000 [sec].
1回目:4.547000 [sec].
2回目:5.062000 [sec].
3回目:6.078000 [sec].
4回目:6.656000 [sec].
5回目:6.656000 [sec].
6回目:7.750000 [sec].
7回目:9.000000 [sec].
8回目:10.375000 [sec].
9回目:11.188000 [sec].
10回目:7.781000 [sec].
11回目:9.953000 [sec].
12回目:8.844000 [sec].
13回目:2.062000 [sec].
14回目:0.406000 [sec].
15回目:0.078000 [sec].
同梱されているai-uct+はシミュレーション回数が十万回で固定になっています。
ai-uctで物足りない人は試してみてください。
0355東陶基
2007/10/04(木) 15:06:54ID:3BbCd5uA振込の件などにつきましてメール送りましたのでもしまだ見られてなければ
メールチェックしてみてください。
ちなみに3回目というのは3手目と同じと思ってOKですよね。
何回か打ってみてこのバージョンが一番自然な感じはしました。
考えながら打ってるとある程度自然な思考時間かなと。
自分が真剣に打ってみたところ黒ならまだ分が良いです。
白は良くて五分五分。何も考えずにサクサク打つとほぼ負けちゃうくらいですね。
ではもう組み込み版にしてもOKなのでYさんがこれで完成と思ったら
完成版ですってことで公開してください。
1回ソフトに組み込んだらそうそう差し替えることもないので
バグ取りやソースを綺麗にとかだけお願いします。
0356東陶基
2007/10/04(木) 15:09:06ID:3BbCd5uAそうして頂けると助かります。
あとスペックが低いorノートPCとかで
「思考時間すごいかかるよ」って人がいたらスペックの報告もしてもらえると
ありがたいです。
0357Y
2007/10/04(木) 22:04:47ID:TerPQ0HB了解です。
あと組み込んでいただく前にもう一度、
高速化、軽量化に挑戦してみることにします。
0358東陶基
2007/10/05(金) 19:39:48ID:YLRtrkEiもし可能でしたらお願いします。
少しでも高速化、軽量化が出来ると助かります。
あとなんでしたら珠形のやつも組み込むのからは
外しておいてもらってもいいですよ。
まぁこれはどちらでもいいですけどね。
Yさんの感覚の問題なので。
0359名前は開発中のものです。
2007/10/05(金) 23:31:18ID:0hl4qUew0360Y
2007/10/05(金) 23:57:05ID:e/NioRkiLICENSE.txtも一緒に頒布して頂ければOKです。
0361東陶基
2007/10/06(土) 14:00:45ID:bWfzUBDKそう言えばライセンスの問題なのですがLICENSE.txtをReadMeやヘルプに
組み込んでもOKですか?
単体でライセンスのテキストファイルがあるよりはいいかなと思うんですけど
それだと問題ありでしょうか?
0362Y
2007/10/06(土) 17:45:51ID:dvF9v48n修正BSDライセンスは
"「無保証」であることの明記と著作権表示だけを
再頒布の条件とするライセンス規定"
だそうなので、それで大丈夫だと思います。
0363東陶基
2007/10/06(土) 23:45:52ID:xouLI3SB名人曰くですが「uctが弱くなった気がする」とのことでした。
どうやら12手目の石を捨てるような手を見かけるようになったとのことでした。
(SZ[19]
;B[lj];W[jj];B[hj];W[ji];B[jl];W[ij];B[hk];W[hi];B[gi];W[gh]
;B[hh];W[fi];B[ii];W[hg];B[ig];W[gj];B[hi];W[fg];B[hf];W[gg]
;B[fj];W[ej];B[fk];W[if];B[ei];W[fh];B[dk];W[je];B[kd];W[jg]
;B[jh];W[ih];B[kh];W[ig];B[eg];W[ef];B[ek];W[he];B[ik];W[gk]
;B[gl];W[kg];B[lg];W[jc];B[gk];W[kc];B[jk])
0364東陶基
2007/10/06(土) 23:52:36ID:xouLI3SBただ2バージョン前が正確かどうかはわからないのでなんとも言えないです。
ちなみに大会は更新日時2007年10月2日、23:48:52のバージョンです。
最新のは珠形が打てなかったので(それ自体は全然構わないです)
ただあくまで参考までに報告なので今から大掛かりな修正とかはいいですよ。
もし何かYさんのヒントになればと思っただけなので。
0365東陶基
2007/10/07(日) 00:00:35ID:/ks16xwRバージョンは>>364と同じです。
後半(36手と40手?)にちょっと疑問な手がありました。
単にシュミレーション回数の問題なのかどうかはわからないですけど。
ただ時間的にはいつも大体自分のPCでは10秒前後だったので
シュミレーション回数の問題でもないような・・・。
(;B[jj];W[kk];B[jk];W[jl];B[im];W[il];B[kl];W[km];B[ll];W[lm]
;B[ml];W[in];B[hm];W[hl];B[jm];W[gm];B[jn];W[fl];B[el];W[kn]
;B[jo];W[ek];B[hn];W[dl];B[em];W[dm];B[en];W[dn];B[ho];W[eo]
;B[fn];W[gn];B[fo];W[go];B[ep];W[fp];B[do];W[gk];B[gp];W[gl]
;B[fq];W[ij];B[gi];W[ji];B[lk];W[io];B[ip];W[eq];B[in])
とりあえずこちらでも前のバージョンをもう一回DLして色々試してみます。
0366東陶基
2007/10/07(日) 00:08:21ID:/ks16xwR特に弱くなったとかは自分にはわからないですねぇ。
強い人の間ではその微妙なところがわかるのかな。
0367Y
2007/10/07(日) 01:51:00ID:u6VKz1kkありがとうございます。
こっちの方でもそれを確認してみます。
ai-lv2との対戦結果だけで強さを評価していたのは
失敗だったかも知れないですね。
0368東陶基
2007/10/07(日) 03:31:57ID:C7piVIY+2007年8月28日、20:58:18のAIをai-uct1、
2007年10月4日、0:17:44のAI(最新)をai-uct4として白黒それぞれ10戦ずつ対戦したら
白(ai-uct4.dll)の勝利回数: 4
黒(ai-uct1.dll)の勝利回数: 6
黒(ai-uct4.dll)の勝利回数: 8
白(ai-uct1.dll)の勝利回数: 2
ってことでuct4 12-8 uct1ってことで弱くなってるって事はないみたい。
回数が少ないのでまだなんともいえないが最新のが黒の時は途中まで8-0だったから
やっぱり強いと思う。
もう改善案が出尽くしたとYさんが言っていた8月末から1ヵ月位だから
それなりに強くなってるのでは。
ただuct1のころはthink_timeファイルとかから読んでたのに
自動対戦ツールでは必要なくそのままで動いてるのがちょっと意外でした。
そっちのツールで指定してるのかな多分。
0369東陶基
2007/10/07(日) 19:08:27ID:L+dIeYc9;B[jj];W[kj];B[kk];W[ii];B[ki];W[jk];B[lj];W[ij])
もしかしたらこのあたりが疑問手なのかも。
石を捨てる必要がないところで結構頻繁に石を捨てる傾向にある。
「無難に逃げるべきでは?」と言うところで
こういう手を打つ傾向があるのかもしれないです。
ちなみに再度>>368と同じことをやったら
今度はuct4 13-7 uct1 でした。
0370Y
2007/10/08(月) 10:10:15ID:F9A/XuhCthink_timeを読み込むのに失敗したときは思考時間を
5か10秒に固定していたので本体でも多分同じ事が出来ると思います。
>>369
わかりやすい棋譜をありがとうございます。
改善できないか検討してみたいと思います。
0371名前は開発中のものです。
2007/10/08(月) 16:22:27ID:1aN4Cjs/0372東陶基
2007/10/13(土) 22:23:23ID:4kx2LPF0携帯のもこちらの板の方が良いかもしれません。
囲碁板だとルールの確認やAIの強さの事については色々あるかもしれませんが
開発の事だとゲ制作板のAIスレの方がヒントが色々得れそうです。
ある程度強さの確認とかになったら囲碁板でも良いかも。
0373東陶基
2007/10/13(土) 22:28:58ID:4kx2LPF02本制のなんかどうでしょうかw
これに関しては携帯同様全くのボランティアになってしまい
お願い出来るようなものではないですがもし興味を持たれましたら是非。
ルールで2本の7連が繋がると反則というのがあるのでここだけ注意しないといけないですが
他は1本と一緒です。
ただUIも作らないといけないのでどうしてもAIだけの開発に比べると
手間が掛かるかもしれないのであれですが。
0374東陶基
2007/10/13(土) 22:30:44ID:4kx2LPF0もちろん作られたゲームの権利は制作者さんに喜んで譲渡(じゃないか?)しますので
どう使ってもらってもOKです。
0375Y
2007/10/21(日) 00:24:00ID:vqkwTMe2了解です。
今度からこちらの方に書くことにします。
2本制は、まあ気が向いたら挑戦します。
0376東陶基
2007/10/31(水) 14:54:19ID:Il5bHQBfここ最近読み込みとか書き込みが出来ない気が・・・
0377名前は開発中のものです。
2007/11/09(金) 20:43:13ID:vsj+IyoU0378名前は開発中のものです。
2007/11/11(日) 18:16:06ID:FiaU4VNc0379名前は開発中のものです。
2007/11/22(木) 07:17:49ID:EN3VPpIV0380名前は開発中のものです。
2007/11/22(木) 18:39:41ID:fv+UVy5llv1には勝てるがlv2やlv3には歯が立たない。
おれのAIがlv4になるのは何時の日か?
しかし自分で打って勝つより自分のAIが勝つほうが何倍もうれしいね。
0381名前は開発中のものです。
2007/11/22(木) 20:20:14ID:mGFWWouCどこか上げて。そのAI打ちたい
0382名前は開発中のものです。
2007/11/22(木) 22:35:14ID:fv+UVy5l上げてみた。
だけど、人間が打つには物足りないと思うよ。
AI開発してる人とってはlv1とlv2に開きがあるから
その間のいい対戦相手になるかもしれないけど。
0383名前は開発中のものです。
2007/11/22(木) 22:52:39ID:fv+UVy5l黒(ai-lv1_5.dll)の勝利回数: 89
白(ai-lv1.dll)の勝利回数: 11
黒(ai-lv1.dll)の勝利回数: 10
白(ai-lv1_5.dll)の勝利回数: 90
黒(ai-lv1_5.dll)の勝利回数: 32
白(ai-lv2.dll)の勝利回数: 68
黒(ai-lv2.dll)の勝利回数: 75
白(ai-lv1_5.dll)の勝利回数: 25
黒(ai-lv1_5.dll)の勝利回数: 16
白(ai-uct.dll)の勝利回数: 34
黒(ai-uct.dll)の勝利回数: 42
白(ai-lv1_5.dll)の勝利回数: 8
黒(ai-lv1_5.dll)の勝利回数: 12
白(ai-uct+.dll)の勝利回数: 38
黒(ai-uct+.dll)の勝利回数: 43
白(ai-lv1_5.dll)の勝利回数: 7
だった。
データ収集にはYさんのプログラムを使わせていただきました。
感謝。
0384東陶基
2007/11/23(金) 10:04:15ID:rTCRD4AD自分も打ってみました。是非Lv4になって下さいw
思考時間に関してはサクサクなので問題ないとは思いますが
Lv3くらいの時間までならOKなので時間が長ければ強くなるようであれば
そのあたりを目処にしてみて下さい。
確かにAIの強さの感覚は微妙なのですが
表示されるAI名を弄るのは開発者しか出来ないので
その後調整とかが難しいのは事実ですね。
確かにlv1とlv2の間にあれば良いとは思いますが。
まぁそれだけLv2はセンセーショナルなデビューでしたからねw
0385Y
2007/11/23(金) 14:17:32ID:E1MlNFVuhttp://ud.gs/40bo1
・長連判定にバグ修正した
・棋譜を出力出来るようにした
棋譜を出力したいときは
irensei_auto_game ai-lv2.dll ailefttop.dll 50 .\kif\
のように4番目の引数に棋譜を出力するディレクトリを
指定して下さい。
棋譜はSGFフォーマットで出力されます。
http://olive.zero.ad.jp/qin/kifusaisei.html
では再生出来ることを確認しています。
対局内容が知りたい時は使ってみて下さい。
■ このスレッドは過去ログ倉庫に格納されています