5路盤

COSUMIで5路盤の対局もできるようにしました。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

黒白が共に最善を尽くして生き生きにならない5路盤というのは、囲碁は相手を全滅させるゲームだと勘違いしかねないので、入門者にとってあまり良いものではないと、今までずっと思っていました。ところが、COSUMIの6路盤の対局の棋譜を見ていると、COSUMIが相手を全滅させている棋譜が山ほどあるんですね。あまりしっかりと調べたわけではないですが、1回2回ではどころではなく、10回20回と連続で全滅させられている人だってかなりの数居そうです(完全な初心者には、そんなのぜんぜん仕方のないことですが…)。なので、相手を全滅させるゲームだと勘違いしかねないのは6路盤から始めても同じことのような気がするし、どうせならちょっとでも早く人生最初の勝利を挙げてもらいたいので、今回COSUMIに5路盤の対局ゲームを追加することにしました。本当にこれで良かったのか、自信があるわけではないですが…

明らかにおかしな手を打ったり、諦めが異常に早かったりする時がありますが、ある程度は近いうちに修正しますのでちょっと待っててください。

天頂の囲碁2

2010.08.03  |  囲碁  |  Comments (0)

[以前の関連記事] : Zenが商品化されるらしい

新しいバージョンの天頂の囲碁が発売されるようです。MYCOMのサイトにはまだ載ってませんが、もうすでにAmazonでは予約可能となっています発売予定日は2010年8月27日とのこと。

商品紹介も引用しておくと、

世界大会を制した前作との対戦勝率80%超。1子分の棋力向上を実現し、最高棋力「三段」の設定が可能。応手の早い思考ルーチンに「長考モード」を搭載、時間をかけて最強モードに挑戦できるメニューを用意。序盤の布石、棋風バランス、置き碁の挙動や投了のタイミングなども改良。

ということです。初代天頂の囲碁は、軽快に動作するけど中身がZenにもかかわらずそれほど強くなかったらしいのですが、今回のバージョンは実際どんな感じでしょうか?

[追記 2010/8/26]
MYCOMのサイトにも載りました。

MYCOM GAME WEB 天頂の囲碁2
http://soft.mycom.co.jp/pcigo/tencho2/index.html

祝10万敗

COSUMIが10万敗を達成しました! たくさん負けたなあと喜んでおります(笑)。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

次の目標は、志を大きく100万敗です。ちなみに、ハム将棋は今現在、平手だけで(!)2,849,752敗だそうです。うーん、「ハム囲碁」への道のりは遠い…

定石アップデート 9路盤-26383局面 11路盤-12327局面 13路盤-15919局面 15路盤-8017局面

COSUMIの定石をアップデートしました。今現在、9路盤が26383局面分、11路盤が12327局面分、13路盤が15919局面分、15路盤が8017局面分です。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

こっちの方の定石もずっと直し続けていますので、よかったら遊んでみてください。ばかな負け方は、かなり少なくなってきています。ただ、COSUMIが負けたけどどの手が悪かったのか私の棋力ではわからない棋譜が手元に残り始めてますので、そろそろ他人様にすがりたい感じ… また今度、このブログの記事にまとめるので、碁の強い方に教えていただけるとありがたいです。

今回は、定石以外もいろいろ微調整してみました。全体的に良くなったんじゃないでしょうか?

それから、最近アクセスがめちゃくちゃ増えてきました。またサーバを替えないといけないんですが、来月出るらしいWestmere-EPことXeon 5600番台が2発載ったサーバ、良いタイミングでさくらから出てきたりしないですかね? とにかく、安くてCPUが速いサーバが欲しいです。

Fuego 0.4.1リリース

かなりいまさらな話ですが、去年の年末にFuegoの新しいバージョン、0.4.1がリリースされています。

Fuego
http://fuego.sourceforge.net/

Windows用のバイナリが手に入ったら、またテストしてみたいと思いますが、以前のバージョンよりもいくらか強くなっているようです。

COSUMIでも、この新しいバージョンに変更済みです。

[追記 2010/4/4]
バージョン0.4.1と0.4を、13路盤で

uct_param_player max_games 10000

として、先後を換えて50局ずつ計100局対戦させてみました。

結果は、

Fuego 0.4.1 55勝 – 45勝 Fuego 0.4

となりました。実際に強くなっているのは間違いないらしいのですが、この結果はかなり微妙… 消費時間はほとんど変わりませんでした。

目隠し碁

COSUMIに「目隠し碁」の対局ゲームを作ってみました。

目隠し碁
http://www.cosumi.net/blindfold.html

目隠し碁というのは、その言葉どおり目隠しして行う囲碁の対局のこと。NHKの番組でやっている脳内将棋の囲碁版と言えば、分かる人には分かってもらえると思います。チェスでもblindfold chessと呼ばれ、古くからあったみたい。みんな考えることがいっしょですね。

今回のゲームは着手を目で確認するので、本当に目隠しして打つ碁よりは少し楽かなと思いますが、それでも相当難しいです。私も何度かやってみましたが、9路盤ならなんとかなるだろうと思っていたのに、それすらままならない…(泣) 同じ9×9でも、同じ手数なら将棋の方がだいぶ簡単だと思いました。

