5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【囲碁?】囲連星のAIを作ってみよう【連珠?】

1 :名前は開発中のものです。:2006/08/03(木) 16:13:45 ID:jCmv785l
フリーソフト囲連星のAIを自作してみませんか?(囲碁+連珠)
デフォルトのAIが弱いので今なら囲連星AIの第一人者になれる。
もし名人より強いAIを作成すればそのAIが名人位に。
詳しいことはソフトダウンロード後、ヘルプメニューを参考に。

作成方法:AI部分をプログラムしコンパイルしたものをファイルコピーすればOK
ソフトダウンロード:http://irensei.com/

2 :名前は開発中のものです。:2006/08/03(木) 21:56:17 ID:xFYbUm5w
[暑さのせいで?]

3 :名前は開発中のものです。:2006/08/03(木) 21:58:57 ID:xFYbUm5w
ごめん。誤爆

4 :名前は開発中のものです。:2006/08/12(土) 03:47:35 ID:eRtRKm13
ダウンロードしてみたが弱いwwかなり。
これより強いのを作るのは簡単そうだが
そう一筋縄ではいかないのかもね

5 :名前は開発中のものです。:2006/08/12(土) 12:09:45 ID:Wtbh4gtF
自作CPU同士で戦わせられないのか?
それが出来たら、スレ内で最強決めたり、おもろいかも

6 :名前は開発中のものです。:2006/08/12(土) 18:52:24 ID:0eGNrfZt
面白いな。
なんか、アレだな。

ロボットのAI書いて、戦わすみたいなノリだな。

7 :名前は開発中のものです。:2006/08/13(日) 22:00:20 ID:v9c1Vwk6
>>5
自作同士で戦えるよ。
いまでもCPU同士で対戦できる。
でも今だと両方とも同じAIだからどんぐりの背比べになっちゃうけど。
誰か今のより強いの作ったらどっかに上げてみてよ

8 :名前は開発中のものです。:2006/08/19(土) 13:19:23 ID:+BoZDsCV
フリーのC++のツールで開発してOK?AIだけなら

9 :名前は開発中のものです。:2006/08/20(日) 23:28:57 ID:tcnpee8d
>>8
VC++とBorlandC++のサンプルがGUIに同梱されてるよ。

10 :名前は開発中のものです。:2006/08/22(火) 19:46:39 ID:Hquguqqe
>>9
サンクス。C++かぁやったことないんだよな

11 :名前は開発中のものです。:2006/08/22(火) 19:56:12 ID:iCo826Xt
>>10
C++から他の言語へのゲートウェイを作るってのはどう?

12 :名前は開発中のものです。:2006/08/23(水) 00:59:08 ID:CqNVUnKw
多言語でもいけるんじゃない?DLL化出来てれば

13 :名前は開発中のものです。:2006/08/23(水) 20:19:13 ID:M0hCP3PA
こういうのは詰みと中盤を分けて作るのが普通なんだろうけど、
5連、6連の連打で勝負をつける本当の詰めを読む部分のほかに
石の取り合いになる攻め合いを読む部分を別に作った方がいいのかな?

連続のアタリで取れるの取れないのぐらい読めた方がいいのかなと
思ったり。

あとは評価関数だよなー。

14 :名前は開発中のものです。:2006/08/24(木) 02:32:37 ID:s0cWYqSO
俺何回か打ったことあるんだけど
5連6連の連打で詰めるというよりは
いかに必勝形を作るかにかかってるみたい。

┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

ってのよりは

┠┼┼┼┼┼┼○┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼○┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

の方が有効な5になる。逆に相手のこれを確実に止める
ロジックも必須になるかな守りとしては。
多分相手の必勝形を防ぐことにウェイトを置いたほうが強くなりそう

15 :名前は開発中のものです。:2006/08/24(木) 06:31:33 ID:ioVHmuR2
>>14
必勝形のデータベースを持たせてマッチングさせるのかな?
上より下を高く評価するのにどんな関数を定義する?

16 :名前は開発中のものです。:2006/08/24(木) 10:55:32 ID:EL56UG7q
白地になりそうな点は
白石が置かれているものとしてカウントする、って感じで

17 :名前は開発中のものです。:2006/08/24(木) 13:21:58 ID:ev8Ef8+s
>>16
だね。すでにあたりになってる場所は既に自分の地(?)って計算にすればいいのかもね

18 :名前は開発中のものです。:2006/08/24(木) 19:58:13 ID:ioVHmuR2
>>16
なるほど。中盤の評価関数としては優秀かも。

でも必勝かどうかはわからんし、>>14の上は先手を取れるけれども、
下は相手に5連があれば受けに回らないといけない。

つーわけで、5連6連の連打で詰める探索は必須だと思うよ?

19 :名前は開発中のものです。:2006/08/25(金) 00:15:07 ID:Qv5WM+Vw
えー、現囲連星名人です。

他によくあるのが

┠┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
これで4

┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
これで5
こういうのが作りやすい。

だから単純にアタリになるところだけでは不十分だと思います。
まあ先に進んでからの話だと思いますが。

┠┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
こういうのはいい形、というのを評価関数にいれるといいんじゃないかと思います。

20 :名前は開発中のものです。:2006/08/25(金) 05:13:14 ID:HSkjh6sV
アルゴリズム的に、形をマッチングさせるよりも、
探索の結果として好形に高評価が下るようにする方が
個人的には好みかな。

もちろん、パターン認識するのも全然ありだけど、
歴史が浅いゲームだから、手筋自体があまり揃ってない
ような気がする。

21 :名前は開発中のものです。:2006/08/25(金) 23:01:11 ID:WlvILivf
マッチングはどっちかって言うと
候補手の生成のためのものって気がするが。

てことで、みんな候補手はどうしてる?

22 :名前は開発中のものです。:2006/08/25(金) 23:14:00 ID:RsiJgsmx
棋譜から良いパターン・悪いパターンを検出して、良いパターンほど優先的に生成。

って事をしたいけど、実現出来そうに無いから合法手全部生成する。

23 :名前は開発中のものです。:2006/08/26(土) 00:58:27 ID:rYAFjXGI
そうすると3手読むだけでだいたい(15*15)^3=11 390 625
になっちゃうんですけど。
αβ法とかでカットするにしてもこれは多すぎだべ。

24 :名前は開発中のものです。:2006/08/26(土) 03:37:13 ID:IupHD68w
とりあえず標準のAIよりは強くなればOKじゃないのか
それでまずは最強AIなわけだし。
囲碁とか将棋もそうやって徐々に進化したわけで。

25 :名前は開発中のものです。:2006/08/26(土) 13:03:58 ID:Iyz7Kglw
>>23
たしかに多いね。
石に隣り合わない手を読まないとかどう?

26 :名前は開発中のものです。:2006/08/27(日) 01:37:14 ID:hewMfiMA

┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○┼┼┼○○┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

のとき真ん中に打ってくれなくなるなー。
まあでもこんなのは例外的だから
除外しちゃってもよさそうだけど。


7連を作る手
ないときは相手の7連を防ぐ手
ないときは六を作る手
ないときは相手の六を防ぐ手

プラス、石を取る手、助ける手は常に候補手

って感じはどうかなあ。

27 :東陶基:2006/08/27(日) 17:32:29 ID:gQI+UjIN
どうも会長です。
もし完成した場合には送ってもらえればダウンロードするファイルに
入れちゃうので宜しくお願いします。

28 :名前は開発中のものです。:2006/08/28(月) 23:03:01 ID:ey7+/+F9
>>26
まず自分に7連を確実に作れる手がなければ
相手の5(もしくはどちらかが止まってる6)を防ぐというのが最優先では。

自分の7連の詰めろ状態と相手の5を比べて
両方FALSEなら布石となる手を、
両方TRUEならどちらが先に勝つかを検討
どちらか片方がTERUの時はそっちを優先でOK?

