【囲碁?】囲連星のAIを作ってみよう【連珠?】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2006/08/03(木) 16:13:45ID:jCmv785lデフォルトのAIが弱いので今なら囲連星AIの第一人者になれる。
もし名人より強いAIを作成すればそのAIが名人位に。
詳しいことはソフトダウンロード後、ヘルプメニューを参考に。
作成方法:AI部分をプログラムしコンパイルしたものをファイルコピーすればOK
ソフトダウンロード:http://irensei.com/
0002名前は開発中のものです。
2006/08/03(木) 21:56:17ID:xFYbUm5w0003名前は開発中のものです。
2006/08/03(木) 21:58:57ID:xFYbUm5w0004名前は開発中のものです。
2006/08/12(土) 03:47:35ID:eRtRKm13これより強いのを作るのは簡単そうだが
そう一筋縄ではいかないのかもね
0005名前は開発中のものです。
2006/08/12(土) 12:09:45ID:Wtbh4gtFそれが出来たら、スレ内で最強決めたり、おもろいかも
0006名前は開発中のものです。
2006/08/12(土) 18:52:24ID:0eGNrfZtなんか、アレだな。
ロボットのAI書いて、戦わすみたいなノリだな。
0007名前は開発中のものです。
2006/08/13(日) 22:00:20ID:v9c1Vwk6自作同士で戦えるよ。
いまでもCPU同士で対戦できる。
でも今だと両方とも同じAIだからどんぐりの背比べになっちゃうけど。
誰か今のより強いの作ったらどっかに上げてみてよ
0008名前は開発中のものです。
2006/08/19(土) 13:19:23ID:+BoZDsCV0009名前は開発中のものです。
2006/08/20(日) 23:28:57ID:tcnpee8dVC++とBorlandC++のサンプルがGUIに同梱されてるよ。
0010名前は開発中のものです。
2006/08/22(火) 19:46:39ID:Hquguqqeサンクス。C++かぁやったことないんだよな
0011名前は開発中のものです。
2006/08/22(火) 19:56:12ID:iCo826XtC++から他の言語へのゲートウェイを作るってのはどう?
0012名前は開発中のものです。
2006/08/23(水) 00:59:08ID:CqNVUnKw0013名前は開発中のものです。
2006/08/23(水) 20:19:13ID:M0hCP3PA5連、6連の連打で勝負をつける本当の詰めを読む部分のほかに
石の取り合いになる攻め合いを読む部分を別に作った方がいいのかな?
連続のアタリで取れるの取れないのぐらい読めた方がいいのかなと
思ったり。
あとは評価関数だよなー。
0014名前は開発中のものです。
2006/08/24(木) 02:32:37ID:s0cWYqSO5連6連の連打で詰めるというよりは
いかに必勝形を作るかにかかってるみたい。
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
ってのよりは
┠┼┼┼┼┼┼○┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼○┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
の方が有効な5になる。逆に相手のこれを確実に止める
ロジックも必須になるかな守りとしては。
多分相手の必勝形を防ぐことにウェイトを置いたほうが強くなりそう
0015名前は開発中のものです。
2006/08/24(木) 06:31:33ID:ioVHmuR2必勝形のデータベースを持たせてマッチングさせるのかな?
上より下を高く評価するのにどんな関数を定義する?
0016名前は開発中のものです。
2006/08/24(木) 10:55:32ID:EL56UG7q白石が置かれているものとしてカウントする、って感じで
0017名前は開発中のものです。
2006/08/24(木) 13:21:58ID:ev8Ef8+sだね。すでにあたりになってる場所は既に自分の地(?)って計算にすればいいのかもね
0018名前は開発中のものです。
2006/08/24(木) 19:58:13ID:ioVHmuR2なるほど。中盤の評価関数としては優秀かも。
でも必勝かどうかはわからんし、>>14の上は先手を取れるけれども、
下は相手に5連があれば受けに回らないといけない。
つーわけで、5連6連の連打で詰める探索は必須だと思うよ?
0019名前は開発中のものです。
2006/08/25(金) 00:15:07ID:Qv5WM+Vw他によくあるのが
┠┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
これで4
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
これで5
こういうのが作りやすい。
だから単純にアタリになるところだけでは不十分だと思います。
まあ先に進んでからの話だと思いますが。
┠┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
こういうのはいい形、というのを評価関数にいれるといいんじゃないかと思います。
0020名前は開発中のものです。
2006/08/25(金) 05:13:14ID:HSkjh6sV探索の結果として好形に高評価が下るようにする方が
個人的には好みかな。
もちろん、パターン認識するのも全然ありだけど、
歴史が浅いゲームだから、手筋自体があまり揃ってない
ような気がする。
0021名前は開発中のものです。
2006/08/25(金) 23:01:11ID:WlvILivf候補手の生成のためのものって気がするが。
てことで、みんな候補手はどうしてる?
0022名前は開発中のものです。
2006/08/25(金) 23:14:00ID:RsiJgsmxって事をしたいけど、実現出来そうに無いから合法手全部生成する。
0023名前は開発中のものです。
2006/08/26(土) 00:58:27ID:rYAFjXGIになっちゃうんですけど。
αβ法とかでカットするにしてもこれは多すぎだべ。
0024名前は開発中のものです。
2006/08/26(土) 03:37:13ID:IupHD68wそれでまずは最強AIなわけだし。
囲碁とか将棋もそうやって徐々に進化したわけで。
0025名前は開発中のものです。
2006/08/26(土) 13:03:58ID:Iyz7Kglwたしかに多いね。
石に隣り合わない手を読まないとかどう?
0026名前は開発中のものです。
2006/08/27(日) 01:37:14ID:hewMfiMA┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○┼┼┼○○┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
のとき真ん中に打ってくれなくなるなー。
まあでもこんなのは例外的だから
除外しちゃってもよさそうだけど。
7連を作る手
ないときは相手の7連を防ぐ手
ないときは六を作る手
ないときは相手の六を防ぐ手
…
プラス、石を取る手、助ける手は常に候補手
って感じはどうかなあ。
0027東陶基
2006/08/27(日) 17:32:29ID:gQI+UjINもし完成した場合には送ってもらえればダウンロードするファイルに
入れちゃうので宜しくお願いします。
0028名前は開発中のものです。
2006/08/28(月) 23:03:01ID:ey7+/+F9まず自分に7連を確実に作れる手がなければ
相手の5(もしくはどちらかが止まってる6)を防ぐというのが最優先では。
自分の7連の詰めろ状態と相手の5を比べて
両方FALSEなら布石となる手を、
両方TRUEならどちらが先に勝つかを検討
どちらか片方がTERUの時はそっちを優先でOK?
0029名前は開発中のものです。
2006/08/29(火) 06:21:05ID:NUVELzk7相手の両方開いた5よりも自分の片方開いた6があれば
自分の方が早いってことじゃないかな?
まぁでも俺はああいう風に分岐の多いロジックでやるよりも
7連のみを考慮して探索を深くた方がいいと思うんだけど。
あと >>14 >>19 で上がってる好形も同様に手が遅いんだよね。
だから評価関数的には割り引いて判断してあげないといけないと思う。
0030名前は開発中のものです。
2006/08/29(火) 12:42:32ID:P7sn32OK┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
そりゃ、相手の打つ手を考えないなら、同じ5でも下の方が早い。
下はあと2手だけど、上はあと5手もかかる。
でも、相手の5や6をちゃんと止めるという基本ができてれば、ひとつだけ5があったって勝ちにはつながらない。
両てんびんをかけなきゃだめなのよ。
5目並べの33や43は結構できるけど、55や56は縦横斜めの組み合わせじゃそうそうできない。
じゃ、どういう形ならできやすいかっつーと、
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼☆○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
例えばこんなのになる。(ちょっと人工的な例だが)
そういう意味で
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
より
┠┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
の方が好形
0031名前は開発中のものです。
2006/08/29(火) 18:26:10ID:ZEQLAiEv┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●●┼○┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼○●○○┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼○○●○●┼┼┼┼┼┨
┠┼┼┼┼┼┼☆●┼●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼●┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼●○┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
0032名前は開発中のものです。
2006/08/29(火) 18:26:41ID:ZEQLAiEv┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼●┼┼┼┼●┼┼┼┼┼┼┼┨
┠┼┼┼┼●○○○○●┼┼┼┼┼┼┼┨
┠┼┼○┼●●○●●●┼┼┼┼┼┼┼┨
┠┼┼+○┼●●○●┼●┼┼┼+┼┼┨
┠┼┼┼┼○●┼○┼★┼┼┼┼┼┼┼┨
┠┼┼┼●●○○○○┼●┼┼┼┼┼┼┨
┠┼┼┼●○┼○●┼○┼┼┼┼┼┼┼┨
┠┼┼┼○┼○┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
0033名前は開発中のものです。
2006/08/29(火) 18:27:16ID:ZEQLAiEv┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○┼┼┼●○┼┼┼┼┨
┠┼┼+┼┼┼┼┼○○○●┼┼+┼┼┨
┠┼┼┼┼┼┼┼●●○●●┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●●○┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼●○○○┼┼┼┼┨
┠┼┼┼┼┼┼┼●┼┼○┼●┼┼┼┼┨
┠┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼○┼★+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
0034名前は開発中のものです。
2006/08/29(火) 18:28:05ID:ZEQLAiEv┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼○┼┼┼┨
┠┼┼┼┼┼┼┼☆○┼┼┼┼┼●○┼┨
┠┼┼┼┼┼┼┼●●○○○┼┼●┼┼┨
┠┼┼┼┼┼┼┼○●●○●●●┼┼┼┨
┠┼┼┼┼┼┼┼○●●○○●●○┼┼┨
┠┼┼+┼┼┼┼○●○○●●●●○┼┨
┠┼┼┼┼┼┼┼┼●○●○┼┼○┼┼┨
┠┼┼┼┼┼┼┼○○●●○┼○┼┼┼┨
┠┼┼┼┼┼┼●●○●○○○●┼●┼┨
┠┼┼┼┼┼┼┼┼○●┼●○○○●┼┨
┠┼┼┼┼┼┼┼┼○●┼●●┼○┼┼┨
┠┼┼+┼┼┼┼┼+●○●┼●+○┼┨
┠┼┼┼┼┼┼┼┼┼┼○┼┼┼●┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
0035名前は開発中のものです。
2006/08/29(火) 18:28:40ID:ZEQLAiEv┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨白が壱
┠┼┼┼┼┼┼┼┼┼┼参┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼壱┼┼┼┼┼┨
┠┼┼┼┼┼┼○●┼┼○●弐┼┼┼┼┨
┠┼┼┼┼┼┼┼●○┼●○┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●┼○●○┼┼┼┼┼┨
┠┼┼+┼┼┼┼●●●○┼┼┼+┼┼┨
┠┼┼┼┼┼┼●○●○○○┼┼┼┼┼┨
┠┼┼┼┼┼┼●○○●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
0036名前は開発中のものです。
2006/08/29(火) 22:00:54ID:NUVELzk7言ってることは分かるけど、評価関数は、
もっとシンプルに実装すべきだと思うよ。
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
の五の部分に関して、下を高く評価するべきだろうということ。
たとえば下の五が2つあるのと上の五が2つあるのでは、下を選ぶでしょ?
上が好形なのは、五の部分だけではなくて、三が1つ、二が2つある
ということだから、五の部分に関しては割り引くべきだという話。
0037名前は開発中のものです。
2006/08/30(水) 00:21:32ID:HDX1nRgM下の五が1つと上の五が1つだったら上を選ぶ
0038名前は開発中のものです。
2006/08/30(水) 01:23:57ID:T9B8gXQB┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
は
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼C┼○○○┼AB┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○@┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
で
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼○○○┼○●┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
となり必勝だけど
0039名前は開発中のものです。
2006/08/30(水) 01:26:01ID:T9B8gXQB上のは
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼B┼┼┼┼A┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○@┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
で
┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
ってなって優勢ではあるが決定的ではない。白が柳沢ならまだ可能性を残している
ってとこかな。
ただしフリーでこういうのが出来るってことはまずなさそうだけど。
0040名前は開発中のものです。
2006/08/30(水) 01:28:10ID:T9B8gXQB┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●A┼┼┼┼┼┨
┠┼┼┼┼B┼┼┼┼┼@┼┼┼┼┼┼┨
┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●●┼┼┼┼┼┨
┠┼┼┼┼☆┼┼┼┼┼○┼┼┼┼┼┼┨
でやはり必勝。ってことでフリーで5が出来てたら
どっちにしろ防ぎようがないって事だね
0041名前は開発中のものです。
2006/08/30(水) 13:45:56ID:HDX1nRgM勝ちは決まってないけどどっちかが優勢って局面のサンプルきぼんぬ
0042名前は開発中のものです。
2006/08/30(水) 16:07:42ID:7ZVmpLFfたまにKGS http://kgs.kiseido.com/ja_JP/ で囲連星部屋を立ててるので、
遊びに来てみて。
今日も19:00ころから立てる予定。
0043東陶基
2006/08/31(木) 12:41:23ID:9XPaLR5/参加しませんか?ってメール来た。
いくらなんでも囲連星のAIで参加したら秒殺なんだけど。
0044名前は開発中のものです。
2006/09/02(土) 01:08:18ID:8iwuITDDHSPで作ったら意味無いかな。C++勉強した方がいい?
0045名前は開発中のものです。
2006/09/02(土) 14:27:34ID:FQ3PQJ6k>>10-12 辺りの対処法はあるかも。
0046東陶基
2006/09/02(土) 18:59:42ID:3UBPfJpb一応、DLL化出来ればそのファイルをexeと同階層に入れれば動くという
仕様でゲームを作ってもらったので多言語でも動くはずなのですが
ただHSPがどんな言語使用なのかが不明なのでなんとも・・・。
これもとりあえずゲームを作ってもらったプログラマの人に確認してみますね。
あと、簡単なサンプルAIを作って見てそれで動けばOKって判断も可ですけどね。
ただ囲連星協会としては製作してくれる人には出来る限り
協力していきますのでわからないことありましたら質問はどんどんしてください。
0047東陶基
2006/09/02(土) 20:03:47ID:rm7AAbnt多言語→他言語
言語使用→言語仕様
0048名前は開発中のものです。
2006/09/03(日) 09:12:20ID:3AwZNIT+囲連星AI的には、7作って勝手に勝利だと思っちゃうってやつですなwww
ちょっとかわいい
0049東陶基
2006/09/03(日) 15:08:01ID:pz5g/Og+HSPでも出来るという回答を貰いました。
ただある程度Cのソースも取り込む時に必要らしく
サンプルっぽいのを貰ったのですが
自分自身が理解出来ないので後日公式HPの方にでも
アップしときます。
0050名前は開発中のものです。
2006/09/03(日) 20:11:32ID:Wk08AQgv0051東陶基
2006/09/04(月) 02:55:04ID:AKin8IS7>・HSPとか多言語でもOK?
ですが、絶対に作れないということはありません。
HSP とのやりとりのために、いくらかの C のプログラムを書く必要が
ありますが、可能です。
例えば、HSP はファイルアクセスが可能なようですので、
1)C で書いた AL DLL から、必要な情報を特定のファイル名で保存
2)C で書いた AL DLL から、HSP のプログラムを起動
3)C で書いた AL DLL は HSP のプログラム終了待ちに入る
4)HSP で書いたプログラムは 1) のファイルを読み込む
5)HSP で書いたプログラムは思考処理をして、結果を特定のファイル名で保存
6)HSP で書いたプログラムは終了する
7)C で書いた AL DLL は 5) のファイルを読み込む
8)7) を囲連星の形に直す
のような形で HSP で AI を作成することができます。
この場合、HSP のプログラムは、一手ごとに起動と終了を繰り返すこと
になります。
他にも、HSP でもプラグインでソケット通信が可能なようですので、
C で書いた AI DLL と、自身で決めた約束事に沿ってソケット通信
することで、囲連星のゲームと HSP のプログラムとのやりとりを
することができます。
この場合、HSP のプログラムは起動しっぱなしになります。
※引用終了
0052東陶基
2006/09/04(月) 02:58:57ID:AKin8IS7いつかまとめて(まとめられるかな・・・)UPします。
ただ個人的には普通にDLL作れる言語で作ったほうが簡単そうな気がする・・・。
あと思うに言語を使ってプログラムを実際書けるというのと
AIの理論的な部分のアイデアとはまったく別のものなので
こことかでAIのコア部分のアイデアが出れば、それをもとに
コーディングをするってのも有りかなと、かなり希望的観測だけど。
0053名前は開発中のものです。
2006/09/04(月) 22:38:33ID:rb/d93oYAIって評価関数のウェイトのおき方が最重要だから、
沢山テストしてパラメータを調整するのが肝なんですよねー。
将棋のbonanzaとかは自律学習させてチューニングしてたとか。
0054名前は開発中のものです。
2006/09/05(火) 01:11:40ID:dKGuIFbWCならC++よかいくぶん簡単ですかね?
0055名前は開発中のものです。
2006/09/05(火) 09:23:04ID:yCGCI2FQAI部分だけならCでもC++でもそんなにかわんなさそう。
0056名前は開発中のものです。
2006/09/05(火) 20:41:17ID:O2M+R7/wC++を使うにしても、継承とかややこしいの抜きで“構造体(orクラス)の一部に関数を含める”だけなら楽で便利ですよ。
0057名前は開発中のものです。
2006/09/05(火) 22:32:21ID:dKGuIFbWC++で作るのに挑戦してみようかなあ。
アドバイスありがとうございました。
hspで作れるようにする方のUPも一応待ってます。
0058名前は開発中のものです。
2006/09/06(水) 01:11:35ID:VYLMn2t9ソースに入ってるユーティリティ使ってるうちに C++ に慣れるんじゃない?
まあ、その程度にはってことだけど。
0059東陶基
2006/09/06(水) 14:45:21ID:i9L86bQEの一番下にHSPでやり取りするサンプル上げときました。
0060名前は開発中のものです。
2006/09/06(水) 23:39:52ID:wf2IkZaFでもtest01.hspをコンパイル&実行してみたのですが
aiboard.binが見つからないというエラーになってしまいました。
どうしたらいいんでしょう。すいません。
0061名前は開発中のものです。
2006/09/07(木) 11:24:34ID:bzBAb7h10062東陶基
2006/09/07(木) 18:03:00ID:ygyuxNyDあのサンプルはメールで問い合わせたときに
囲連星開発プログラマさんのご好意で作ってくれた
やつなのでサポート、苦情は無しでねと言われているので
ソース読んで理解出来る人は参考にって感じでお願いします。
0063東陶基
2006/09/08(金) 00:24:36ID:ZQBpfvMv先ほどとある出版社からメールが来ました。
とりあえずまだ確定ではないので名前は伏せておきますが
囲連星のゲームが雑誌に掲載されるかもしれません。
もし確定しましたら皆さんにもご案内しますので待っててください。
0064名前は開発中のものです。
2006/09/10(日) 17:50:13ID:x4ykpAWB新手のオレオレ詐欺じゃないことを祈る
0065東陶基
2006/09/11(月) 14:41:09ID:OgCC47Qzただ逆にその後音沙汰もないです。
なんだったんだろ・・・。
0066名前は開発中のものです。
2006/09/12(火) 10:59:18ID:QMre7o8W0067名前は開発中のものです。
2006/09/21(木) 15:27:32ID:WUtFsLdD0068東陶基
2006/10/01(日) 01:36:30ID:lAtwv5bM今月中旬くらいに本屋に並ぶと思うので立ち読みしてください。
0069名前は開発中のものです。
2006/10/06(金) 23:00:34ID:hSbnFtwz0070名前は開発中のものです。
2006/10/11(水) 17:48:00ID:umMEQC+8対戦相手のAIが普通に7手打った所で囲連星のAIが7連作ってお終い。
で棄権。
ちょっとは話題になったかもね。
0071東陶基
2006/10/12(木) 20:03:20ID:XZbj72S6意外と大きく紹介されててちょっと驚きでした。
11月号91ページです。
0072名前は開発中のものです。
2006/10/13(金) 14:23:53ID:2iEbrh0+雑誌?
送られてこねぇよwwwwwwwwww
0073東陶基
2006/10/13(金) 22:32:55ID:T4cl09Oa載せる時に許可取るメールみたいなの来なかった?
そこに雑誌いる?見たいなことが書いてあったので
「要る」って返信したら送られてきた。
なんか無許可では掲載しないような感じだったけどどうなんだろね
0074名前は開発中のものです。
2006/10/13(金) 23:07:22ID:qI74t+57メール欄にsageと記入すればOK
0075名前は開発中のものです。
2006/10/14(土) 12:24:04ID:MhfoAXz4なんかHPの掲示板に載せるから許可クレって書き込みがあったから
イイヨーって返信した。それ以後連絡なし。アレ?まあいいや立ち読みで確認したし
0076東陶基
2006/10/15(日) 00:21:13ID:eMu4LwVsそうそう。イイヨーって返信する時に雑誌欲しかったら住所と名前
教えてねってあったからそれを書いてイイヨーって返信した。
それ以降連絡なしは同じかな。
0077名前は開発中のものです。
2006/10/17(火) 18:10:54ID:SklP/wQ3ttp://irensei.com/html/ai.html
小銭稼ぎになるか
0078名前は開発中のものです。
2006/10/17(火) 23:51:09ID:46k9HZL60079名前は開発中のものです。
2006/10/18(水) 12:11:44ID:ppAnqnR2stdcallの方がアンダースコア絡みで悩まなくて済むのに
0080名前は開発中のものです。
2006/10/18(水) 13:14:05ID:ppAnqnR2cdeclにしろstdcallにしろdefで対応すれば問題ないのかな
あとで試してみよう
0081名前は開発中のものです。
2006/10/19(木) 14:27:19ID:c5b0vBbb0082名前は開発中のものです。
2006/10/19(木) 16:57:09ID:XPb2M8y80083名前は開発中のものです。
2006/10/19(木) 18:34:10ID:nCDUd7JO0084名前は開発中のものです。
2006/10/21(土) 12:00:46ID:T+3nZLEY>>31や>>40が必勝ってのがわからん。
0085名前は開発中のものです。
2006/10/21(土) 12:59:39ID:q26QhuGB囲碁板へどうぞ
0086名前は開発中のものです。
2006/10/21(土) 19:42:05ID:ptZ8MB0J>>31は、このあと白が壱、二、三or四に打って
7を作るのを黒は阻止できない
(黒が壱に打っても白五で取られてしまう)
白より早く7を作れる箇所もないので黒の負け。
┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼三┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●●┼○┼┼┼┼┼┼┨
┠┼┼+┼┼五壱○●○○┼┼┼+┼┼┨
┠┼┼┼┼┼┼二○○●○●┼┼┼┼┼┨
┠┼┼┼┼┼┼☆●┼●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼●┼┼┼┼┼┨
┠┼┼┼┼┼┼四┼┼┼┼●○┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
0087名前は開発中のものです。
2006/10/21(土) 19:47:42ID:ptZ8MB0J黒は阻止できない(黒が壱に打てば白二、
黒三なら白四で結局取られる)
黒が他に白より早く7を作れる箇所がないなら白の勝ち
┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●●┼┼┼┼┼┨
┠┼┼┼┼☆┼┼壱三┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼二四┼┼┼┼┼┼┼┼┨
0088名前は開発中のものです。
2006/10/21(土) 22:32:41ID:T+3nZLEY>>87
わかりやすい解説ありがとうございます。
慣れるまでは、勝てるかどうか判断するのに時間がかかりそうです
0089名前は開発中のものです。
2006/10/23(月) 16:02:27ID:A+bm/Bdd俺が思うにもし完成した場合には中途半端な強さじゃなくて
すごい強いか無茶苦茶弱いかのどっちかだと思うんだけど
そういうもんじゃないの?プログラマの人教えて
0090名前は開発中のものです。
2006/10/23(月) 16:12:08ID:i3ypDPVH0091名前は開発中のものです。
2006/10/26(木) 01:17:11ID:6a5rv06/先手必勝だったと
そう考えるとその必勝法さえ見つければそれをプログラムすれば
おっけーってわけだ
0092名前は開発中のものです。
2006/10/30(月) 20:35:43ID:A1MZzaxgその必勝法がなかなか見つからないけどな
0093名前は開発中のものです。
2006/11/02(木) 16:34:35ID:DCEi4urc> そのため、第三者がこのソースを利用し作成したプログラムもまた
> オープンソースとして公開することを義務づけます。
AI作るときにAI用に提供されているAPI使った場合もソース公開しないといけないのかな?
0094名前は開発中のものです。
2006/11/03(金) 06:38:49ID:7OpYRECrDLL との通信に必要な部分は、さすがに問題ないだろう。
ユーティリティーは、あれ使ってる間は、別に公開して困るレベルじゃないんじゃない?
まあでも、内蔵 AI のソースを流用するならともかく、API つーてるのを使ってライセンス汚染はキツい気がするな。
GUI 部分のソースはどーでもいいし。
>>91
オセロ解明されたの?!!
しかも後手じゃないんだ!
俺が知ってるのは、十数手以内にどっちが勝つか分かるって話だったけど。
ソースあったらくれ。
0095名前は開発中のものです。
2006/11/03(金) 22:55:47ID:cKq9ONfqAPIの使用は問題ないと思いたいですね
> ユーティリティーは、あれ使ってる間は、別に公開して困るレベルじゃないんじゃない?
確かにそうかも
練習として棋譜再生DLLを作ってみました
(AIではありませんが…)
囲連星上で棋譜の確認が出来ると以外何もありませんが、
興味があったら使ってみてください
http://gamdev.org/up/img/8017.zip
0096名前は開発中のものです。
2006/11/03(金) 22:56:51ID:cKq9ONfq○出来るという以外
0097東陶基
2006/11/04(土) 16:16:41ID:U3iplasKツール作成ありがとうございました。
公式HPにアップしてもよいですか?
あとライセンスや著作権についてですが
一応ライセンス云々と書いていますが
基本的に作成者のご希望を優先しますのでとりあえず
気にせずガンガン開発してもらえるとうれしいです。
0098名前は開発中のものです。
2006/11/04(土) 19:56:57ID:+xsCqS1d> 公式HPにアップしてもよいですか?
こんなものでよろしければ、好きなようにして下さって構いません
> 基本的に作成者のご希望を優先しますのでとりあえず
> 気にせずガンガン開発してもらえるとうれしいです。
どこまで出来るかわかりませんが頑張ります
コンテストに応募できるくらいになればいいのですが…自信はありません
0100名前は開発中のものです。
2006/11/08(水) 17:37:12ID:Ue8x1mm1碁だと時間かかるし、五目並べはなんだしな
オセロでもいいっちゃいいがコンピュータにどうやっても勝てないし
0101名前は開発中のものです。
2006/11/10(金) 20:12:35ID:VfSwV1Gq手っ取り早く強そうなんだがどうだろう
0102名前は開発中のものです。
2006/11/10(金) 22:36:28ID:oXuF47/H0103名前は開発中のものです。
2006/11/11(土) 03:23:04ID:bcV8zHef0104名前は開発中のものです。
2006/11/12(日) 06:28:33ID:rd6nlJ+00105名前は開発中のものです。
2006/11/14(火) 14:46:12ID:wFJY+aZVだれか少しでも動かせた人教えて
0106名前は開発中のものです。
2006/11/14(火) 16:35:24ID:joH2PqKq囲碁のプログラムって序盤で一子(取れることも少ないんだろうけど囲碁の序盤だと)
を取りにいけても無理に取りに行かないんじゃない?
なんか囲碁のプログラムの難しいのは石を取りに行くより地とか厚みの方が
有効だったりするからだろうなと思ったり。
なので結構取れる石ってある気もするんだけどね。
0107名前は開発中のものです。
2006/11/14(火) 18:50:27ID:FoxSdXbp詳しいルールブックないの?
そもそも囲碁なの?
0108名前は開発中のものです。
2006/11/14(火) 19:28:21ID:x04N9JY7ルールは公式HPに載ってます。
http://irensei.com/html/try.html
http://irensei.com/html/rule.html
0109名前は開発中のものです。
2006/11/14(火) 22:31:06ID:FoxSdXbp囲碁のベース知ってる前提みたいだから無理だな。
0110名前は開発中のものです。
2006/11/14(火) 22:57:52ID:hYN84tI7コウなんて囲連星じゃあんまり出ないだろうし
囲まれたら取られる7目並べでルールはOKだと思う
0111名前は開発中のものです。
2006/11/15(水) 00:17:59ID:6bXh1lvrためしに明日からここで作ってみるわ。
誰かルールに詳しい人サポートお願いします。
0112名前は開発中のものです。
2006/11/15(水) 03:04:49ID:q3dN8+3Mおぉ〜。応援してるよ。
俺も作りかけたんだけど挫折しちまったから
代わりに賞金20万狙って
0113名前は開発中のものです。
2006/11/16(木) 17:34:21ID:v1XiV2pEこの盤ゲームは一番長い連続した碁の長さを競うものなの?
で、どんなAIというか
19x19マスに情報を19x19階層分持っておく。
ターンで敵の打ったx,y,nに保存して内部に(1)もしくは(周りの数)を足す。
x,y,nの周辺に合計1~以上を検索してなかったら1以上になる位置に打つ。(ここは適当)
ターンを増すごとに階層情報が増えるので何処が重要なのかわかってくるハズ。
連続性がこの勝敗を分けるみたいだから
数の多いところを抑えて、自分はもっとも数の小さな位置からもっとも多い位置の中間を狙わせる。
考え方としてはその位置にどれだけ投資されたかっていう考え方。
このゲームではどこを狙っているのかが問題になっているし、連続性とう位置関係も解決されるハズ。
と長いけど、サンプルあとでうぷしますね。
締め切りっていつ?
0114名前は開発中のものです。
2006/11/16(木) 20:36:31ID:WEY5fEp7>この盤ゲームは一番長い連続した碁の長さを競うものなの?
違う。
ルールをしっかり読んだ方がいい。
ルールの記述は厳密さが足りないところも多々あるが、
そんな風に誤解されるほど酷いものではないと思う。
0115名前は開発中のものです。
2006/11/16(木) 20:41:02ID:WEY5fEp7>先に七連を規定本数作った対局者を勝ちとする。
>白は長連でも七連と認める。
公式で落とせるソフトでは規定本数=1になってるね。
0116名前は開発中のものです。
2006/11/16(木) 22:32:55ID:dl29CCgpそんな遠くは外れないと思う
締め切りはないんじゃないかな。随時募集みたいだよ
0117名前は開発中のものです。
2006/11/16(木) 23:10:27ID:v1XiV2pEありがとう
もうちょっとがんばって改良するわ
0118名前は開発中のものです。
2006/11/18(土) 01:58:05ID:01Ho7F5Jところでこういうのを作る時って、どのあたりがネックになるの?
躓かないで一応打てるとこまでは直ぐ出来るのかな?
強い弱いを別としたら
0119名前は開発中のものです。
2006/11/18(土) 03:18:55ID:cWdJzjpe強い弱い別にしたら if 分でルールどおりに書いてみただけでも一応は動くよ。
ただし、その if を自動化するからこそ可能性があるのね。
ネックはやっぱりルールでしょう。
この場合は7連続がどうたらとか、囲むとか、それさえなんとかなれば強弱もなんとかなりそう。
オセロのAIなんか見てみると面白いかも。(HSP系なら落ちてるよ
0120名前は開発中のものです。
2006/11/18(土) 07:10:34ID:YJI7iwNn>>119
C++なら盤面の更新や着手可能個所の列挙などを手軽にできるAPIがあるので楽
自分で実装するのも難しいことではないね
>オセロのAIなんか見てみると面白いかも。(HSP系なら落ちてるよ
なぜHSP?というのは置いておくとして、
オセロは定番だから取っ掛かりにはなるかもしれないね
ただオセロと比べると盤面が広いのと、
着手候補数が多い(既に置かれている石の周辺だけを候補としても)のが辛いところかな。
0121名前は開発中のものです。
2006/11/18(土) 15:04:13ID:WRa/ptj8なんか着手がルールにのっとってるかどうかのチェックするAPIが
あったような気がした。ソース読んだときに。
ただ着手候補数が多いってことが逆にオセロと違ってコンピュータより
人間が強いって言う砦を守りそうな気がする
0122名前は開発中のものです。
2006/11/19(日) 21:42:03ID:Kr+CveHkただGUIとかのコーディングがないからソース自体はたいした量にはならない?
0123名前は開発中のものです。
2006/11/20(月) 07:15:31ID:qhaK6RTn0124名前は開発中のものです。
2006/11/20(月) 17:42:52ID:Od7Qf+aa123とかがその人なら「期待して待ってるよ」ってなるけど
通りすがりのカキコだと一般論になっちゃうもんね
0125名前は開発中のものです。
2006/11/23(木) 22:41:23ID:qFGim67R・対局中にメニューの「待った」と「降参」を押しても反応がない
・AIのIrenseiFinalize() が呼ばれない
前者はそれほど大きな問題でもないけど、
後者に関してはリソースの解放などにも関わる可能性があるので重要かもしれません。
ソースを調べたところ、mainform.cppの以下の箇所が原因のよう。
ASSERT( (*ai.finalize)(ai.param, ai.iout) );
関数呼び出し自体をASSERTで括ってるので、おそらくデバッグ版の囲連星でしかfinalizeが呼び出されません。
0126名前は開発中のものです。
2006/11/23(木) 23:18:44ID:gK089LrSそうなの?俺のマシンの囲連星は待ったも降参も反応してるけど
0127名前は開発中のものです。
2006/11/24(金) 07:04:57ID:BHZl7FE+もしかしてうちだけなのか…
念のため言っておくと、右ペインの「新規対局」「待った」「降参」が並んでるボタンではなくて、
上部のメニューバーの方ね
0128名前は開発中のものです。
2006/11/24(金) 16:19:03ID:c9qtHXRI単純に関数の呼び忘れなのかな?
0129東陶基
2006/11/25(土) 14:15:44ID:gMQX1G4Fこの前はAIありがとうございました。
AIと対局してみたのですが、多分石が当たられたときに逃げないのが
弱い一因かなと。
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼○┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼☆●○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
の時に
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼○┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼○●○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼★┼┼┼┼┼┼┼┼┨
と単純に逃げるだけでも強さが改善されるのではないかと。
もちろん7を作れるとか6を止めるとかの方が優先順位は高いと思いますが、
石を取られるのを避けるというのもかなり優先順位が高いと思うので
参考までに。また強くなったらテストさせて下さい。
>>125
そうですね。機会があれば直してもらいます
0130名前は開発中のものです。
2006/11/25(土) 19:29:40ID:38GyqH59アドバイスありがとうございます。
この前のAIは何手先まで読めるかを試す程度で、
特に五六七以外のチェックはしていないので、アタリなどの判定はこれから実装予定です。
現状では、この前より少しばかり高速化してさらに一手先を読むことができるようになったので、
今のAIには七割くらいは勝てるようになりました。
が、人間が打っても強くなったとは実感できない程度だと思います。
幾つかあるアイディアを実装すればもう少し強くなるとは思いますが、
大幅に強くなるようなブレイクスルーの見込みはないですね。
0131名前は開発中のものです。
2006/11/26(日) 02:59:30ID:uJ6SHQydなんか強い方が99パーセント勝ちみたいなのかと思ってた
0132名前は開発中のものです。
2006/11/26(日) 20:12:53ID:mBIvFjNh明らかに強ければ99%勝ちになるとおもうのですが、
現段階ではそれだけ微妙な差しかないレベルってことだと思います。
公式サイト以外で囲連星の棋譜が手に入るところってありませんか?
まだ囲連星に不慣れなので、いろいろな棋譜を見て調べてみたいと思っています。
0133東陶基
2006/11/26(日) 22:01:10ID:Lzr5AN0a今のAIより強くなったんですか?
凄いですね。もし良かったら適当なところで一旦メールで
送ってもらえると嬉しいです。もしくはUPしたURLを書き込んでおいて
もらってもいいのですが。
そうすればまた何か気になるところがあれば報告出来るかなと。
ただAI同士でなく人間との対戦の場合は必勝形を作る、防ぐと言うのが
かなり効率的です。
0134東陶基
2006/11/26(日) 22:04:01ID:Lzr5AN0a┠┼┼┼┼┼┼○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
もしこの状況の場合、白なら
┠┼┼┼┼┼┼○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼┼☆┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
黒なら下の二箇所のいずれかに打つのが有効です。
┠┼┼┼┼┼┼○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼★★┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
0135東陶基
2006/11/26(日) 22:07:44ID:Lzr5AN0a┠┼┼┼┼┼┼○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼☆○┼┼┼┼○●┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
となりあとは白の4連の下の部分を埋めていけば7が作れます。
黒がそこに打ってきた場合はその下から白で抑えていけば
石が取れるようになります。
人間との対戦の時はこの勝ち方(負け方)が多くなるので
その形の一手前を認識できれば相当強いはずですが
今のAIを作る時にそれは難しいと言うことで出来ませんでした。
0136東陶基
2006/11/26(日) 22:09:16ID:Lzr5AN0aいつまで保存してるのか不明なので今から検索してきます。
もしあったら、何かの方法でお知らせ出来るようにしてみます。
0137東陶基
2006/11/27(月) 14:05:33ID:G4X+XEGUiGo棋院にログインして棋譜検索ボタンがありますので
そこで東陶基で検索してください。日付は2005年からあります。
まだそこで検索された対局者で再度検索すると東陶基以外との
対局もたくさん出てきますので棋譜の量はある程度そろうと思います。
0138名前は開発中のものです。
2006/11/27(月) 18:51:19ID:Iv5AIjKvhttp://www.gokgs.com/gameArchives.jsp?user=mosa
対局形式が自由碁の奴はだいたいそう。
(公式戦は碁の棋譜です。)
7月は結構ある。他の月もちらほら。
0139名前は開発中のものです。
2006/11/28(火) 00:09:55ID:5UFQP7BSメール送りました。
>>134-135のような状況の判断に関しては検討中です。
速度的に問題があるかもしれませんが、思いついた方法があるので近々試してみます。
>>136-138
棋譜の件、ありがとうございました。
これから手に入れてみようと思います。
0140名前は開発中のものです。
2006/11/30(木) 00:08:17ID:T3nR+v4P0141名前は開発中のものです。
2006/11/30(木) 01:31:47ID:yzWH9DL2http://gamdev.org/up/img/8252.zip
iGoは検索結果の棋譜の一括ダウンロード機能などはないんですね。
最初は手作業で一つ一つsgfファイルを作っていたのですが、
量が多くて大変そうだったので、機械的に処理してsgfを生成しました。
中身をチェックしていないので囲碁の棋譜があったりするかもしれませんが、
それでも良ければ参考にどうぞ。
0142名前は開発中のものです。
2006/11/30(木) 07:33:34ID:6qb4PAvZ例えば>>129のような状況で逃げる手を打つ確率などです。
人間が特定の状況で打ちやすい手というのは他にもあると思うのですが、
なかなか思いつかないので、何か知っていることや気づくことがあったら教えてください。
極端な例を挙げると、六がある状況で七を作る確率などもそうですね。
これは統計を取らずに100%とした方が良いかと思いますが。
0143東陶基
2006/11/30(木) 15:00:14ID:B1P802zQ1.5を作るより取れる石があった場合は取る
2.必勝形を作られてほぼ負けの状態でも自分に4,5がある場合は
それを5,6にして糸口を見つける
3.シチョウを見つけた場合、追っていってもし相手の7が先に出来てしまう
場合は追わない、それ以外は追って取りにいく
0144名前は開発中のものです。
2006/11/30(木) 18:00:47ID:bXPAMEFd0145名前は開発中のものです。
2006/11/30(木) 18:50:06ID:tFGdXUOn1に関しては統計とって見たほうが良さそうですね。
2, 3に関しては統計を取るまでもなく、ほぼ100%そうするべきという感じでしょうか?
必勝形やシチョウの判定ができればの話ですが。
ちなみに確率は探索の深さに影響させる予定です。
今現在は探索深さを固定しているのですが、
候補手が多いこともあって全然深読みできません。
これを解決するために確率を用います。
より人間が打つ可能性の高い手に関しては深く読み、
可能性の低い手は早めに探索を打ち切るという風に考えています。
0146名前は開発中のものです。
2006/11/30(木) 18:51:04ID:tFGdXUOn今、確率の対象として挙げている事象は排反事象ではありません。
棋譜からある事象の確率を統計的に算出しても、他の事象の影響を受けているため、
当てにならないかもしれません。
算出した確率を無理矢理用いるにしても>>143の1は、
A. 5を作れる場合に5を作る事象
B. 取れる石があった場合に取る事象
の2つを合わせたものです。
それぞれの確率をP(A), P(B)と仮定したときに、
5を作る確率と石を取る確率はそれぞれどのような求めれば良いのやら。
確率に関してそれ程あかるいわけではないので、
根本的に間違っているところがあるかもしれませんが、
今考えているのはだいたいこんなところです。
0147名前は開発中のものです。
2006/11/30(木) 20:19:38ID:bXPAMEFdシチョウを追ってくれたらカッコイイ
シチョウの判断って囲碁のゲームとかで既に解析済み?
0148名前は開発中のものです。
2006/11/30(木) 21:49:23ID:hC6zGV8H囲碁のなかでは一番計算機が得意な分野でしょ。
みたことないけど、GnuGoの中にも当然そういうルーチンは入っていると思う。
0149名前は開発中のものです。
2006/11/30(木) 23:23:29ID:tFGdXUOn階段状に斜めに進んでいくものだけしかないって解釈でいいのかな?
最悪、着手範囲を限定して探索すれば判断できそう
0150名前は開発中のものです。
2006/11/30(木) 23:52:54ID:hC6zGV8H碁だと途中で折り曲がったりするのも考えられるんだけど、
囲連星ではそんなの出てこないでしょ。
追ってく先に既に石があることはあんまりないから。
0151東陶基
2006/12/01(金) 00:26:41ID:aHfRZra/どうせ止められる5を作るよりは石を取っといたほうが
勝つ確率が高いような気がしたので書いただけなので
もちろん状況によってはそうじゃない場合も多いと思います。
あとシチョウもそうなのですが石を取れる手筋というのが
定石化してるようです。
ただそれをプログラムに取り込むときはどうするのかはわからないです。
そのパターンを1つ1つチェックしていくというのはプログラムとして
違和感はあるのですがそれしかないのかなと思ったりも。
必勝形も多分同様な気がします。
0152東陶基
2006/12/01(金) 00:32:53ID:aHfRZra/あれで決定でもいいのですが、多分最優秀AI+対人初級ということで
公開するとなるとダウンロードされることになると思うのですが
もうちょっと手を入れたバージョンにしますか?
「待った」のところとかもありましたのでダウンロードするに当たって
もうちょっと改善したところで公表にしてという事であれば
全然待ちますけど。多分あのままダウンロードすると
「待った」が効かないよという書き込みとかも出ると思うので。
0153名前は開発中のものです。
2006/12/01(金) 00:54:34ID:c9tBg3iCなるほど。レスありがとうございました。
>>151
> そのパターンを1つ1つチェックしていくというのはプログラムとして
> 違和感はあるのですがそれしかないのかなと思ったりも。
確かにやりたくないことではありますね。
どうしても探索深さが限られて先読みできないので苦労することは多いです。
>>152
もう12月なんですね。
もう少し改良したいので、土日まで待っていただけるとありがたいです。
0154東陶基
2006/12/01(金) 15:35:54ID:mqhncX4tはい、のんびり待ってますので急がずゆっくりでいいですよ。
今月半ばくらいまでなら全然平気ですので
岐阜チャレンジとかに囲連星部門とか出来ないかな。
今度問い合わせてみよう
0155名前は開発中のものです。
2006/12/02(土) 10:43:59ID:9bHh1U4H以下はirensei-aii.zipのaiapiフォルダのgame.cppの一部ですが、
Game::Game() : rule( *MakeDefaultIrenseiRuleDescriptionVer100(static_cast<void*>(&IRENSEI_RULE_DESCRIPTION())) )
{board = new Board; //注1
Reset();}
Game::Game( const Game & other ):
rule( other.rule ),
nextOrder( other.nextOrder ),
board( other.board ), //注2
cntNuki( other.cntNuki ),
moves( other.moves ){}
0156名前は開発中のものです。
2006/12/02(土) 10:44:50ID:9bHh1U4H(注1)newしたものをdeleteしていない。
Javaとかと違って、newで確保した変数は自動的には破棄されなかったと
思います。メモリリークの原因になるので、
デストラクタとかでdelete boardした方がいいと思います。
(注2)ポインタをコピーしている
このままだとGame hoge1 = new Game(hoge2);
としたときにhoge1.board == hoge2.boardになってしまいます。
これは多分意図した仕様ではないと思うので、
board = new Board;
*board = *(other.board)
とした方がいい気がします。
以上、通りすがりのお節介でした。
ガイシュツだったらごめんなさい
0157名前は開発中のものです。
2006/12/02(土) 10:50:23ID:9bHh1U4HGame::rule() の中で、すでにnew Boardしているので、
コピーコンストラクタの中で再びnew Boardはしなくていいですね
0158東陶基
2006/12/02(土) 17:51:03ID:YSYCWbvz自分だと完全には理解出来てないので
今度バージョンアップする時に見てもらうようにします。
そういえば前もそんな指摘があったのでそれもまとめて修正しよう
それと今日20時iGoにて対局です。奮ってご参加を
0159名前は開発中のものです。
2006/12/03(日) 10:08:07ID:u9MJAUlc今度参加する機会があったら一勝はしたいです。
さて、昨日話した今までに見つけたバグですが
mainform.cppのListPlayerTypes()の中の
HMODULE hmod = LoadLibrary( itor->c_str() );
if ( hmod && MakeIrenseiAiDesc( &player, hmod ) ) {
playerTypes.push_back( player );
aiModules.push_back( hmod );
}
この部分。
LoadLibrary()が成功(hmod != NULL)して、必須関数がDLL中にない(MakeIrenseiAiDesc()が0を返す)場合に、
FreeLibrary()で解放すべきですが、呼び出していません。
もう一つ。
DLLの検索パスがカレントディレクトリになっているので、
プログラム実行中にカレントディレクトリが変更されると「新規対局」でAIがリストアップされません。
検索パスは実行ファイルのパスで行うべきだと思います。
以上、小さなバグですが報告しておきます。
0160東陶基
2006/12/04(月) 00:36:05ID:NCJ8uVrU昨日はお疲れ様でした。
多分いつか1勝を挙げる日が来ますよ・・・きっと。
というより序盤を研究してる人とかはいなそうなので
逆に勝てるかもしれないですね。
バグの件了解しました。
もし可能でしたらバグを何かにまとめておいて
いつかメールで送ってもらえますでしょうか?
今度本体を作り直すときにまとめてやってもらうので。
0161名前は開発中のものです。
2006/12/05(火) 01:33:23ID:lMp+K4vd> バグの件了解しました。
> もし可能でしたらバグを何かにまとめておいて
> いつかメールで送ってもらえますでしょうか?
了解です。
0162東陶基
2006/12/05(火) 14:35:59ID:MFe0ONSTもしかしたらこれで必勝形さえ取り込めれば初心者では
なかなか勝てないレベルになるのかも。
気付いた点を上げておきますと
@コンピュータ同士で対戦させると中盤は考慮時間が長くなるのだが後半はまた一気に
早くなる。
A7連の防御に関しては既存のAIの方が良い点がある
B斜めが多用されているが、縦横の方が強そう
C既にほぼ自分のエリアの場所に石を打って5とかを作りに行く
D自分が石を取れる状態と相手が取れる状態が重なった時に逃げてしまう
参考までにここから先行ダウンロードできます。解凍してirensei.exeと同じフォルダにコピーしてね
ttp://irensei.com/program/ai-lv1.zip
皆さんのご意見もどしどし待ってます。
0163名前は開発中のものです。
2006/12/05(火) 14:43:21ID:MFe0ONSTAについては組込のAIだと
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┨
┠┼┼┼☆┼┼┼┼┼○●┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┨
と打つと
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┨
┠┼┼┼○★┼┼┼┼○●┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┨
このように止めてきます。
多分必勝形を認識してるのでなく
打たれた白と他の白との間で7連が出来る可能性があって
なおかつその間に黒が無い場合には止めるとかって感じではないのかと
思っているのですがこれはこれで優れている防御法だと思いますので
参考までに。
※ただ不思議なことに既存のAIだとその★を取りに行こうとした場合に
黒が逃げに行かないと言う欠点があるのでなんですが。
その点は今回のAIはアタリは逃げるので良いです。
ちなみに今回のAIだと☆に打った場合、黒はほぼ自分の攻めの手を打ってます。
0164東陶基
2006/12/05(火) 14:47:13ID:MFe0ONST┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
などのばあい
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○☆○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
と打ってしまうことが多いので
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○┼○☆┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
と打ったほうが良いのではないかと思います。
ただ打ってないけどほぼ自分のエリアというのを
判別が難しいと言われてたのでそのあたりの問題だと思いますが
0165東陶基
2006/12/05(火) 14:54:56ID:MFe0ONST┠┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼●○●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼●○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
上のシチュエーションで白が打つ場合
黒の一子を取れば問題ないのですが
┠┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼●○●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼●○○☆┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
と打って逃げることが多いです。
多分優先順位がアタリから逃げるほうが石を取るより
優先されてるのだと思いますが石を取ることでアタリから逃げれる場合は
その方がいい手だと思います。
細かい点ですが打っていると「うん?」と思ってしまう個所なので。
色々すいませんが参考にしてもらえると嬉しいです。
0166名前は開発中のものです。
2006/12/05(火) 17:58:15ID:xyJhtqbAどういう分岐なのかは知らんが取ることもあるみたいだよ
0167東陶基
2006/12/06(水) 00:26:22ID:79l8fvrP取らない時と取る時はなにか違いがあるのかな・・・。
0168名前は開発中のものです。
2006/12/06(水) 01:26:14ID:MutEDf0j@
通常三手読みですが思考時間が10秒を超えた次の手から二手読みに切り替えるのが原因です。
予定では、10秒まで思考し、超えた場合は探索を打ち切る方式に変更するつもりです。
(実際は最長思考秒数をユーザが変更できるようにする予定)
A
今のところ間に空きのある連候補は考慮していません。
これについては必勝形の判定を含めて策を練っているところです。
B
アタリ関連の処理(特に石を取る方)が影響してそうです。
この辺はパラメータ調整のバランスが難しいかも。
C
実装するのはもう少し先になりそうです。
D
>>165の状況なら通常は石を取りに行くと思います。
取りに行かないときは他に何か(AIにとって)優先すべき事項があったのだと思います。
0169名前は開発中のものです。
2006/12/06(水) 01:31:01ID:MutEDf0jこのバグと@に関してはすぐに実装できると思います。
A〜Cを解決するのはもう少し先、というか今月の目標といったところになると思います。
0170東陶基
2006/12/07(木) 00:29:38ID:NnfRj7Qmただ出来ればLv1状態でのソースを取っておいてもらいたいです。
Lv1を公開したのでそれに何かあったときにその場合のソースがなくなってると
困るので。
0171東陶基
2006/12/07(木) 00:33:36ID:NnfRj7Qm囲碁の形勢の計算をする処理が参考になるかもしれません。
囲碁のソフトで現在の状況を判断するボタンとかがあるのですが
それを押すと既に死んでいる石や地になっているエリアなどを計算して
現在の形勢を判断するのですが、その処理のルーチンが分かれば
同様に既に打てないエリアや逆に自分が打つ必要の無いエリアを判断できるのでは
と思ったりします。
あくまで参考までですが
0172東陶基
2006/12/07(木) 00:36:21ID:NnfRj7Qm組込のAIでは単に敵の石の間に自分の石が無い場合は危険と判断して
敵の石の端が5以内なら両端を止めに、逆に敵の石の端が6,7なら
その敵石の間に自石を打って防御となってるだけみたいです。
ただそれでもかなり防御としては効果ありそうです。
0173名前は開発中のものです。
2006/12/07(木) 07:14:47ID:Q7E4yn2Iソースについては了解です。
>>171-172
情報ありがとうございます。
0174名前は開発中のものです。
2006/12/08(金) 18:50:18ID:rltTfv0G0175東陶基
2006/12/10(日) 00:17:01ID:Bdq+mZaGもし可能でしたら最終着手表示の画像の変更とかって簡単かみてもらえますか?
現在だと青の縁取りみたいになるのですが
KGSみたいな○に小さな□が入るやつの方が見た目がいいかなと。
アタリ表示とかは今のままでもカッコイイのですが最終着手と七連の★の
画像とかがなんか個人的にはイマイチな気が。
0176名前は開発中のものです。
2006/12/10(日) 09:14:16ID:s5ETcGroDDSフォーマットの画像ファイルさえ用意していただければできるかと思います
0177東陶基
2006/12/11(月) 00:30:13ID:WtFzJmLsリコンパイルすればOKなんだろうか・・・。
でもソースのイメージフォルダにその画像のbmpないね。
bmpからDDSに変換するツールは見つけたんですけどね。
まぁこれは別に急がないからいいか・・・。
0178東陶基
2006/12/11(月) 00:51:32ID:WtFzJmLsどこまでがコンパイルの対象なんですかね?
online_helpとかsampleaiのフォルダはゲームの配布のところにも入ってるから
コンパイルの対象にはなってない感じですけどね
他のは全部コンパイルされてexeに組み込まれてるんですかね。
0179名前は開発中のものです。
2006/12/11(月) 01:36:58ID:YOXVYonjDDSフォーマットの画像を
mkstoneimg.bat
を実行してCのソースに変換してからコンパイルするようです。
コンパイル対象はsounds, aiapiですかね。
imagesはたぶん対象外です。
imagesのBMP画像はmainform.dfmあたりに取り込まれている感じがします。
0180東陶基
2006/12/12(火) 01:59:52ID:A5X5tSr9表示したところでメニューバーにAI paramsが出るのは何が原因かわかりますか?
本体の方なのかAIの方なのか見当つかなかったので
0181名前は開発中のものです。
2006/12/13(水) 00:42:32ID:VmtMvYp/デバッグ用の関数をエクスポートしているせいかな。
リリース版では表示されない方が良さそうですね。今度直しておきます。
囲連星本体のバグを修正しました。
画像の差し替えはどうしますか?
今回は見送るということであれば、本体とソースをメールで送ります。
0182東陶基
2006/12/13(水) 01:05:54ID:TEqoTvZjありがとうございました。
画像はいつでもいいので今回は見送りで大丈夫です。
そうですねリリース版ではAI paramsはでない方がいいですね。
デバッグ用の関数をエクスポートすると出るって言うのは
ある意味理にかなってるといえばかなってるのかも。
では本体送っていただいてAI paramsの問題が直ったところで
Ver1.01ってことで差し替えるようにします。
差し替えると言っても今Vectorでダウンロードするようにしているので
Vectorに送らないと差し変わらないんですけどね。
本当に色々ありがとうございます。
0183名前は開発中のものです。
2006/12/17(日) 23:32:44ID:NEYvFAOR0184名前は開発中のものです。
2006/12/19(火) 14:51:49ID:gCC1Bc8N人が増えるのが一番難しそうだ。
やはりプログラムそれもAIを作るってのは特殊技術だからな
0185名前は開発中のものです。
2006/12/31(日) 01:54:24ID:y+z8JF120186名前は開発中のものです。
2007/01/09(火) 18:36:21ID:fenFh3IOC++環境が無料って
0187東陶基
2007/01/28(日) 02:31:31ID:KFFkAiB+mkrさんたまぁ〜に見れたら見てください。
ぽかぼっととちょっと対局してみて気になった点。
・ぼっとと2人の時に退室すると部屋も閉じる(ぼっと一人きりの時は無い)
・置き碁に対応できる?それとも拒否?
0188東陶基
2007/02/06(火) 02:06:22ID:Gl6kRZ6Wその管理人さんもプログラマさんなのでAI強いですねが単にプレイヤーとしてなのか
AI開発目線なのかはわからないですが結構嬉しかったですね。
意外と囲碁知らない初めての人に対してはLv1のAIはそこそこ頑張ると見た。
0189名前は開発中のものです。
2007/03/01(木) 02:37:08ID:B3hh8zKE0190名前は開発中のものです。
2007/03/08(木) 15:58:31ID:JTAiDBk2どうやらこのレベルの強さと五分五分で勝負してた。
なんかこういうゲームに慣れてない人は逆に楽しみが多いんだなと思ったよ。
囲碁とかもそうなんだろうね。俺はある程度のソフトで楽しめるけど
強い奴は売ってる最強のソフトでも弱すぎて楽しめなさそう。
将棋だと強いんだっけ今?オセロはソフトの方が最強らしいし。
0191名前は開発中のものです。
2007/03/12(月) 00:54:34ID:smfe87kQ0192メガ ◆p4a1U4MTk2
2007/03/12(月) 10:29:06ID:4HeKA22R囲碁も石を取られると不利になるので、石を取られない方法が研究されているので、囲碁を参考にすれば強くなるかと。
突然すいませんでしたm(_ _)m
0193名前は開発中のものです。
2007/03/12(月) 16:42:19ID:TDaOvg//攻撃するのが効果的。
ただ今のLv1もそれほど簡単には石は取られないけど
かと言って強いってほどでもない。他にも何か要素があるんだろう
0194名前は開発中のものです。
2007/03/14(水) 01:07:09ID:wmdp9Ju3本気で勝てなかったらかなりやりこみそうなんだが
0195名前は開発中のものです。
2007/03/16(金) 23:00:52ID:mnACo+45無理かなー。
0196名前は開発中のものです。
2007/03/18(日) 00:24:22ID:PGi8I9bF0197名前は開発中のものです。
2007/03/27(火) 09:06:59ID:4kraVJMz0198名前は開発中のものです。
2007/04/10(火) 11:17:04ID:xwg89iKEエラー E2209 airandom.cpp 2: インクルードファイル 'irensei_rule_description.h'をオープンできない
エラー E2209 airandom.cpp 3: インクルードファイル 'irensei_ai_descripter.h' をオープンできない
こんなエラーが出る。サンプルすらコンパイルできない俺って・・・
誰か詳しい人教えて。
0199名前は開発中のものです。
2007/04/10(火) 12:38:10ID:XS2ARZeYインクルードを知らない訳ではあるまいな?
0200名前は開発中のものです。
2007/04/12(木) 08:04:49ID:m+MtJESVサンプルのフォルダを移動したとか?
0201名前は開発中のものです。
2007/04/12(木) 08:34:53ID:Mn2tGKGj>>200
ありがとう。出来た。
ただしAIの中身が作れそうにないw
何手先を読む場合でも本体格納のAIみたいに評価関数を使うのだろうか
0202名前は開発中のものです。
2007/04/15(日) 21:37:29ID:NWW7HJ9Oみんなが必ずつかうものを標準ライブラリとして公開すると、
参入障壁が下がってAIのレベルが上がるはず。
このスレで囲連星標準ライブラリの仕様を議論しないか。
0203名前は開発中のものです。
2007/04/16(月) 17:19:39ID:FMVsqkn9攻守共に
0204名前は開発中のものです。
2007/04/16(月) 19:56:20ID:y9kOs6gu┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼@┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼★★★┼┼┼┼┼┼┼┼┨
このように白に3が存在して@に既に白があった場合(★の位置に黒が無かった場合などは
0205名前は開発中のものです。
2007/04/16(月) 20:00:41ID:y9kOs6gu┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼@┼┼┼☆☆┼┼┼┼┼┼┨
┠┼┼┼┼┼┼★★★┼┼┼┼┼┼┼┼┨
その場合☆のどちらかに打てば必至の状態になります。
もちろんかなりの確率で黒が今白の打たなかったほうの☆の位置に
打って防御するとは思いますがとりあえず攻撃を続けていったほうが
有利だと思うので3以上の連がある場合にこのようにするロジックだと強そうです。
もちろんそれまでに出来るだけ3とか4を作りにいくロジックにしておくべきかも
(止められるのを承知でも)
0206名前は開発中のものです。
2007/05/15(火) 00:05:08ID:GyppPyuC0207名前は開発中のものです。
2007/05/18(金) 22:41:10ID:cMqB+vxh0208名前は開発中のものです。
2007/06/18(月) 22:30:24ID:3uIkUN7Eそれだけでもだいぶみんな助かると思うんだが。
0209名前は開発中のものです。
2007/06/21(木) 13:44:19ID:L62dXkJDttp://ja.wikipedia.org/wiki/%CE%91-%CE%B2%E6%B3%95
0210名前は開発中のものです。
2007/06/24(日) 05:33:23ID:k9lJbede俺普通のビジネスアプリケーション作ってるSEだけど
AIのプログラムなんてイメージがわかないよ。
0211名前は開発中のものです。
2007/06/26(火) 23:05:58ID:dm4ykP1Bまずはminmaxとかαβをググルべし。
AIの基本。
0212名前は開発中のものです。
2007/07/01(日) 03:03:50ID:WCFCy8zwちょっとしたら余程の人でないかぎりは楽勝になってしまうのが痛いと言えば痛いかも。
せめて人によっては一番強いAIには勝てないとかなら面白いんだが
0213名前は開発中のものです。
2007/07/03(火) 21:17:53ID:LcBu8VkP関数型言語使いに興味を持ってもらえるように
ハスケルとかでAI製作できるようにしたらあるいはいいものできるかも?
でも関数型言語使いってマイナーそうだし、あんま意味無いかな。
0214雑用係
2007/07/14(土) 23:09:33ID:MHO5sza7是非感想お願いします。
http://gamdev.org/up/img/9771.zip
0215名前は開発中のものです。
2007/07/15(日) 08:12:58ID:tJRaVpSpすげぇ、なんか人間っぽい打ち方するw。
0216名前は開発中のものです。
2007/07/15(日) 14:35:41ID:ZNSBoQKD0217名前は開発中のものです。
2007/07/15(日) 15:04:45ID:5EDRj9LHそれでも強いけど。
0218名前は開発中のものです。
2007/07/15(日) 15:17:33ID:ffYCagEX正確には後手が人間の場合の初手に01-01でバグるね
0219東陶基
2007/07/15(日) 16:14:19ID:YhfeHHOJAIありがとうございました。
問題なく強いのでAIコンテスト参加後にフリーソフトに組み込んでもいいですか?
一応AIコンテスト優勝時(多分優勝ですけどw)には賞金も出ますので
是非宜しくお願いします。
ちなみに前回賞金獲得プログラムが現在のソフトのLv1で組み込まれている
AIです。
0220東陶基
2007/07/15(日) 16:24:42ID:YhfeHHOJhttp://irensei.com/html/ai.html
正直ここまでのAIが出てくるとはちょっと驚きの感じではありますね。
多分初心者が勝てるようになるまでにそれなりに時間がかかりそうなくらい
強いですね。
AIコンテストなどで質問ありましたらHPから協会宛にメールを
送ってください。
http://irensei.com/html/kyokai.html
0221名前は開発中のものです。
2007/07/15(日) 16:28:43ID:YhfeHHOJまだ「おっ、打った」「6なのになぜ止めない?」とか
そんなレベルだったのである意味自分自身でのAI開発の
引退のきっかけになりそうなAIでした。
多分自分の開発でこれを超えるには年単位の時間がかかりそうなので。
0222雑用係
2007/07/15(日) 17:50:01ID:sodpv5Jgまずは修正版AIを。
http://gamdev.org/up/img/9774.zip
修正前のAIは削除パスを思い出し次第削除します。
修正点
・人間が先手の時1手目3手目を1・2線に、
人間が後手の時に2手目を1・2線に打つとバグるのを修正。
・クラスをソートする方法をなんとなく覚えたのでαβ法に組み込む。
(これで少し思考時間が短くなるはず……)
>>219
まだβ版ですがそれでもよろしければ
フリーソフトに組み込んで貰っても構わないです。
人間相手にはまだまだ弱いと思っていたので予想以上の評価に驚いています。
それでもまだまだ問題点があるので少しずつ改良していこうと考えています。
他にも意見・感想・バグ報告等ありましたらどんどんお願いします。
0223東陶基
2007/07/15(日) 18:06:12ID:YhfeHHOJありがとうございます。
組み込む場合に1つお願いなのですが
ファイル名はこちらで変更するので問題ないのですが
新規対局の時に表示されるAIの名称を統一しないといけないので
今「Z_beta・・・」となっているところを他のAIと同様に
「コンピュータ Lv.2」として貰えると助かります。
お手数ですが宜しくお願いできますでしょうか。
ちなみに強さでの改良の余地ってまだ残ってますか?
もし短期間でさらに強くなりそうな場合でも出来れば
今のAIの強さくらいをLv2にしたいので一旦ある程度の修正版を
頂けると組み込むのにありがたいです。
0224東陶基
2007/07/15(日) 18:10:22ID:YhfeHHOJ必勝形の5みたいなのの片方を止めてもさらに隣りの筋でまた必勝形みたいのが
いいですね。
ちなみに開発者さん本人は自分の開発したAIには勝てますか?
もし楽勝でしたらプレイヤーとしてもそれなりに強いレベルですね。
0225雑用係
2007/07/15(日) 20:19:37ID:sodpv5Jg>「コンピュータ Lv.2」として貰えると助かります。
>お手数ですが宜しくお願いできますでしょうか。
了解です。
ですが、まだバグが残ってるかもしれないので
2週間様子を見て問題がなければ
名称変更をしたものをUPするという形でよろしいでしょうか?
>ちなみに強さでの改良の余地ってまだ残ってますか?
死活に弱い、守りが弱い、時々意味不明な手を打つ
黒の長連対策をしていない、シチョウ対策をしていない、
評価関数のパラメータがいい加減でまともに調整していない、などなど。
>ちなみに開発者さん本人は自分の開発したAIには勝てますか?
9割以上は勝てます。弱点が分かってれば勝つのは結構簡単ですよ。
0226現名人
2007/07/15(日) 21:31:30ID:AKSKnK24ぼーっと打ってると結構負ける。
黒の初手を真ん中に打つようにするだけで、もっと強くなりそう。
0227東陶基
2007/07/16(月) 11:08:44ID:F3GaTppfただ現名人が226で書いてるように今の段階でそれなりに強いので
とりあえず現段階の強さのバグ取り+様子見で名称変更してUPしてもらえますでしょうか?
そういう意味では一応2週間と考えておきますがもし雑用係さんが
1週間位で「これくらいでもうバグはないかな」と思ったらUPして貰えると
嬉しいです。
死活、守り、意味不明・・・などの改良は現段階のAIでなくLv.3用として
別AIで改良して貰えるとありがたいです。
※要するにLv.0,Lv.1とLv.2の強さのバランスを調整したいので
Lv.0<<<Lv.1<<<<<<<<<<Lv.2 となるのを防ぐための目的だと思ってください。
色々勝手なことを言ってすいませんがご検討お願いします。
0228東陶基
2007/07/16(月) 11:16:57ID:F3GaTppf打ってるとわかるのが序盤からどんどんAIの得意な勝ちパターンを作りにいくから
ぼーっと打ってると5,6手目くらいでAIがリーチかけてくるからねぇ。
序盤からちゃんと打たないと防戦一方になっちゃうね。
>雑用係さん
もし良かったらプレイヤーとしても大会とか名人戦予選とか出てみてください。
それほど人数はいないですが長く打ってる人も多いので意外と優勝とかは
難しいと思いますよ。
0229名前は開発中のものです。
2007/07/16(月) 22:52:20ID:01h/7xii人間の方が7が近い時は防御にいくと良いかも
0230名前は開発中のものです。
2007/07/17(火) 14:08:55ID:NUJHob/f勝ちが確定してても時間かける。
慎重なAIだなw
0231名前は開発中のものです。
2007/07/19(木) 00:23:22ID:lKh2ipe7理解して無いような打ち方をするときもあるな。
AIが白番。
(;SZ[19]
;B[jj];W[jk];B[ij];W[kj];B[gj];W[kl];B[ej];W[li]
;B[fk];W[kh];B[dj];W[kg];B[hj];W[cj];B[fj])
これが完璧に判断できるようになったらマジでやっても勝てなくなるかも。
あんまりコンピュータに強くなってほしくない俺がいるw
0232東陶基
2007/07/19(木) 01:39:34ID:D0jHo7Sz229の意見と似てるのかもしれないけど
コンピュータは自分の必勝形を相手の必勝形の防御より優先するってことなのかも。
で、その結果両方とも必勝にはなるんだけど7連までの手数が短い方が
結果的に勝ちになるけどそれを考慮して自分の必勝形の完成と
相手の必勝形の防御を判断した方がってことかもしれない。
確かにこれよりあっさり強くなると賞金の出費もw
とりあえずテスト版は中級くらいってことで上級からは実際に
トーナメントとか名人戦予選にAIを参加させてみようかなと。
そこで良い成績を上げるようならこれはまぁ上級だと認めざるをw
さらに名人位についた日には名人レベルの賞金を潔く支払いますw
0233東陶基
2007/07/19(木) 01:46:52ID:D0jHo7Sz雑用係さんが言うように弱点を見つけて対策を練ったら
さすがに対人だときついのかなぁと思ったりしますね。
リリース後すぐの対局や圧倒的な力の差がある時以外はやはり人間有利なのかなと。
まぁこれは実際にやってみればわかるのでその時が来たら考えましょう。
0234名前は開発中のものです。
2007/07/19(木) 08:47:01ID:rgrqKhIb五目とかは今の段階で人間よりコンピュータが強いの?
0235テルミン
2007/07/19(木) 15:47:43ID:+k2yoi74新しく追加されたAIをDLして遊んでみたんですけど
いきなり石を挟んできますね〜
コンピュータの手番の時、右下の履歴表示をクリックすると
タイトルバーに「応答なし」がでてきます
これは長考ゆえのバグなのでしょうか?
osはWindowsXPです
0236名前は開発中のものです。
2007/07/19(木) 16:34:57ID:q4Q1qN7Lそれはバグではないような
0237名前は開発中のものです。
2007/07/20(金) 16:44:48ID:yr9HDSiy;B[nk];W[lk];B[mj];W[lj];B[ni];W[li];B[ll];W[ml]
;B[mk];W[nl];B[mh];W[mi];B[oj];W[ok];B[pk];W[nj]
;B[ol])
comが黒でこうなるパターン多し。
ていうか人間が手を変えないと必ずこうなる。
黒15は継いでくれないと困るなあ。
0238名前は開発中のものです。
2007/07/21(土) 12:20:28ID:QFiZSTal0239雑用係
2007/07/22(日) 13:59:44ID:gnXph5gbhttp://gamdev.org/up/img/9823.zip
AIの名前変更バージョンです。
名前以外はほとんどスピードアップの為の変更しかしていないので強くなっていないです。
AIについて一言二言
・必勝形は理解してません。というより必勝形の概念すらありません。
ただ長い連を作ったほうがポイントが高いと判断してるだけです。
・石が取られるかの判断がおかしいのはパラメータがデタラメな点が大きいです。
>>237でいうと
3子が取られると-15000点(=-5000x3)なのに対し
連を伸ばす手は35640点になるので3子を見捨てます。
(もちろん今バージョンでは修正してません)
0240雑用係
2007/07/22(日) 14:10:10ID:gnXph5gb右下の棋譜リストで
普段は1,2,3…と表示されているが
待ったをすると0,1,2…と表示される。
AIを追加するついでに修正してもらえるといいかも。
0241東陶基
2007/07/22(日) 18:37:37ID:rG656nw5名前の変更だけして頂けただけでたすかります。
もしかしたら一子とられるのを一律で-5000点という判断だと
厳しいかも。と言っても具体的にどの石がポイントが高いかと聞かれても
漠然としかこたえられないですが。
あとバグですがすでにフリーソフト状態なので致命的なバグ以外は
誰かが直してくれるまで放置状態なんですよね。
ただまたどこかでソースに手を加える時にはお願いしておきます。
気づいて頂きありがとうございました。
0242東陶基
2007/07/22(日) 18:49:25ID:rG656nw5今動かしてみたらMSVCP80.dllのDLLがないって出てくるみたいです。
一応DLLをDLして入れたら動きましたけど
多分入れなくても動くはずなので前の時のようにDLLのインストールなしで
動くバージョンにして頂けるとありがたいです。
多分DLL作成時のオプションの問題だと思いますので。
0243東陶基
2007/07/22(日) 18:55:53ID:rG656nw5それにしても速度速くなりましたね。長考もあんまりしなくなった。
名人もこのAIはレベルが違うと絶賛でした。
0244名前は開発中のものです。
2007/07/22(日) 19:06:51ID:T5X3deEW0245名前は開発中のものです。
2007/07/22(日) 21:14:48ID:62GRiMzm0246名前は開発中のものです。
2007/07/22(日) 21:20:03ID:sHupEsnj痛くない一子もあればとてつもなく痛い一子もある
とられた一子の縦横が止められてて七が作れない場合は
痛さも軽減
0247雑用係
2007/07/22(日) 21:33:03ID:gnXph5gbこれで大丈夫だと思います。
http://gamdev.org/up/img/9829.zip
>>239のファイルは削除しました。
0248東陶基
2007/07/23(月) 00:37:35ID:US+unJBe正常に作動しました。
これで特に大きな問題が出ないようでしたら
AIコンテスト参加可能です。
と言っても既にそれなりに打っているので
ほとんど対人中級レベルになると思います。
賞金の支払の問題もあるので参加意思のある場合は
メールでお願いします。
賞金振込みの場合は銀行の口座情報も必要なので
ここに書き込むのは問題あると思うのでメールで。
0249東陶基
2007/07/23(月) 00:44:01ID:US+unJBe┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼●┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼○●●○●●○┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼★┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼●●○●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼★┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼●┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
上と下では白が一子抜かれても影響がかなり違うということですね。
(1.2線のルールはここでは省略)
ただこれを評価するとなるとやはり大変そうかも
0250名前は開発中のものです。
2007/07/25(水) 12:55:44ID:9EofohJOもしかして一番効率的なのか?
0251東陶基
2007/08/06(月) 20:11:21ID:FVubfdviAIコンテスト出ないのかな。
0252東陶基
2007/08/08(水) 00:43:03ID:BjPHHlbU公式HPに追加AIとして公開します。
http://irensei.com/
モンテカルロ法で開発されたらしく考慮時間を長く設定すればするほど
手は良くなるらしいです。
Yさんもプログラムのヒントを求めてらっしゃる様ですので
ご意見ご感想書き込んで下さい。
0253名前は開発中のものです。
2007/08/08(水) 19:11:45ID:qvvJAVZnルール+モンテカルロ法だけでプログラムしてるかの様な印象を受ける。
もうちょっと他の評価方法も使いつつのモンテカルロ法じゃないと無理なんじゃない?
違ったらごめんなさい。
0254名前は開発中のものです。
2007/08/09(木) 01:28:13ID:ioOStoN77連近くは詰め将棋ルーチンのように別にした方がいいんだろうね。
5秒だとどれくらいの試行数になってるのかなあ?
純モンテカルロだと相当数まわさないと強くならないよねえ。
もう一個のuctの方はなんだろ?
碁を打ってるかのような打ち方だったけど。
ぱっと検索したところ、モンテカルロに重み付けをいれたような感じらしいけど、
そんな打ち方にはみえないなあ。
0255東陶基
2007/08/09(木) 14:04:48ID:rmvSqyxOなのでまだ現段階では5秒とかで良い手を打つというのは無理そうです。
以前モンテカルロで作ってくれた方も一手打つのに1日かかると
言っていたのでまぁ色んな意味でテスト段階なんだと思いますね。
あとuctは改良版でメモリを多く使うAIらしいです。
とりあえず自分のPCでは両方とも落ちるとかはなかったですが。
0256名前は開発中のものです。
2007/08/09(木) 20:11:34ID:iXt9XK9dすでにおいてある石の近くだけに候補を絞るだけでもかなり強くなりそう。
0257Y
2007/08/10(金) 13:54:28ID:HMdt2Cvt改良してみたので、よろしければ試してみてください。
http://www.uploda.net/cgi/uploader1/index.php?file_id=0000241874.zip
東陶基さん、前回メルセンヌ・ツイスタのLICENSE.txtを添付するの忘れてました。
今回アップロードしたファイルに入れたので追加していただけませんか。
0258名前は開発中のものです。
2007/08/10(金) 14:14:19ID:7znPD9SDライセンスの件了解しました。
あと「待った」が機能してないようですので
お時間があるときで結構ですので対応してもらえますか。
0259東陶基
2007/08/10(金) 14:15:25ID:7znPD9SDたまに書き忘れます。多分設定の問題なのでしょうけど。
0260名前は開発中のものです。
2007/08/10(金) 17:56:09ID:0GZh3tRe0261Y
2007/08/10(金) 22:26:53ID:Oq+E3kQdプログラムは趣味でやってるだけです。
メルセンヌ・ツイスタは乱数の生成が高速で、質が良いらしいので使ってみました。
>>東陶基さん
「待った」機能をつけてみました。
自分で試した限りではうまく動いたのでアップロードしておきました。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000017780.zip
0262名前は開発中のものです。
2007/08/10(金) 23:31:31ID:Ny58QnYxまじで?
0263名前は開発中のものです。
2007/08/10(金) 23:51:30ID:Ny58QnYxところでうちのPC、デュアルコアCPUなんだけど、
もしできたらマルチコアに対応していただけ無いでしょうか。
倍速で脅威の強さを体感してみたい。
0264名前は開発中のものです。
2007/08/11(土) 00:45:08ID:AlMyCoazスパコン使えば名人に勝つんじゃないか?
0265雑用係
2007/08/11(土) 08:03:29ID:5CDL0trEものすごく手が自然に見える。
uctについて調べたけど結局よく分からなかったので
あまりいい意見は言えないけど問題点を報告。
・同AIで対決すると手が変になる。
・1・2線に打たないのでそれが弱点になっている。
黒:人間 白:ai-uct
(;SZ[19]
;B[cj];W[di];B[ci];W[eh];B[cl];W[fg];B[cn];W[ck]
;B[dk];W[gh];B[cm];W[hg];B[ch];W[hi];B[bk];W[dn]
;B[ck])
>>251
いまのところはAIコンテストには参加しないつもりです。
状況が変われば新AIで参加するかもしれませんが…。
0266名前は開発中のものです。
2007/08/11(土) 13:39:16ID:KgKnRKam(;SZ[19]
;B[ii];W[jj];B[hh];W[jh];B[ji];W[ki];B[kh];W[kg]
;B[lh];W[ig];B[kj];W[li];B[ih];W[jg];B[hg];W[jk]
;B[lj];W[mi];B[gf];W[lk];B[mj];W[nj];B[mk];W[nk]
;B[ll];W[ml];B[fe];W[ed];B[kk];W[kl];B[lk])
0267Y
2007/08/11(土) 14:15:46ID:EhrtksSmマルチコアに対応するっていうと、OpenMPとか使わないといけないんですかね?
探索部分をマルチスレッドにするだけならそんなに難しくないと思うのですが…
全くその方面の知識がないので、余力があるときに勉強して
対応できるようならしてみたいと思います。
>>雑用係さん
同AIの対決の問題と1・2線の問題は次回公開するときには修正しておきます。
囲連星では1・2線は無視しても大丈夫かなと思っていたのですが
考えが甘かったですね。
報告ありがとうございます。
0268東陶基
2007/08/11(土) 20:34:26ID:PSQrkEnXまだ5秒で1局しかしてないので強さはまだ不明ですが
この盛り上がりをみたら期待していいのかな。
Yさん、雑用係さんありがとうございました。
ではAIコンテストはYさんか雑用係さんのどちらかが
「これで参加します」という一区切り自信があるAIが出来た段階で
開催するようにしますので宜しくお願いします。
0269東陶基
2007/08/11(土) 20:38:01ID:PSQrkEnXマルチコアの対応とかは一旦区切りがついた後でOKですよ。
多分AIの強化とそういう対応を同時にやると問題があると思うので。
ちなみにAIの名人戦参加も可能ですので雑用係さんとYさんは
もし希望であればご参加ください。
対人上級レベルや名人レベルは実際の大会で使用してチェックしようと思うので。
0270Y
2007/08/12(日) 22:10:02ID:fMctEVIe今考えている改良点をすべて実装して問題が無さそうだったら
AIコンテストに参加させて頂くかもしれません。
少し修正したのでアップロードしました。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000017911.zip
・1,2線も考慮するように修正
・同AIでの対戦時の問題を修正
・特定の状況で発生する「待った」機能のバグを修正
0271東陶基
2007/08/13(月) 01:00:41ID:r3VZJezzAIコンテストに参加するAIは今のような感じでも可なのですが
もしその後フリーソフトに組み込むようになった場合に
少しお願いがあります。
要するに考慮時間の事になるのですが出来るだけ短くなるでしょうか?
もちろん時間をかけるところはかかってもいいのですが
今の様にどの手も必ず20秒だと厳しいです。
出来れば平均10秒くらいが望ましいですね。
平均というのは初手とかほぼ確実に決まってる手なのではすぐに打って
長考が必要な時には20秒くらい考える時があるみたいなのがいいです。
0272東陶基
2007/08/13(月) 01:10:37ID:r3VZJezz基本になるとは思うのですがそこをなんとか工夫が出来ればと。
あとそれも絡むとは思うのですが考えてる間、固まるというか応答なし状態に
なるのって回避方法あります?多分雑用係さんのLv2でも手を考えてる時は
同じだと思うのですが時間の短さからかあんまり気にならないような。
勝手なことを言ってすいませんが出来れば作ってもらったAIを
沢山の人にプレイしてもらえればと思うので出来る限りフリーソフトに組み込みたいと
思ってますのでもし可能でしたら考えてみてください。
0273東陶基
2007/08/13(月) 01:17:28ID:r3VZJezz固まるのは別に今のままでいいかなと思いました。
上の書き込みのその点に関しては無視して結構です、すいません。
他のアプリが動いてて考慮時間中に色々やってたら気になる気がしたけど
そんな使い方普通はしないと思うのでその点はいいかな。
あと時間に関してもAIが先手の時の初手だけかも気になるのは。
AIが初手で20秒待たされたらなんかバグかなと思ってしまう感じがあるので。
個人的には対局してみて思うのは
序盤は時間は5秒(ほんの最初の数手だけ)、中盤は10秒、終盤は20秒とかだと
なんかいいのかなと。
0274名前は開発中のものです。
2007/08/13(月) 01:19:36ID:fewQQxyRコンテストに参加するとなると、その辺はどうなるんだろ?
他のAIがどう打ち切ってるのかしらないけど。
0275東陶基
2007/08/13(月) 01:23:05ID:r3VZJezz前提になるので持ち時間などはその対局で時間切れにならないように考えといてください。
具体的に言うと普通は持ち時間3分+1手20秒です。
実際に自分が打ちながら対局することになるので1手あたり1秒くらいは
ロスがあると思ってください。
多分1手平均20秒くらいであれば時間切れになる事は無いと思います。
1局の手数が先手後手で200手を越えることはまずないので
最大でもAI側は100手までだと思います。
色々要望ばかり書いてすいませんが
AI開発者さんには大変感謝してますので今後ともよろしくお願いします。
0276名前は開発中のものです。
2007/08/13(月) 01:26:42ID:fewQQxyR対局毎にモンテカルロを回すのは無駄だから。
一度ガーッと回して定石データを作っておくといいんじゃないかな。
人の対局から取ってきてもいいけど。
あとこれはどのAIもだけど、一手目は天元固定でいいんじゃない?
0277東陶基
2007/08/13(月) 01:27:20ID:r3VZJezz確かにそれはありますね。
Yさんので5秒でも負けるって書いてた人がいるのですが
自分は5秒なら比較的まだ余裕あります。
ってことは「自分のPCってそんなにショボイのか?」と思ったりしますがw
それに関してはもし時間があれば対局場の方で自信のあるPCを持ってる人などで
AIを使って対戦してもらってどんだけ違いがあるのかをチェックしてみようかなと
思ってます。
あとYさんのはAIが結構考えるので逆に自分も色々その間考えるので
それなりに自分も考えて打ってるから余裕があるのかも。
逆に雑用係さんのはすぐに打つからこっちもあんまり考えずに打ってるので
結構AIにすぐ負ける。
0278東陶基
2007/08/13(月) 01:29:56ID:r3VZJezzデータを持つ場合にDLLのサイズとかどうなりそうですかね?
もしデータも持つ場合にフリーソフトに組み込む場合はちょっとどうなのかなと。
なんとなくフリーソフト組み込みと最強AIを突き詰めるのは別物と考えた方が
いい気がしてきたなぁ。
初手天元固定はどうかと思うので天元を含めた中央の
3×3のマス内にランダムとかがいいような。
0279東陶基
2007/08/13(月) 01:38:52ID:r3VZJezz雑用係さんのLv2とYさんのAI(考慮時間5秒)対戦するとLv2の方が勝つんですよね。
nagataさんとかも「今度のAI強いですね」って言ってたので
もしかしたら他の人のPCではかなり強いのかもw
ちなみにLv2とYさんのAIの対戦でYさんのが勝つ人がいたら
状況を書き込んでくれないかな。
例) CPU ・・・Mhz メモリ 1G 考慮時間 20秒でYさんのが勝ちます
みたいな感じで
0280東陶基
2007/08/13(月) 01:43:25ID:r3VZJezzCPU Athlon 2500+
Mem 512MB(デュアルなんとか)
考慮時間 5秒
だとまだ雑用係さんの方が勝ちます。
今から30秒でやってみます。
0281Y
2007/08/13(月) 12:51:09ID:Hqu+ILZ3変更しないと難しいんじゃないかと思います。
メニューバーの AI Params -> Show Log Windowで表示されるウインドウに
AIが単位時間に行ったシミュレーション回数を表示しているので、
その値を比較すればどのくらいの強さを発揮しているかわかると思います。
(単位時間のシミュレーション回数 * 思考時間)を等しくすれば
他の人が打ってるAIと同等の強さのAIと対戦出来るだろうと思います。
大会での持ち時間については了解しました。
思考時間の調整についても考えて見ます。
定石データベースですか、確かに序盤の同じ局面になることも多そうなので
有効そうですね、思考時間の短縮にも役立ちそうですし。検討してみます。
0282東陶基
2007/08/13(月) 16:04:10ID:zgvdYeMs気になるのはAI同士の対戦の時だけなので普通の人はそれほどそういう
使い方はしないはずなのでとりあえずいいかなと。
うちのPCだと4000/sec位から始まって徐々に増えていきますね。
何故増えるのかはよくわからないですが。
0283東陶基
2007/08/14(火) 02:09:48ID:8LAODBj0砂時計とか
思考中・ → 思考中・・ → 思考中・・・ とか
本来オープンソースなのでその辺も弄ってもらってもいいのですが
今となっては公開しているソースが最新なのかどうかすら分からないので。
でもまぁ完成から1年数ヶ月で本当に強くなりましたAI。
完成時はLv0のAIしかなかったので正直DLした人から文句を言われても
何もいえない状態でしたが今のソフトでしたら比較的どこに出しても自信あります。
0284東陶基
2007/08/14(火) 02:21:05ID:8LAODBj0希望がありましたらご自由に行ってもらってOKです。
囲連星の名前は自由に使ってくださいw。
卒論のテーマにしたいなども大歓迎です。
なお作った携帯アプリで商売をしたいとかも基本的にはOKですので
ご自由にどうぞ。
ただDL1回5万円とか1クリックで不当請求発生とか囲連星の評判そのものに
影響するのは避けて欲しいですけど。
0285名前は開発中のものです。
2007/08/14(火) 13:14:46ID:YSdMqOV40286名前は開発中のものです。
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
では再生出来ることを確認しています。
対局内容が知りたい時は使ってみて下さい。
0386380
2007/11/23(金) 20:05:48ID:+HNUHx05Lv4目指してがんばります。
思考時間なんですが、ちょっと探索を深くするとあっという間に遅くなってしまうんですよね〜
簡単に10倍100倍の時間が掛かってしまう。
>>385
おおっ!ちょうど棋譜データがほしいなと思ってたところでした。テラエスパーww
ありがたく使わせてもらいます。
このツールは非常に重要なので日本囲連星協会のHPでダウンロードできるようにすべきですね。
0387名前は開発中のものです。
2007/11/23(金) 23:01:49ID:EVmmcqJMLv3>>Lv2>>>>>>Lv1>>Lv0
と言ったところかな?Lv1よりちょっと強いAIを作れてそれをLv1と入れ替えれば
バランスが良くなりそう。
0388名前は開発中のものです。
2007/11/23(金) 23:05:40ID:EVmmcqJMLv0・・・弱いわりには守りが良い
Lv1・・・攻撃重視、守りに関してはLv0より弱い?
Lv2・・・攻撃重視、1回攻めのターンを渡すと連続攻撃で相当やっかい。機械的な攻め
Lv3・・・バランス型、攻撃はLv2より少し弱い気もするが人間的な手を打つ
0389東陶基
2007/11/25(日) 03:51:01ID:9/FsDHFbそうですね。一手で10個所読んだとしても二手深く読めば100倍掛かっちゃいますからね。
思考時間に関しては皆さん苦労されてるみたいです。
あと自動対局ツールを公式HPに公開しました。
勝手に公開してしまったので
もしYさんが問題があるようでしたら教えて下さい。
0390380
2007/11/26(月) 23:23:22ID:48l23v5Aもっと囲連星AI開発者が増えてくれると楽しいんだけど。
0391東陶基
2007/11/27(火) 00:29:03ID:mMnwatqR一応参考までに本体は毎月500人くらいがDLしてるので1%位はソースもDLしてるんでしょうかね・・・
確かに増えると良いんですけどね。ただもうある程度の強さになってるので
もしかしたらそこまで行かなかった人は人知れず開発して人知れず終えてるかもしれないですね。
もしそういう方がいたら9路とか二本制とかのを作っていただけるとありがたいですね。
そっちはまだソフトがないので作ってもらったらそれが基本となるので。
0392380
2007/11/27(火) 18:12:18ID:ticjtj6tもう少し様子見でしょうか。
0393東陶基
2007/11/28(水) 02:21:11ID:S+6McZyc個人的には一線だけの7は認めないが良いのかなと思ったりはしてるのですが。
あまりにもわからなすぎて逆に皆さんのご意見を聞きたいくらいですね。
0394名前は開発中のものです。
2007/12/15(土) 22:36:02ID:SCtxv3LoC++とJavaどちらが使えますか?
あと既存のインターフェイスってあります?
0395名前は開発中のものです。
2007/12/16(日) 04:35:50ID:i9IYq0C/最初のうちは Ruby でもいいんじゃない?
計算量が問題になってから C/C++ にすればいいんだから。
勘所が分かるまでは手に馴染んだ道具を使えばいいと思うよ。
0396東陶基
2007/12/16(日) 08:40:51ID:zw6zoeyT知識が古いので大したアドバイスにはならないのかもしれませんが
自分もRubyで最初は良いと思いますよ。
Rubyが今どんな状態なのかは詳しくは知りませんが今もインタプリタだとしたら
速度的な問題は出るとは思いますが一旦Rubyで作っておいてそれをC++とかに
書き直すほうがいきなりC++を覚えながら書くよりは良いかもしれませんね。
0397名前は開発中のものです。
2007/12/16(日) 11:32:23ID:Kur0Wr75最初からC++を使った方がいいと思いませんか?
標準ライブラリを見たら、
C++のはかなりlistとかstackとかアルゴリズムに使う概念が充実していますが、
Rubyは文字列操作だったり、その他ソフトウェアに必要なライブラリが充実しています。
結局C++が良い気がしてきました。
しかし、もっとスピードを求めるとすればCやfortranですか?
C++はCより若干遅いそうです。
当方、この分野を自分の専門に決め打ちしようかと悩んでいる電気電子系の学生です。
冬休み中に強化学習の課題が出ました、それはC++で書いてみるつもりです。
(ちなみにCはある程度なら書けますしC++も全く触った事ないわけでもない)
こういうアルゴリズム市場での使用言語はなんなんですか?
おれはRuby厨なので、オブジェクト指向で書けないとめちゃくちゃな事になりそうですが、
囲碁のプログラムって概念が難しいだけで、
実装は手続き型でも全く問題ありませんよね。
研究室では主にC++とJavaが使われているそうです。
Rubyはごくマニアックな人が使うという感じですね。うーん・・・
最初にJava勉強しとけば楽だったかな
0398名前は開発中のものです。
2007/12/16(日) 11:46:04ID:tvhAhM9OゲームのAIなら未だにC/C++が多いと思う。Javaは多少遅いけどあり。Rubyはよく知らない。
関数型言語でAI書けたら面白いかもね。
言語に関して言えば、学生ならやれるだけやっとけ。
使わないのは問題ないけど、使えないのは論外。
スピードについては、まだ気にする必要のないレベルだと思うよ。
とっつきやすい言語で始めて、アルゴリズムレベルで改良の余地がないというところまできてから、
C/C++なんかに乗り換えても良いと思う。
もちろん最初からC/C++でもOKだけどね。
0399名前は開発中のものです。
2007/12/16(日) 12:45:18ID:Kur0Wr75オブジェクト指向はメモリの使用量が大きくなりそうなのですが。
(オブジェクトを生成したらメソッドなどの領域も確保しますよね?)
構造体すらも使うと遅くなる気がします。
Rubyはクソ遅いです。
びっくりするくらい。実用的には問題ないですけどね。
JRubyというので早くなってるそうですが、それでも遅い。
まずはオセロからですかね?
オセロなら簡単に作れそう。授業で評価関数の話もしてました。
端の方はとられにくいので価値が高いはずだとかね。
0400名前は開発中のものです。
2007/12/16(日) 13:12:35ID:ogsZGdspC言語はC++に含まれる 速度的には純正のC言語の方がいい場合もあるが、アセンブラの方が良いこともある
とりあえず平均点が高いのはC++
どうしても改良が必要なら部分的にアセンブラやCで書き直す
たとえばSTLなどは遅くなる可能性がある 内部で何やってるかよくわからない
0401名前は開発中のものです。
2007/12/16(日) 13:14:50ID:ogsZGdsp囲碁の方が易しいのでは?
囲碁だとランダムに打って勝率を調べて一番良いところに指すという手法が有効だから
この方法以外にはあり得なさそうだし
0402名前は開発中のものです。
2007/12/16(日) 13:16:46ID:ogsZGdspクラス、構造体や変数生成の速度さえも稼ぎたいのならアセンブラにしとけ
変数などは使い回して最小のメモリですます
0403名前は開発中のものです。
2007/12/16(日) 13:20:37ID:Kur0Wr75<vector>とか
<complex>とか
<iostream>とかですよね?
良く分からないですが、Tの意味が・・・
STLならEffectiveSTLというのを読めばSTLで何やってるか分かると書いてありました。
>>401
おれが今読んでる本にはそんな事は書いていません。
それは強化学習の話ですか?
>>402
アセンブラはちょっと・・・
0404名前は開発中のものです。
2007/12/16(日) 13:21:03ID:ogsZGdspN*Nの計算量がlog(N)になっとしたら、10000秒かかる計算が10秒で済むことになる
10倍鈍い言語を使っても100秒で済む
ということで一番重要なのはアルゴリズム
0405名前は開発中のものです。
2007/12/16(日) 13:21:37ID:tvhAhM9O>基本的にAIでもオブジェクト指向を採用していますか?
オブジェクト指向といっても範囲が広すぎるし、人によると思うが、
俺の場合、C++をbetter Cとして使っている。
C++の便利なところは利用するが、Cで書いたものに比べてほとんど遅くならない程度の範囲内でという感じ。
>(オブジェクトを生成したらメソッドなどの領域も確保しますよね?)
C++に関して言えば、それは間違いだと思う。
メンバ関数は通常の関数にthisポインタが引数に加わっただけだし。
>構造体すらも使うと遅くなる気がします。
先にも書いたけど、まだ速度を気にする必要のない(気にしても仕方のない)実力だと思うよ。
あと、速度に関しては実測が全てという面が大きいし、
>>400の通り、そんなに気にするならアセンブラでCPU固有の命令使えという話になる。
結局は開発効率やコードの可読性との兼ね合いで言語を選ばないといけない。
個人的な意見としては、小手先の最適化は後回しにして、とりあえず手を動かすことをお勧めする。
0406名前は開発中のものです。
2007/12/16(日) 13:23:22ID:ogsZGdsp囲碁 モンテカルロ法で検索する
2007年07月30日
古きよき時代の囲碁プログラムの終焉
とうとう、19路でもモンテカルロ法の毒牙にかかってしまいました。
岐阜チャレンジで破竹の4連覇を成し遂げてきた銀星囲碁7が
モンテカルロ法ベースのCrazy Stoneに5勝14敗と完敗。
はっきり今までのクラシックな作り方の囲碁プログラムは終焉を迎えました。
もう、今後10年、いや名人が敗れるその日まで、今までやり方のプログラムが
世に出る日はないと思います。
http://blog.livedoor.jp/yss_fpga/ FPGAで将棋プログラムを作ってみるブログ - livedoor Blog(ブログ)
0407名前は開発中のものです。
2007/12/16(日) 14:47:18ID:ogsZGdsp2つ、3つ・・・と駒が一列上に並ぶ手(複合する方を優先する)
を生成して、モンテカルロ法やMTD法を使うので決まりだと思うな
指し手と勝ち負けさえ判定できれば、モンテカルロ法は
将棋でも囲碁でもオセロでも同じアルゴリズムで済むので簡単だ
0408名前は開発中のものです。
2007/12/16(日) 15:47:05ID:TljEEkEHその道は一度通ってみるといいと思う。その体験から得られるものは意外と大きい。
がんばれ!
0409名前は開発中のものです。
2007/12/16(日) 18:10:07ID:i9IYq0C/> C++はCより若干遅いそうです。
そこまで速度を追い求めるなら、コンパイル結果のアセンブリを検証することになる。
ターゲット CPU 上で、どういうコードが出力すべきかを考えて、コーディングしたりアセンブラで書き下ろしたりすることになる。
そこまで行ったら、C や Fortran を選ぶ必要はなくなるから C++ ということになるでしょう。
> おれはRuby厨なので、オブジェクト指向で書けないとめちゃくちゃな事になりそうですが、
オブジェクト指向は、分析や設計の概念だから、アセンブラや C でも実践できる。
>>399
> オブジェクト指向はメモリの使用量が大きくなりそうなのですが。
やりかたによる。
> (オブジェクトを生成したらメソッドなどの領域も確保しますよね?)
メソッドのアドレスは、クラスごとに静的なテーブル(vtable とか呼ばれる)になっているので、インスタンスごとのサイズはポインタ1つ分増加するだけ。
Ruby などと違って、クラスの数はコンパイル時に決定できるので、インスタンスが増えてもメソッドの領域でメモリを消費することはない。
> 構造体すらも使うと遅くなる気がします。
動的に生成したら遅くなる。AoS, SoA の話なら、アルゴリズムによるので、構造体だから遅いということにはならない。
>>403
T はテンプレート。
重要なのはそこに列挙されているようなものよりも <algorithm> とか <functional>。
インライン展開されがちだし、書き下ろすより速いことも割とあるよ。
冬休みの課題頑張ってね。
ところで、囲連星の話じゃないような気がするけど?
0410名前は開発中のものです。
2007/12/16(日) 18:11:25ID:ogsZGdsp整数演算はint型に変換されるからだ
あと19マスだけど、32マスにして左上に寄せて使うと良い 座標の計算がビットシフトで行える為だ
0411名前は開発中のものです。
2007/12/16(日) 18:30:28ID:tvhAhM9O>あと19マスだけど、32マスにして左上に寄せて使うと良い 座標の計算がビットシフトで行える為だ
これはどういう意味か教えてください。
19->32はメモリロスのほうが大きそうな気がするのだけど。
0412名前は開発中のものです。
2007/12/16(日) 18:49:07ID:ogsZGdspz = x + 19y の変換は、19の剰余が必要になるが、z = x + 32yとすれば剰余はいらずにビット演算で済む
あと、19を基数にした場合、上下左右の移動はそれぞれ-19,19,-1,1で移動できるが、端の場合は判定が必要になる
(x,y)に対して判定すれば4方向別々に書かなければならない
32を基数にした場合は 上下左右何処へ移動しても、盤面上である事はz>=0 かつ z<=594 かつ z%32<=18の判定で済む
0413名前は開発中のものです。
2007/12/16(日) 19:15:30ID:Kur0Wr750414名前は開発中のものです。
2007/12/16(日) 19:16:25ID:tvhAhM9Oなるほど。
横方向に一つマージンとって19*20マスでも同じようなことができそうだけど、
結局ビットシフトやANDで済む32と比べると差が大きいのかな(定数除算や剰余の最適化を期待しても)。
上下左右にマージンをとる方法はどうなんだろう。
有効座標かどうかの判定無しで参照できるという利点はあるよね。
0415名前は開発中のものです。
2007/12/16(日) 20:06:12ID:ogsZGdspなんかSTLはコンパイル環境によってエラーが出るし、使わずにやることにしたよ
多分グローバルにbitsetやvector使っているせいだとおもうけど
0416名前は開発中のものです。
2007/12/16(日) 22:33:38ID:ogsZGdsp次の種類の手を生成して、モンテカルロ法で最善手を選ぶ
・一手、二手で敵の駒が取れる手
・一手で駒が捕られるマス
・縦横斜めに敵の駒が無く7マスが揃いやすいマス
最後の部分は、例えば (端)□□□●●● (□は空白) とすると
一番、右の●を今置いたとすると、端二つは無視する為、右●を含んで7個そろう可能性があるのは
□●●●□□□、 ●●●□□□□、 ●●□□□□□、 ●□□□□□□のパターンがある
これらの黒石の個数の合計を、今置いた石の7が揃いやすい得点として用いる 加えて縦斜めの得点を加算する
この得点が高い手順に生成する
0417東陶基
2007/12/17(月) 06:21:02ID:Tjg1n58r来年から定期的なオンライン対局を休止する予定なので名人レベルのAIの認定はちょっと微妙かも
しれません。
ただ上級レベルまでは判断できますので上級レベルまでの賞金は今まで通りです。
もし上級レベルが出た後にさらに強いのが出た場合にはその時に考えたいと思います。
HPに残してると紛らわしいのでHPも名人レベルは削除しておきます。
ちなみに中級レベルはほぼ内定してます。YさんのLv3(現在の追加AI)をソースを整理してもらった後
フリーソフトに組み込んだ段階で中級レベルとなる予定ですので、Lv3より明らかに強いAIでかつ
対人でもそれに見合った強さを出した段階で上級レベルとなると思います。
0418東陶基
2007/12/17(月) 06:25:41ID:Tjg1n58r厳しいかもしれませんが上級レベルまでは自分自身でも判断できると思うので・・・と伝えています。
上級レベルというのは対人レベルでは東陶基がまず勝てないというレベルです。
ちなみに東陶基の棋力は現在最強のLv3に対して勝率はイーブン位だと思います。
0419名前は開発中のものです。
2007/12/17(月) 09:41:51ID:0p5aBMAr0420東陶基
2007/12/17(月) 09:55:08ID:Tjg1n58r他のAI開発者さんも強いのが出来れば目標(ライバル?)になると思うので大変良いことなので。
確かに現時点でのuctは思考時間はPCによってまちまちですね。
最新デスクトップだと2,3秒らしいですが古いマシンだと20秒とかにもなるらしいです。
ただ5年後とかにはハードの進化でどのマシンでも2,3秒以内になってると思うのでそれは
それでいいかなと思ってます。
0421東陶基
2007/12/17(月) 09:57:14ID:Tjg1n58rもちろんある程度でOKです。
同じ様に打てば全く同じ局を再現できるとかだとさすがにまずいので。
0422名前は開発中のものです。
2007/12/17(月) 13:01:02ID:T0APh+4f○ ○
○ ○ ○
という形は、へこみに石置けないのでかなり有利だと思うのですが・・・
ひとつ石を追加するごとに相手が置けないマスが一つ増えます
○ ○
○ ○ ○
●
ならへこみに置けますが、そうでない限りほぼ必勝でしょうか
0423名前は開発中のものです。
2007/12/17(月) 14:53:05ID:T0APh+4fジグザグ打ち戦法 全てのレベルに対してほぼ勝てます
Lv2です アプロダにのってたやつです 内蔵のやつと同じかも?
(;SZ[19]
;B[jj];W[ki];B[ik];W[lj];B[ii];W[mi];B[jl];W[mk]
;B[im];W[hj];B[ij];W[in];B[jn];W[ih];B[io];W[hn]
;B[jp];W[kk])
(;SZ[19]
;B[jj];W[ik];B[ki];W[jl];B[lj];W[im];B[mi];W[km]
;B[nj];W[hj];B[oi];W[oj])
(;SZ[19]
;B[jj];W[ik];B[ki];W[jl];B[lj];W[im];B[mi];W[km]
;B[nj];W[kk];B[oi];W[nh];B[ni];W[ji];B[ii];W[lh]
;B[li];W[jh];B[pj];W[pi];B[kj];W[ok])
0424名前は開発中のものです。
2007/12/17(月) 19:39:27ID:Qu3RH+12ジグザグ打ちは手動でやったの?
もし、もうジグザグ打ちAIができてるならうp希望。
0425名前は開発中のものです。
2007/12/17(月) 19:59:45ID:T0APh+4f手動です ジグザグ打ちだけでは勝てないです 対策取られればそれまでです
斜めの位置を先に取られてしまえば駄目で、より強いAIを開発してます
0426名前は開発中のものです。
2007/12/17(月) 20:09:07ID:ioAsOlbe機械的なジグザグ打ちが良いのか
それとも人間的なLv3の様な打ち方が強いのか
まだなんとも言えないね。
0427名前は開発中のものです。
2007/12/17(月) 20:12:22ID:ioAsOlbe有効な守りの手筋なのかもしれない。
0428名前は開発中のものです。
2007/12/17(月) 20:16:31ID:T0APh+4f0429名前は開発中のものです。
2007/12/17(月) 21:42:45ID:T0APh+4f囲連星の場合、読み無しで有効手が選びやすいと思う (囲碁は多くの場面で有効手が見つかりにくいが・・)
将棋は、駒交換で評価値が変化するから読みは大事だ
囲連星も取られるが、読み無しでの有効手が、ほんとの有効手である割合が高そうだ
0430名前は開発中のものです。
2007/12/17(月) 22:31:49ID:Qu3RH+12読み無しで果たしてその先にいけるかどうか…
0431名前は開発中のものです。
2007/12/17(月) 22:42:11ID:T0APh+4fせいぜい10手も読めれば十分だと思います
指し手が精密で3、4つに絞れていたら全数読みしてもたいした時間はかかりません
0432東陶基
2007/12/18(火) 22:37:42ID:U8wBaXjpくらいで時間が10秒とか掛かると言ってました。
もちろん読む場所がある程度あったので本当に3,4箇所に絞れるのであれば10手でも
いけるかもしれないとは思います。
あと囲連星はかなり直感で打つ手が良い手の事が多いと思います。
ただ終盤やお互いが既に必至状態で手数の問題になってくる場合は
一気に読みが大事になってきます。
0433名前は開発中のものです。
2007/12/18(火) 22:42:18ID:o/djuCBy俺はもう諦め気味。
0434名前は開発中のものです。
2007/12/18(火) 23:19:54ID:HMfOAOUz将棋のボナンザというソフトは1秒間に約30万局面生成して、数秒で12手以上は読める
モンテカルロ法ならば勝ち負けしかないので評価関数はいらないけれど、手数の限度あると評価関数作らないといけない
0435名前は開発中のものです。
2007/12/19(水) 13:05:28ID:3zpiAOw01手で7揃うか、必勝形になる
2手続けて指したとき異なる7が2つ揃うか、異なる必勝形が2つ出来る
3手続けて指したとき異なる7が3つ揃うか、異なる必勝形が3つ出来る
今言う必勝形は特に、6個揃って両端が空白のときか、6個の途中がデコボコしていて相手にうたれない状態のとき
0436名前は開発中のものです。
2007/12/19(水) 13:10:26ID:3zpiAOw0○ ○
○ ○ ○
○ ○ ○
2手続けて指したとき異なる必勝形が出来るから勝ち
0437名前は開発中のものです。
2007/12/19(水) 13:11:51ID:3zpiAOw00438名前は開発中のものです。
2007/12/19(水) 15:44:06ID:KbE0nHU8人と打ってみた方がいいと思うよ。
0439名前は開発中のものです。
2007/12/19(水) 18:27:15ID:SKYB1Ff5相手の状態も考えないといけないな。
自分があと4手で7連ができる必勝形をつくっても、相手が3手で7連を作れるなら負けてしまう。
自分と相手、どっちが7連までもって行くのが早いかを常に考慮する必要がある。
多分ほかにも考慮することは沢山あるはず。
0440名前は開発中のものです。
2007/12/19(水) 22:39:55ID:3zpiAOw0実際に19で割るのは時間がかかりますけど
あらかじめ計算しておけば(対応表を作っておけば)済むからです
それよりも周囲を1マス多めに取っておくことが高速化、簡略化に繋がると思うので20か21マスにします
盤面の更新は盤面全体をコピーして戻すことにします なるべくコピー速度を上げる為も少ないビット数の方が良いです
あと乱数生成に時間がかかっている場合、これを使ってみて下さい 貼り付けておきます
unsigned int rnd(){
static unsigned int x=3,y=11,z=13,w=17;
unsigned int t=(x^(x<<13));
x=y; y=z; z=w;
return ( w=(w^(w>>7))^(t^(t>>5)) ); }
void srnd(unsigned int n){
for(unsigned int i=0;i<=1000+(n&0xFFFF);i++)rnd();}
0441名前は開発中のものです。
2007/12/19(水) 23:01:46ID:SKYB1Ff5これはその辺大丈夫なの?
0442名前は開発中のものです。
2007/12/19(水) 23:15:03ID:3zpiAOw0G. Marsaglia. Xorshift RNGs. Journal of Statistical Software,
8(14) :1 6, 2003
http://www.jstatsoft.org/v08/i14/xorshift.pdf
George Marsaglia 氏により 2003 年に考案された、xor
とシフトを使うだけの超高速な擬似乱数生成器(Random Number Generator, RNG)です。
http://lucille.atso-net.jp/blog/?p=9
0443名前は開発中のものです。
2007/12/19(水) 23:32:32ID:rFn9reOWどこかで見たことあると思ったらxorshiftか
srandが少し適当な気がするが、モンテカルロなら問題ないだろうね
>盤面の更新は盤面全体をコピーして戻すことにします なるべくコピー速度を上げる為も少ないビット数の方が良いです
囲碁のbitboardはまだないと思うから挑戦してみてはどうだろう?
オセロのは簡単だけど、将棋と囲碁は難しくて見当もつかないのでアドバイスできないけど
0444名前は開発中のものです。
2007/12/27(木) 00:18:43ID:ycRoV4dg0445東陶基
2007/12/27(木) 14:20:00ID:nFT7zy5Gそうですね9路は本体はないですね。
19路の方のソースは公開してるのである程度流用で簡単にいくところもありますが
逆にGUIなどはどうでしょうねぇ。
個人的には本当に簡易なものでもいいと思うんですけどね。
それであれば本体を作るのもそれほど負担にならないかもと思ったりもします。
色々不便をおかけしますが検討してみてください。
0446名前は開発中のものです。
2008/01/05(土) 04:49:17ID:t/bMff4b0447名前は開発中のものです。
2008/01/05(土) 11:18:40ID:t/bMff4bhttp://www.uploda.net/cgi/uploader4/index.php?file_id=0000024536.zip
とりあえず、IrenseiGUI.rbを実行してみてください。
コメントやドキュメントは全然書いて無いですが需要がありそうだったらぼちぼち書いて見ます。
rubyとtkl/tkのインストールはこの辺
http://www4.ocn.ne.jp/~holmes17/html/rubytk.html
0448名前は開発中のものです。
2008/01/05(土) 12:57:46ID:i0mhi2vp0449名前は開発中のものです。
2008/01/05(土) 19:15:25ID:t/bMff4bexeにしようとexerbやRubyscript2exeを試してみたのですが、なかなか上手くいきません。
とりあえず、Cygwinのrubyで試してみてください。
あとIrenseiCUI.rbのほうにはバグがありました。
もし使う人がいたら修正します。
0450名前は開発中のものです。
2008/01/05(土) 21:07:10ID:t/bMff4b動いたとか、動かなかったとか。
0451名前は開発中のものです。
2008/01/05(土) 22:53:12ID:+41VOTzo0452名前は開発中のものです。
2008/01/05(土) 22:54:09ID:WFjXXdLCでもそっちだとexeとかじゃないと見てくれないかもね。
HPに載せれば意見も聞けるだろうけど
ゲームできる状態になってないと厳しそうだしね
0453名前は開発中のものです。
2008/01/05(土) 22:56:35ID:WFjXXdLC447も頑張って作ってみてくれ、楽しみに待ってるよ。
9路のコンピュータと対戦してみたいから
0454Y
2008/01/05(土) 23:34:10ID:Y297lJT3もちろん、作者の方から許可して下されば、という話ですが。
0455東陶基
2008/01/06(日) 01:49:14ID:LO0BYfd6Yさんありがとうございます。作者の方が良いということになったら上げてみてください。
exeにしといた方がみなさん気軽に試せると思うので。
あと作者の方がexeにする方法でどのあたりが上手くいかなそうかも教えてあげれたら
作者の方としても助かるかもしれませんね。
0456447
2008/01/06(日) 09:00:17ID:xl70frxUYさん、exe化ありがとうございます。
ぜひアップしてください。
よろしくお願いします。
0457Y
2008/01/06(日) 10:04:10ID:V5rG8ep3http://www.uploda.net/cgi/uploader4/index.php?file_id=0000024589.zip
・ActiveTclをインストール
・環境変数の設定
・tcl8.4.dllとtk8.4.dllがないとエラーが出たので、tcl8.3.dllとtk8.3.dllを
それぞれtcl8.4.dllとtk8.4.dllにファイル名を変更
後は↓を参考にRubyScript2Exeを使ってexeに変換。
http://jitte.net/index.php?%E6%97%A5%E8%A8%98%2F2005-12-17
という手順だったと思います。
0458Y
2008/01/06(日) 11:23:08ID:V5rG8ep3http://www11.axfc.net/uploader/20/so/He_61381.zip.html
パスワードはirenseiです
0459名前は開発中のものです。
2008/01/06(日) 13:00:26ID:N90zFTn1後はAIだけだねw
0460名前は開発中のものです。
2008/01/06(日) 13:01:41ID:N90zFTn10461名前は開発中のものです。
2008/01/06(日) 13:03:16ID:N90zFTn10462名前は開発中のものです。
2008/01/06(日) 13:52:16ID:B1WaK7CG・最終着手がわかるようにしてほしい
・操作をわかりやすくしてほしい
でしょうかね
具体的に言えば、リストボックスの上に先手:後手と言った表示があって
その下にstartなりnewgameがあればわかりやすい
あとリストボックスが二つ有るけど片方しか選択状態にならないのは
わかりづらいかも知れません。選択したのが上のテキストに表示されるより
リストが選択状態に2つともなってるほうが良いかも
最後に碁盤の画面はこういうのでOKだと思う変に凝っても見づらいし
0463447
2008/01/06(日) 19:20:11ID:xl70frxU>>461
一応、AIはC/C++などでもかけますが、その場合Ruby拡張ライブラリという形式にしてやる必要があります。
SWIGとか調べてみてください。
>>462
了解です。実装してみます。
あと、9路だとパスもできないとまずいですね。
0464東陶基
2008/01/07(月) 01:03:11ID:904GEeEI今ソースをみたらポインタもなかったので自分にもつくれるかもしれない。
って思ったけどYさんの作ってくれたexeはもうその中にAI入ってるのかな。
でも同じディレクトリから.rbファイル消すとAI選択から消えますね・・・。
.rbのソースを変更しても打ち方が変わらないから既にexeに入ってそうだけど。
0465Y
2008/01/07(月) 03:17:19ID:P/lAoHc7自分でAIを変更できるように修正しました。
http://www11.axfc.net/uploader/20/so/He_61636.zip.html
パスはirenseiです。
>>447さん
この修正のために、IrenseiGUI.rbの14行目の
require ai
を
require ".\\"+ai
に変更しました。
何か問題があるようならアップロードしたファイルを削除します。
0467447
2008/01/07(月) 22:14:45ID:HOZiCfP8ちょっと修正したのでアップします。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000024689.zip
変更点
1.最終着手をわかるようにした。
2.パスに対応。
3.リストボックスの上に先手、後手を表示
4.SGFファイルを出力できるようにした。出力先はresult.sgf
5.Yさんの>>465の修正を取り込み
リストボックスを両方選択状態にする方法はよくわかりませんでした。
あとexe化も、もうちょっと待ってください。
へたれですいません。
0468名前は開発中のものです。
2008/01/07(月) 22:36:48ID:mPVfGXHbなんでそうなるんだろう。
もしかしたら2つのリストボックスの名前が被ってるとかかな。
0469447
2008/01/08(火) 23:40:31ID:/VcEwGwKexe化に成功したっぽいのでアップします。
http://gamdev.org/up/upload.php
囲連星で検索してください。
皆さんの環境でも動作するか動かしてみてください。
よろしくお願いします。
リストボックスの件はもうちょっと待ってください。
0470東陶基
2008/01/09(水) 06:45:25ID:nhDyM98aもしそうで実際ゲームとして完成したらどうします?
vectorとかで配布します?
もしそうでしたら完成時には囲連星のHPからもリンクを貼らせてもらえると
ありがたいです。
ただそのあたりは447さんにお任せします。
0471名前は開発中のものです。
2008/01/09(水) 07:02:25ID:guDTKllr0472東陶基
2008/01/09(水) 07:55:11ID:nhDyM98aそれなりに強いAIが出てきた時に何か不都合があれば考えますがしばらくはこのルールで。
0473447
2008/01/09(水) 19:10:07ID:oVDwlVq9もちろんAIは作ります。
完成したら配布するつもりですが配布方法とかまではまだ考えて無いです。
リンクも大歓迎ですが、ちゃんと完成するかどうか?まあ、気長に地道にやっていきます。
あと、私以外の方にもAI作成してほしいと思っているので、
当面はソースにコメント入れたりドキュメントを書いたりしようと思います。
特にC/C++でAIを作る方法は結構難しそうなのでドキュメントが必要だと思っています。
0474名前は開発中のものです。
2008/01/09(水) 19:54:27ID:aUJmFK73あと19路のように本当にAIだけ作るのに専念できるように本体との
依存関係は出来るだけ無くして欲しいかな。
0475447
2008/01/10(木) 23:58:09ID:ezZj7kjFちょっと仕事が忙しくなりそうです。
しばらくの間、囲連星の開発はペースダウン(ストップ?)すると思いますがご勘弁を。
0476東陶基
2008/01/11(金) 07:57:13ID:DTEdfBMqちなみにブログにも書きましたが2/14の週刊アスキーの別冊に囲連星が
掲載される事になったので本屋に寄れる方は立ち読みでもしてみて下さい。
0477447
2008/01/20(日) 18:46:01ID:Vrmd9fTvC++でAIを作ってみようと思ったのですが、どうもその場合VC++6.0が必要になるみたいです。
(RubyそのものをコンパイルしたコンパイラとAIをコンパイルするコンパイラは同じでなくてはいけない。)
困りました。VC++6.0はもう販売終了してしまっています。
RubyのほうをVC.netでコンパイルするという荒業もあるみたいですが…
何かよい回避策を知ってる方いらっしゃらないでしょうか。
0478名前は開発中のものです。
2008/01/20(日) 19:22:18ID:6cAmnzhQあとこう書けばいいのでは
extern "C" int __stdcall func(){}
0479名前は開発中のものです。
2008/01/20(日) 19:37:51ID:wIjUHx1Fこれはだめ?
http://ashitani.jp/wiki/index.rb?p=Ruby%E6%8B%A1%E5%BC%B5%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E3%83%93%E3%83%AB%E3%83%89
0480447
2008/01/22(火) 00:14:52ID:glJ36pWpレスありがとうございます。
参考にさせていただきます。
ちょっと時間掛かりそうですが、がんばります。
あとAIのインターフェースについてなんですが、19路だとイニシャライズやファイナライズ、デバッグ機能がありますね。
デバッグ機能はともかく、イニシャライズ、ファイナライズは無いとまずいでしょうか?
0481東陶基
2008/01/23(水) 10:56:28ID:x/x8zXN5自分が詳しくない為皆さんにお手数かけてすいませんが
わかる方はわかる範囲で質問にこたえて頂けると嬉しいです。
>477さん
デバッグなどですが別に後からつけてもOKですよ。
後からつけると意識しながら作れば後から機能をつけるときもそれほど問題はないと思うので。
でもイニシャライズとかはAI作る段階で既に必要かもしれませんが。
そのあたりはお任せします。
0482名前は開発中のものです。
2008/01/26(土) 02:47:49ID:ycooaH5q0483447
2008/01/29(火) 19:52:41ID:nYm1lhmU仕事のほうですが、暇になりそうですw。
VC++2008でAIがコンパイルできたようなのでいったんアップします。
といってもAIの内容は左上から右下に向かって斜めに打つだけです。
aicpp.dllというのがVC++で作ったAIです。
すいませんが皆さんの環境でも動作するか試してみてください。
ご協力お願いします。
http://www.uploda.net/cgi/uploader1/index.php?file_id=0000288158.zip
>>482
そういえば、19路の本体のソースってどうなってるんでしたっけ?
0484447
2008/01/30(水) 23:03:55ID:J8Li6yDhダウンロードされた方は動いたとか動かなかったとか、なにかレスしていただけるとありがたいです。
0485名前は開発中のものです。
2008/01/31(木) 02:33:55ID:hxvyzfSkただすぐComputer invalid move!になるけどw
0486447
2008/02/01(金) 21:22:40ID:Y7UWVU/Kレスありがとうございます。
これからAI作成に励みます。
そういえば、ドキュメントを書くとか言っといてて、書いて無いな。
0487東陶基
2008/02/06(水) 16:14:58ID:8pmw6hr4逆に9路のソースも公開すれば誰かが意見をくれるかもしれませんね。
0488447
2008/02/06(水) 18:40:55ID:HPOwrnYRAIにプレーさせようとすると具体的にどうなるのか教えていただけますか。
random vs randomも動かないですか?
一応、Aicpp vs Aicppだと黒が一手だけ指してinvalid moveになるのが仕様どおりの動作です。
0489Y
2008/02/06(水) 19:58:15ID:Dl695xKp↓のVC++2008のランタイムが入ってないのでは?
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf
>>447さん
自分の環境では9路のAIは仕様どおりに動きました。
0490東陶基
2008/02/15(金) 00:24:50ID:kWGIwLmu相変わらず小さいですが掲載されてました。
ただ小さいのは囲連星のゲーム画面そのものが対局中の碁盤の画面しかないので
どうしようもないですけどね。
キャラクターとか作ってRPG風とかにすればもしかしたら・・・。
>>489
そうですね。ランタイム入ってませんでした。すいません。
0491447
2008/02/17(日) 17:26:22ID:lVgpuZPm絶望的に遅くて、あんまり強くない。一応それっぽい手は打つけど。
Yさんのプログラムは壮絶な工夫がされてるに違いない。
0492東陶基
2008/02/17(日) 17:56:52ID:rfwDCYcL今まで試された方も実用的なレベルまでいかなくてYさんのが出来た時には
正直自分も驚きましたね。
あとモンテカルロ(と言うよりは時間のかかるAI)の場合はPCによっても
速度が変わってくるので速いPCだけで試していると遅いPC持ってる人が
「全然遅いよ!」って言われるのでそこも注意が必要ですね。
Yさんのだと速い人だと一手2,3秒らしいですが遅いPCの人は30秒とか
かかるらしいです。ただ30秒かかるPCは普通の用途でも遅いと感じる事が
多いんでしょうけど。
0493Y
2008/02/18(月) 00:17:26ID:wlhjcsGc論文を読んでそのとおりに実装しただけで、
あんまりたいした工夫はしてません
ご存知かもしれませんが、MoGoやCrazyStoneの
論文を翻訳して公開して下さっている方がいます
もしまだ見てなければ、目を通して見ると良いと思います
http://www.geocities.jp/hideki_katoh/
囲連星にも囲碁のCGOSや将棋のfloodgateの
ようなものがあったら面白そうですね
今は参加者が少なくて成り立たないかも知れませんが…
0494447
2008/02/18(月) 20:12:28ID:wi+Meyt5がんばります。(TдT)。
0495東陶基
2008/02/27(水) 20:38:36ID:+ayULpRy今は直っているのでDL出来なかった人は再度試してみてください。
そういえばそろそろ名人戦やってみようかな。対局場閉じちゃったから人集まるか
不安ではありますが、もし誰かここ見てて参加したいと思ってる人がいたら手を上げてみてください。
数人いたら開催しようかな・・・。
0496東陶基
2008/02/27(水) 20:41:11ID:+ayULpRyレジストリを綺麗にしてくれるソフトとか、メモリを整理してくれるソフト、
CPUが暇な時に勝手にデフラグしてくれるやつや、果てはコーディック集まで。
囲連星が載ってる時以外はそういう本をあんまり買わないのでたまに読むと便利ですね。
0497447
2008/03/04(火) 21:47:46ID:RB345PkJ白でも黒でもほとんど勝てない。
19路なら勝てるけど。
囲連星でもこれぐらい強いのを作りたいところですね。
0498東陶基
2008/03/16(日) 13:35:11ID:OKk0hogZ当時は深く考えなかったから、せっかくならAI開発用とかってすれば良かったなと。
0499東陶基
2008/03/16(日) 13:37:39ID:OKk0hogZ9路だと19路より検索するパターンが少ないのでAIが19路よりは強くなるはずなんですよね。
多分Yさんのとかも同じロジックでも9路にカスタマイズすれば時間が早いなり同じ時間なら強いなり
すると思います。
0500Y
2008/03/24(月) 16:07:22ID:d5pAvHIKそれらしい打ち方をするようになったので公開してみます。
自分で打ったところ、うっかりミスをしなければ負けない
程度の強さでした。
思考時間が多少かかるので試していただける方は
本でも読みながら気長にやってみてください。
URL:http://www-2ch.net:8080/up/download/1206342283000125.Q78KG8
0501名前は開発中のものです。
2008/03/24(月) 17:50:27ID:2nQQGfNN0502447
2008/03/24(月) 19:17:15ID:x/ZiBdllこっちのAI作成は全然進んでません。(TдT)
AI強いです。結構やられます。
あと、*は+とかぶって見難いですw
せめて@とかに
そういえば、GUIもGTP準拠とかにすればみんな好きな言語で開発できるんですよね。
そっちのほうがいいのかなぁ。
0503Y
2008/03/24(月) 20:51:40ID:d5pAvHIK使って下さってありがとうございます。
人間に勝ち越せるようになるまでには、
まだまだ先が長そうですね。
>>502
>こっちのAI作成は全然進んでません。(TдT)
今は多少時間が取れるのですが、これから忙しくなりそうなので
しばらく開発が停滞してしまうかもしれしまそうです。
お互い地道にがんばりましょう!
>あと、*は+とかぶって見難いですw
>せめて@とかに
なるほど、自分でやってるとあまりわからないので、
指摘してくださって助かります。
黒は@に修正しておきます。
あと、個人的な意見ですが、Ruby拡張ライブラリよりは
GTPで通信する方が嬉しいです。
>>500にルールを書き忘れてました。
ルールは1線のみの7連禁止です。
0504東陶基
2008/03/25(火) 01:34:09ID:OHwpcpTI9路のプログラムありがとうございます。
なんとか勝てました。
確かに対人間だと微妙かもしれませんが
そもそも9路だと囲碁の要素が強いので対囲碁を知らない人間だと
もしかしたらかなり強いのかも知れないですね。
ちなみにこれもモンテカルロでしょうか?
となると環境によって時間が違ったりするのかな。
自分の環境だと1手が20秒弱くらいかな。体感なのでなんとも言えないですが。
>>502
GUIに関してはどうでしょうね。19路のみたくコンパイルしたAIを取り込む
と言うのももちろんありなんでしょうけどそのためには誰かがまずAIを取り込めるような
GUIを作らないといけないですからねぇ・・・ただ447さんの言われるようにどんな言語でも
最小限の労力で作れるようになるのが理想ですけどね。
0505東陶基
2008/03/25(火) 01:35:26ID:OHwpcpTIルールを今までHPで明記しわすれててすいません。
公式HPにも9路の有効範囲をルールに追加しときました。
0506Y
2008/03/25(火) 10:16:02ID:yDxumcP9>ちなみにこれもモンテカルロでしょうか?
>となると環境によって時間が違ったりするのかな。
はい、モンテカルロです。
どこでも同程度の強さになるように、一手あたりのシミュレーション回数を
同じにしているので環境によって時間は違うと思います。
0507447
2008/03/26(水) 19:39:47ID:Sa6G/n2e以下のファイルをDLしておなじフォルダにYさんのプログラムを置いてください。
http://www-2ch.net:8080/up/download/1206527187565943.IG14zh
ただ、ちょっとバグがあってIrensieGUI.exeを終了してもirensei_9.exeが
生きたままになってCPUを100%消費することがたまにあります。
すいませんがそのときはタスクマネージャでirensei_9.exeを殺してください。
デバッグにはもうちょっと時間が掛かりそうです。
0508東陶基
2008/03/27(木) 01:48:37ID:w94tKXJv確かにGUIあると使いやすいですねw
個人的にはYさんのコンピュータ勝率予想(?)みたいなのも
ちょっと興味ありました。
51%とかどうやって算出してるんだろう?って。
0509東陶基
2008/03/27(木) 02:08:40ID:w94tKXJvこれもしバグ取れて普通にプレイできるようになったら
Vectorとかで配布したらどうでしょうか?
結構十分なレベルだったりしてと思ったりします。
0510Y
2008/03/27(木) 13:36:56ID:5wYi5zoZまさかGUIで打てるようにして下さるとは思いませんでした。
GUIだと一目で盤面が理解できて良いですね。
>>東陶基さん
表示している勝率は、ランダムシミュレーションの結果
をそのまま表示しています。
まあ、ほとんど当てになりませんがw
0511447
2008/03/27(木) 22:36:33ID:9NYfj3YYYさんのAIがないと遊べない状態なので、
配布するなら一緒に配布しないと意味無いんですけど、
Yさんはその辺どうなんでしょう?
あと、いまさらですが、YさんのAIはともかくGUIはなんというかショボイから
あんまり派手にやるのはちょっと気が引けるというか。
アップローダに上げて2chで宣伝するくらいでいいのかなとも思ったり。
ところでYさんの9路AIはパスしたり投了したりしますか?
このまえ、GUIで打ってたら不正終了してしまったので、
ひょっとしたらパスか投了したのかなと思いました。
0512Y
2008/03/28(金) 01:39:01ID:o6omg+qs>ところでYさんの9路AIはパスしたり投了したりしますか?
バグが無ければ、AIはパスや投了はしないはずです。
0513東陶基
2008/03/28(金) 14:59:03ID:mDsBMoGV多分YさんのはGUIは暫定的に作ってるだけだと思うので
そこはいいんじゃないでしょうか。あくまでAIを確認するためのGUIだと思うので。
それと2chで宣伝するよりはVectorの方が地味でリスク少ないので
安心してくださいw
あと折角Yさんが待ち時間の割合?(10%・・・15%・・・みたいなの)をアウトプットしてくれてるので
447さんのGUIの方でそれを表示してもらえると使ってる人が時間がどれくらいなのか
わかりやすくて良いです。棒グラフみたいなのでもいいですが。
0514東陶基
2008/03/28(金) 15:06:46ID:mDsBMoGVいまだと右のAIを選択してnew gameボタンが左上なので
流れとしてどうかと。
それならボタン群はAI選択の下にあった方がいいかなと。
でそのボタンの下にCPUの思考時間バーみたいなのを表示というのが
一番わかりやすいかも。
あとコマンドプロンプトは非表示になったらいいかもGUIの画面だけ立ち上がるのが理想かな。
まぁこれらは個人的な感想なので無理ならいいですよ。
0515東陶基
2008/03/28(金) 15:13:22ID:mDsBMoGV1.ソフトを完成させる
2.HPを作る(1ページとかの簡単なので可、ただし連絡先のアドはつける)
3.ベクターに公開し、HPからリンクを貼る
と言った流れですね。2は雑誌掲載などの依頼が来るかも知れないので
(出来がよければ商品化とかも依頼は来る可能性はあります。なかなか実現は難しいですけどねw)
2.3.はこちらでやってもいいですが折角作ったのですからYさんや447さんで管理されたら
良いのかなと。雑誌掲載依頼とかベクターでのDL数のメールとか来ると作った人だと
ちょっと嬉しいもんだと思いますよ。
追記>>514
×個人的ボタンは → ○個人的にはボタンは
0516447
2008/03/28(金) 21:53:56ID:iU+CaPuhYさんのユーザインターフェースは普通CUIと呼ばれるものでGUIではないです。
この場合、しょぼいGUIといってるのはIrenseiGUI.exeのことです。
Vectorで配布されてるような囲碁関連のソフトと比べると明らかに見劣りするというか。
とりあえず、まだ完成までにはやることがあるし、ベクターで配布できるぐらいのものができたらそのとき考えましょう。
思考時間の表示やレイアウトの変更などはやってみます。
一応、出来るだけ多くの人に遊んで欲しいとは思っているので、がんばります。
0517名前は開発中のものです。
2008/03/28(金) 22:41:22ID:dWOI7A5Jちなみに俺のPC(セレロン北森2G)で一手に30秒くらいかかりますw
難易度と言うか時間設定みたいなのがあればうれしいかも
0518東陶基
2008/03/29(土) 01:40:33ID:9fcbO7Qiそうですね。確かに言われてみればCUIですね。
ただVectorでも個人が作ってるのはGUIそんなにすごくないのもありますよ。
あとGUIは結構すぐにぱっと見は良く出来ますし。
>>517
一手あたりの検索数を減らせばその分早くなるみたいですよ。
ただ今のAIの10分の1の検索数にした場合にどんな強さになるのかは
Yさんだけしかわからないですが。
0520東陶基
2008/03/29(土) 13:07:32ID:JtCEFsyB時間というよりは検索回数でいいかも。
5000回(弱い)・10000回(普通)・20000回(強い)みたいに。
回数は表示しなくて、弱い・普通・強いから選択みたいな。
もちろん激弱・最強とかも入れて5段階とか10段階とかにしてもいいと思う。
0521名前は開発中のものです。
2008/03/29(土) 13:18:52ID:j1oEtUCs0522447
2008/03/29(土) 18:38:20ID:9DnVCJgwすでに囲碁用の良いクライアントがたくさんあるんですよね。
クライアントが囲連星のルールを理解していたほうがいいことはいいんですけど、必須ではないし。
なんかGUIは作らなくてもいいような気がしてきましたw。
0523447
2008/03/29(土) 19:19:17ID:9DnVCJgwそれに長連とか7連が出来るときの自殺手とかあるし。
0524447
2008/03/29(土) 21:55:56ID:9DnVCJgw改行がないとRuby側で上手く情報を取得できないのです。
改行が無いと100%になるまで何も取得できないで、100%になってから全ての%がドバッと出てくるという感じです。
IO.flushとかも試してみたのですが駄目でした。
0525Y
2008/03/30(日) 00:45:56ID:oZ9Fjkmb始めは直接探索回数を指定してもらって
強い、普通、弱いの区別はしないつもりです
細かい事はAIがもうちょいマシになってから考えようと思います
>>521
9路の方では440さんのコードを使わせてもらってます
これがXORSHIFTですよね?多分
>>447さん
わかりました。%の表示は変更しておきます
0526東陶基
2008/03/30(日) 18:14:40ID:e+rNeAO7そうですね。まだそういう細かい調整をする段階ではないですよね。
逆に回数指定であればGUIの方から呼べそうですしね。
例)GUIの方で弱いを選べばAIに回数5000回というパラメータを送って実行
強いを選べば20000回をパラメータとして実行
みたいな方が融通は利きそうですね。
0527東陶基
2008/03/30(日) 18:20:13ID:e+rNeAO7・GUI→AI (探索回数・ユーザーの打った手)
・AI→GUI (AIの打った手・探索の%)
ってところですかね?
あと今だと打った手の正当性はどっちで判断してるんでしょうかね?
自殺手やすでに石がある場所への手のチェックなどです。
あと勝敗の判断はどうなんだろう。
まぁ今の状態でも普通にプレイ出来てるので両方でやってる事はあっても
両方ともやってないという事はないので問題はなさそうですけど。
0528名前は開発中のものです。
2008/03/30(日) 18:54:47ID:yz6E/aNO小さい画面でも遊べるから携帯やDSでもいける。
ルールも19路よりわかりやすいしパズル性も高い。
コンピュータゲームとしては19路より上では。
0529XORSHIFTの派生 精度・速度が違う
2008/03/30(日) 19:04:22ID:TX8QqB2kunsigned long xor32(){
static unsigned long y=2463534242;
y?=(y<<13);y=(y>>17);return (y?=(y<<5));}
unsigned long long xor64(){
static unsigned long long x=88172645463325252LL;
x?=(x<<13);x?=(x>>7);return(x?=(x<<17));}
unsigned long xor96(){
static unsigned long x=123456789,y=362436069,z=521288629;unsigned long t;
t=(x?(x<<20))?(y?(y>>11))?(z?(z<<27))?(w?(w>>6));x=y;y=z;z=w;return(w=t);}
unsigned long xor128(){
static unsigned long x=123456789,y=362436069,z=521288629,w=88675123;unsigned long t;
t=(x?(x<<11));x=y;y=z;z=w;return(w=(w?(w>>19))?(t?(t>>8)));}
unsigned long xor160(){
static unsigned long x=123456789,y=362436069,z=521288629,w=88675123,v=5783321;unsigned long t;
t=(x?(x>>7));x=y;y=z;z=w;w=v;return v=(v?(v>>6))?(t?(t>>13));}
unsigned long xor192(){
static unsigned long x=123456789,y=362436069,z=521288629,w=88675123,v=5783321,d=6615241;unsigned long t;
t=(x?(x>>2));x=y;y=z;z=w;w=v;v=(v?(v<<4))?(t?(t<<1));return(d+=362437)+v;}
こんな具合か
43 :42:2007/11/11(日) 19:16:33
コピペ丸張りで色々とおかしくなってることに気付く。
後悔はしていない。
0530447
2008/03/30(日) 23:24:20ID:IldVvNmGhttp://www-2ch.net:8080/up/download/1206886383510742.oHUDOP
コマンドプロンプトも非表示にしてみたんですが、
IO.popenでAIを起動するとコマンドプロンプトが開いてしまいます。
これを開かないように出来るかどうかはまだわかってません。
0531Y
2008/03/30(日) 23:33:23ID:2KJiXzs+XORSHIFTにも色々種類があるのですね。
精度が上がると速度が多少落ちるってことなのかな。
早速xor32を使わせてもらいます。
^が?に文字化けしてしまっているようですね。
あと、%の表示と、探索回数を修正したのでアップロードしました。
think.txtというファイルにシミュレーション回数を書いてください。
ファイルが見つからない場合、125000回になります。
http://www-2ch.net:8080/up/download/1206886440149113.n4OO2x
0532447
2008/03/31(月) 18:52:53ID:K8wAjTcS以下のファイルと>>530と>>531のを同じフォルダにおいてください。
http://www-2ch.net:8080/up/download/1206956556178240.q9fczr
あと、Vectorの囲碁関連のソフト見てみましたが、
確かに個人で作ってるものは、そんなにすごくないのもありますね。
あんまりビビら無くてもいいのかもしれませんね。
0533447
2008/04/01(火) 21:02:12ID:xHqE3byvYさんのAIはプレイヤー側のパスに対応してますでしょうか。
ルール上はパスできることになっているので、対応よろしくお願いします。
あと、コマンドプロンプトを出さなくする件ですが、プログラム板のRuby初心者スレッドで教えていただきました。
Cygwinのrun.exeを使うか、AIをGUIモードでコンパイルするとOKとのことです。
Cygwinのrun.exeで上手くいくことは確認しました。
AIをGUIモードでコンパイルするというのは簡単なのでしょうか?
もし簡単であれば、GUIモードでのコンパイルをお願いします。
面倒な作業が必要であればrun.exeを使いたいと思いますが、run.exeって再配布可能なんですよね?
0534東陶基
2008/04/01(火) 22:05:50ID:MMTpi4NN別にパスに関してはGUIからパスボタンを外すとかでいいですよ。
あえてAIの方まで修正して対応する必要はないので。
ルールを全部踏まえなくても支障がないものはソフトからは外して良いと思ってます。
テニスゲームでラケットが壊れて予備のラケットを用意とかしなくても良いのと
同じ感覚だと思ってもらえれば。
多分19路のソフトもパスには対応してないと思います。
0535Y
2008/04/01(火) 22:39:56ID:zk/l8Y+F出来次第アップロードします。
0536Y
2008/04/01(火) 22:56:33ID:zk/l8Y+Fパスに対応しました。
相手の打ち手が
-1 -1
の時にパスと判断します。
http://www-2ch.net:8080/up/download/1207057492005796.jmzcE3
0537447
2008/04/02(水) 20:49:04ID:gZvyD45Ghttp://www-2ch.net:8080/up/download/1207136247505268.KzM9Nb
あと、ちょっと気になったんですけど、もしかしてYさんのAIはこちらが同じ手をうてば、AIも毎回同じ手を打ちます?
0538Y
2008/04/02(水) 21:37:11ID:q1Iu1KJo乱数を初期化するの忘れてました。
それが原因で毎回同じ手を打っていたようです。
修正したAIです。
http://www-2ch.net:8080/up/download/1207139223165821.cDVCvj
0539東陶基
2008/04/03(木) 16:38:23ID:q5JvUg/2もうこれくらいであればバグ取りしたら十分公開して大丈夫なんじゃないかと思います。
あとはソフトの名前でも考えてください。
さっき探索回数を変更して試してみましたが折角なら447さんの方のGUIでコンボボックスとかで
弱い・普通・強いって感じで探索回数を投げれれば良いんですが、今テキストから読んでるから
GUIで対局時にそのファイルを書き換えてAIを起動するようにすればいいんでしょうかね。
ただとりあえず1.00バージョンは今のままでバグ取りとファイル名やソフト名を整理して
readmeつければ良いと思います。
0540東陶基
2008/04/03(木) 16:53:17ID:q5JvUg/2途中で終了するとプロセスは残っててCPUを使用し続けた状態になってる気が
しなくもないです。
どうすれば良いのかはわからないですが、ウィンドウ終了時とかのイベントで
AIを終了させないといけないのかな。
見当違いだったら忘れてください。
0541447
2008/04/03(木) 22:14:58ID:PhsqGseNそのAIを終了させる方法なんですが、popenで開いたプロセスを単にcloseすればいいのかと思ったんですが
そうすると「問題が発生したため、irensei_9.exeを終了します。ご不便をおかけして申し訳ありません。」
と言うダイアログが出てきてしまいます。
あとゲーム途中でnew gameを押してもおかしくなるようです。
まだまだ完成は遠いです。
0542Y
2008/04/03(木) 23:43:29ID:gmxHe00S面倒だと思うので、適切な探索回数を設定した3つのAIを
ai_strong, ai_normal, ai_weak
のようにしてGUIと一緒に配布するのが楽で良いんじゃないかと
思いますがどうでしょうか。
あと、
Process.kill("KILL", @io.pid)
のようにすると、問題無くAIを終了できるようでした。
ただ、Rubyのことはほとんどわからないので、
不適切な方法だったりするかもしれません。
AIが少し強くなったのでアップロードしました
http://www-2ch.net:8080/up/download/1207232550803324.V4Pg4d
良かったら試してみて下さい。
0543Y
2008/04/04(金) 11:11:21ID:TrRomni/>>542にあげたファイルを修正しました。
http://www-2ch.net:8080/up/download/1207274487131124.dInClh
0544447
2008/04/04(金) 20:22:16ID:bcGjLQEdAIを正常終了させるようにしました。
http://www-2ch.net:8080/up/download/1207307640752402.86SDGQ
ただし、まだ完璧では無い可能性もあるのでしばらくの間、
皆さんでいろいろ動かしてみてください。
もしAIが不正終了しましたら、報告お願いします。
すいませんが、ご協力お願いします。
一応GUI本体のソースも付けときます。
0545名前は開発中のものです。
2008/04/04(金) 20:53:19ID:bcGjLQEd盤や石に画像を使うとかでしょうか。
0546東陶基
2008/04/07(月) 21:06:50ID:1vbpdyH7そうですね。背景やボタンに画像でもいいですし、
盤と背景の色の組み合わせを変えるとかでもいいと思います。
ただ石や盤に画像はどうなんでしょうね。そこは普通の色で良いと思いますが
やってみないとわからないですね。
ただデザインは人それぞれだと思うので簡単と言うのは語弊があったかも知れません。
あと>>544でアップロードファイルを開けませんでしたと言うエラーになって
DL出来ないかも。
0547447
2008/04/09(水) 06:35:36ID:q2MrokfyついでにIrensei.rbも付けときました。
http://www-2ch.net:8080/up/download/1207690337835694.7m3wZj
0548名前は開発中のものです。
2008/04/09(水) 06:43:10ID:SE8IFXGS0549447
2008/04/09(水) 20:21:05ID:q2MrokfyAIを作るつもりなら強いAIを作るのはルール部分を作るよりもずっと大変なのであんまり意味無いかも。
それとも別の用途?
0550東陶基
2008/04/10(木) 22:05:49ID:b+qyfGnp理想だとは思いますが、今の段階ならルール部分だけ切り離して共有すると言うのも
ありなのかなと言う気はします。
まぁ447さんがAIのdllなりexeなりがあれば読み込めるGUIを作ってくれる日が来ることを
願ってと言うことでw
0551447
2008/04/10(木) 23:37:18ID:aOS5RN4b詰み、必勝形、シチョウとかのルーチンとかをみんなで持ち寄って
強いAIを作っていくというなら面白そうな気はします。
0552名前は開発中のものです。
2008/04/15(火) 06:26:32ID:1kY+3Eh3ルールをきちんと間違いなく作るのが大変です 最終的には誰が作ってもルールは同じになるので熟練者が作成してくれると便利です
0553447
2008/04/15(火) 21:02:50ID:dBCsvj9U0554447
2008/04/15(火) 21:56:37ID:dBCsvj9Uへたれですいません。
0555名前は開発中のものです。
2008/04/16(水) 08:00:43ID:f0/FtBAEおねがいします
0556447
2008/04/16(水) 18:19:29ID:acSBJ7Nlどうせならみんなで改良、拡張しやすく、かつみんなで手を入れても壊れにくい、
かつコンパクトで直行性のある、それでいて実行速度は速い、そんなコードがいいですよね。
(わかったようなことを言ってみる。)
どうすればそんなコードになりますかね?
Yさんや他の人にもご意見いただきたいです。
0557447
2008/04/16(水) 18:27:47ID:acSBJ7NlそのAIはメモリを馬鹿食いして困っているとします。
で、他の人がビット演算を駆使したメモリ使用量の少ない碁盤クラスを作成して
そのAIの碁盤クラスを差し替えたらメモリ使用量が下がってめでたしめでたし。
のようなストーリーを可能な限り少ない労力で達成できないものかとか、考えています。
0558名前は開発中のものです。
2008/04/16(水) 18:57:38ID:MgjETZYp0559名前は開発中のものです。
2008/04/16(水) 18:59:14ID:MgjETZYp0560447
2008/04/16(水) 19:19:00ID:acSBJ7Nlするんでしょうが、抽象クラスを使うと仮想関数呼び出しになってスピードダウンするんですよね。
テンプレートはスピードダウンしないけど、複雑怪奇になって手に負えなくなるという印象が。
まあ、これは私のスキルの問題でしょうけど。
この2つ以外で上手い方法ってありますかね。
いまのところテンプレートを駆使して頑張ってみようかと考えています。
0561名前は開発中のものです。
2008/04/16(水) 19:27:57ID:MgjETZYp囲連星だけなら 例えばboardというクラスを作って、hantei(x,y)で石が置けるかと詰みかを整数で返却すればいいのでは?
0562名前は開発中のものです。
2008/04/16(水) 19:54:21ID:acSBJ7Nl問題なのはboardクラスの実装をひとつに限定するのではなく、2つ3つとあったときに
(たとえば、スピードは速いけどメモリを食う実装とスピードは遅いけどメモリは少ない実装とか。)
いかに他のプログラムに変更を強いることなく差し替えられるようにするかってことです。
たとえばboardクラスの実装が
Board1,Board2,Board3とあったとして、
#define Board Board1
とかやってこのdefineを変更することで差し替えるのもひとつの手ですが、
なんとなくかっこ悪いというかもっと上手い方法がありそうな気がしてるのです。
0563名前は開発中のものです。
2008/04/16(水) 20:02:01ID:acSBJ7Nl他の部分をなるべく変更することなく出来るといいです。
0564名前は開発中のものです。
2008/04/16(水) 20:14:24ID:MgjETZYp後続の開発者は先人のの入出力と同じにすればクラス内でどんな処理していても関係ないですが
0565名前は開発中のものです。
2008/04/16(水) 20:28:43ID:acSBJ7Nlなんとなく気持ち悪いですがそれが最善の解決策ならばしかたないですね。
もっといい案知っているという人はいませんでしょうか。
0566東陶基
2008/04/16(水) 20:46:39ID:QBmnJOhL折角なのでとりあえずAI以外の部分のソースをどこかに公開するようにしますか?
適当にHP作ってファイルのDLやソースの公開をする程度で良いと思いますが。
それがあれば具体的にあそこがどうだ、ここがどうだと話しやすいと思うのですが。
0567名前は開発中のものです。
2008/04/16(水) 21:07:33ID:acSBJ7Nl最終的にはどこかに公開するようにしたいと思いますが。
コードを書く以前の基本設計で迷ってしまったので質問しました。
0568東陶基
2008/04/16(水) 21:10:07ID:QBmnJOhLとりあえずrubyのソースでも良いと思いますよ。
言語でどうこうという問題はそんなにないと思いますし、
逆にrubyの方がわかる人もいると思うので
とりあえず出来てるソースを公開するので良いのでは。
それとは別に概要みたいな説明があるといいですね。
0569名前は開発中のものです。
2008/04/16(水) 21:22:16ID:acSBJ7Nlとりあえず動くものを出すというならそんなに難しくないんですが、
せっかくならもうちょっと先を見据えたものを作りたいなと思いまして。
0570名前は開発中のものです。
2008/04/16(水) 21:41:29ID:acSBJ7Nlご意見は随時受付中。
0571名前は開発中のものです。
2008/04/16(水) 21:46:07ID:acSBJ7Nl0572東陶基
2008/04/17(木) 01:07:18ID:dUWIZdxGあ、すいません。
447さんだと思ってレスしてました。
>>571
はい、気長に待ってます。
何か必要な情報がありましたら気軽に聞いてください。
誰かが知ってるかもしれませんw
0573名前は開発中のものです。
2008/04/17(木) 15:22:49ID:xGNUWWEc違うヘッダを使う毎に別のフォルダを作ればいい。
*nix ならそのヘッダをシンボリックリンクにすればファイル名も同じでいい。
極端にスマートというわけでもないが、キモチ悪いというほどでもないと思うよ。
0574名前は開発中のものです。
2008/04/17(木) 15:46:52ID:1Q17DnmX0576名前は開発中のものです。
2008/04/18(金) 11:36:23ID:EknzEEy6すでに消えてしまっているようです
だれかお持ちではないでしょうか
また、囲連星協会の方でアップローダーをご用意いただけると嬉しいです
0577447
2008/04/18(金) 20:03:39ID:vj6JGiSx>>569=>>447です。
IDを見ていただければわかると思います。
話がかみ合って無いですか?
>>573
了解です。
>>574
当分変更しないかもしれませんが、誰かにいいアイディアが沸いて変更したくなったときに、
そのための作業が面倒くさいとその人は諦めてしまうかもしれません。
そうするといいアイディアが人知れず死んでいくことになります。
それはたった一回のことでも大きな損失になるかもしれません。(大げさ?)
とにかく下げれるハードルはなるべく下げておくほうが後々いいことあると思います。
>>575
今のところ連の情報はBoardクラスには含めないつもりです。
一つ一つのクラスはなるべく必要最小限の機能しか持たせなくして、独立して扱えるようにするつもりです。
そのほうが取り回しがよいと思うので。
一応以下のような構想です。
Point 座標を表すクラス。
Board 局面を表すクラス。9x9のマスのどこにどの石がおかれているか、劫の情報、手番の情報を持つ。
PointSet 座標の集合のクラス。
StoneSet 連のクラス。連に含まれる石の座標の集合とその連の隣接点の座標の集合の情報をもつ。
Game ゲームを管理するクラス。囲連星のルールに従って着手したり、勝敗の判定をする。
もし連の情報とBoardの情報を持ったクラスを作りたければ
BoardとStoneSetを使ってそれらをもった新しいクラスを作ることは可能です。
0578Y
2008/04/19(土) 01:29:28ID:iiK1YGD1多分>>543と多分同一のものをあげときました。
http://www-2ch.net:8080/up/download/1208535840197938.M9PcLj
>>577
なるほど、わかりました。
0579名前は開発中のものです。
2008/04/19(土) 03:00:38ID:tZVNWLtBありがとうございます
でもエラーで起動できませんでした
なにかライブラリとか必要ですか?
0580東陶基
2008/04/19(土) 09:58:57ID:wuZsEwfZとりあえず公式HPとは別に囲連星のAIコミュニティサイトみたいなのを作りましょうか。
そこにこのスレでUPしてもらったファイルをそのサイトからDL出来るようにすればいいかなと。
0582名前は開発中のものです。
2008/04/19(土) 11:07:57ID:tZVNWLtB>>469からGUIを落として同じフォルダに入れて起動しましたがAIが出てきません
特別な操作が必要ですか?
0583447
2008/04/19(土) 11:47:43ID:bybo7FLQGUIを再アップしました。
http://www-2ch.net:8080/up/download/1208573058915527.9QsKxs
このファイルとYさんのAIを同じフォルダに入れて、IrenseiGUI.exeを実行してください。
それにしてもファイルが流れるのはやいですね…
0584名前は開発中のものです。
2008/04/19(土) 12:17:59ID:Nxclwo9Lこういうファイルのやりとりにはあまり良くないんじゃないですか?
以前使ってたうpろだ.orgか
会長さんが新しく用意してくださるコミュニティサイトの方が
たぶんいいでしょうね
0585東陶基
2008/04/19(土) 12:23:24ID:wuZsEwfZhttp://ai.irensei.com/
今度から保存しておいた方がよさそうなファイルをUPした場合は
その旨をレスに書いておいてください。
0586名前は開発中のものです。
2008/04/19(土) 12:59:40ID:tZVNWLtBありがとうございます
無事起動できました
9路盤だと狭いのでだいぶ感覚が変わりますね
囲連星というより囲碁みたいです
0587名前は開発中のものです。
2008/04/19(土) 13:03:48ID:tZVNWLtB1線で7連を作った場合は勝ちにならないのでしょうか?
それでも本家と違って、1線の石を含む7連はOKなのですよね?
そのへんのルールの細かい部分が良く分かりませんでした・・・
0588名前は開発中のものです。
2008/04/19(土) 13:14:59ID:yn7cP96h含むのはOK。9路は単純に1線のみの7連だけがダメと理解すればOK。
0589名前は開発中のものです。
2008/04/19(土) 15:29:22ID:Y2QR1vlW0590447
2008/04/19(土) 16:22:44ID:bybo7FLQ初めは19路のAI作ってたんですけど、あんまり強くならなかったです。>>383参照。
で、9路なら19路より簡単に強いAIが作れるだろうと思ったんですけど、
意外にそうでもない。もしかしたら同じくらい難しいかもしれません。
あとは詰め囲連星のソフトなんか作れるとおもしろいかなと思っていますが、
それはもしやるとしても当分先ですね。(たぶんやらない。)
0591名前は開発中のものです。
2008/04/19(土) 17:09:13ID:Y2QR1vlW0592名前は開発中のものです。
2008/04/19(土) 19:53:05ID:SnX/iDTQなるほど
把握しました
0593447
2008/04/19(土) 22:35:57ID:bybo7FLQ0594名前は開発中のものです。
2008/04/19(土) 22:51:05ID:Y2QR1vlW使い方が難しいんです…どれがルールなのか判らないです
9でも19でもその他でも統一的なのが良いです
0595名前は開発中のものです。
2008/04/20(日) 01:12:18ID:y0rkqz3b0596名前は開発中のものです。
2008/04/20(日) 12:54:06ID:pQ5Uoy2G0597名前は開発中のものです。
2008/04/21(月) 00:06:41ID:zSd5krN30598東陶基
2008/04/21(月) 00:26:15ID:dzQ1S9+/はい、歯が立たない(先手で10回打って1回も勝てないくらい)レベルで10万と思ってます。
会長自身で判断できるのはそこまでの強さなので。
ただCPUの思考時間だけ注意してください。一手に何十秒も考えるようだとフリーソフトに
組み込めないので。要するに強いAIに賞金を出すと言うよりはフリーソフトに組み込める
AIに支払うというスタンスだと思ってください。
0599名前は開発中のものです。
2008/04/21(月) 00:28:12ID:zSd5krN30600名前は開発中のものです。
2008/04/21(月) 00:33:01ID:zSd5krN3わかりました。19*19でも1手1秒以内に人間相手に圧勝できるのを目標にします。
599を送信したらレスついてました。
0601東陶基
2008/04/21(月) 00:39:41ID:dzQ1S9+/販売そのものは出来ると思いますよ。
実際DL形式での販売なら何度かそういう話もありましたが
フリーソフトで公開してるのでほぼ同じものを販売するのは気が引けたので
やめてます。
作られた方(GUIも含めて作った場合)が売りたいと言うことであれば日本囲連星協会としては気にしないので
どうぞ販売してください。ただぼったくりとか法外な価格で詐欺まがいに売るのは辞めてね。
一応商標も取ってますが囲連星の名前はどうぞ自由に使ってください。
0602名前は開発中のものです。
2008/04/21(月) 01:13:30ID:zSd5krN3例えばそういう展開もあるかなと思っただけです
0603447
2008/04/21(月) 23:39:45ID:CIuKF2oHこれからテストです。
今後の事を考えるとやっつけのテストじゃなくて、
使いまわしの利くテストを書いたほうがいいんですよね…
囲連星もちゃんと産業になれば面白いんでしょうけどね。
なにをやるにも会長の持ち出しってワケにも行かないだろうし。
0604東陶基
2008/04/24(木) 17:03:08ID:ORh7oz3C臨時の定例会を開きますので参加できる方はよろしくお願いします。
http://dojo.irensei.com/
ただ臨時でいきなり告知をしたので
何人くらい参加してくれるのかはわからないです。
0605東陶基
2008/04/24(木) 17:07:05ID:ORh7oz3C一応HPにアドセンス貼ってみたので持ち出しのたしにでもなればと。
興味がある広告がありましたら見てください。
そうですね今後のことを考えたら19路みたくAIだけ作ればGUIは使いまわせるように
なると新しく開発する人は楽でしょうね。
そういう意味ではテストは基本的なバグ取りだけでもとりあえずはいい気がしますけどね。
こっちでも打ってみますので447さんが軽くテストしてもらえば残りはみんなで
使ってテストにするという形式でも良いと思いますよ。
0606名前は開発中のものです。
2008/04/25(金) 05:29:05ID:IMNDdpFi盤面がかなり埋まるような段階になれば白が断然有利だね
黒は端の2つを含むものは作れないし、8連も作れないけど
白は端も含められるから
0607名前は開発中のものです。
2008/04/25(金) 09:46:57ID:Qhtjlc8m0608名前は開発中のものです。
2008/04/25(金) 10:22:00ID:IMNDdpFiしかし、黒は端を含めて8連作ると反則負け
0609447
2008/04/25(金) 21:49:02ID:PdEP2I8Hhttp://www-2ch.net:8080/up/download/1209126828686063.wHdBWa
すいません。
あんまりテストしてません。とりあえず動かしてみてください。
バグがあったら報告or可能ならソースを修正お願いします。
Mainというディレクトリにmakefileが入ってますのでmakeしてください。
makefileのことはあんまり知らないので出来がよくないかも
しれませんが誰か書き直してくれるとありがたいです。
拡張性がどうのこうのといいましたが、
特別な仕掛けなどは何も無いです。
あと、doxygenのコメント入れてみました。
htmlというディレクトリにDoxygenのドキュメントが入ってるので見てみてください。
わかりずらいところがあったら報告お願いします。
0610名前は開発中のものです。
2008/04/28(月) 12:55:27ID:1byUW4+2縦横斜めの列をビットとして登録して表引きするのと、その都度数えるのではどちらが良いんでしょうか?
前者は局面の更新に手間がかかりますが、石が何処でつながっているか直ぐに調べられます。
0611名前は開発中のものです。
2008/04/28(月) 13:10:25ID:1byUW4+2黒の、縦横斜めの石の個数を記録しておき、8個以上になった場合だけ合法手なのか精密検査します。
0612名前は開発中のものです。
2008/05/07(水) 18:03:54ID:dWjoNhTk0613東陶基
2008/06/15(日) 17:42:15ID:jt59rKjf折角ちゃんと動いているので。
0614東陶基
2008/06/15(日) 17:52:44ID:jt59rKjf・irenseiGUI.exeだとなんなのでirensei.exeにならないかな→ファイル名直しても正常に動いた
・ai_Yというのはいかがなものか?→ファイル名をAIに変更したら表示も変わった
上の二つが出来たのでそのままVectorに公開してしまおうと思いますがどうでしょうか?
AIの表示名はもっといいのがあれば教えてください。
AI(Y氏考案)とかでもいいですし
0615東陶基
2008/06/15(日) 18:04:06ID:jt59rKjf2番目の変更は出来なかったです
表示は変わりますが対局になったら落ちた
0616名前は開発中のものです。
2008/06/15(日) 19:34:59ID:v4adpNPPやってみると最初から終盤戦みたいな感じで難しいですね><
0617447
2008/06/15(日) 20:39:29ID:2kcLN95sai_Y.rbのファイル名を変える場合にはai_Y.rbの5行目の
module Ai_Y
のところをファイル名にあわせてください。
ファイル名はaiで始まる必要があり、
moduleのところはAiで始まる必要があります。
モジュール名に日本語は使えないので、(Y氏考案)は現状、無理です。
0618東陶基
2008/06/16(月) 21:06:13ID:/6RHEGTRありがとうございました。
とりあえず普通に動いてますので
ちょっとテストしてベクターとかに上げてみましょうかね。
特に誰かやってみたい人(プログラムの管理など)がいなければ
こちらで登録はしますがどうですかね。
0620名前は開発中のものです。
2008/06/27(金) 22:31:39ID:D2uucQB50621東陶基
2008/06/28(土) 00:13:20ID:HxTuCd3K昨日くらいから公開されてますね。
先週くらいに登録の申し込みをしたんですがベクターはそこそこ公開まで時間かかるんですよね。
このスレの皆さんのおかげで無事公開することが出来ました。
これからも宜しくお願いします。
0622Y
2008/07/10(木) 19:39:12ID:z2yflhep家ではうまく動くようになったので,
実際にネットワーク越しに試してみたいので,
誰か協力してくれませんか?
参考までに,ローカルで動かしたときの動画です.
http://f58.aaa.livedoor.jp/~protest/irensei.mp4
0623名前は開発中のものです。
2008/07/11(金) 04:05:32ID:6UPHLp/0すごいですねこれ
やってみたいです
0624東陶基
2008/07/11(金) 04:43:57ID:+vNPdJdkこれは・・・凄すぎですねw
自分も協力出来ますので必要な時は声掛けてください。
0625名前は開発中のものです。
2008/07/11(金) 18:48:47ID:/Z6x+J07そのDLLどこにうpされてるの?
早くやってみたいんだが
0626Y
2008/07/11(金) 23:27:31ID:pvwxkCb0DLパスはirenseiです.
http://www-2ch.net:8080/up/download/1215785494532021.anWBg5
ここに少しですが説明を書きました.
http://f58.aaa.livedoor.jp/~protest/tut.htm
今日起きている間は囲連星を立ち上げて待ってますんで,
もし試してくれるなら,
囲連星の新規対局ボタンを押して
・黒番にenemy(client)
・白番にplayer(client)
をそれぞれ選択して,出てきたプロンプトに,
・アドレス:219.116.88.30
・ポート:12346
を入力してください.
0627Y
2008/07/11(金) 23:46:07ID:pvwxkCb0どなたか存じませんが,ありがとうございました.
本日は終了します.
0628Y
2008/07/12(土) 02:29:09ID:J9dnDjTK”接続に失敗しました”というエラーメッセージを
表示するようにしました.
http://www.dotup.org/uploda/www.dotup.org2456.zip.html
0629東陶基
2008/07/12(土) 03:28:46ID:zK9BElCJ対局できなかったから的違いかもしれないけど疑問点を
1、IPを告知するのは必須?
2、黒番、白番を自分と相手を指定するのは必須?
3、名前とかチャットとか可能?
0630東陶基
2008/07/12(土) 03:31:31ID:zK9BElCJただ昔からこういう通信の対戦のゲームありますがハンゲームとかみたいなサイト型でなく
この類の対戦だと実際は告知する必要ありそうなんですよね・・・
2は黒が敵とか白が敵とか指定しないといけない場合は自分がサーバーになるか
クライアントになるか以外にも分岐というか選択肢が出て来てわかりづらいかなと
多分この類の問題は一台サーバーとして常時立ち上げていてそこに必ず接続しに行って
そこから登録しているメンバーを表示して選択するとその相手のマシンのIPとやり取りする
という形になれば一番自然なんでしょうけど常時接続のサーバーとそこでのプログラムが
必要ってことになりますからやっぱり大変かな。
そのあたりはYさんも既に分かっていての一番シンプルなこの方法でやってるんだと思いますが。
0631東陶基
2008/07/12(土) 03:35:42ID:zK9BElCJ楽しそうですよね。今のままでも掲示板とかにIPとポートを書き込むとかでOKなのかも
知れないですが。
いつもすばらしいプログラムありがとうございます。>Yさん
0632名前は開発中のものです。
2008/07/12(土) 03:46:41ID:aNr6MbEw0633名前は開発中のものです。
2008/07/12(土) 03:52:23ID:aNr6MbEw将棋の対戦サーバ
unofficial shogi server for computer programs
http://wdoor.c.u-tokyo.ac.jp/shogi/
0634名前は開発中のものです。
2008/07/12(土) 03:53:48ID:6MEjsGS3クライアント側は開けなくてもいいのでしょうか?
0635名前は開発中のものです。
2008/07/12(土) 03:55:24ID:6MEjsGS3今みたいにP2Pで対戦できるのは好きですね
運営サーバーが無くなってもプログラムは生き続けますから
0636名前は開発中のものです。
2008/07/12(土) 03:58:06ID:6MEjsGS3囲連星を終了すれば投了扱いになりますが
棋譜を保存したりしたいですので
0637名前は開発中のものです。
2008/07/12(土) 04:01:10ID:aNr6MbEw今思ったんですけど、WinnyなどのP2Pネットワーク網を利用できないですか?
現在、囲連星のオンラインやっている人が少ないので、
自動で接続しようとすると相手を発見することが困難と思います。
そこで既存のネットワーク網を利用して相手が参加したら直ぐ発見できるようにするんです。
0638名前は開発中のものです。
2008/07/12(土) 04:07:24ID:6MEjsGS3フリーのFTP鯖かなんかに自分のIPアドレス&ポート&黒番or白番をテキストで上げるだけでいいよ
システムが対戦要求開始時にアップロードして、
対戦開始時に削除すればいいだけ
対戦相手はサーバーからランダムに拾ってくればいいかな?
Winnyのネットワークとかプロトコルを把握してないと無理だし、
弾かれる可能性もあるし、何より大袈裟すぎね?
0639東陶基
2008/07/12(土) 07:56:33ID:B0LMMmgs普通のレンタルサーバーですがそれで可能なのであればこちらは大丈夫です
基本的に>>637さんの3行目4行目の意見と同じ考えです。
Winnyとか既存のネットワーク網とかは自分にはどうなるのか理解できてないので
賛成反対は出来ないですが簡単に相手が見つかるというところがポイントだと思ってます。
そういう意味では>>638さんの意見のように簡易的にHPの方でサーバーリストを
作るのもありかと思ってます。PHPが使えるのでそれでリアルタイムに表示できればと。
さらにユーザーに対してイージーにするにはHPの対戦可能サーバーをクリックすると
その情報をクライアントの囲連星のソフトに送って、今のコマンドプロンプトでの入力を
省略できればさらにいいかなとは思います。
0640東陶基
2008/07/12(土) 08:04:16ID:B0LMMmgs・囲連星のソフトを立ち上げる
・自分がサーバーになる→HPのサーバー情報DBに自分のIP、ポートを書き込みに行く
・対局相手が見つかる→DBに対局中のフラグを立てる
・対局終わる→DBに対戦相手募集のフラグを立てる
・公開されてるサーバーを探す→ソフトの方でDBからサーバー情報リストを取得し表示する
・対局したいサーバーをクリック→DBの対局相手のサーバー情報に対局中フラグを立てる
・・・・
みたいな感じが理想ですが最初は単にHPに対局可能サーバーのリスト表示(手動)
だけでいいのかなとは思います。
0641東陶基
2008/07/12(土) 08:11:57ID:B0LMMmgsCGIとrubyは使えるからDBへの書き込み、表示くらいならすぐ出来るかも知れないけど
会長のプログラム能力からしてちょっと保証は出来ないです。
0642名前は開発中のものです。
2008/07/12(土) 09:39:50ID:aNr6MbEwこれは自動で対戦くんでやつとおもいます
将棋です
http://wdoor.c.u-tokyo.ac.jp/shogi/logs/x/shogi-server
0643Y
2008/07/12(土) 09:51:26ID:J9dnDjTK1.今のところ必須です.
>>637さんが書いてあるような方法をとれば
自動で相手を探して対戦することは可能だと思います.
2.今のところは必須です.
3.今は不可能ですが,つけようと思えば
つけられると思います.
>>634
はい,サーバー側がポートを開放するだけで
大丈夫です.
>>636
投了はこれから搭載予定です.
CUIにTORYOと入力するという方法で考えています.
>>637
>>638や>>640のような方法が簡単だと思うので,
そちらの方法で考えてます.
今のところは,
・投了
・白黒はランダムで決める
・サーバーから対戦相手を勝手に探してくる
・チャット
・レーティングとか
の機能をつけたいと思っています.
0645名前は開発中のものです。
2008/07/12(土) 12:46:21ID:6MEjsGS30646東陶基
2008/07/12(土) 13:50:11ID:3R36YMGnYさんの>>643の方法がベターですね。
ちなみにサーバーってどうしようと思ってますか?
一旦情報を集めるサーバー(※1)を使ったとしても対局するときは対局者A、Bどちらかが
サーバーになってポート開放とかをしないといけない感じですか(ユーザー手動で)?
※1のから対局者Aのマシンのポートをどうこうとなるとファイアウォールの関係とかもあるので
まだ色々考えないといけないこととかもあるんでしょうかね。
個人的には新規対局を押すとAIを選択するところで先手、後手とも「ネット対局」みたいのを
選択するとそれだけでもう対局OKみたいなのが良いとは思いますが。
0647東陶基
2008/07/12(土) 13:55:27ID:3R36YMGn公式HPに掲示板を立てるなりスレを立てるなりしてそこに対局したい人が
IP、ポートを書き込む方法ですね。
ちなみにサーバーになる方法って今現在どうすればいいんでしょうか?
Yさんがサーバーになってくれてた間はIPとポートを聞いて対局できるような感じですが
自分がサーバーになることって簡単ですか?
特にルータが入ってる環境でも簡単になれるのかな?
0648東陶基
2008/07/12(土) 14:09:13ID:3R36YMGnYさんが良い(もしくは簡単)と思う方法で進めてください。
0649名前は開発中のものです。
2008/07/12(土) 15:11:40ID:/VIdyalXそこへつなぐだけではないですか?
0650東陶基
2008/07/12(土) 15:59:17ID:3R36YMGn自分はあんまり理解できてないのかもしれませんが
公開マシン情報を管理するサーバー(A)、対局者でサーバーとなるPC(B)、
対局者でクライアントになるPC(C)の3台が必要なのかなと理解してます。
対局者が増えればBとCのPCはどんどん増えていき、B'、C'、B''、C''・・・・
それらの情報をAのPCで管理するというイメージですね。違ってるかも知れませんが。
で、AのPCの役割を掲示板などで単にB、B'、の情報を公開するだけにするか
それともAのPCがある程度頑張ってBとCの対局サポートを自動でするかというあたりが
ポイントになってきてるような気がします。
後者のようにBとCとの対局を自動にするような機能はHPを公開しているような
レンタルサーバーだとどこまで出来るかは微妙な感じですね。
0651東陶基
2008/07/12(土) 16:01:24ID:3R36YMGnあります。これが出来れば良いのでしょうけどBのIP情報などをCにどうやって自動的に知らせるかが
ネックとなりそうな気がします。
0652Y
2008/07/12(土) 17:44:07ID:MhSYhI+Pそうですか.
IGO棋院では確か自分で白黒決めてましたね.
どうするか保留にしときます.
>>646
>新規対局を押すとAIを選択するところで先手、後手とも「ネット対局」
自分もそうしたいと思ってます.
サーバーは,レンタルサーバーにphpか何かのスクリプトを置いて,
そこにIPアドレスとポート番号を登録するつもりです.
他の対局者とマッチングが出来たら,サーバーの方に
アクセスして自分のIPアドレスとポート番号を削除してもらうようにするつもりです.
>>647
自分はルータ越しですが,ポートマッピングの設定だけで
簡単にサーバーになれました.
↓にある方法でポートを空ければ間違いないと思います
ttp://27bit.com/
>>649
問題はそのサーバーのIPアドレスとポートをどうやって
入手するかってことですかね.
文章を間違って理解してたらすみません.
>>651で仰っているGnutellaのような(?)システムは,
主に自分の能力的な理由で実現は難しいと思います.
0653名前は開発中のものです。
2008/07/12(土) 20:29:44ID:PizYam5k0654名前は開発中のものです。
2008/07/12(土) 21:12:30ID:9SLFfnx10655名前は開発中のものです。
2008/07/12(土) 23:05:01ID:UIcT0kpGサーバレスP2Pでネットワークを構築した場合、ホスト間でネットワーク全体のホスト情報を交換しても問題ない情報量だ。
つまり、ネットワークの構成としては1 対 全ホストとなる
新規参加者がどのようにネットワークに参加するかという点に課題が残るけど
スケール感を考えるとWinnyやグヌーテラのようなリレー式ではなく全ホスト接続のスター型のほうが効率が良いのではないか
0656名前は開発中のものです。
2008/07/12(土) 23:10:17ID:9SLFfnx1そこで囲連星のグループでまとまればいい。
隣接のPCが多くあるから見つけやすいはず
0657名前は開発中のものです。
2008/07/12(土) 23:18:20ID:PizYam5k>>656がプロトタイプのソース書いてみてくれ
0658名前は開発中のものです。
2008/07/12(土) 23:21:32ID:UIcT0kpG要するに自分のIPアドレスを書いたテキストファイルを放流して共有するんだろ?
ある程度の人数が見込めるならおもしろいけど、数人しか居なければクラスタを構成できるかも怪しい
0659名前は開発中のものです。
2008/07/12(土) 23:26:27ID:9SLFfnx1囲連星のグループを作って、試合開始を押したら2台のパソコンをつないで対戦を開始する。
全部DLLが自動でやるようにする。
0660名前は開発中のものです。
2008/07/12(土) 23:41:10ID:UIcT0kpG0661名前は開発中のものです。
2008/07/12(土) 23:44:04ID:PizYam5kだからそのプロトタイプを示してくれ
Winnyネットワークを利用してるアプリなんてないだろう
0662名前は開発中のものです。
2008/07/12(土) 23:54:29ID:UIcT0kpGWinnyで囲連星クラスタを構成して、接続ノード(要するにnetstat -aとかで見える接続相手)に対して
囲連星クライアントからの接続を試行するってことか
0663名前は開発中のものです。
2008/07/12(土) 23:56:37ID:PizYam5kWinnyクラスタを利用するとか心象が悪すぎるだろw
0664プロトコル調べた
2008/07/13(日) 00:06:43ID:EjGU0hKjBitTorrent プロトコル仕様書 http://lowlife.jp/yasusii/stories/16.html
BitTorrentのファイル配信メカニズム http://dev.ariel-networks.com/articles/unixmagazine/bittorrent
BitTorrent - Wikipedia http://ja.wikipedia.org/wiki/BitTorrent
poeny(Winny)
poenyでのWinny2ファイル共有互換プロトコルの実装メモ http://archive.shingetsu.info/5f7d38bc3d3a55f2df2957e5e621eb0c/b448aaf7x.txt
Index of /poeny http://fuktommy.com/poeny/
ポエニー―readme.txt http://imony.fbox.info/one/readme.html
>>661
winnyネットワーク利用アプリ
ポエム専用P2PネットワークPoenTropy http://muziyoshiz.jp/200603.html
0665名前は開発中のものです。
2008/07/13(日) 04:54:57ID:BFCV576c0666Y
2008/07/16(水) 01:58:46ID:p12UXK+Q簡単に↓に説明を書きました.
http://f58.aaa.livedoor.jp/~protest/irensei_ver0.02.htm
サーバーに登録されたIPアドレスとポート番号は
↓のアドレスから見られるので,見られるのが嫌な人は試さない方が良いかも知れません.
http://f58.aaa.livedoor.jp/~protest/get_server_list.php
アップロード先です.
http://www-2ch.net:8080/up/download/1216139319408580.xPJyGW
0667名前は開発中のものです。
2008/07/16(水) 07:29:28ID:Vq1vAMRn乙かれさまです
Addressについてなんですけど、
ユーザーが手動で入力すると間違ったIPアドレスを入力したりして混乱がおきませんか?
サーバー側が接続してきたIPアドレス、送られてきたポート番号を記録するほうが
問題が起きにくいような気がするのですが・・・
0668東陶基
2008/07/16(水) 09:22:05ID:Xf8RPT7n自分の環境だとデフォルトのIPが自分のマシン127.0.0.1を指してしまいますが
サーバーになる場合はIPしらべて入力しないとダメですか?
それともルータを挟んでるからこうなるとか?
(でもルータ入れてたら192.168.・・・ってなりそうですね)
とりあえずしばらくサーバーにならないで繋いでます。
サーバーになれるかたいたらどうぞ。
※気付かないかもしれないけど。音とか出るのかな?
0669東陶基
2008/07/16(水) 09:44:31ID:Xf8RPT7n対戦出来ますね。テスト的に公開してみようかな。
人が多い方が対戦しやすいだろうし。
0670Y
2008/07/17(木) 01:07:26ID:7JkS2uGG自分のPCで動作を試すときにはアドレスを指定できた方が
便利なんですよね.
なので,通信の部分がある程度出来るまでは
アドレスも指定するようにしておきたいと思います.
>>668
囲連星の本体を二つ起動してテストするときに127.0.0.1を
指定していたのですが,入力の手間を省くために
初期状態では127.0.0.1を表示するようにしてました.
サーバーになるためには,今はIPアドレスを調べてもらう
必要があります.
後々はポート番号だけで良いようにする予定です.
ゲームが開始したときには,音を出したりメッセージを
表示したいと思うのですが,あまり良い方法が思いつかずに
放置していました.
とりあえず次はゲームが始まったら何かしら知らせるようにします.
0671東陶基
2008/07/17(木) 10:14:07ID:XhNxy8vtポートはやっぱり解放は手動でユーザーがやらないとダメですかね?
確かに他のサイトとかでもポートの解放はユーザーがやってますしね。
出来る人に極力サーバー側になってもらえるようにするしかないですかね。
0672名前は開発中のものです。
2008/07/17(木) 11:50:02ID:tu/eIL/k0673Y
2008/07/18(金) 00:13:23ID:zhxtXlYP現状では,というかおそらくずっとポート開放は
手動になると思います.
>>672
確かに,一手ごとにサーバーを中継するようにすれば
ポートを開放する必要は無くなると思います.
ですが,今はレンタルサーバーを借りているので多分その方法は
難しいんじゃないかと思います.
もし開発が順調に進んだら,上記のような形態にして,
昔中途半端に作ってたiアプリをネット対応にして,
PCと携帯が混在してネット対戦出来るようにしたい,という妄想をした.
0674東陶基
2008/07/19(土) 10:31:45ID:nZkDR370と言う事はポート開放が簡単に出来る人は極力そうしうてもらうように
readme.txtとかに書いておいた方がいいですね。
テスト的にYさんが次のをUPしてくれたくらいからHPでも公開してみようかなと。
多分ここでだけだと対局者数も少ないと思うので。
その場合はwindows版(GUIになってるやつ)だけで良いのかなと思ったりしてますが
CUI版って必要ですか?
あと接続中(相手探し中)に閉じると固まることがありますがあれってどのあたりが問題なんでしょうね。
0675Y
2008/07/20(日) 00:59:32ID:kwxrc6ql>と言う事はポート開放が簡単に出来る人は極力そうしうてもらうように
>readme.txtとかに書いておいた方がいいですね。
そうですね.UPnPを利用すればポートを勝手にあけられるようなので,
それがうまくいけばポートを空ける手間が省けるかもしれません.
>テスト的にYさんが次のをUPしてくれたくらいからHPでも公開してみようかなと。
>多分ここでだけだと対局者数も少ないと思うので。
あらかじめ連絡取り合ってタイミング合わせないと,対局するのは難しい
んじゃないかと思います
で,まだ作りかけの状態だと
>その場合はwindows版(GUIになってるやつ)だけで良いのかなと思ったりしてますが
>CUI版って必要ですか?
CUIの方が多分安定してると思います.
>あと接続中(相手探し中)に閉じると固まることがありますがあれってどのあたりが問題>なんでしょうね。
う〜ん,ちょっとすぐにはわからないです.
0676東陶基
2008/07/24(木) 14:52:59ID:VY8kruooポートが勝手にあけれるのであれば思いのほか対局が出来るかも知れませんね。
もちろん「かも」というレベルですが、待ち合わせ無しでも夜とかならいけるのではないかと。
まぁ公開はポートが勝手に開けれるのであれば
それが出来たタイミングで良いかもしれませんね。
やはり一般ユーザーが自力でポートの開放までとなるとハードルが若干高くなりますしね。
ソフトダウンロードしたらAIの選択のところにネット対戦ってあるから選んでみたって
感じで繋いでもらうのが一番良いかなと。
0677名前は開発中のものです。
2008/07/24(木) 14:55:26ID:LCm1s9qgこれは未公開のやつ
0678Y
2008/07/25(金) 00:39:49ID:C2hk4Kw5ネットワーク対戦を実現しようとしてたけど,
多少問題というか無理があったと思ったので
新しく作り直すことにしました.
>>676
なのでAI選択画面から選ぶような物にしないつもりです.
囲連星本体を改変すればAI選択画面からネットワーク対戦を選択する
ようにすることも出来るとは思うんですけど,1から作ったほうが
わかりやすいので,今回は全部新しくします.
0679東陶基
2008/07/25(金) 00:48:39ID:9jeaQa5eそうですね。今のソフトはあくまでAIを作りたい人が作業量が少なくAIを作れるって
方向で開発されてるので、ネットワーク対戦がメインの場合は新しく作ったほうが良いかも知れませんね。
そうでなくても他の人の書いたプログラムを理解するより自分で書いたプログラムの方が
見直す時にもすぐに分かりますし。
ルールのところなどは利用できるところもあると思うので使えるところは使ってください。
0680名前は開発中のものです。
2008/10/09(木) 08:28:06ID:gxbQFUt5あるよ。
以上。
↓次どうぞ
0681雑用係
2008/10/12(日) 20:57:40ID:dKu8g3nyもしかするとネットが使えなくなるかもしれません。(理由は聞かないでね)
まあ、今年一杯は大丈夫ですが……
そこで、Lv2のソースを公開しようと思います。
C++をまともに理解してない人間が作ったので
かなり汚いソースですが、需要あります?
0682447
2008/10/12(日) 22:35:01ID:9JJBpUm3是非、公開してください。
0683東陶基
2008/10/13(月) 10:41:04ID:dmAjhP9E色々忙しく囲連星活動がなかなか出来ずすいません。
そうですねサンプルのソースがあれば作る方の参考になると思います。
特に雑用係さんのAIは強いので皆さん興味を持たれると思います。
ソースの公開に関しては雑用係さんの持っているHPスペースでもいいですし
ネットが使えなくなりそうならこちらで公開してもOKですよ。
0684Y
2008/10/14(火) 00:41:00ID:jNRjgNiPあと,囲連星のネット対戦の件ですが,今のところskype APIを利用して
実現しようかと思っています.
まだskype APIについて,細かいとこまで調べてないので
実現可能かどうかわかりませんし,今は忙しいので残念ながら
少なくとも1ヶ月は取りかかれませんが,とりあえず現状報告です.
0685名前は開発中のものです。
2008/10/18(土) 18:36:59ID:iIMsj16P本当はコメントを修正した物をUPしたかったんですけど
時間がなかったのでそのままです。
http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0323.zip
パス=LEVEL_2
Visual Studio C++ 2005 Express Edition を
DLL作成できるようにしたもので作成しました。
質問等があれば分かる範囲で答えますのでどうぞ。
0687Y
2008/10/19(日) 00:00:07ID:RSIC8Zjk長さが5以下の連の片側が押さえられている場合
得点が一律1点になっているようですが
長さによって得点を変化させなかったのは何故ですか?
0688雑用係
2008/10/19(日) 20:14:56ID:18xCh+xs得点に関しては>>225や>>239でも書いているように
ほとんど何も考えずに決めたので理由はありません。
古いバージョンも調べましたが最初から全部1点になっていたので
試しに設定したものがそのまま残っただけだと思います。
0689Y
2008/10/20(月) 00:51:15ID:ULmM+/gp0690名前は開発中のものです。
2008/11/20(木) 08:17:11ID:wCszt0f7http://pc11.2ch.net/test/read.cgi/tech/1226792541/
0691東陶基
2009/01/26(月) 22:06:31ID:kPoXvHUP一度見ず知らずの人が囲連星で対局しているところを見てみたいという依頼をお願いしてみました。
0692東陶基 ◆io432RphD2
2009/01/29(木) 16:30:32ID:KiRv/e1Gとりあえずパソコンの速度も速くなってきてるのでYさんのAIを標準に組み込んでも
良いかなと思って。
で、折角なのでAIコンテストも開いて中級を認定しようかなと。
と言うことでAIを作られたかたはHPの方で後日発表しますので
是非応募してください。
雑用係さんがいつネットが使えるようになるかわからないですが
年末までには見てくれたりするかなと。(参加してくれるかはわかりませんが)
0693名前は開発中のものです。
2009/01/29(木) 19:18:38ID:LWM3U4+o0694名前は開発中のものです。
2009/01/29(木) 19:57:38ID:e05V1NUy0695名前は開発中のものです。
2009/05/19(火) 09:19:24ID:t5uMW0nX0696名前は開発中のものです。
2009/05/21(木) 11:19:28ID:xv3z/GH3理由は、囲碁だと最後まで指してみないと評価値が決定できないが
囲連星は7連つくればいいので最後まで指す必要はない。 評価がしやすい。
0697東陶基 ◆io432RphD2
2009/05/23(土) 17:25:14ID:/2MyZPKu一応生存はしてますよ。
0698名前は開発中のものです。
2009/05/23(土) 20:50:00ID:QpkTtxMC0699名前は開発中のものです。
2009/11/26(木) 20:31:50ID:ELC9JW3C0700名前は開発中のものです。
2010/01/24(日) 22:04:30ID:pY7Dzcyu0701名前は開発中のものです。
2010/04/23(金) 16:13:53ID:MEbmU/iH0702名前は開発中のものです。
2010/05/24(月) 23:49:30ID:z4k8Fkih0703名前は開発中のものです。
2010/05/26(水) 04:12:49ID:mz/0NmcW会長すら顔出さないし、開発するモチベあがらん・・・
0704702
2010/05/26(水) 22:17:19ID:f4oR28hQこの状況続いたら囲連星消滅するかもわからんね
競争相手いない状況でモチベ上げるのは無理だよなあ
0705名前は開発中のものです。
2010/05/27(木) 02:41:46ID:HQ0plprr女流vsスパコンで将棋板をたまに見るけど、floodgate ってのが、bot メインでレートつける対戦場?
bot でも人でも、気軽に対局できるといいね。
0706名前は開発中のものです。
2010/05/27(木) 23:57:46ID:xsBJVAEL会長いないけど、いっそ今このスレ見てる人で
参加者募って大会やってみようか
0707名前は開発中のものです。
2010/06/25(金) 14:00:19ID:96XIwHjj大会いぜんにめだまそふとかいはつだ
0708名前は開発中のものです。
2010/06/25(金) 16:43:57ID:96XIwHjj追加するのは簡単だけど。
ソースに互換性が無くなるな。
自分のソース読み間違えか?
0709名前は開発中のものです。
2010/06/25(金) 17:01:10ID:96XIwHjjにこれ追加すればいいかな。ボード上の石。
int Get( int x, int y ) { return board->Get( x, y ); }
0710名前は開発中のものです。
2010/06/25(金) 20:35:56ID:elNuwlSr自分の使いやすいように適当に書き換えれば良いと思います.
DLLがAIとして機能するために必須な関数を実装してれば問題ないはずなので.
新しいAI楽しみだなあ,期待してます.
0711名前は開発中のものです。
2010/06/25(金) 23:26:22ID:dKUASJIo0712名前は開発中のものです。
2010/06/26(土) 00:24:24ID:yJppj3uvだけ考慮して、アルファベータ探索とかすればいいんでは。
指し手は、上の二つでかなり絞れる。
0713名前は開発中のものです。
2010/06/29(火) 19:26:15ID:42+OigzHめっちゃ過疎ってるやん
モチベーション上がんな〜い
とりあえず、プログラムDLして遊んで見ました。
よくわからんまま数ゲームしてると、どのレベルにも通用する必勝手順みたいなもんができてしまったので
いきなりつまんないモード突入ですw
ま、そこそこなレベルのオセロプログラムが素人の目先優先の手に全滅させられるみたいなパターンなんでしょうけど
地平線効果にずっぽりはまってるみたいですね
(7連完成が確定してるけど実際に完成さそうとすると十数手以上かかるので見えてないみたいな)
0714名前は開発中のものです。
2010/06/29(火) 19:29:32ID:42+OigzH一直線に伸ばしていきます
相手は黙々と自分の陣形を作ってます
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼○●●●●●┼┼┼┼┼┼┼┼┨
┠┼○┼○┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┼┨
5連に達すると止めてきます
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼○●●●●●○┼┼┼┼┼┼┼┼┨
┠┼○┼○┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┼┨
敵石交じりの7連にします
相手はまだ気がつきません
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼○●●●●●○●┼┼┼┼┼┼┼┨
┠┼○┼○┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┼┨
ここまでくれば確定です
この辺でやっと、あがき始めますが手遅れです
1線まで寄せて石を取り上げ空いたとこへ打って7連完成
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼○●●●●●○●┼┼┼┼┼┼┼┨
┠┼○┼○┼┼┼┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┼┨
AI開発中のかた、ご参考までに
0715名前は開発中のものです。
2010/06/29(火) 21:58:42ID:42+OigzH>floodgateみたいなのができると良いねえ。
問題はサーバーの費用かな、
新規に借りるなら独自鯖設置できそうなとこは
年間10Kほどかかる感じ
誰かがうちの使ってもいいよって言ってくれたら一気に実現?w
それより現状ではプレイヤーが居なさそうなのが・・・・
0716名前は開発中のものです。
2010/09/14(火) 05:27:10ID:tdtpf+DZ0717名前は開発中のものです。
2010/09/17(金) 14:54:00ID:ly9m5H/b囲連星のソフトでも英語対応してれば数千本くらいは売れそうですね。
買った人が使用後にどう思うかはわかりませんが。
0718名前は開発中のものです。
2010/09/18(土) 11:34:54ID:wbMSRuGP0719名前は開発中のものです。
2010/09/20(月) 12:15:36ID:ffzAbWB350万本売れてる人っていうのがTVに出てました。個人が作っているようなちょっとしたソフトで。
なので累計で数千本くらいなら売れてもおかしくないと思いますよ。
0720名前は開発中のものです。
2010/09/20(月) 12:47:18ID:yrgULkep0721名前は開発中のものです。
2011/06/06(月) 05:48:04.70ID:rUuemJzM0722名前は開発中のものです。
2011/06/20(月) 16:04:02.20ID:aztu3s+W0723 忍法帖【Lv=4,xxxP】
2011/06/25(土) 20:00:37.96ID:eBAHKSWK0724名前は開発中のものです。
2011/06/25(土) 20:52:45.87ID:wpLmtEYH0725名前は開発中のものです。
2011/10/09(日) 03:27:59.60ID:Irfnxv860726名前は開発中のものです。
2011/12/06(火) 04:03:55.15ID:0zR1Ez67我慢しなくてもいいんだぞ。
0727名前は開発中のものです。
2011/12/08(木) 18:57:36.34ID:keUTrqNs■ このスレッドは過去ログ倉庫に格納されています