自信のある方は、ぜひ一度遊んでみてください。挑戦、お待ちしています!

Flashな囲碁の棋譜ビューア Goswf

Goswfは、自分のウェブサイトで囲碁の棋譜を再生することができる、Flashでできた棋譜ビューアです。この手のソフトとしては、ほとんど完璧だと思います。

Gludion – Go game
http://www.gludion.com/go/

特徴を箇条書きしてみると

  • グラフィックがきれい
  • UIが分かりやすい
  • 表示サイズを変えられる
  • 色を変えられる
  • 棋譜の分岐に対応している
  • 日本語が通る
  • Flashでできている

と、いいことづくし。囲碁版KiFLAもすばらしいですが、こっちの方が個人的には好みです。

[追記 2009/12/5]

紹介だけでなく、このソフトの使い方も簡単に書いておきます。

上に貼り付けたのは、こんな感じのソースになっています。

<object data="http://www.perfectsky.net/flash/goswf.swf"
        type="application/x-shockwave-flash"
        width="520"
        height="390">
<param name="movie"
       value="http://www.perfectsky.net/flash/goswf.swf" />
<param name="FlashVars"
       value="url=http://www.perfectsky.net/misc/kifu/20091129.sgf&amp;move=127" />
</object>

FlashVarsurlでSGFファイルへのパスを、moveで初期表示局面が何手目かを指定します。ブログなどに貼り付ける場合は、urlは絶対パスの方がいいでしょう。棋譜の一番最後の手を初期表示局面にする場合は、moveを手数を超える大きな数字にするのが簡単で便利です。moveは必須ではありません。省略すると、対局開始時(0手目)が初期表示局面になります。

色を変えるには、navbgを指定します。色の濃い水色の部分がnavで、色の薄い水色の部分がbgです。

<object data="http://www.perfectsky.net/flash/goswf.swf"
        type="application/x-shockwave-flash"
        width="520"
        height="390">
<param name="movie"
       value="http://www.perfectsky.net/flash/goswf.swf" />
<param name="FlashVars"
       value="url=http://www.perfectsky.net/misc/kifu/20091129.sgf&amp;move=127&amp;nav=4a8c48&amp;bg=cae6b2" />
</object>

高さより横幅が大きいと横長レイアウト、横幅より高さが大きいと縦長レイアウトに自動的になります。横長レイアウトの場合は、横幅と高さを4:3の比率にしないと無駄な余白ができ、縦長レイアウトの場合は、高さが横幅より十分に大きくないと下が少し切れてしまいますので注意してください。

<object data="http://www.perfectsky.net/flash/goswf.swf"
        type="application/x-shockwave-flash"
        width="390"
        height="520">
<param name="movie"
       value="http://www.perfectsky.net/flash/goswf.swf" />
<param name="FlashVars"
       value="url=http://www.perfectsky.net/misc/kifu/20091129.sgf&amp;move=127" />
</object>

以上、簡単な使い方の解説でした。

[追記 2010/4/4]

最近のバージョンでは、棋譜を直接ソースに書き込むことができるようになっています。

<object data="http://www.perfectsky.net/flash/goswf.swf"
        type="application/x-shockwave-flash"
        width="520"
        height="390">
<param name="movie"
       value="http://www.perfectsky.net/flash/goswf.swf" />