29 :名前は開発中のものです。:2006/08/29(火) 06:21:05 ID:NUVELzk7
>>28 >>26じゃないけど
相手の両方開いた5よりも自分の片方開いた6があれば
自分の方が早いってことじゃないかな?

まぁでも俺はああいう風に分岐の多いロジックでやるよりも
7連のみを考慮して探索を深くた方がいいと思うんだけど。

あと >>14 >>19 で上がってる好形も同様に手が遅いんだよね。
だから評価関数的には割り引いて判断してあげないといけないと思う。

30 :名前は開発中のものです。:2006/08/29(火) 12:42:32 ID:P7sn32OK
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
そりゃ、相手の打つ手を考えないなら、同じ5でも下の方が早い。
下はあと2手だけど、上はあと5手もかかる。


でも、相手の5や6をちゃんと止めるという基本ができてれば、ひとつだけ5があったって勝ちにはつながらない。
両てんびんをかけなきゃだめなのよ。
5目並べの33や43は結構できるけど、55や56は縦横斜めの組み合わせじゃそうそうできない。
じゃ、どういう形ならできやすいかっつーと、

┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼☆○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
例えばこんなのになる。(ちょっと人工的な例だが)

そういう意味で
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
より
┠┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
の方が好形

31 :名前は開発中のものです。:2006/08/29(火) 18:26:10 ID:ZEQLAiEv
ちなみに、勝負が決まった場面集(対局スレより)
┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●●┼○┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼○●○○┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼○○●○●┼┼┼┼┼┨
┠┼┼┼┼┼┼☆●┼●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼●┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼●○┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛


32 :名前は開発中のものです。:2006/08/29(火) 18:26:41 ID:ZEQLAiEv
┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼●┼┼┼┼●┼┼┼┼┼┼┼┨
┠┼┼┼┼●○○○○●┼┼┼┼┼┼┼┨
┠┼┼○┼●●○●●●┼┼┼┼┼┼┼┨
┠┼┼+○┼●●○●┼●┼┼┼+┼┼┨
┠┼┼┼┼○●┼○┼★┼┼┼┼┼┼┼┨
┠┼┼┼●●○○○○┼●┼┼┼┼┼┼┨
┠┼┼┼●○┼○●┼○┼┼┼┼┼┼┼┨
┠┼┼┼○┼○┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛


33 :名前は開発中のものです。:2006/08/29(火) 18:27:16 ID:ZEQLAiEv
┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○┼┼┼●○┼┼┼┼┨
┠┼┼+┼┼┼┼┼○○○●┼┼+┼┼┨
┠┼┼┼┼┼┼┼●●○●●┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●●○┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼●○○○┼┼┼┼┨
┠┼┼┼┼┼┼┼●┼┼○┼●┼┼┼┼┨
┠┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼○┼★+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛


34 :名前は開発中のものです。:2006/08/29(火) 18:28:05 ID:ZEQLAiEv
┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼○┼┼┼┨
┠┼┼┼┼┼┼┼☆○┼┼┼┼┼●○┼┨
┠┼┼┼┼┼┼┼●●○○○┼┼●┼┼┨
┠┼┼┼┼┼┼┼○●●○●●●┼┼┼┨
┠┼┼┼┼┼┼┼○●●○○●●○┼┼┨
┠┼┼+┼┼┼┼○●○○●●●●○┼┨
┠┼┼┼┼┼┼┼┼●○●○┼┼○┼┼┨
┠┼┼┼┼┼┼┼○○●●○┼○┼┼┼┨
┠┼┼┼┼┼┼●●○●○○○●┼●┼┨
┠┼┼┼┼┼┼┼┼○●┼●○○○●┼┨
┠┼┼┼┼┼┼┼┼○●┼●●┼○┼┼┨
┠┼┼+┼┼┼┼┼+●○●┼●+○┼┨
┠┼┼┼┼┼┼┼┼┼┼○┼┼┼●┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛


35 :名前は開発中のものです。:2006/08/29(火) 18:28:40 ID:ZEQLAiEv
┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨白が壱
┠┼┼┼┼┼┼┼┼┼┼参┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼壱┼┼┼┼┼┨
┠┼┼┼┼┼┼○●┼┼○●弐┼┼┼┼┨
┠┼┼┼┼┼┼┼●○┼●○┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●┼○●○┼┼┼┼┼┨
┠┼┼+┼┼┼┼●●●○┼┼┼+┼┼┨
┠┼┼┼┼┼┼●○●○○○┼┼┼┼┼┨
┠┼┼┼┼┼┼●○○●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛



36 :名前は開発中のものです。:2006/08/29(火) 22:00:54 ID:NUVELzk7
>>30
言ってることは分かるけど、評価関数は、
もっとシンプルに実装すべきだと思うよ。

┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

の五の部分に関して、下を高く評価するべきだろうということ。

たとえば下の五が2つあるのと上の五が2つあるのでは、下を選ぶでしょ?

上が好形なのは、五の部分だけではなくて、三が1つ、二が2つある
ということだから、五の部分に関しては割り引くべきだという話。

37 :名前は開発中のものです。:2006/08/30(水) 00:21:32 ID:HDX1nRgM
下の五が2つと上の五が2つだったら下を選ぶけど
下の五が1つと上の五が1つだったら上を選ぶ

38 :名前は開発中のものです。:2006/08/30(水) 01:23:57 ID:T9B8gXQB
そうだね。フリーの
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼C┼○○○┼AB┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○@┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼○○○┼○●┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
となり必勝だけど


39 :名前は開発中のものです。:2006/08/30(水) 01:26:01 ID:T9B8gXQB

上のは
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

┠┼┼┼┼┼B┼┼┼┼A┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○@┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
ってなって優勢ではあるが決定的ではない。白が柳沢ならまだ可能性を残している
ってとこかな。

ただしフリーでこういうのが出来るってことはまずなさそうだけど。

40 :名前は開発中のものです。:2006/08/30(水) 01:28:10 ID:T9B8gXQB
って思ったけど
┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●A┼┼┼┼┼┨
┠┼┼┼┼B┼┼┼┼┼@┼┼┼┼┼┼┨

┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●●┼┼┼┼┼┨
┠┼┼┼┼☆┼┼┼┼┼○┼┼┼┼┼┼┨
でやはり必勝。ってことでフリーで5が出来てたら
どっちにしろ防ぎようがないって事だね



41 :名前は開発中のものです。:2006/08/30(水) 13:45:56 ID:HDX1nRgM
評価関数難しいなあ

勝ちは決まってないけどどっちかが優勢って局面のサンプルきぼんぬ

42 :名前は開発中のものです。:2006/08/30(水) 16:07:42 ID:7ZVmpLFf
実際に自分で(人と)打ってみるといいと思うよ。
たまにKGS http://kgs.kiseido.com/ja_JP/ で囲連星部屋を立ててるので、
遊びに来てみて。

今日も19:00ころから立てる予定。

43 :東陶基:2006/08/31(木) 12:41:23 ID:9XPaLR5/
世界コンピューター囲碁大会岐阜チャレンジ2006から
参加しませんか?ってメール来た。
いくらなんでも囲連星のAIで参加したら秒殺なんだけど。

44 :名前は開発中のものです。:2006/09/02(土) 01:08:18 ID:8iwuITDD
作ってみたいけどC++やったことない。
HSPで作ったら意味無いかな。C++勉強した方がいい?

45 :名前は開発中のものです。:2006/09/02(土) 14:27:34 ID:FQ3PQJ6k
HSPの事はよく分からないですが、
>>10-12 辺りの対処法はあるかも。

46 :東陶基:2006/09/02(土) 18:59:42 ID:3UBPfJpb
どうも会長です。

