1read 100read
2012年4月ゲ製作技術208: 【囲碁?】囲連星のAIを作ってみよう【連珠?】 (728)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
FPSの作り方おーしえて (104)
人工知能or人工無脳作ろうぜ (743)
絶対に成功しないプロジェクト 1000の特徴 (220)
企画屋が勉強するスレ (914)
RPGツクールで[゚Д゚]RPGをツクール (242)
ドリームキャストのエミュを作るスレ (129)
【囲碁?】囲連星のAIを作ってみよう【連珠?】
- 1 :06/08/03 〜 最終レス :12/01/20
- フリーソフト囲連星のAIを自作してみませんか?(囲碁+連珠)
デフォルトのAIが弱いので今なら囲連星AIの第一人者になれる。
もし名人より強いAIを作成すればそのAIが名人位に。
詳しいことはソフトダウンロード後、ヘルプメニューを参考に。
作成方法:AI部分をプログラムしコンパイルしたものをファイルコピーすればOK
ソフトダウンロード:http://irensei.com/
- 2 :
- [暑さのせいで?]
- 3 :
- ごめん。誤爆
- 4 :
- ダウンロードしてみたが弱いwwかなり。
これより強いのを作るのは簡単そうだが
そう一筋縄ではいかないのかもね
- 5 :
- 自作CPU同士で戦わせられないのか?
それが出来たら、スレ内で最強決めたり、おもろいかも
- 6 :
- 面白いな。
なんか、アレだな。
ロボットのAI書いて、戦わすみたいなノリだな。
- 7 :
- >>5
自作同士で戦えるよ。
いまでもCPU同士で対戦できる。
でも今だと両方とも同じAIだからどんぐりの背比べになっちゃうけど。
誰か今のより強いの作ったらどっかに上げてみてよ
- 8 :
- フリーのC++のツールで開発してOK?AIだけなら
- 9 :
- >>8
VC++とBorlandC++のサンプルがGUIに同梱されてるよ。
- 10 :
- >>9
サンクス。C++かぁやったことないんだよな
- 11 :
- >>10
C++から他の言語へのゲートウェイを作るってのはどう?
- 12 :
- 多言語でもいけるんじゃない?DLL化出来てれば
- 13 :
- こういうのは詰みと中盤を分けて作るのが普通なんだろうけど、
5連、6連の連打で勝負をつける本当の詰めを読む部分のほかに
石の取り合いになる攻め合いを読む部分を別に作った方がいいのかな?
連続のアタリで取れるの取れないのぐらい読めた方がいいのかなと
思ったり。
あとは評価関数だよなー。
- 14 :
- 俺何回か打ったことあるんだけど
5連6連の連打で詰めるというよりは
いかに必勝形を作るかにかかってるみたい。
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
ってのよりは
┠┼┼┼┼┼┼○┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼○┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
の方が有効な5になる。逆に相手のこれを確実に止める
ロジックも必須になるかな守りとしては。
多分相手の必勝形を防ぐことにウェイトを置いたほうが強くなりそう
- 15 :
- >>14
必勝形のデータベースを持たせてマッOさせるのかな?
上より下を高く評価するのにどんな関数を定義する?
- 16 :
- 白地になりそうな点は
白石が置かれているものとしてカウントする、って感じで
- 17 :
- >>16
だね。すでにあたりになってる場所は既に自分の地(?)って計算にすればいいのかもね
- 18 :
- >>16
なるほど。中盤の評価関数としては優秀かも。
でも必勝かどうかはわからんし、>>14の上は先手を取れるけれども、
下は相手に5連があれば受けに回らないといけない。
つーわけで、5連6連の連打で詰める探索は必須だと思うよ?
- 19 :
- えー、現囲連星名人です。
他によくあるのが
┠┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
これで4
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
これで5
こういうのが作りやすい。
だから単純にアタリになるところだけでは不十分だと思います。
まあ先に進んでからの話だと思いますが。
┠┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
こういうのはいい形、というのを評価関数にいれるといいんじゃないかと思います。
- 20 :
- アルゴリズム的に、形をマッOさせるよりも、
探索の結果として好形に高評価が下るようにする方が
個人的には好みかな。
もちろん、パターン認識するのも全然ありだけど、
歴史が浅いゲームだから、手筋自体があまり揃ってない
ような気がする。
- 21 :
- マッOはどっちかって言うと
候補手の生成のためのものって気がするが。
てことで、みんな候補手はどうしてる?
- 22 :
- 棋譜から良いパターン・悪いパターンを検出して、良いパターンほど優先的に生成。
って事をしたいけど、実現出来そうに無いから合法手全部生成する。
- 23 :
- そうすると3手読むだけでだいたい(15*15)^3=11 390 625
になっちゃうんですけど。
αβ法とかでカットするにしてもこれは多すぎだべ。
- 24 :
- とりあえず標準のAIよりは強くなればOKじゃないのか
それでまずは最強AIなわけだし。
囲碁とか将棋もそうやって徐々に進化したわけで。
- 25 :
- >>23
たしかに多いね。
石に隣り合わない手を読まないとかどう?
- 26 :
-
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○┼┼┼○○┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
のとき真ん中に打ってくれなくなるなー。
まあでもこんなのは例外的だから
除外しちゃってもよさそうだけど。
7連を作る手
ないときは相手の7連を防ぐ手
ないときは六を作る手
ないときは相手の六を防ぐ手
…
プラス、石を取る手、助ける手は常に候補手
って感じはどうかなあ。
- 27 :
- どうも会長です。
もし完成した場合には送ってもらえればダウンロードするファイルに
入れちゃうので宜しくお願いします。
- 28 :
- >>26
まず自分に7連を確実に作れる手がなければ
相手の5(もしくはどちらかが止まってる6)を防ぐというのが最優先では。
自分の7連の詰めろ状態と相手の5を比べて
両方FALSEなら布石となる手を、
両方TRUEならどちらが先に勝つかを検討
どちらか片方がTERUの時はそっちを優先でOK?
- 29 :
- >>28 >>26じゃないけど
相手の両方開いた5よりも自分の片方開いた6があれば
自分の方が早いってことじゃないかな?
まぁでも俺はああいう風に分岐の多いロジックでやるよりも
7連のみを考慮して探索を深くた方がいいと思うんだけど。
あと >>14 >>19 で上がってる好形も同様に手が遅いんだよね。
だから評価関数的には割り引いて判断してあげないといけないと思う。
- 30 :
- ┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
そりゃ、相手の打つ手を考えないなら、同じ5でも下の方が早い。
下はあと2手だけど、上はあと5手もかかる。
でも、相手の5や6をちゃんと止めるという基本ができてれば、ひとつだけ5があったって勝ちにはつながらない。
両てんびんをかけなきゃだめなのよ。
5目並べの33や43は結構できるけど、55や56は縦横斜めの組み合わせじゃそうそうできない。
じゃ、どういう形ならできやすいかっつーと、
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼☆○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
例えばこんなのになる。(ちょっと人工的な例だが)
そういう意味で
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
より
┠┼┼┼┼┼┼○○┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
の方が好形
- 31 :
- ちなみに、勝負が決まった場面集(対局スレより)
┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●●┼○┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼○●○○┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼○○●○●┼┼┼┼┼┨
┠┼┼┼┼┼┼☆●┼●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼●┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼●○┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
- 32 :
- ┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼●┼┼┼┼●┼┼┼┼┼┼┼┨
┠┼┼┼┼●○○○○●┼┼┼┼┼┼┼┨
┠┼┼○┼●●○●●●┼┼┼┼┼┼┼┨
┠┼┼+○┼●●○●┼●┼┼┼+┼┼┨
┠┼┼┼┼○●┼○┼★┼┼┼┼┼┼┼┨
┠┼┼┼●●○○○○┼●┼┼┼┼┼┼┨
┠┼┼┼●○┼○●┼○┼┼┼┼┼┼┼┨
┠┼┼┼○┼○┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
- 33 :
- ┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼○┼┼┼●○┼┼┼┼┨
┠┼┼+┼┼┼┼┼○○○●┼┼+┼┼┨
┠┼┼┼┼┼┼┼●●○●●┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼●●○┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼●○○○┼┼┼┼┨
┠┼┼┼┼┼┼┼●┼┼○┼●┼┼┼┼┨
┠┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼○┼★+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
- 34 :
- ┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼○┼┼┼┨
┠┼┼┼┼┼┼┼☆○┼┼┼┼┼●○┼┨
┠┼┼┼┼┼┼┼●●○○○┼┼●┼┼┨
┠┼┼┼┼┼┼┼○●●○●●●┼┼┼┨
┠┼┼┼┼┼┼┼○●●○○●●○┼┼┨
┠┼┼+┼┼┼┼○●○○●●●●○┼┨
┠┼┼┼┼┼┼┼┼●○●○┼┼○┼┼┨
┠┼┼┼┼┼┼┼○○●●○┼○┼┼┼┨
┠┼┼┼┼┼┼●●○●○○○●┼●┼┨
┠┼┼┼┼┼┼┼┼○●┼●○○○●┼┨
┠┼┼┼┼┼┼┼┼○●┼●●┼○┼┼┨
┠┼┼+┼┼┼┼┼+●○●┼●+○┼┨
┠┼┼┼┼┼┼┼┼┼┼○┼┼┼●┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
- 35 :
- ┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨白が壱
┠┼┼┼┼┼┼┼┼┼┼参┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼壱┼┼┼┼┼┨
┠┼┼┼┼┼┼○●┼┼○●弐┼┼┼┼┨
┠┼┼┼┼┼┼┼●○┼●○┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●┼○●○┼┼┼┼┼┨
┠┼┼+┼┼┼┼●●●○┼┼┼+┼┼┨
┠┼┼┼┼┼┼●○●○○○┼┼┼┼┼┨
┠┼┼┼┼┼┼●○○●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼●┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
- 36 :
- >>30
言ってることは分かるけど、評価関数は、
もっとシンプルに実装すべきだと思うよ。
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
の五の部分に関して、下を高く評価するべきだろうということ。
たとえば下の五が2つあるのと上の五が2つあるのでは、下を選ぶでしょ?
上が好形なのは、五の部分だけではなくて、三が1つ、二が2つある
ということだから、五の部分に関しては割り引くべきだという話。
- 37 :
- 下の五が2つと上の五が2つだったら下を選ぶけど
下の五が1つと上の五が1つだったら上を選ぶ
- 38 :
- そうだね。フリーの
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○○○┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
は
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼C┼○○○┼AB┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○@┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
で
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼○┼○○○┼○●┼┼┼┼┼┨
┠┼┼┼┼┼○┼┼┼○●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
となり必勝だけど
- 39 :
-
上のは
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼B┼┼┼┼A┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○@┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
で
┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
ってなって優勢ではあるが決定的ではない。白が柳沢ならまだ可能性を残している
ってとこかな。
ただしフリーでこういうのが出来るってことはまずなさそうだけど。
- 40 :
- って思ったけど
┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●A┼┼┼┼┼┨
┠┼┼┼┼B┼┼┼┼┼@┼┼┼┼┼┼┨
┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●●┼┼┼┼┼┨
┠┼┼┼┼☆┼┼┼┼┼○┼┼┼┼┼┼┨
でやはり必勝。ってことでフリーで5が出来てたら
どっちにしろ防ぎようがないって事だね
- 41 :
- 評価関数難しいなあ
勝ちは決まってないけどどっちかが優勢って局面のサンプルきぼんぬ
- 42 :
- 実際に自分で(人と)打ってみるといいと思うよ。
たまにKGS http://kgs.kiseido.com/ja_JP/ で囲連星部屋を立ててるので、
遊びに来てみて。
今日も19:00ころから立てる予定。
- 43 :
- 世界コンピューター囲碁大会岐阜チャレンジ2006から
参加しませんか?ってメール来た。
いくらなんでも囲連星のAIで参加したら秒殺なんだけど。
- 44 :
- 作ってみたいけどC++やったことない。
HSPで作ったら意味無いかな。C++勉強した方がいい?
- 45 :
- HSPの事はよく分からないですが、
>>10-12 辺りの対処法はあるかも。
- 46 :
- どうも会長です。
一応、DLL化出来ればそのファイルをexeと同階層に入れれば動くという
仕様でゲームを作ってもらったので多言語でも動くはずなのですが
ただHSPがどんな言語使用なのかが不明なのでなんとも・・・。
これもとりあえずゲームを作ってもらったプログラマの人に確認してみますね。
あと、簡単なサンプルAIを作って見てそれで動けばOKって判断も可ですけどね。
ただ囲連星協会としては製作してくれる人には出来る限り
協力していきますのでわからないことありましたら質問はどんどんしてください。
- 47 :
- ちょっと誤字訂正
多言語→他言語
言語使用→言語仕様
- 48 :
- >>43
囲連星AI的には、7作って勝手に勝利だと思っちゃうってやつですなwww
ちょっとかわいい
- 49 :
- >>44
HSPでも出来るという回答を貰いました。
ただある程度Cのソースも取り込む時に必要らしく
サンプルっぽいのを貰ったのですが
自分自身が理解出来ないので後日公式HPの方にでも
アップしときます。
- 50 :
- すいません。わざわざ有難うございます。
- 51 :
- ※プログラマーさんからの回答を勝手にまるまる引用
>・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 :
- と言うことらしいです。このサンプルソースを頂いたので(かなりお手数掛けてるかも)
いつかまとめて(まとめられるかな・・・)UPします。
ただ個人的には普通にDLL作れる言語で作ったほうが簡単そうな気がする・・・。
あと思うに言語を使ってプログラムを実際書けるというのと
AIの理論的な部分のアイデアとはまったく別のものなので
こことかでAIのコア部分のアイデアが出れば、それをもとに
コーディングをするってのも有りかなと、かなり希望的観測だけど。
- 53 :
- むふ。それはDLL作れるので作った方が楽でしょうね。
AIって評価関数のウェイトのおき方が最重要だから、
沢山テストしてパラメータを調整するのが肝なんですよねー。
将棋のbonanzaとかは自律学習させてチューニングしてたとか。
- 54 :
- CだとDLLとやらを作れるのでしょうか。
CならC++よかいくぶん簡単ですかね?
- 55 :
- >>54
AI部分だけならCでもC++でもそんなにかわんなさそう。
- 56 :
- >>54
C++を使うにしても、継承とかややこしいの抜きで“構造体(orクラス)の一部に関数を含める”だけなら楽で便利ですよ。
- 57 :
- なるほど。ではまあ必要そうなとこだけ勉強するような形で
C++で作るのに挑戦してみようかなあ。
アドバイスありがとうございました。
hspで作れるようにする方のUPも一応待ってます。
- 58 :
- HSP で作っても構わないと思うくらいスピード無視なら、
ソースに入ってるユーティリティ使ってるうちに C++ に慣れるんじゃない?
まあ、その程度にはってことだけど。
- 59 :
- http://irensei.com/html/game.html
の一番下にHSPでやり取りするサンプル上げときました。
- 60 :
- キター!ありがとうございます。
でもtest01.hspをコンパイル&実行してみたのですが
aiboard.binが見つからないというエラーになってしまいました。
どうしたらいいんでしょう。すいません。
- 61 :
- 直接実行するんじゃなくて、囲連星から実行されるってのは分かってるのかな?
- 62 :
- >>60
あのサンプルはメールで問い合わせたときに
囲連星開発プログラマさんのご好意で作ってくれた
やつなのでサポート、苦情は無しでねと言われているので
ソース読んで理解出来る人は参考にって感じでお願いします。
- 63 :
- 関連スレにも書きましたが
先ほどとある出版社からメールが来ました。
とりあえずまだ確定ではないので名前は伏せておきますが
囲連星のゲームが雑誌に掲載されるかもしれません。
もし確定しましたら皆さんにもご案内しますので待っててください。
- 64 :
- >>63
新手のオレオレ詐欺じゃないことを祈る
- 65 :
- 今のところ振込依頼とかは来てないです
ただ逆にその後音沙汰もないです。
なんだったんだろ・・・。
- 66 :
- 決まったら教えてくれ。立ち読みするから
- 67 :
- 早く誰か作ってくれないかな、既存のじゃ弱いんだが
- 68 :
- Windows100%11月号に掲載されることになりました。
今月中旬くらいに本屋に並ぶと思うので立ち読みしてください。
- 69 :
- http://game10.2ch.net/test/read.cgi/gameama/1144035039/966-969
- 70 :
- 岐阜チャレンジ出てみるのも手だったかも。
対戦相手のAIが普通に7手打った所で囲連星のAIが7連作ってお終い。
で棄権。
ちょっとは話題になったかもね。
- 71 :
- 今日Windows100%が送られてきました。
意外と大きく紹介されててちょっと驚きでした。
11月号91ページです。
- 72 :
- 俺のゲームも載ってたwwww
雑誌?
送られてこねぇよwwwwwwwwww
- 73 :
- >>72
載せる時に許可取るメールみたいなの来なかった?
そこに雑誌いる?見たいなことが書いてあったので
「要る」って返信したら送られてきた。
なんか無許可では掲載しないような感じだったけどどうなんだろね
- 74 :
- つか、sageを覚えようぜ
メール欄にsageと記入すればOK
- 75 :
- こうですか?わかりません(><)
なんかHPの掲示板に載せるから許可クレって書き込みがあったから
イイヨーって返信した。それ以後連絡なし。アレ?まあいいや立ち読みで確認したし
- 76 :
- >>75
そうそう。イイヨーって返信する時に雑誌欲しかったら住所と名前
教えてねってあったからそれを書いてイイヨーって返信した。
それ以降連絡なしは同じかな。
- 77 :
- 囲連星のAI作ったら20万もらえるのか
ttp://irensei.com/html/ai.html
小銭稼ぎになるか
- 78 :
- GNUGOをポートすりゃいいのでは?
- 79 :
- DLLはcdeclか
stdcallの方がアンダースコア絡みで悩まなくて済むのに
- 80 :
- stdcallだとVC系の方が_hoge@numになるんだったっけ…
cdeclにしろstdcallにしろdefで対応すれば問題ないのかな
あとで試してみよう
- 81 :
- でも20万はでかいよな
- 82 :
- ageるな、何度いったら分かるんだ
- 83 :
- sage進行なのかここ?不明だからsageとくけど
- 84 :
- AI作る以前に思考が追いつかない。
>>31や>>40が必勝ってのがわからん。
- 85 :
- 囲碁の死活がわからないとどうしようもないのでは
囲碁板へどうぞ
- 86 :
- >>84
>>31は、このあと白が壱、二、三or四に打って
7を作るのを黒は阻止できない
(黒が壱に打っても白五で取られてしまう)
白より早く7を作れる箇所もないので黒の負け。
┏┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┯┓
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼三┼●┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○●●┼○┼┼┼┼┼┼┨
┠┼┼+┼┼五壱○●○○┼┼┼+┼┼┨
┠┼┼┼┼┼┼二○○●○●┼┼┼┼┼┨
┠┼┼┼┼┼┼☆●┼●●┼┼┼┼┼┼┨
┠┼┼┼┼┼┼○┼┼┼┼●┼┼┼┼┼┨
┠┼┼┼┼┼┼四┼┼┼┼●○┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼●┼┼┼┨
┠┼┼+┼┼┼┼┼+┼┼┼┼┼+┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┨
┗┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┷┛
- 87 :
- >>40は☆の行に白が7を作るのを
黒は阻止できない(黒が壱に打てば白二、
黒三なら白四で結局取られる)
黒が他に白より早く7を作れる箇所がないなら白の勝ち
┠┼┼┼┼┼●┼┼┼┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼○○○○○●●┼┼┼┼┼┨
┠┼┼┼┼☆┼┼壱三┼○┼┼┼┼┼┼┨
┠┼┼┼┼┼┼┼二四┼┼┼┼┼┼┼┼┨
- 88 :
- >>86
>>87
わかりやすい解説ありがとうございます。
慣れるまでは、勝てるかどうか判断するのに時間がかかりそうです
- 89 :
- ageるよ。
俺が思うにもし完成した場合には中途半端な強さじゃなくて
すごい強いか無茶苦茶弱いかのどっちかだと思うんだけど
そういうもんじゃないの?プログラマの人教えて
- 90 :
- そんな簡単にむちゃくちゃ強いのなんか出来んよ
- 91 :
- だろうな。ただ五目並べとオセロは必勝法があるんだよな。
先手必勝だったと
そう考えるとその必勝法さえ見つければそれをプログラムすれば
おっけーってわけだ
- 92 :
- >>91
その必勝法がなかなか見つからないけどな
- 93 :
- > プログラムソースの公開は、囲連星プログラムの改良を目的としています。
> そのため、第三者がこのソースを利用し作成したプログラムもまた
> オープンソースとして公開することを義務づけます。
AI作るときにAI用に提供されているAPI使った場合もソース公開しないといけないのかな?
- 94 :
- どうだろうな。
DLL との通信に必要な部分は、さすがに問題ないだろう。
ユーティリティーは、あれ使ってる間は、別に公開して困るレベルじゃないんじゃない?
まあでも、内蔵 AI のソースを流用するならともかく、API つーてるのを使ってライセンス汚染はキツい気がするな。
GUI 部分のソースはどーでもいいし。
>>91
オセロ解明されたの?!!
しかも後手じゃないんだ!
俺が知ってるのは、十数手以内にどっちが勝つか分かるって話だったけど。
ソースあったらくれ。
- 95 :
- >>94
APIの使用は問題ないと思いたいですね
> ユーティリティーは、あれ使ってる間は、別に公開して困るレベルじゃないんじゃない?
確かにそうかも
練習として棋譜再生DLLを作ってみました
(AIではありませんが…)
囲連星上で棋譜の確認が出来ると以外何もありませんが、
興味があったら使ってみてください
http://gamdev.org/up/img/8017.zip
- 96 :
- ×出来ると以外
○出来るという以外
- 97 :
- >>95
ツール作成ありがとうございました。
公式HPにアップしてもよいですか?
あとライセンスや著作権についてですが
一応ライセンス云々と書いていますが
基本的に作成者のご希望を優先しますのでとりあえず
気にせずガンガン開発してもらえるとうれしいです。
- 98 :
- >>97
> 公式HPにアップしてもよいですか?
こんなものでよろしければ、好きなようにして下さって構いません
> 基本的に作成者のご希望を優先しますのでとりあえず
> 気にせずガンガン開発してもらえるとうれしいです。
どこまで出来るかわかりませんが頑張ります
コンテストに応募できるくらいになればいいのですが…自信はありません
- 99 :
- >>98
もしわからない事がありましたら何でも聞いてください。
戦術、ルールなど答えられる限り対応させてもらいます。
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
シューティングゲーム(非FPS)製作技術総合 (902)
RPGツクール2000のための… (656)
NScripter Ver.18.00 (601)
ToHeart2 ほか AquaPlus/LeafのGPLゲーをいじるスレ (817)
C# C# C♯ でゲームを作ろう Part2 (328)
FF11製作スレ (314)
--log9.info------------------
ノストラダムスになるスレ (591)
多汗症の人いる?・・・ (316)
今日食べたものを書くスレ-4食目- (794)
('(゚∀゚∩ なおるよ! のほ板だよ! (256)
のほほんダメ人間の好きな言葉・嫌いな言葉 (135)
O型っていい人が多いと思う (844)
「〜ですが、何か?」13 (744)
こんな年になって発達障害と発覚\(^o^)/ (312)
やる気が出ない (660)
のほだめ結婚相談所 (114)
1が全レスでおまいらの愚痴を聞くスレ inのほだめ (930)
お断りします (409)
ヾ( >∀<)ノキャイキャイッ←これで1000目指すスレ (406)
悲しみは果てなく… (506)
関西っ子集合!マターリしようや♪2 (223)
【皆で】普段使わないAA【遊ぼう】4 (241)
--log55.com------------------
【MBS】アッパレやってまーす!火曜日 Part12
【ニッポン放送】飯田浩司のOK! Cozy up! 【AM1242 FM93】2人目
【宇多丸】アフター6ジャンクション 第3球【TBS・アトロク】
【MBS】アッパレやってまーす!月曜日 & オレたちやってマンデー Part2
アルコ&ピース D.C.GARAGE ☆18
三四郎のオールナイトニッポン0(ZERO)★32
【宇多丸】アフター6ジャンクション 第4球【TBS・アトロク】
オレたちゴチャ・まぜ!〜集まれヤンヤン〜 Part34