<param name="FlashVars"
       value="url=(;GM[1]FF[4]PB[安田秀策]PW[井上因碩]SZ[19]KM[0]RE[B+]
              ;B[qd];W[dc];B[pq];W[oc];B[cp];W[cf];B[ep];W[qo];B[pe];W[np];B[po];W[pp];B[op];W[qp];B[oq];W[oo]
              ;B[pn];W[qq];B[nq];W[on];B[pm];W[om];B[pl];W[mp];B[mq];W[ol];B[pk];W[lq];B[lr];W[kr];B[lp];W[kq]
              ;B[qr];W[rr];B[rs];W[mr];B[nr];W[pr];B[ps];W[qs];B[no];W[mo];B[qr];W[rm];B[rl];W[qs];B[lo];W[mn]
              ;B[qr];W[qm];B[or];W[ql];B[qj];W[rj];B[ri];W[rk];B[ln];W[mm];B[qi];W[rq];B[jn];W[ls];B[ns];W[gq]
              ;B[go];W[ck];B[kc];W[ic];B[pc];W[nj];B[ke];W[og];B[oh];W[pb];B[qb];W[ng];B[mi];W[mj];B[nd];W[ph]
              ;B[qg];W[pg];B[hq];W[hr];B[ir];W[iq];B[hp];W[jr];B[fc];W[lc];B[ld];W[mc];B[lb];W[mb];B[md];W[qf]
              ;B[pf];W[qh];B[rg];W[rh];B[sh];W[rf];B[sg];W[pj];B[pi];W[oi];B[oj];W[ni];B[qk];W[ok];B[qe];W[kb]
              ;B[jb];W[ka];B[jc];W[ob];B[ja];W[la];B[db];W[cc];B[fe];W[cn];B[gr];W[is];B[fq];W[io];B[ji];W[eb]
              ;B[fb];W[eg];B[dj];W[dk];B[ej];W[cj];B[dh];W[ij];B[hm];W[gj];B[eh];W[fl];B[fg];W[er];B[dm];W[fn]
              ;B[dn];W[gn];B[jj];W[jk];B[kk];W[ii];B[ik];W[jl];B[kl];W[il];B[jh];W[co];B[do];W[ih];B[hn];W[hl]
              ;B[bl];W[dg];B[gh];W[ch];B[ig];W[ec];B[cr];W[fd];B[gd];W[ed];B[gc];W[bk];B[cm];W[gs];B[gp];W[li]
              ;B[kg];W[in];B[lj];W[lg];B[gm];W[jf];B[jg];W[im];B[fm];W[kf];B[lf];W[mf];B[le];W[gf];B[hf];W[ff]
              ;B[gg];W[lk];B[kj];W[km];B[lm];W[ll];B[jm];W[ge];B[he];W[ef];B[ea];W[cb];B[fr];W[fs];B[dr];W[qa]
              ;B[ra];W[pa];B[rb];W[da];B[gi];W[fj];B[fi];W[fa];B[ga];W[gl];B[ek];W[em];B[ho];W[el];B[en];W[jo]
              ;B[kn];W[ci];B[lh];W[mh];B[mg];W[di];B[ei];W[lg];B[qn];W[rn];B[re];W[sl];B[mg];W[bm];B[am];W[lg]
              ;B[eq];W[es];B[mg];W[ha];B[gb];W[lg];B[ds];W[hs];B[mg];W[sj];B[si];W[lg];B[sr];W[sq];B[mg];W[hd]
              ;B[hb];W[lg];B[ro];W[so];B[mg];W[ss];B[qs];W[lg];B[sn];W[rp];B[mg];W[cl];B[bn];W[lg];B[ml];W[mk]
              ;B[mg];W[pj];B[sf];W[lg];B[nn];W[nl];B[mg];W[ib];B[ia];W[lg];B[nc];W[nb];B[mg];W[jd];B[kd];W[lg]
              ;B[ma];W[na];B[mg];W[qc];B[rc];W[lg];B[js];W[ks];B[mg];W[hc];B[id];W[lg];B[fk];W[hj];B[mg];W[hh]
              ;B[hg];W[lg];B[gk];W[hk];B[mg];W[ak];B[lg];W[al];B[bm];W[nf];B[od];W[ki];B[ms];W[kp];B[ip];W[jp]
              ;B[lr];W[oj];B[mr];W[ea];B[sr])
              &amp;move=127" />
</object>

15路盤

COSUMIで15路盤の対局もできるようにしました。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

いろいろ考えてこうしました。本当にいろいろ考えて… 強さは期待しないでください。前も同じことを書いたのですが(笑)、これより大きな碁盤サイズに対応することはたぶんないです。

悪手を指摘してくれる機能を付けてみました

COSUMIの6路盤~8路盤の対局リプレイ時に、どの手が悪手だったか、代わりにどこに打てば良かったかを表示するようにしてみました。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

要するに、こんな感じ。初心者の方に喜んでもらえそうな、かなり良い機能だとは思うのですが、要チューニングではあります。下手すると、左右対称の局面で「右に打つな、左に打て」とか言い出しかねない…(笑) 初手から最後の手まで、きっちりと調べているわけでもありません。あまり信用し過ぎないようにしてください。

Zenが商品化されるらしい

2009.08.04  |  囲碁  |  Comments (0)

前回のコンピュータオリンピック囲碁19路盤の部で優勝した、例のめちゃくちゃ強い囲碁ソフト「Zen」が、毎日コミュニケーションズから「天頂の囲碁」という名前で商品化されるようです。発売予定日は9月18日とのこと。

今までは、ちょっと闇に包まれていた感のあったZenですが、やっぱり強いんでしょうねえ… 商品化にあたって、どんな棋風にチューニングされているのか楽しみです。まあ、買うってわけではないんですが…(笑)

[以後の関連記事] : 天頂の囲碁2

[追記]
MYCOMのサイトにも載りました。

MYCOM GAME WEB 天頂の囲碁
http://soft.mycom.co.jp/pcigo/tencho/index.html

COSUMIでFuegoをテスト中…

現在、COSUMIでFuegoの使用をテストしています。正直、何も問題が起こらないとは思えないのですが、もし、うまく行きそうならこのまま継続してFuegoを使い続ける予定です。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

Fuegoを使うと言っても、基本は今までどおりGNU Goで、特定の場合のみFuegoに考えさせるだけです。どのような条件の時にFuegoを使うかは、今現在、詰めているところです。

しかし、9路盤なんかは相当強くなってるんじゃないでしょうか? Fuegoを使うのならば、サーバを新しいのにしたくなりますねえ…

[追記]
特に何も問題は発生しないようなので、このままFuegoを使い続けようと思います。どういう場合にGNU GoではなくFuegoを使うかの大まかな条件は、

  • サーバの負荷がそれほど高くない時で
  • 9路盤~13路盤で
  • 最序盤ではなくて
  • 終盤でもなくて
  • 形勢がどちらかに大きく傾いていない時

って感じです。ただ、大変ありがたいことに、ここ最近アクセスがだいぶ増えてきたので、サーバ負荷は常にけっこう高めなんですよね…(笑) そろそろサーバを替えなきゃだめかな?