一応、DLL化出来ればそのファイルをexeと同階層に入れれば動くという
仕様でゲームを作ってもらったので多言語でも動くはずなのですが
ただHSPがどんな言語使用なのかが不明なのでなんとも・・・。
これもとりあえずゲームを作ってもらったプログラマの人に確認してみますね。
あと、簡単なサンプルAIを作って見てそれで動けばOKって判断も可ですけどね。

ただ囲連星協会としては製作してくれる人には出来る限り
協力していきますのでわからないことありましたら質問はどんどんしてください。

47 :東陶基:2006/09/02(土) 20:03:47 ID:rm7AAbnt
ちょっと誤字訂正
多言語→他言語
言語使用→言語仕様

48 :名前は開発中のものです。:2006/09/03(日) 09:12:20 ID:3AwZNIT+
>>43
囲連星AI的には、7作って勝手に勝利だと思っちゃうってやつですなwww
ちょっとかわいい

49 :東陶基:2006/09/03(日) 15:08:01 ID:pz5g/Og+
>>44
HSPでも出来るという回答を貰いました。
ただある程度Cのソースも取り込む時に必要らしく
サンプルっぽいのを貰ったのですが
自分自身が理解出来ないので後日公式HPの方にでも
アップしときます。


50 :名前は開発中のものです。:2006/09/03(日) 20:11:32 ID:Wk08AQgv
すいません。わざわざ有難うございます。

51 :東陶基:2006/09/04(月) 02:55:04 ID: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 のプログラムは起動しっぱなしになります。

※引用終了

52 :東陶基:2006/09/04(月) 02:58:57 ID:AKin8IS7
と言うことらしいです。このサンプルソースを頂いたので(かなりお手数掛けてるかも)
いつかまとめて(まとめられるかな・・・)UPします。
ただ個人的には普通にDLL作れる言語で作ったほうが簡単そうな気がする・・・。

あと思うに言語を使ってプログラムを実際書けるというのと
AIの理論的な部分のアイデアとはまったく別のものなので
こことかでAIのコア部分のアイデアが出れば、それをもとに
コーディングをするってのも有りかなと、かなり希望的観測だけど。

53 :名前は開発中のものです。:2006/09/04(月) 22:38:33 ID:rb/d93oY
むふ。それはDLL作れるので作った方が楽でしょうね。

AIって評価関数のウェイトのおき方が最重要だから、
沢山テストしてパラメータを調整するのが肝なんですよねー。
将棋のbonanzaとかは自律学習させてチューニングしてたとか。

54 :名前は開発中のものです。:2006/09/05(火) 01:11:40 ID:dKGuIFbW
CだとDLLとやらを作れるのでしょうか。
CならC++よかいくぶん簡単ですかね?

55 :名前は開発中のものです。:2006/09/05(火) 09:23:04 ID:yCGCI2FQ
>>54
AI部分だけならCでもC++でもそんなにかわんなさそう。

56 :名前は開発中のものです。:2006/09/05(火) 20:41:17 ID:O2M+R7/w
>>54
C++を使うにしても、継承とかややこしいの抜きで“構造体(orクラス)の一部に関数を含める”だけなら楽で便利ですよ。

57 :名前は開発中のものです。:2006/09/05(火) 22:32:21 ID:dKGuIFbW
なるほど。ではまあ必要そうなとこだけ勉強するような形で
C++で作るのに挑戦してみようかなあ。
アドバイスありがとうございました。
hspで作れるようにする方のUPも一応待ってます。

58 :名前は開発中のものです。:2006/09/06(水) 01:11:35 ID:VYLMn2t9
HSP で作っても構わないと思うくらいスピード無視なら、
ソースに入ってるユーティリティ使ってるうちに C++ に慣れるんじゃない?
まあ、その程度にはってことだけど。

59 :東陶基:2006/09/06(水) 14:45:21 ID:i9L86bQE
http://irensei.com/html/game.html
の一番下にHSPでやり取りするサンプル上げときました。


60 :名前は開発中のものです。:2006/09/06(水) 23:39:52 ID:wf2IkZaF
キター!ありがとうございます。
でもtest01.hspをコンパイル&実行してみたのですが
aiboard.binが見つからないというエラーになってしまいました。
どうしたらいいんでしょう。すいません。

61 :名前は開発中のものです。:2006/09/07(木) 11:24:34 ID:bzBAb7h1
直接実行するんじゃなくて、囲連星から実行されるってのは分かってるのかな?

62 :東陶基:2006/09/07(木) 18:03:00 ID:ygyuxNyD
>>60
あのサンプルはメールで問い合わせたときに
囲連星開発プログラマさんのご好意で作ってくれた
やつなのでサポート、苦情は無しでねと言われているので
ソース読んで理解出来る人は参考にって感じでお願いします。


63 :東陶基:2006/09/08(金) 00:24:36 ID:ZQBpfvMv
関連スレにも書きましたが
先ほどとある出版社からメールが来ました。
とりあえずまだ確定ではないので名前は伏せておきますが
囲連星のゲームが雑誌に掲載されるかもしれません。
もし確定しましたら皆さんにもご案内しますので待っててください。

64 :名前は開発中のものです。:2006/09/10(日) 17:50:13 ID:x4ykpAWB
>>63
新手のオレオレ詐欺じゃないことを祈る

65 :東陶基:2006/09/11(月) 14:41:09 ID:OgCC47Qz
今のところ振込依頼とかは来てないです
ただ逆にその後音沙汰もないです。
なんだったんだろ・・・。

66 :名前は開発中のものです。:2006/09/12(火) 10:59:18 ID:QMre7o8W
決まったら教えてくれ。立ち読みするから

67 :名前は開発中のものです。:2006/09/21(木) 15:27:32 ID:WUtFsLdD
早く誰か作ってくれないかな、既存のじゃ弱いんだが

68 :東陶基:2006/10/01(日) 01:36:30 ID:lAtwv5bM
Windows100%11月号に掲載されることになりました。
今月中旬くらいに本屋に並ぶと思うので立ち読みしてください。

69 :名前は開発中のものです。:2006/10/06(金) 23:00:34 ID:hSbnFtwz
http://game10.2ch.net/test/read.cgi/gameama/1144035039/966-969

70 :名前は開発中のものです。:2006/10/11(水) 17:48:00 ID:umMEQC+8
岐阜チャレンジ出てみるのも手だったかも。
対戦相手のAIが普通に7手打った所で囲連星のAIが7連作ってお終い。
で棄権。
ちょっとは話題になったかもね。

71 :東陶基:2006/10/12(木) 20:03:20 ID:XZbj72S6
今日Windows100%が送られてきました。
意外と大きく紹介されててちょっと驚きでした。
11月号91ページです。

72 :名前は開発中のものです。:2006/10/13(金) 14:23:53 ID:2iEbrh0+
俺のゲームも載ってたwwww
雑誌?
送られてこねぇよwwwwwwwwww

73 :東陶基:2006/10/13(金) 22:32:55 ID:T4cl09Oa
>>72
載せる時に許可取るメールみたいなの来なかった?
そこに雑誌いる?見たいなことが書いてあったので
「要る」って返信したら送られてきた。
なんか無許可では掲載しないような感じだったけどどうなんだろね

74 :名前は開発中のものです。:2006/10/13(金) 23:07:22 ID:qI74t+57
つか、sageを覚えようぜ
メール欄にsageと記入すればOK

75 :名前は開発中のものです。:2006/10/14(土) 12:24:04 ID:MhfoAXz4
こうですか?わかりません(><)

なんかHPの掲示板に載せるから許可クレって書き込みがあったから
イイヨーって返信した。それ以後連絡なし。アレ?まあいいや立ち読みで確認したし