定石アップデート 9路盤-23385局面 11路盤-10051局面 13路盤-10881局面

COSUMIの定石をアップデートしました。今現在、9路盤が23385局面分、11路盤が10051局面分、13路盤が10881局面分です。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

合わせて、対局結果の判定が不正確になりやすかった不具合を修正しました(これは気づいてほんと良かった…)。GNU Goも間違う時はあるので、どうがんばっても100%正確ってわけにはいかないのですが、少なくとも以前よりはましになっているはずです。

第14回コンピュータオリンピック

2009.05.17  |  Fuego,MoGo,囲碁,将棋  |  Comments (0)

[以前の関連記事] : MoGoとFuegoを対戦させてみた

現在、スペインのパンプローナで、第14回コンピュータオリンピックという大会が行われています。チェスや囲碁などのテーブルゲームの大会のコンピュータ版なんですが、囲碁の9路盤と19路盤がもうすでに終了して結果が出ました。

14th コンピュータオリンピック, 囲碁 (9×9) – パンプローナ 2009 (ICGA トーナメント)
http://www.grappa.univ-lille3.fr/icga/tournament.php?id=194&lang=3

14th コンピュータオリンピック, 囲碁 – パンプローナ 2009 (ICGA トーナメント)
http://www.grappa.univ-lille3.fr/icga/tournament.php?id=193&lang=3

9路盤は1位Fuego、2位MoGo、3位Yogo、19路盤は1位Zen、2位Fuego、3位MoGoとなりました。9路盤はFuegoとMoGoの2強の戦い、19路盤は先の2つにZenを加えた3強の戦いといった感じだったようです。

しかし、Fuego強いです。9路盤と19路盤の両方でMoGoの上を行ったというのは相当ですね。まあ、Xeon E5450が8発ってのは若干反則気味ですが…(笑) 自腹で用意したんでしょうか?

そして、19路盤でそのFuegoのさらに上を行ったZenですが、CGOSでも抜群の強さを見せています。KGSのZen19ってアカウントがこのソフトだと思うのですが、ランクは1dだそうです。すごいですねー この大会のウェブサイト見て初めて知ったのですが、Zenの作者はYamatoさんという日本人の方だそうです。

今大会には将棋も競技としてあったのですが、参加はたったの2チームだけだったようです(ちょっとさびしい…)。TACOSが出て優勝しています。

[追記]
Fuego開発者の方の、詳細な大会レポートが出ています。ハードウェアはIBMが用意してくれたみたいですね。

Fuego at the Computer Olympiad in Pamplona 2009: a Tournament Report(PDF)
http://www.cs.ualberta.ca/TechReports/2009/TR09-09/TR09-09.pdf

大会に参加したのとほぼ同じ内容のFuegoの安定版、バージョン0.4もリリースされています。

MoGoとFuegoを対戦させてみた

2009.05.14  |  Fuego,MoGo,囲碁  |  Comments (0)

[以前の関連記事] : 囲碁思考エンジンFuegoについて調べてみた

以前Windows上で上手くいかなかったMoGoとFuegoの(連続)対戦を、Linuxで試してみました。今度は成功です。

Sylvain GELLY’s Home Page
http://www.lri.fr/~gelly/MoGo.htm

Fuego
http://fuego.sourceforge.net/

MoGoは、こちらページの’MoGo on linux’のリンクからダウンロードしてきました。碁盤サイズごとに

--9 --time 10--13 --time 10--19 --time 10

と実行時にオプションをつけています。--timeオプションは2つのソフトの時間のバランスをとるためにつけました(バランスがとりきれてませんが…(笑))。Fuegoはソースコードをダウンロードして自分でコンパイルしました。バージョンは0.3.2、実行時のオプションは何もつけていません。使用したPCのOSはCentOS 5.3、CPUはAthlon X2 BE-2400。それぞれの碁盤サイズごとに、先後を換えて10局ずつ計20局対戦させました。コミは6目半。カッコ内は、一局あたりの平均消費時間です。強さを調べるのにはちょっと対局数が少ないですが、時間がかなり掛かるので、このあたりで勘弁してください…

9路盤 MoGo(179.6sec) 10勝 – 10勝 Fuego(174.5sec)
13路盤 MoGo(361.1sec) 13勝 – 7勝 Fuego(448.0sec)
19路盤 MoGo(763.3sec) 13勝 – 7勝 Fuego(908.2sec)

Fuegoが思ったより強くて驚きです。碁盤サイズが小さい方が得意なんでしょうか? 大会などに出ているMoGoは、今回のバージョンよりもたぶんもっと強いんだと思いますが、Fuegoもこれから期待できそうです。ちなみに対局結果は全て中押しでした。

最後に、19路盤の棋譜をMoGoが勝ったのとFuegoが勝ったのと1つずつ置いておきます。たくさんあった棋譜の中からこの2つを選んだのには、特に意味はありません。

[黒]MoGo vs [白]Fuego : 黒(MoGo)中押し勝ち
[黒]Fuego vs [白]MoGo : 黒(Fuego)中押し勝ち

[以後の関連記事] : 第14回コンピュータオリンピック

「囲碁用語辞典」を作ってみました

2009.04.29  |  ウェブ制作,囲碁  |  Comments (0)

囲碁で使われる専門用語の意味を解説したウェブサイトを作ってみました。似たような内容のサイトは、もちろんすでにたくさんあるんですが、どうも、ここっていう感じのものが無かったので、ちょっとがんばってみました。

囲碁用語辞典
http://www.godictionary.net/

最初は簡単にできるだろうと考えていたんですが、思っていたよりもはるかに時間が… またおいおい追加・修正はしていきたいと思います。

それにしても、囲碁の専門用語ってへんちくりんなのが多い(笑)。

定石アップデート 9路盤-20996局面 11路盤-8628局面 13路盤-7672局面

COSUMIの定石をアップデートしました。今現在、9路盤が20996局面分、11路盤が8628局面分、13路盤が7672局面分です。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

9路(以下)はだいぶましになってきたと思うんですが、11路と13路はもうこれ以上がんばっても無駄かも…

GNU Go 3.8

2009.02.23  |  GNU Go,囲碁  |  Comments (0)

GNU Goの新しい安定版、バージョン3.8がリリースされています。

GNU Go – GNU Project – Free Software Foundation (FSF)
http://www.gnu.org/software/gnugo/

ソースコードは、こちらからダウンロードできます。

早速、実力をチェックするために、以前の安定版、バージョン3.6と対戦させてみました。

GNU Goは、両方のバージョンとも自分でコンパイルしました。使用したPCのOSはWindows XP、CPUはAthlon X2 BE-2400。それぞれの碁盤サイズごとに、先後を換えて50局ずつ計100局対戦させました。コミは6目半。カッコ内は、一局あたりの平均消費時間です。

9路盤 GNU Go 3.6(9.1sec) 53勝 – 47勝 GNU Go 3.8(9.0sec)
13路盤 GNU Go 3.6(35.0sec) 49勝 – 51勝 GNU Go 3.8(32.9sec)
19路盤 GNU Go 3.6(132.5sec) 45勝 – 55勝 GNU Go 3.8(135.8sec)

うーん、全く進化してない…(笑) GNU Goの開発は、このままフェードアウトしていくのでしょうか? ちょっと寂しいですね。

[追記]
Windows用のバイナリはこちらからダウンロードできます。

6路盤・8路盤

COSUMIで6路盤と8路盤の対局もできるようにしました。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

うーん、これはもっと早くやっておけば良かった… ついでに、GNU Goを新しく出たばかりのバージョン3.8に変更して、定石も少し追加しました。

囲碁思考エンジンFuegoについて調べてみた

2009.02.07  |  Fuego,GNU Go,MoGo,囲碁  |  Comments (6)

オープンソースで開発されている、Fuegoという囲碁思考エンジンを最近知ったのですが、このソフト、KGSで2kというかなりの実力らしいので、気になってちょっと調べてみました。

Fuego
http://fuego.sourceforge.net/

Fuegoは、GUIを持たないテキストベースのシンプルなコマンドですので、普通に対局しようとする場合は、別途GTPに対応したGUIフロントエンドが必要になります。

まずはヘルプ。

$ fuego -help
Options:
  -config file execute GTP commands from file before
               starting main command loop
  -help        display this help and exit
  -maxgames n  make clear_board fail after n invocations
  -nobook      don't automatically load opening book
  -nohandicap  don't support handicap commands
  -quiet       don't print debug messages
  -size        initial (and fixed) board size
  -srand       set random seed (-1:none, 0:time(0))

Fuegoは起動すると常に、GNU Goに--mode gtpオプションを付けた時と同じような、GTPな状態になります。囲碁のルールや強さ(考慮時間)などは、起動時のオプションで指定することができないようですが、起動後、GTPコマンドでFuegoに教えることができます。

囲碁のルールは、go_rulesコマンドで変更できます。いわゆる日本ルールにする場合は

go_rules japanese

とします。引数は他にもchinesecgoskgsがあり、デフォルトはchineseを指定したのと同じ状態になっているのですが、このchineseを指定した時のコウのルールは、スーパーコウルールとなっています。もしこのコウのルールだけを変更したい場合は、go_param_rulesコマンドを使って

go_param_rules ko_rule simple

のようにします。

go_param_rules

と引数を取らなければ、現在設定されているルールを詳細に表示します。

強さは、考慮時間を変更するtime_settingsコマンドを使って変更できます。たくさん考えさせると、その分強くなります。例えば

time_settings 0 30 1

とすると、一手30秒で考えるようになります。と言いたいところなんですが、バグっているのかなんなのか、この指定ではなぜだかデフォルトよりも大幅に早く手を返してきてしまいます。次のような指定は、うまくいくようです。意味は一局1000秒です。

time_settings 1000 0 0

time_settingsコマンドの詳しい使い方は、こちらのGTPの仕様を見てみてください。

ただ、GUIフロントエンドからFuegoを使う場合に、こういったGTPコマンドが送れなかったり、仮に送れても手間が掛かって面倒なことが多いと思います。そういう場合のために、起動時に実行したいGTPコマンドを記述したコンフィグファイルを用意し、そのファイルを-configオプションを使って読み込ませることができます。例えば、次のような内容のファイルを用意します。

go_rules japanese
time_settings 1000 0 0