76 :東陶基:2006/10/15(日) 00:21:13 ID:eMu4LwVs
>>75
そうそう。イイヨーって返信する時に雑誌欲しかったら住所と名前
教えてねってあったからそれを書いてイイヨーって返信した。
それ以降連絡なしは同じかな。

77 :名前は開発中のものです。:2006/10/17(火) 18:10:54 ID:SklP/wQ3
囲連星のAI作ったら20万もらえるのか
ttp://irensei.com/html/ai.html
小銭稼ぎになるか

78 :名前は開発中のものです。:2006/10/17(火) 23:51:09 ID:46k9HZL6
GNUGOをポートすりゃいいのでは?

79 :名前は開発中のものです。:2006/10/18(水) 12:11:44 ID:ppAnqnR2
DLLはcdeclか
stdcallの方がアンダースコア絡みで悩まなくて済むのに

80 :名前は開発中のものです。:2006/10/18(水) 13:14:05 ID:ppAnqnR2
stdcallだとVC系の方が_hoge@numになるんだったっけ…

cdeclにしろstdcallにしろdefで対応すれば問題ないのかな
あとで試してみよう

81 :名前は開発中のものです。:2006/10/19(木) 14:27:19 ID:c5b0vBbb
でも20万はでかいよな

82 :名前は開発中のものです。:2006/10/19(木) 16:57:09 ID:XPb2M8y8
ageるな、何度いったら分かるんだ


83 :名前は開発中のものです。:2006/10/19(木) 18:34:10 ID:nCDUd7JO
sage進行なのかここ?不明だからsageとくけど

84 :名前は開発中のものです。:2006/10/21(土) 12:00:46 ID:T+3nZLEY
AI作る以前に思考が追いつかない。
>>31>>40が必勝ってのがわからん。


85 :名前は開発中のものです。:2006/10/21(土) 12:59:39 ID:q26QhuGB
囲碁の死活がわからないとどうしようもないのでは
囲碁板へどうぞ

86 :名前は開発中のものです。:2006/10/21(土) 19:42:05 ID:ptZ8MB0J
>>84
>>31は、このあと白が壱、二、三or四に打って
7を作るのを黒は阻止できない
(黒が壱に打っても白五で取られてしまう)
白より早く7を作れる箇所もないので黒の負け。
┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼三┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●●┼○┼┼┼┼┼┼┨
┠┼┼+┼┼五壱○●○○┼┼┼+┼┼┨
┠┼┼┼┼┼┼二○○●○●┼┼┼┼┼┨
┠┼┼┼┼┼┼☆●┼●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼●┼┼┼┼┼┨
┠┼┼┼┼┼┼四┼┼┼┼●○┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛

87 :名前は開発中のものです。:2006/10/21(土) 19:47:42 ID:ptZ8MB0J
>>40は☆の行に白が7を作るのを
黒は阻止できない(黒が壱に打てば白二、
黒三なら白四で結局取られる)
黒が他に白より早く7を作れる箇所がないなら白の勝ち

┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●●┼┼┼┼┼┨
┠┼┼┼┼☆┼┼壱三┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼二四┼┼┼┼┼┼┼┼┨

88 :名前は開発中のものです。:2006/10/21(土) 22:32:41 ID:T+3nZLEY
>>86
>>87
わかりやすい解説ありがとうございます。
慣れるまでは、勝てるかどうか判断するのに時間がかかりそうです

89 :名前は開発中のものです。:2006/10/23(月) 16:02:27 ID:A+bm/Bdd
ageるよ。

俺が思うにもし完成した場合には中途半端な強さじゃなくて
すごい強いか無茶苦茶弱いかのどっちかだと思うんだけど
そういうもんじゃないの?プログラマの人教えて

90 :名前は開発中のものです。:2006/10/23(月) 16:12:08 ID:i3ypDPVH
そんな簡単にむちゃくちゃ強いのなんか出来んよ

91 :名前は開発中のものです。:2006/10/26(木) 01:17:11 ID:6a5rv06/
だろうな。ただ五目並べとオセロは必勝法があるんだよな。
先手必勝だったと

そう考えるとその必勝法さえ見つければそれをプログラムすれば
おっけーってわけだ


92 :名前は開発中のものです。:2006/10/30(月) 20:35:43 ID:A1MZzaxg
>>91
その必勝法がなかなか見つからないけどな

93 :名前は開発中のものです。:2006/11/02(木) 16:34:35 ID:DCEi4urc
> プログラムソースの公開は、囲連星プログラムの改良を目的としています。
> そのため、第三者がこのソースを利用し作成したプログラムもまた
> オープンソースとして公開することを義務づけます。

AI作るときにAI用に提供されているAPI使った場合もソース公開しないといけないのかな?

94 :名前は開発中のものです。:2006/11/03(金) 06:38:49 ID:7OpYRECr
どうだろうな。
DLL との通信に必要な部分は、さすがに問題ないだろう。
ユーティリティーは、あれ使ってる間は、別に公開して困るレベルじゃないんじゃない?

まあでも、内蔵 AI のソースを流用するならともかく、API つーてるのを使ってライセンス汚染はキツい気がするな。
GUI 部分のソースはどーでもいいし。


>>91
オセロ解明されたの?!!
しかも後手じゃないんだ!
俺が知ってるのは、十数手以内にどっちが勝つか分かるって話だったけど。
ソースあったらくれ。

95 :名前は開発中のものです。:2006/11/03(金) 22:55:47 ID:cKq9ONfq
>>94
APIの使用は問題ないと思いたいですね

> ユーティリティーは、あれ使ってる間は、別に公開して困るレベルじゃないんじゃない?
確かにそうかも


練習として棋譜再生DLLを作ってみました
(AIではありませんが…)
囲連星上で棋譜の確認が出来ると以外何もありませんが、
興味があったら使ってみてください

http://gamdev.org/up/img/8017.zip

96 :名前は開発中のものです。:2006/11/03(金) 22:56:51 ID:cKq9ONfq
×出来ると以外
○出来るという以外

97 :東陶基:2006/11/04(土) 16:16:41 ID:U3iplasK
>>95
ツール作成ありがとうございました。
公式HPにアップしてもよいですか?

あとライセンスや著作権についてですが
一応ライセンス云々と書いていますが
基本的に作成者のご希望を優先しますのでとりあえず
気にせずガンガン開発してもらえるとうれしいです。

98 :名前は開発中のものです。:2006/11/04(土) 19:56:57 ID:+xsCqS1d
>>97
> 公式HPにアップしてもよいですか?

こんなものでよろしければ、好きなようにして下さって構いません

> 基本的に作成者のご希望を優先しますのでとりあえず
> 気にせずガンガン開発してもらえるとうれしいです。

どこまで出来るかわかりませんが頑張ります
コンテストに応募できるくらいになればいいのですが…自信はありません

99 :東陶基:2006/11/05(日) 00:35:33 ID:UPGgSUH6
>>98
もしわからない事がありましたら何でも聞いてください。
戦術、ルールなど答えられる限り対応させてもらいます。

100 :名前は開発中のものです。:2006/11/08(水) 17:37:12 ID:Ue8x1mm1
そこそこ強いのが携帯とかで遊べたら通勤時間とかいいんだが
碁だと時間かかるし、五目並べはなんだしな
オセロでもいいっちゃいいがコンピュータにどうやっても勝てないし

101 :名前は開発中のものです。:2006/11/10(金) 20:12:35 ID:VfSwV1Gq
弱い石をまず一子なり二子取ってそこを中心に七連を作るプログラムが
手っ取り早く強そうなんだがどうだろう

102 :名前は開発中のものです。:2006/11/10(金) 22:36:28 ID:oXuF47/H
序盤での石を取る手の価値を大きくするのはよさそう。

103 :名前は開発中のものです。:2006/11/11(土) 03:23:04 ID:bcV8zHef
ただ手っ取り早いかどうかはちょっと疑問