そして、GUIフロントエンドの設定では次のようにします(今回はコンフィグファイル名をfuego.confとしました。path/to/は適宜変更してください)。

path/to/fuego -config path/to/fuego.conf

これで、日本ルールで一局1000秒考えるFuegoと対戦できます。

Fuegoには、終局後、対局結果を調べる機能がありますが(final_scoreコマンド)、正確でなかったり結果を返してこないことがたまにあるようですので、この機能を使って目数などの対局結果を表示するGUIフロントエンドを使う時は注意してください。なんかおかしいなと思ったら、自分で数えた方がいいかもしれません。ちなみに、GNU Goはこのあたりけっこうしっかりしていて、ほとんど間違うことはありません。

ということで、Fuegoの使い方はだいたい分かりましたので、今度はGNU Goと対戦させてその実力を調べてみたいと思います。本当はMoGoとさせたかったんですが、なぜか頻繁にエラーが出て止まってしまいうまくいきません(しかも、その後PCの調子が明らかにおかしくなる…)。原因がはっきりしなくて気持ちが悪いのですが、よく分からないので今回は諦めました。

対局に使用したFuegoとGNU Goは、どちらともこちらのサイトからダウンロードしてきました。Fuegoはバージョン0.3.1、GNU GoはMinGW版の3.7.13。両方のソフトとも基本的にデフォルトのままですが、日本ルールのときはFuegoに

go_rules japanese

とGTPコマンドを送り、中国ルールの時はGNU Goに--chinese-rulesオプションを付けました。使用したPCのOSはWindows XP、CPUはAthlon X2 BE-2400。連続対戦させるために、GoGuiに入っていたgogui-twogtpというソフトを使いました(このソフト、最終的な結果をHTMLファイルにまとめることができたりと、めちゃくちゃ便利です)。それぞれの条件ごとに、先後を換えて20局ずつ計40局。コミは6目半です。対局中に他の作業もしていましたので、消費時間や強さに影響が出ている可能性もあります。カッコ内は、一局あたりの平均消費時間です。

9路盤 日本ルール Fuego(159sec) 35勝 – 5勝 GNU Go(16sec)
19路盤 日本ルール Fuego(1016sec) 14勝 – 26勝 GNU Go(261sec)
9路盤 中国ルール Fuego(163sec) 36勝 – 4勝 GNU Go(16sec)
19路盤 中国ルール Fuego(1049sec) 29勝 – 11勝 GNU Go(257sec)

とりあえず、9路盤での強さは本物ですね。GNU Goが相手では、どれくらい強いのかがよく分からないレベルです(笑)。19路盤はちょっと微妙… ただ、時間を増やせばまだまだ強くなりそうな感じはします。それから、他のモンテカルロな囲碁ソフトと同じく、デフォルトの中国ルールの方がだいぶ得意なようです。でも、日本ルールでもそれなりに打てるのはすばらしい。ちなみに、MoGoなどと同じく、「半目勝ちか中押し負け」な対局結果がすごく多かったです。

一応、少しだけ採れたMoGoとの棋譜も置いておきます。4局とも、中国ルールの9路盤。MoGoは--9オプションを付けただけです。時間はMoGoがFuegoの2倍弱ほど使っていました。これだけの対局数ではどちらがどれくらい強いのかはっきりしたことが分かりませんが、とにかくやっぱりMoGoは強いです。

[黒]Fuego vs [白]MoGo : 白(MoGo)中押し勝ち
[黒]Fuego vs [白]MoGo : 白(MoGo)中押し勝ち
[黒]MoGo vs [白]Fuego : 白(Fuego)中押し勝ち
[黒]MoGo vs [白]Fuego : 黒(MoGo)中押し勝ち

[以後の関連記事] : MoGoとFuegoを対戦させてみた

[追記]
コメントで教えていただいたんですが、一手あたりの考慮時間はgo_paramコマンドでtimelimitパラメータを変更するといいようです。一手30秒で考えるようにするには、

go_param timelimit 30

とします。

それからuct_param_searchコマンドでnumber_threadsパラメータを変更すると、マルチスレッドで動くようです。例えば、

uct_param_search number_threads 2

とすると、スレッド数が2になります。マルチコアなCPUを使用時は、この設定をぜひ試してみてください。

[追記]
ハードウェアにも依存するらしいのですが、スレッド数を変更したら、

uct_param_search lock_free 1

ともしたほうが良いそうです。難しくて私にはよく分かりませんが、この設定でLock-freeモードというのになります。

[追記]
GoGuiを使ってFuegoと対局する方法の解説ページを作ってみました。よかったら見てみてください。

http://www.perfectsky.net/fuego/index.html

定石アップデート 9路盤-19788局面 11路盤-7828局面 13路盤-4144局面

COSUMIの定石をアップデートしました。今現在、9路盤が19788局面分、11路盤が7828局面分、13路盤が4144局面分です。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

ふー、けっこう大変…(笑)

定石アップデート 9路盤-17984局面 11路盤-7514局面 13路盤-3656局面

COSUMIの定石をアップデートしました。今現在、9路盤が17984局面分、11路盤が7514局面分、13路盤が3656局面分です。

オンライン囲碁 COSUMI
http://www.cosumi.net/