104 :名前は開発中のものです。:2006/11/12(日) 06:28:33 ID:rd6nlJ+0
弱い石を無理矢理取りに行って取れるくらい囲碁に明るいプログラムなら、そりゃだいぶ強いだろ。

105 :名前は開発中のものです。:2006/11/14(火) 14:46:12 ID:wFJY+aZV
ところでサンプル通りに作れば動くことは動くのかな?
だれか少しでも動かせた人教えて

106 :名前は開発中のものです。:2006/11/14(火) 16:35:24 ID:joH2PqKq
>>104
囲碁のプログラムって序盤で一子(取れることも少ないんだろうけど囲碁の序盤だと)
を取りにいけても無理に取りに行かないんじゃない?
なんか囲碁のプログラムの難しいのは石を取りに行くより地とか厚みの方が
有効だったりするからだろうなと思ったり。
なので結構取れる石ってある気もするんだけどね。

107 :名前は開発中のものです。:2006/11/14(火) 18:50:27 ID:FoxSdXbp
ルールわからないから作れない。

詳しいルールブックないの?
そもそも囲碁なの?

108 :名前は開発中のものです。:2006/11/14(火) 19:28:21 ID:x04N9JY7
囲碁+連珠で囲連星です。
ルールは公式HPに載ってます。
http://irensei.com/html/try.html
http://irensei.com/html/rule.html

109 :名前は開発中のものです。:2006/11/14(火) 22:31:06 ID:FoxSdXbp
ルールみたけど、分かりづらい。
囲碁のベース知ってる前提みたいだから無理だな。

110 :名前は開発中のものです。:2006/11/14(火) 22:57:52 ID:hYN84tI7
コウのところ以外は読んだらすぐ打てそうだけどね
コウなんて囲連星じゃあんまり出ないだろうし
囲まれたら取られる7目並べでルールはOKだと思う

111 :名前は開発中のものです。:2006/11/15(水) 00:17:59 ID:6bXh1lvr
>>110
ためしに明日からここで作ってみるわ。
誰かルールに詳しい人サポートお願いします。

112 :名前は開発中のものです。:2006/11/15(水) 03:04:49 ID:q3dN8+3M
>>111
おぉ〜。応援してるよ。
俺も作りかけたんだけど挫折しちまったから
代わりに賞金20万狙って

113 :名前は開発中のものです。:2006/11/16(木) 17:34:21 ID:v1XiV2pE
今、ためしに作ってみたんだけどイマイチ自信がもてない。
この盤ゲームは一番長い連続した碁の長さを競うものなの?

で、どんなAIというか
19x19マスに情報を19x19階層分持っておく。
ターンで敵の打ったx,y,nに保存して内部に(1)もしくは(周りの数)を足す。
x,y,nの周辺に合計1~以上を検索してなかったら1以上になる位置に打つ。(ここは適当)
ターンを増すごとに階層情報が増えるので何処が重要なのかわかってくるハズ。

連続性がこの勝敗を分けるみたいだから
数の多いところを抑えて、自分はもっとも数の小さな位置からもっとも多い位置の中間を狙わせる。

考え方としてはその位置にどれだけ投資されたかっていう考え方。
このゲームではどこを狙っているのかが問題になっているし、連続性とう位置関係も解決されるハズ。

と長いけど、サンプルあとでうぷしますね。

締め切りっていつ?

114 :名前は開発中のものです。:2006/11/16(木) 20:36:31 ID:WEY5fEp7
>>113
>この盤ゲームは一番長い連続した碁の長さを競うものなの?

違う。
ルールをしっかり読んだ方がいい。
ルールの記述は厳密さが足りないところも多々あるが、
そんな風に誤解されるほど酷いものではないと思う。

115 :名前は開発中のものです。:2006/11/16(木) 20:41:02 ID:WEY5fEp7
ちなみに勝敗条件は

>先に七連を規定本数作った対局者を勝ちとする。
>白は長連でも七連と認める。

公式で落とせるソフトでは規定本数=1になってるね。

116 :名前は開発中のものです。:2006/11/16(木) 22:32:55 ID:dl29CCgp
囲めば石を取れる7目並べって考えれば
そんな遠くは外れないと思う

締め切りはないんじゃないかな。随時募集みたいだよ

117 :名前は開発中のものです。:2006/11/16(木) 23:10:27 ID:v1XiV2pE
>>114,115,116
ありがとう
もうちょっとがんばって改良するわ

118 :名前は開発中のものです。:2006/11/18(土) 01:58:05 ID:01Ho7F5J
>>117
ところでこういうのを作る時って、どのあたりがネックになるの?
躓かないで一応打てるとこまでは直ぐ出来るのかな?
強い弱いを別としたら

119 :名前は開発中のものです。:2006/11/18(土) 03:18:55 ID:cWdJzjpe
>>118
強い弱い別にしたら if 分でルールどおりに書いてみただけでも一応は動くよ。
ただし、その if を自動化するからこそ可能性があるのね。