COSUMIが負けた棋譜を数百局並べましたが、うーんGNU Goってこんなに弱かったっけ?(笑) まあ、負けてる対局ばかり見ているからかもしれませんが、9路以下はともかく、それより大きな碁盤サイズでは、いくら定石を用意しても後ろのソフトががんばってくれないとどうしようもありません。もうちょびっと強くなってくれるとうれしいんですが…

7路盤スペシャルバージョン

囲碁は5路盤までコンピュータで完全に解析されていますが、それより大きなサイズでは、7路盤までがある程度しっかりと人力で調べられていて、お互いが最善を尽くすと先番9目勝ちだと言われています。ということで、それが本当に正しいのか確かめるためにこんなものを作ってみました。

7路盤スペシャルバージョン
http://www.cosumi.net/seven.html

ただのコミ9目の7路盤ですが、このページでCOSUMIが負けた棋譜は全て保存しています。そして、その棋譜に後から目を通して、同じ間違いをしないように正しい手を定石に追加していきたいと思います。時間は掛かると思いますが、いつか(持碁になる時はあっても)負けなくなるでしょう。可能性はかなり低いですが、もしかしたら新しい妙手が見つかるかもしれません。最終的に、ある程度ちゃんとした定石が出来上がれば、SGFファイルにして公開したいと思います。7路といっても想像以上に難解で、自分の棋力が足りるのかがちょっと心配ですが…

7路盤については、こちらのページがとても詳しいです。

七路盤の研究
http://tokyo.cool.ne.jp/keioigo/7ro/

だいたいこれで、COSUMIでやってみたかったことは全て終わりました。後は、時間のある時に少しずつ定石を増やして、強く・面白くしていきたいと思います。

対局リプレイ

COSUMIで、対局後に対局のリプレイを見ることができるようになりました。

オンライン囲碁 COSUMI
http://www.cosumi.net/

対局リプレイのURLはその対局固有のものになっていて、とりあえずブックマークに入れておいて後からゆっくり見たりすることができます。さらに、他の人に見てもらうこともできるので、友達にメールで送ったり、ブログに載せたりして見てもらうのもいいかもしれません。「そうは言うけど、URLがちょっと長すぎるよ!」って人は、TinyURLのようなURL短縮サービスでも使ってください。余談ですが、この手のサービスが最近ほんとたくさんあるんですね。セキュリティなんかが少し気になるところです。

主なURL短縮サービス14個の長所と短所(その1) | Web担当者Forum
http://web-tan.forum.impressrd.jp/e/2008/10/06/4134
主なURL短縮サービス14個の長所と短所(その2) | Web担当者Forum
http://web-tan.forum.impressrd.jp/e/2008/10/07/4135
主なURL短縮サービス14個の長所と短所(その3) | Web担当者Forum
http://web-tan.forum.impressrd.jp/e/2008/10/08/4136

話し戻って対局リプレイですが、URLのパラメータを変更することで、COSUMIで打った対局以外の棋譜のリプレイも見ることができるようになります。URLを見ればだいたいの意味は分かると思いますが、よければこちらも参考にしてみてください。13路盤までしか対応していないのがなんですが、自由に使っていただいてかまいません。

[追記]
対局リプレイを19路盤にも対応させました。さらに、手持ちのSGF形式の棋譜をこの機能を使って再生できるように、簡単なウェブフォームも用意しました。棋譜を貼り付けて送信すると、その棋譜に応じたURLへリダイレクトします。何かの時に少しは便利かもしれません。

http://www.cosumi.net/sgf2replay.html

自前のSGFのパーサはあまり賢くないので、そこは大目に見てください(笑)。

13路盤

COSUMIで13路盤の対局もできるようにしました。

オンライン囲碁 COSUMI
http://www.cosumi.net/

定石はとりあえず3228局面分用意しました。時間がある時にまた追加します。併せて、COSUMI APIも13路盤まで対応しました。

これより大きな碁盤に対応することは、たぶんもうありません(笑)。

定石アップデート 9路盤-15676局面 11路盤-6862局面

COSUMIの定石をアップデートしました。今現在、9路盤が15676局面分、11路盤が6862局面分です。

オンライン囲碁 COSUMI
http://www.cosumi.net/

全部ではないですが、COSUMIが負けた棋譜をひとつひとつ並べて調べて、定石を追加・修正しました。これで少しはましになったかな? これからも、この方法で少しずつ改善させていくつもりです。

とっても囲碁なWeb APIを作ってみました

囲碁の棋譜を送るとその次の一手を考えて返すという、とっても囲碁なWeb APIを作ってみました。今現在のところ、9路盤と11路盤のみにしか対応してませんので使い道はかなり限られると思いますが、このWeb APIを利用した楽しい「なにか」を、だれかが作ってくれたらうれしいです。

囲碁Web API 「COSUMI API」
http://www.cosumi.net/api.html

このWeb APIは、あくまでサーバのリソースが余っていたら仕事するって感じなので、サーバが過負荷な状態の時は手を考えないでエラーレスポンスを返すようになっていますが、今現在ならほぼ24時間いつでも正常にレスポンスを返せると思います。こういうWeb APIは継続してサービスを提供し続けることがすごく大切だと思うので、約束は一切できませんが、できるだけ長い期間使えるようにがんばります!

「仕様がおかしい!」とか、「仕様どおりに動いてない!」とかがあればぜひ教えてください。それもできるだけがんばって直してみたいと思います。

[追記]
13路盤にも対応しました。

定石アップデート 9路盤-14148局面 11路盤-5246局面

COSUMIの定石をアップデートしました。今現在、9路盤が14148局面分、11路盤が5246局面分です。

オンライン囲碁 COSUMI
http://www.cosumi.net/

気力はあるんですが、棋力がそろそろ限界です…(笑) もう少し詰碁の勉強とかやらないとだめですね。

11路盤

COSUMIで11路盤の対局もできるようにしました。

オンライン囲碁 COSUMI
http://www.cosumi.net/

このところ7路盤や9路盤ばかり見ていたので余計にそう感じるのですが、11路盤ってけっこう広いですねー 2路しか違わないのに、明らかに9路盤とは違う感覚が要求されるような気がします。なんだかもう、初手からしてどこに打っていいのかよく分からないような状態なんですが(笑)、とりあえず2590局面分の定石をなんとか用意しました。ついでに9路盤も定石を追加・整理して、こちらは今現在11352局面分です。GNU Goの11路盤はなんだかちょっとあやしい感じがあるので、できるだけ定石でごまかしてしまいたい(笑)。

「オンライン囲碁 COSUMI」始めました

コンピュータと対局できるオンライン囲碁サイトを、GNU Goを使って作ってみました。かなり以前からやってみたかったのですが、これがなかなかたいへんで、ひとまず公開できて今は少しほっとしています。

オンライン囲碁 COSUMI
http://www.cosumi.net/

とりあえず今は、7路盤と9路盤が遊べます。初心者向けですね。基本はGNU Goなんですが、それとは別に独自に用意した定石からも手を探すので、対局ごとにいろいろな形になる分、普通にGNU Goと対局するよりは面白いかもしれません(たぶん、ちょっぴり攻撃的です)。ちなみに今現在、9路盤の定石が10908局面分入ってます(対称形を重複して数えてますので、実質的にはもっと少ないですが…)。

今後、「定石を充実させてもう少し強くすること」と「11路盤の対局ができるようにすること」の2つは、必ず実現したいと思います。他にもいくつかやってみたいことがあるんですが、自分のスキルの問題もあって(笑)、何ができて何ができないのかまだよく分かりません。とにかく、少しでも多くの人にこのサイトで囲碁を覚えてもらえればと思っています。気軽に遊んでみてください!

それから、英語のページも用意したんですが、英語がおかしかったら教えていただけると助かります。

それからそれから、7路盤や9路盤用のスペシャルGNU Goの作り方を知っていたら教えていただけるとすごーく助かります。board.hMIN_BOARDMAX_BOARDMAX_HANDICAPだけは変更したんですが(ちなみにこれは有意な差がありました)、他に何か無いでしょうか? ここはけっこう切実なんですが…

モンテカルロなGNU Go

2008.04.18  |  GNU Go,囲碁  |  Comments (0)

GNU Goの最新開発版、バージョン3.7.12が出ていたのでChangeLogを見ていたら、その中にこんな項目を見つけました。

new options –monte-carlo and –mc-games-per-level to use Monte Carlo UCT search on 9×9 and smaller boards

ついにGNU Goもモンテカルロだそうです! ということでさっそく実力を調べてみることにしました。

まずは、

gnugo-3.7.12.exe --monte-carlo

gnugo-3.7.12.exe

で先後を換えて50局ずつ計100局、9路盤で対戦させてみました。コミは6目半です。結果は、前者モンテカルロの63勝37敗となりました。なかなかやるなと最初思ったのですが、モンテカルロの消費時間が約13倍(!)と多いので、バランスをとるため、次に

gnugo-3.7.12.exe --monte-carlo --level 1

gnugo-3.7.12.exe

で対戦させてみました。結果は、モンテカルロの41勝59敗。しかもまだ1.2倍ほど時間を使っています。うーんまだまだだめかも… しかし、ここまでレベルを下げるのは、逆にモンテカルロがかわいそうな気がしたので、最後に

gnugo-3.7.12.exe --monte-carlo --level 5

gnugo-3.7.12.exe --level 15

で対戦させてみました。結果は、モンテカルロの59勝41敗。時間も先ほどまでとは逆に、非モンテカルロがモンテカルロの1.3倍ほど使っています(バランスとるの難しいな(笑))。

と言うことで結論、「新しいモンテカルロなGNU Goは時間をたくさん使えば結構強い」でした。本当は、–mc-games-per-levelというオプションも使って消費時間を調節できれば良かったのですが、すぐに適当な数字が出てくる気がしなかったのでやめておきました。

私は囲碁があまり強くないのであれですが、少し棋譜を見たかぎりでは、モンテカルロGNU Goの棋風は、石がガンガンぶつかって、相手の地になりそうな所にも入って行く少し攻撃的な感じでした。でもヨセは以前と比べてなんだかおかしいと思います。前半モンテカルロ、後半非モンテカルロで打ってくれたら結構いいかもしれません。まだチューニングが全然できていないみたいなので、これからに期待ですね。

現時点では、モンテカルロなGNU Goの情報はほとんどないようですが、興味のある人はこことかここを見てみてください。