ネックはやっぱりルールでしょう。
この場合は7連続がどうたらとか、囲むとか、それさえなんとかなれば強弱もなんとかなりそう。
オセロのAIなんか見てみると面白いかも。(HSP系なら落ちてるよ

120 :名前は開発中のものです。:2006/11/18(土) 07:10:34 ID:YJI7iwNn
>>118
>>119

C++なら盤面の更新や着手可能個所の列挙などを手軽にできるAPIがあるので楽
自分で実装するのも難しいことではないね

>オセロのAIなんか見てみると面白いかも。(HSP系なら落ちてるよ

なぜHSP?というのは置いておくとして、
オセロは定番だから取っ掛かりにはなるかもしれないね
ただオセロと比べると盤面が広いのと、
着手候補数が多い(既に置かれている石の周辺だけを候補としても)のが辛いところかな。

121 :名前は開発中のものです。:2006/11/18(土) 15:04:13 ID:WRa/ptj8
>>119
なんか着手がルールにのっとってるかどうかのチェックするAPIが
あったような気がした。ソース読んだときに。

ただ着手候補数が多いってことが逆にオセロと違ってコンピュータより
人間が強いって言う砦を守りそうな気がする

122 :名前は開発中のものです。:2006/11/19(日) 21:42:03 ID:Kr+CveHk
これってそんなに数日とかで出来るもんなのかな?
ただGUIとかのコーディングがないからソース自体はたいした量にはならない?

123 :名前は開発中のものです。:2006/11/20(月) 07:15:31 ID:qhaK6RTn
うん、たぶん。

124 :名前は開発中のものです。:2006/11/20(月) 17:42:52 ID:Od7Qf+aa
出来れば作り始めた人はコテハンでカキコしてくれたらわかりいいな。

123とかがその人なら「期待して待ってるよ」ってなるけど
通りすがりのカキコだと一般論になっちゃうもんね

125 :名前は開発中のものです。:2006/11/23(木) 22:41:23 ID:qFGim67R
囲連星のバグ報告

・対局中にメニューの「待った」と「降参」を押しても反応がない
・AIのIrenseiFinalize() が呼ばれない

前者はそれほど大きな問題でもないけど、
後者に関してはリソースの解放などにも関わる可能性があるので重要かもしれません。
ソースを調べたところ、mainform.cppの以下の箇所が原因のよう。

ASSERT( (*ai.finalize)(ai.param, ai.iout) );

関数呼び出し自体をASSERTで括ってるので、おそらくデバッグ版の囲連星でしかfinalizeが呼び出されません。

126 :名前は開発中のものです。:2006/11/23(木) 23:18:44 ID:gK089LrS
>>125
そうなの?俺のマシンの囲連星は待ったも降参も反応してるけど

127 :名前は開発中のものです。:2006/11/24(金) 07:04:57 ID:BHZl7FE+
>>126
もしかしてうちだけなのか…

念のため言っておくと、右ペインの「新規対局」「待った」「降参」が並んでるボタンではなくて、
上部のメニューバーの方ね

128 :名前は開発中のものです。:2006/11/24(金) 16:19:03 ID:c9qtHXRI
メニューバーの方ね。それは確かに反応してない。
単純に関数の呼び忘れなのかな?

129 :東陶基:2006/11/25(土) 14:15:44 ID:gMQX1G4F
>>先日対局したAI開発者さんへ
この前はAIありがとうございました。
AIと対局してみたのですが、多分石が当たられたときに逃げないのが
弱い一因かなと。

┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼○┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼☆●○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

の時に

┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼○┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼○●○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼★┼┼┼┼┼┼┼┼┨

と単純に逃げるだけでも強さが改善されるのではないかと。
もちろん7を作れるとか6を止めるとかの方が優先順位は高いと思いますが、
石を取られるのを避けるというのもかなり優先順位が高いと思うので
参考までに。また強くなったらテストさせて下さい。

>>125
そうですね。機会があれば直してもらいます

130 :名前は開発中のものです。:2006/11/25(土) 19:29:40 ID:38GyqH59
>>129
アドバイスありがとうございます。

この前のAIは何手先まで読めるかを試す程度で、
特に五六七以外のチェックはしていないので、アタリなどの判定はこれから実装予定です。

現状では、この前より少しばかり高速化してさらに一手先を読むことができるようになったので、
今のAIには七割くらいは勝てるようになりました。
が、人間が打っても強くなったとは実感できない程度だと思います。

幾つかあるアイディアを実装すればもう少し強くなるとは思いますが、
大幅に強くなるようなブレイクスルーの見込みはないですね。

131 :名前は開発中のものです。:2006/11/26(日) 02:59:30 ID:uJ6SHQyd
機械対機械で7割とかって人間みたいなバランスになるんだな。
なんか強い方が99パーセント勝ちみたいなのかと思ってた

132 :名前は開発中のものです。:2006/11/26(日) 20:12:53 ID:mBIvFjNh
>>131
明らかに強ければ99%勝ちになるとおもうのですが、
現段階ではそれだけ微妙な差しかないレベルってことだと思います。

公式サイト以外で囲連星の棋譜が手に入るところってありませんか?
まだ囲連星に不慣れなので、いろいろな棋譜を見て調べてみたいと思っています。

133 :東陶基:2006/11/26(日) 22:01:10 ID:Lzr5AN0a
>>130
今のAIより強くなったんですか?
凄いですね。もし良かったら適当なところで一旦メールで
送ってもらえると嬉しいです。もしくはUPしたURLを書き込んでおいて
もらってもいいのですが。
そうすればまた何か気になるところがあれば報告出来るかなと。
ただAI同士でなく人間との対戦の場合は必勝形を作る、防ぐと言うのが
かなり効率的です。

134 :東陶基:2006/11/26(日) 22:04:01 ID:Lzr5AN0a
詳しくはこのスレの前半にあるのですが
┠┼┼┼┼┼┼○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
もしこの状況の場合、白なら
┠┼┼┼┼┼┼○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼┼☆┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
黒なら下の二箇所のいずれかに打つのが有効です。
┠┼┼┼┼┼┼○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼★★┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨



135 :東陶基:2006/11/26(日) 22:07:44 ID:Lzr5AN0a
白の場合は上の状況から黒止め、白伸ばして
┠┼┼┼┼┼┼○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼☆○┼┼┼┼○●┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
となりあとは白の4連の下の部分を埋めていけば7が作れます。
黒がそこに打ってきた場合はその下から白で抑えていけば
石が取れるようになります。
人間との対戦の時はこの勝ち方(負け方)が多くなるので
その形の一手前を認識できれば相当強いはずですが
今のAIを作る時にそれは難しいと言うことで出来ませんでした。

136 :東陶基:2006/11/26(日) 22:09:16 ID:Lzr5AN0a
あと棋譜ですがiGoの方に対局そのものはあるのですが
いつまで保存してるのか不明なので今から検索してきます。
もしあったら、何かの方法でお知らせ出来るようにしてみます。

137 :東陶基:2006/11/27(月) 14:05:33 ID:G4X+XEGU
棋譜発見しました。
iGo棋院にログインして棋譜検索ボタンがありますので
そこで東陶基で検索してください。日付は2005年からあります。
まだそこで検索された対局者で再度検索すると東陶基以外との
対局もたくさん出てきますので棋譜の量はある程度そろうと思います。

138 :名前は開発中のものです。:2006/11/27(月) 18:51:19 ID:Iv5AIjKv
棋譜ここにもあります。
http://www.gokgs.com/gameArchives.jsp?user=mosa
対局形式が自由碁の奴はだいたいそう。
(公式戦は碁の棋譜です。)
7月は結構ある。他の月もちらほら。

139 :名前は開発中のものです。:2006/11/28(火) 00:09:55 ID:5UFQP7BS
>>133
メール送りました。

>>134-135のような状況の判断に関しては検討中です。
速度的に問題があるかもしれませんが、思いついた方法があるので近々試してみます。

>>136-138
棋譜の件、ありがとうございました。
これから手に入れてみようと思います。

140 :名前は開発中のものです。:2006/11/30(木) 00:08:17 ID:T3nR+v4P
このまま行くと俺がゲームにお手上げの日も近いか?

141 :名前は開発中のものです。:2006/11/30(木) 01:31:47 ID:yzWH9DL2
iGoの棋譜をUPしました。
http://gamdev.org/up/img/8252.zip

iGoは検索結果の棋譜の一括ダウンロード機能などはないんですね。
最初は手作業で一つ一つsgfファイルを作っていたのですが、
量が多くて大変そうだったので、機械的に処理してsgfを生成しました。
中身をチェックしていないので囲碁の棋譜があったりするかもしれませんが、
それでも良ければ参考にどうぞ。

142 :名前は開発中のものです。:2006/11/30(木) 07:33:34 ID:6qb4PAvZ
上の棋譜を用いて何らかの統計情報を得たいと考えています。
例えば>>129のような状況で逃げる手を打つ確率などです。
人間が特定の状況で打ちやすい手というのは他にもあると思うのですが、
なかなか思いつかないので、何か知っていることや気づくことがあったら教えてください。

極端な例を挙げると、六がある状況で七を作る確率などもそうですね。
これは統計を取らずに100%とした方が良いかと思いますが。

143 :東陶基:2006/11/30(木) 15:00:14 ID:B1P802zQ
そうですね。あるとしたら
1.5を作るより取れる石があった場合は取る
2.必勝形を作られてほぼ負けの状態でも自分に4,5がある場合は
それを5,6にして糸口を見つける
3.シチョウを見つけた場合、追っていってもし相手の7が先に出来てしまう
場合は追わない、それ以外は追って取りにいく

144 :名前は開発中のものです。:2006/11/30(木) 18:00:47 ID:bXPAMEFd
5を止める時にどっちに止めると有利かも考えて止めてくれるといいね

145 :名前は開発中のものです。:2006/11/30(木) 18:50:06 ID:tFGdXUOn
>>143
1に関しては統計とって見たほうが良さそうですね。
2, 3に関しては統計を取るまでもなく、ほぼ100%そうするべきという感じでしょうか?
必勝形やシチョウの判定ができればの話ですが。

ちなみに確率は探索の深さに影響させる予定です。
今現在は探索深さを固定しているのですが、
候補手が多いこともあって全然深読みできません。
これを解決するために確率を用います。
より人間が打つ可能性の高い手に関しては深く読み、
可能性の低い手は早めに探索を打ち切るという風に考えています。

146 :名前は開発中のものです。:2006/11/30(木) 18:51:04 ID:tFGdXUOn
確率を用いるにあたって問題点もあります。
今、確率の対象として挙げている事象は排反事象ではありません。
棋譜からある事象の確率を統計的に算出しても、他の事象の影響を受けているため、
当てにならないかもしれません。

算出した確率を無理矢理用いるにしても>>143の1は、
A. 5を作れる場合に5を作る事象
B. 取れる石があった場合に取る事象
の2つを合わせたものです。
それぞれの確率をP(A), P(B)と仮定したときに、
5を作る確率と石を取る確率はそれぞれどのような求めれば良いのやら。

確率に関してそれ程あかるいわけではないので、
根本的に間違っているところがあるかもしれませんが、
今考えているのはだいたいこんなところです。

147 :名前は開発中のものです。:2006/11/30(木) 20:19:38 ID:bXPAMEFd
>>145
シチョウを追ってくれたらカッコイイ
シチョウの判断って囲碁のゲームとかで既に解析済み?

148 :名前は開発中のものです。:2006/11/30(木) 21:49:23 ID:hC6zGV8H
当然解析ずみのはず。
囲碁のなかでは一番計算機が得意な分野でしょ。
みたことないけど、GnuGoの中にも当然そういうルーチンは入っていると思う。


149 :名前は開発中のものです。:2006/11/30(木) 23:23:29 ID:tFGdXUOn
囲碁に関しては無知で、シチョウについても最近知ったばかりなのですが、
階段状に斜めに進んでいくものだけしかないって解釈でいいのかな?

最悪、着手範囲を限定して探索すれば判断できそう

150 :名前は開発中のものです。:2006/11/30(木) 23:52:54 ID:hC6zGV8H
それで十分だと思う
碁だと途中で折り曲がったりするのも考えられるんだけど、
囲連星ではそんなの出てこないでしょ。
追ってく先に既に石があることはあんまりないから。

151 :東陶基:2006/12/01(金) 00:26:41 ID:aHfRZra/
5を作るより石を取ったほうがいいと感じるのは
どうせ止められる5を作るよりは石を取っといたほうが
勝つ確率が高いような気がしたので書いただけなので
もちろん状況によってはそうじゃない場合も多いと思います。

あとシチョウもそうなのですが石を取れる手筋というのが
定石化してるようです。
ただそれをプログラムに取り込むときはどうするのかはわからないです。
そのパターンを1つ1つチェックしていくというのはプログラムとして
違和感はあるのですがそれしかないのかなと思ったりも。
必勝形も多分同様な気がします。

152 :東陶基:2006/12/01(金) 00:32:53 ID:aHfRZra/
追記ですがこの前応募してもらった11月分のAIですが
あれで決定でもいいのですが、多分最優秀AI+対人初級ということで
公開するとなるとダウンロードされることになると思うのですが
もうちょっと手を入れたバージョンにしますか?
「待った」のところとかもありましたのでダウンロードするに当たって
もうちょっと改善したところで公表にしてという事であれば
全然待ちますけど。多分あのままダウンロードすると
「待った」が効かないよという書き込みとかも出ると思うので。

153 :名前は開発中のものです。:2006/12/01(金) 00:54:34 ID:c9tBg3iC
>>150
なるほど。レスありがとうございました。

>>151
> そのパターンを1つ1つチェックしていくというのはプログラムとして
> 違和感はあるのですがそれしかないのかなと思ったりも。

確かにやりたくないことではありますね。
どうしても探索深さが限られて先読みできないので苦労することは多いです。

>>152
もう12月なんですね。
もう少し改良したいので、土日まで待っていただけるとありがたいです。

154 :東陶基:2006/12/01(金) 15:35:54 ID:mqhncX4t
>>153
はい、のんびり待ってますので急がずゆっくりでいいですよ。
今月半ばくらいまでなら全然平気ですので

岐阜チャレンジとかに囲連星部門とか出来ないかな。
今度問い合わせてみよう

155 :名前は開発中のものです。:2006/12/02(土) 10:43:59 ID: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 ){}


156 :名前は開発中のものです。:2006/12/02(土) 10:44:50 ID:9bHh1U4H
これはまずいんじゃないでしょうか?
(注1)newしたものをdeleteしていない。
Javaとかと違って、newで確保した変数は自動的には破棄されなかったと
思います。メモリリークの原因になるので、
デストラクタとかでdelete boardした方がいいと思います。
(注2)ポインタをコピーしている
このままだとGame hoge1 = new Game(hoge2);
としたときにhoge1.board == hoge2.boardになってしまいます。
これは多分意図した仕様ではないと思うので、
board = new Board;
*board = *(other.board)
とした方がいい気がします。
以上、通りすがりのお節介でした。
ガイシュツだったらごめんなさい


157 :名前は開発中のものです。:2006/12/02(土) 10:50:23 ID:9bHh1U4H
おっと間違い
Game::rule() の中で、すでにnew Boardしているので、
コピーコンストラクタの中で再びnew Boardはしなくていいですね

158 :東陶基:2006/12/02(土) 17:51:03 ID:YSYCWbvz
ご指摘ありがとうございます。
自分だと完全には理解出来てないので
今度バージョンアップする時に見てもらうようにします。
そういえば前もそんな指摘があったのでそれもまとめて修正しよう

それと今日20時iGoにて対局です。奮ってご参加を

159 :名前は開発中のものです。:2006/12/03(日) 10:08:07 ID: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がリストアップされません。
検索パスは実行ファイルのパスで行うべきだと思います。

以上、小さなバグですが報告しておきます。

160 :東陶基:2006/12/04(月) 00:36:05 ID:NCJ8uVrU
>>159
昨日はお疲れ様でした。
多分いつか1勝を挙げる日が来ますよ・・・きっと。
というより序盤を研究してる人とかはいなそうなので
逆に勝てるかもしれないですね。

バグの件了解しました。
もし可能でしたらバグを何かにまとめておいて
いつかメールで送ってもらえますでしょうか?
今度本体を作り直すときにまとめてやってもらうので。

161 :名前は開発中のものです。:2006/12/05(火) 01:33:23 ID:lMp+K4vd
>>160
> バグの件了解しました。
> もし可能でしたらバグを何かにまとめておいて
> いつかメールで送ってもらえますでしょうか?

了解です。

162 :東陶基:2006/12/05(火) 14:35:59 ID:MFe0ONST
新しいAI試してみました。

もしかしたらこれで必勝形さえ取り込めれば初心者では
なかなか勝てないレベルになるのかも。

気付いた点を上げておきますと
@コンピュータ同士で対戦させると中盤は考慮時間が長くなるのだが後半はまた一気に
早くなる。
A7連の防御に関しては既存のAIの方が良い点がある
B斜めが多用されているが、縦横の方が強そう
C既にほぼ自分のエリアの場所に石を打って5とかを作りに行く
D自分が石を取れる状態と相手が取れる状態が重なった時に逃げてしまう

参考までにここから先行ダウンロードできます。解凍してirensei.exeと同じフォルダにコピーしてね
ttp://irensei.com/program/ai-lv1.zip

皆さんのご意見もどしどし待ってます。

163 :名前は開発中のものです。:2006/12/05(火) 14:43:21 ID:MFe0ONST
ちょっと詳細に解説しますと
Aについては組込のAIだと
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┨
┠┼┼┼☆┼┼┼┼┼○●┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┨
と打つと
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┨
┠┼┼┼○★┼┼┼┼○●┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┨
このように止めてきます。
多分必勝形を認識してるのでなく
打たれた白と他の白との間で7連が出来る可能性があって
なおかつその間に黒が無い場合には止めるとかって感じではないのかと
思っているのですがこれはこれで優れている防御法だと思いますので
参考までに。
※ただ不思議なことに既存のAIだとその★を取りに行こうとした場合に
黒が逃げに行かないと言う欠点があるのでなんですが。
その点は今回のAIはアタリは逃げるので良いです。
ちなみに今回のAIだと☆に打った場合、黒はほぼ自分の攻めの手を打ってます。

164 :東陶基:2006/12/05(火) 14:47:13 ID:MFe0ONST
あとCですが
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
などのばあい
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○☆○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
と打ってしまうことが多いので
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○┼○☆┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
と打ったほうが良いのではないかと思います。
ただ打ってないけどほぼ自分のエリアというのを
判別が難しいと言われてたのでそのあたりの問題だと思いますが

165 :東陶基:2006/12/05(火) 14:54:56 ID:MFe0ONST
最後にDですが

┠┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼●○●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼●○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

上のシチュエーションで白が打つ場合
黒の一子を取れば問題ないのですが

┠┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼●○●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼●○○☆┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨

と打って逃げることが多いです。
多分優先順位がアタリから逃げるほうが石を取るより
優先されてるのだと思いますが石を取ることでアタリから逃げれる場合は
その方がいい手だと思います。

細かい点ですが打っていると「うん?」と思ってしまう個所なので。

色々すいませんが参考にしてもらえると嬉しいです。

166 :名前は開発中のものです。:2006/12/05(火) 17:58:15 ID:xyJhtqbA
自分のとこではDは石を取った。
どういう分岐なのかは知らんが取ることもあるみたいだよ

167 :東陶基:2006/12/06(水) 00:26:22 ID:79l8fvrP
確かにこっちでも石取りに行ってました。すいません。
取らない時と取る時はなにか違いがあるのかな・・・。

168 :名前は開発中のものです。:2006/12/06(水) 01:26:14 ID:MutEDf0j
>>162-167
@
通常三手読みですが思考時間が10秒を超えた次の手から二手読みに切り替えるのが原因です。
予定では、10秒まで思考し、超えた場合は探索を打ち切る方式に変更するつもりです。
(実際は最長思考秒数をユーザが変更できるようにする予定)

A
今のところ間に空きのある連候補は考慮していません。
これについては必勝形の判定を含めて策を練っているところです。

B
アタリ関連の処理(特に石を取る方)が影響してそうです。
この辺はパラメータ調整のバランスが難しいかも。

C
実装するのはもう少し先になりそうです。

D
>>165の状況なら通常は石を取りに行くと思います。
取りに行かないときは他に何か(AIにとって)優先すべき事項があったのだと思います。

169 :名前は開発中のものです。:2006/12/06(水) 01:31:01 ID:MutEDf0j
あと「特定条件下で五や六を止めにいかない」という致命的なバグがあります。
このバグと@に関してはすぐに実装できると思います。

A〜Cを解決するのはもう少し先、というか今月の目標といったところになると思います。

170 :東陶基:2006/12/07(木) 00:29:38 ID:NnfRj7Qm
空いた時間でOKですけどね。
ただ出来ればLv1状態でのソースを取っておいてもらいたいです。
Lv1を公開したのでそれに何かあったときにその場合のソースがなくなってると
困るので。


171 :東陶基:2006/12/07(木) 00:33:36 ID:NnfRj7Qm
あと必勝形とか打てない場所を相手のエリアと判断する。についてですが
囲碁の形勢の計算をする処理が参考になるかもしれません。
囲碁のソフトで現在の状況を判断するボタンとかがあるのですが
それを押すと既に死んでいる石や地になっているエリアなどを計算して
現在の形勢を判断するのですが、その処理のルーチンが分かれば
同様に既に打てないエリアや逆に自分が打つ必要の無いエリアを判断できるのでは
と思ったりします。

あくまで参考までですが

172 :東陶基:2006/12/07(木) 00:36:21 ID:NnfRj7Qm
ちなみにAに関してですが
組込のAIでは単に敵の石の間に自分の石が無い場合は危険と判断して
敵の石の端が5以内なら両端を止めに、逆に敵の石の端が6,7なら
その敵石の間に自石を打って防御となってるだけみたいです。
ただそれでもかなり防御としては効果ありそうです。

173 :名前は開発中のものです。:2006/12/07(木) 07:14:47 ID:Q7E4yn2I
>>170
ソースについては了解です。
>>171-172
情報ありがとうございます。


174 :名前は開発中のものです。:2006/12/08(金) 18:50:18 ID:rltTfv0G
2本制はまだ無理か。。

175 :東陶基:2006/12/10(日) 00:17:01 ID:Bdq+mZaG
>>赤桐さんへ
もし可能でしたら最終着手表示の画像の変更とかって簡単かみてもらえますか?
現在だと青の縁取りみたいになるのですが
KGSみたいな○に小さな□が入るやつの方が見た目がいいかなと。
アタリ表示とかは今のままでもカッコイイのですが最終着手と七連の★の
画像とかがなんか個人的にはイマイチな気が。



176 :名前は開発中のものです。:2006/12/10(日) 09:14:16 ID:s5ETcGro
>>175
DDSフォーマットの画像ファイルさえ用意していただければできるかと思います

177 :東陶基:2006/12/11(月) 00:30:13 ID:WtFzJmLs
DDSフォーマットの画像があればそれを上書きして
リコンパイルすればOKなんだろうか・・・。
でもソースのイメージフォルダにその画像のbmpないね。
bmpからDDSに変換するツールは見つけたんですけどね。
まぁこれは別に急がないからいいか・・・。

178 :東陶基:2006/12/11(月) 00:51:32 ID:WtFzJmLs
ところでirensei-allのフォルダの下にあるフォルダとかファイルって
どこまでがコンパイルの対象なんですかね?
online_helpとかsampleaiのフォルダはゲームの配布のところにも入ってるから
コンパイルの対象にはなってない感じですけどね
他のは全部コンパイルされてexeに組み込まれてるんですかね。

179 :名前は開発中のものです。:2006/12/11(月) 01:36:58 ID:YOXVYonj
>>177-178
DDSフォーマットの画像を
mkstoneimg.bat
を実行してCのソースに変換してからコンパイルするようです。

コンパイル対象はsounds, aiapiですかね。
imagesはたぶん対象外です。
imagesのBMP画像はmainform.dfmあたりに取り込まれている感じがします。

180 :東陶基:2006/12/12(火) 01:59:52 ID:A5X5tSr9
ところで、Lv1のAIをコピーしてexeの起動後に新規対局画面を
表示したところでメニューバーにAI paramsが出るのは何が原因かわかりますか?
本体の方なのかAIの方なのか見当つかなかったので

181 :名前は開発中のものです。:2006/12/13(水) 00:42:32 ID:VmtMvYp/
>>180
デバッグ用の関数をエクスポートしているせいかな。
リリース版では表示されない方が良さそうですね。今度直しておきます。

囲連星本体のバグを修正しました。
画像の差し替えはどうしますか?
今回は見送るということであれば、本体とソースをメールで送ります。

182 :東陶基:2006/12/13(水) 01:05:54 ID:TEqoTvZj
>>181
ありがとうございました。
画像はいつでもいいので今回は見送りで大丈夫です。

そうですねリリース版ではAI paramsはでない方がいいですね。
デバッグ用の関数をエクスポートすると出るって言うのは
ある意味理にかなってるといえばかなってるのかも。

では本体送っていただいてAI paramsの問題が直ったところで
Ver1.01ってことで差し替えるようにします。
差し替えると言っても今Vectorでダウンロードするようにしているので
Vectorに送らないと差し変わらないんですけどね。

本当に色々ありがとうございます。

183 :名前は開発中のものです。:2006/12/17(日) 23:32:44 ID:NEYvFAOR
AI作ってる人が増えればどんどんつよくなりそうなんだけどね

184 :名前は開発中のものです。:2006/12/19(火) 14:51:49 ID:gCC1Bc8N
>>183
人が増えるのが一番難しそうだ。
やはりプログラムそれもAIを作るってのは特殊技術だからな

66 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)