2017年6月24日土曜日

第23期名人戦決勝トーナメント

今期の名人リーグは、東京の2部で優勝し2枠を獲得しました。さらに、くじ運が良くて決勝トーナメントではいきなりベスト8からの登場となりました。

こんなチャンスはもう2度と無いかもしれないと考え、ここ2週間ほどは大好きなプログラミングもほどほどに、ギャモンに打ち込みました。実際のところは、先週風邪を引いて寝込んでしまい、暇な時間はAceをひたすらやってました。これでだいぶギャモンの感覚を取り戻したと思ったのは気のせいで、あまり考えずにプレイしてしまう悪い癖がついただけでした。それを急いで修正しているところで、今日はUSBGFのトーナメントで Joe Russellと当たる幸運に恵まれました。最強クラスのプレーヤー相手にどこまでやれるのか、自分の調子を測るにはもってこいの相手です。

試合は負けましたが、自分の調子としては悪くなかったので、明日は体調を万全に整えて下平さんに挑戦したいと思います。

2017年6月3日土曜日

棋譜ミー ライブストリーミング

5月のバックギャモンフェスティバルで、棋譜ミーを使ってライブ配信しました。Kazuki-Sander戦という好カードでした。
AbemaTVで配信し、たしか2000人以上のviewがあったと思いますが、私としてはあまり満足の行く内容ではありませんでした。全くの言い訳ですが、準備を始めたのが前日で、ストリーミング用に作っていなかった棋譜ミーを改造するのは、あの時点ではあれが限界でした。
ライブ配信自体、フェスの配信が初めてだったのですが、横瀬さんにやり方を教えてもらったので、今では自分で出来るようになりました。棋譜ミーを改造して、ライブ配信でここまで出来るようになりました。

ちょっと分かりづらいですか、これはプレイ中にリアルタイムで処理している映像です。テストプレイの時はいつも息子に手伝ってもらってますが、息子はこの画面をチラ見しながらプレイしています。つまり、ダイスをロールするとまもなくベストムーブが画面に表示されます。その気になればいくらでも「チート」できます。
後半、映像が途切れ途切れになってしまいましたが、これは自宅のネットワークの問題で、プログラム自体は最後までちゃんと動いてました。

現実のマッチでは、これを見ながらやっては意味ないですが、ライブ配信を見ている人には参考になるかもしれません。作ってみて改めて思ったのは、そもそもこういう情報が必要かってことです。将棋の電王戦みたいに「評価値」が出るのがすでに受け入れられているかもしれませんが、バックギャモンにおいてはどうでしょうか? 私としては、一流のプレーヤーがコメンタリーしているのを聞くのがとても楽しいです。コメンタリーを用意できない場合も多いでしょうから、そういう配信では有効かもしれないです。
これに加えて、キューブアクションの評価と勝率を表示する機能までは作ろうと思ってます。

2017年5月23日火曜日

8away - 4away

4月まで名人リーグ、5月はフェスティバルと、途切れなくギャモンで遊んでいると、ドイツ人が"Nach der EM ist vor der WM"と言っていたのを思い出します。ユーロが終わると次はワールドカップ予選、ワールドカップが終わるとすぐにまたユーロの予選と、いつまで経ってもサッカーの楽しみが続くのです。
というわけで、次のお楽しみ「盤聖リーグ」が始まりました!

5月21日の四ツ谷例会で、犬塚雄輝くんと対戦しました。2セット目でこんな場面がありました。白の振り番です。キューブアクション?


仮にこれがマネーゲームだったらビーバーでしょうし、XGもビーバーだと言っています。実戦ではこれが 1-5/9p と白がリードされている 8away-4away のスコアでした。このスコアで解析すると、キューブアクションの結果は全く異なるものになります。なんと白はダブルすべきで、黒はパス!

白の勝率はさほど高くありませんが、ギャモンがそこそこあります。リダブルしてギャモンが取れればぴったりマッチ勝ちとなるので、ここでのギャモンはとても価値があります。4away-2awayのキューブと同じように考えればよいと、試合後に日野くんに教えてもらいました。なるほどー、対戦中は全く気づきませんでした。なんてボンヤリしているんでしょうか・・

XGID=-b--BCCBA---A----abbbbcaBA:1:1:1:00:1:5:0:9:10

X:mkisono   O:yuki
Score is X:1 O:5 9 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 |             O  O |   | O  O  O  O  O  X |
 |                O |   | O  O  O  O     X |
 |                  |   |          O       |
 |                  |   |                  |
 |                  | X |                  |
 |                  |BAR|                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   | X  X             | +---+
 |                X |   | X  X  X        O | | 2 |
 | X           X  X |   | X  X  X        O | +---+
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 148  O: 111 X-O: 1-5/9
Cube: 2, X own cube
X on roll, cube action

Analyzed in Rollout
No redouble
  Player Winning Chances:   53.33% (G:17.58% B:2.10%)
  Opponent Winning Chances: 46.67% (G:24.01% B:9.01%)
Redouble/Take
  Player Winning Chances:   54.52% (G:18.08% B:4.28%)
  Opponent Winning Chances: 45.48% (G:25.71% B:12.09%)

Cubeless Equities: No Double=+0.056, Double=+1.051

Cubeful Equities:
       No redouble:     +0.644 (-0.356)
       Redouble/Take:   +1.051 (+0.051)
       Redouble/Pass:   +1.000

Best Cube action: Redouble / Pass

Rollout:
  1296 Games rolled with Variance Reduction.
  Moves: 3-ply, cube decisions: XG Roller
  Confidence No Double: ± 0.014 (+0.631..+0.658)
  Confidence Double:    ± 0.020 (+1.030..+1.071)

  Double Decision confidence: 100.0%
  Take Decision confidence: 100.0%

  Duration: 13 minutes 08 seconds

eXtreme Gammon Version: 2.10, MET: Kazaross XG2

実戦で私は、missed doubleを繰り返し、ブランダーの山を築きました。例えば、以下のポジションでもXGはダブルせよといいます。まだまだ修行が足りないことを痛感しました。


XGID=---bBCCBA---A------bcbccBA:1:1:1:00:1:5:0:9:10

X:mkisono   O:yuki
Score is X:1 O:5 9 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 |                  |   | O  O  O  O  O  X |
 |                  |   | O  O  O  O  O  X |
 |                  |   |    O     O  O    |
 |                  |   |                  |
 |                  | X |                  |
 |                  |BAR|                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   | X  X             | +---+
 |                X |   | X  X  X  O       | | 2 |
 | X           X  X |   | X  X  X  O       | +---+
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 148  O: 94 X-O: 1-5/9
Cube: 2, X own cube
X on roll, cube action

Analyzed in Rollout
No redouble
  Player Winning Chances:   43.18% (G:8.31% B:0.54%)
  Opponent Winning Chances: 56.82% (G:34.96% B:19.06%)
Redouble/Take
  Player Winning Chances:   43.46% (G:9.03% B:0.61%)
  Opponent Winning Chances: 56.54% (G:37.43% B:18.90%)

Cubeless Equities: No Double=-0.401, Double=+0.186

Cubeful Equities:
       No redouble:     +0.129 (-0.057)
       Redouble/Take:   +0.186
       Redouble/Pass:   +1.000 (+0.814)

Best Cube action: Redouble / Take

Rollout:
  1296 Games rolled with Variance Reduction.
  Moves: 3-ply, cube decisions: XG Roller
  Confidence No Double: ± 0.013 (+0.116..+0.142)
  Confidence Double:    ± 0.015 (+0.171..+0.200)

  Double Decision confidence: 100.0%
  Take Decision confidence: 100.0%

  Duration: 15 minutes 03 seconds

eXtreme Gammon Version: 2.10, MET: Kazaross XG2

ようやく私がダブルしたのは以下の場面でした。ここでのキャッシュポイントは60%くらいでしたので、その勝率も超えてしまっており、遅すぎるダブルでした。

盤聖リーグではあり得ないスコアですが、8away-16awayでも同じ理屈でしょうから、次にこんな場面に出くわしたら、サッとキューブを差し出したいと思います。


XGID=-a-BBBBBB----------cbbcdC-:1:1:1:D:1:5:0:9:10

X:mkisono   O:yuki
Score is X:1 O:5 9 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 |                  |   | O  O  O  O  O  X |
 |                  |   | O  O  O  O  O  X |
 |                  |   | O        O  O  X |
 |                  |   |             O    |
 |                  |   |                  |
 |                  |BAR|                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  | +---+
 |             X  X |   | X  X  X  X       | | 2 |
 |             X  X |   | X  X  X  X     O | +---+
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 138  O: 77 X-O: 1-5/9
Cube: 2, X own cube
X on roll, cube action

Analyzed in Rollout
No redouble
  Player Winning Chances:   66.64% (G:12.18% B:0.52%)
  Opponent Winning Chances: 33.36% (G:12.82% B:2.96%)
Redouble/Take
  Player Winning Chances:   67.24% (G:13.09% B:0.78%)
  Opponent Winning Chances: 32.76% (G:13.55% B:3.68%)

Cubeless Equities: No Double=+0.353, Double=+1.383

Cubeful Equities:
       No redouble:     +0.806 (-0.194)
       Redouble/Take:   +1.383 (+0.383)
       Redouble/Pass:   +1.000

Best Cube action: Redouble / Pass

Rollout:
  1296 Games rolled with Variance Reduction.
  Moves: 3-ply, cube decisions: XG Roller
  Confidence No Double: ± 0.011 (+0.796..+0.817)
  Confidence Double:    ± 0.015 (+1.368..+1.397)

  Double Decision confidence: 100.0%
  Take Decision confidence: 100.0%

  Duration: 14 minutes 19 seconds

eXtreme Gammon Version: 2.10, MET: Kazaross XG2

2017年5月1日月曜日

棋譜ミー ハーフバースデー

去年のフェスが終わった後から、自動棋譜起こしアプリの開発を続けています。テクノくんが名前を付けてくれてから、もう半年経ったのでハーフバースデーのお祝い、というか開発状況を書きます。

一言で言えば、「そこそこ動く」ところまで来ました。条件さえ良ければ、手で棋譜を入力するよりも、棋譜ミーが出力した棋譜の間違いを手で直す方が早いです。「条件」については、別のブログに書きました

名人リーグでの対戦動画を自動で処理しようと思って開発を始めたのですが、最初のマッチの解析が終わったのは、対戦が終わってから3ヶ月も後でした。それが現在では、週末の5試合の棋譜起こしが、次の週末までにはだいたい終わっているところまで来ました。
小野盤聖との19ポイントマッチでは、棋譜ミーが特定した全718ムーブのうち、手作業による修正が必要なのは35でした。これは割合にすると 4.87%で、私の平均PRよりもだいぶいいです。すでに娘は父を超えました!


これまで多大なる時間と労力をこのプロジェクトに投入して来ましたが、いよいよ投資を回収するフェーズに移りつつあります。開発にご協力いただいた方々、応援してくださった方々に感謝します。

私のフェス事前入金は間に合いませんでしたが、棋譜ミーは間に合いました。フェスのマッチ動画を棋譜ミーに解析させてもいいよという方は、フェス会場でお声がけくださいませ。

そんなわけで、私の今年のフェスの最大の関心事は「会場の照明」です。ダイスがテカらずに動画が撮影できるかどうか、それが最も重要なポイントであります。

棋譜ミー ユーザーガイド 2017年4月バージョン

棋譜ミーが扱えないケースがいろいろあります。

チェッカーをなるべく重ねない

現状ではチェッカーが重なっている場合をうまく扱えません。「チェッカーが重なる」とは以下のような状態のことです。右上にご注目。

チェッカーが重なって置かれてしまうと、そのターンのムーブを特定できません。やむを得ない場合を除いて、チェッカーをできるだけ重ねないようにしましょう。

例えば序盤で65が出て 24/13 と動かしたとします。チェッカーを重ねずに並べることができる場合は、下図のようにムーブしてください。

これはチェッカーをバーに置く場合も同じです。2枚以上がオン・ザ・バーだったとしても、一枚ずつ並べましょう。

カメラはボードの真上に

試合を撮影するカメラは、ボードの真上に配置してください。多少横にズレていても支障はありませんが、斜めすぎるとチェッカーやダイスを認識することができず、解析できません。

例えば、カメラが斜めすぎると、バー横のダイスやチェッカーを認識することができません。

また、ボード全体が写っていることも重要です。プログラムは「丸いもの」をチェッカーと認識しますので、チェッカーの一部が写っていなくて半月型になっていると、解析ができません。

解像度は1080pで

様々なマッチ動画でテストして来ましたが、解像度が低すぎる動画では、解析の精度が悪かったです。私は1080pの設定で撮影していますが、もう少し低い解像度(720p)でも大丈夫かもしれないです。
1080pでは動画ファイルのサイズが大きくなり過ぎる問題がありますが、そういう場合はタイムラプスモードが有効です。私は0.5秒ごとのコマ撮りにしています。これなら4時間録画しても、ファイルサイズは1GBくらいです。
棋譜ミーの解析は1秒ごとのフレームで処理していますが、この頻度で解析できなかったことは今までありません。

つまり、フレームレートを上げるよりも、解像度を上げてもらった方が、棋譜ミーとしてはうれしいです。


これらが最も重要なポイントですが、以下も注意してもらえると助かります。

ボードを動かさない
棋譜ミーは、対戦中にボードが固定されている前提でプログラムを作っています。なので、途中でボードが動いてしまうと困ります。実際は多少ずれても平気で、おおよそチェッカーの直径以内のズレなら大丈夫なはずです。
この問題は、いずれプログラム的になんとかしようと思っていますが、現状では制限事項です。

ダブリングキューブについて
ダブリングキューブは、ボード上に一つだけある前提でプログラムを書いています。たまに見かけるのですが、テイクしたキューブをボードの外に置いたり、ダブリングキューブが2つ以上置いてあったりする(シュエットじゃないのに!)のですが、棋譜ミーちゃんが混乱するのでやめましょう。

クロック・スコアボード
ボードの上に置いてあってもなんとかしますが、出来ればボードの外に置いて欲しいです。

だいたいこんなことろです。他にも「ドット柄のシャツを着ない」とか、そんなことにも口を出したい気持ちなのですが、プログラムが未熟なのを人のせいにしている上に、おせっかい過ぎるのでやめておきます。

2017年3月11日土曜日

Web 棋譜ミー

バックギャモンフェスティバル直後から「棋譜ミー」の開発を始めて、すでに5ヶ月も経ちました。未だにプロトタイプの状態ではありますが、徐々に進化しています。

「棋譜ミー」が出来ることは見た目あまり変わっていないのですが、中身の構造は大きく変更しました。1月になってから画像認識処理をごっそり変更した結果、処理の高速化が出来ました。なので2月の四ツ谷で「例会デビュー」し、対戦からリアルタイムで棋譜を起こすデモもやりました。当時はムーブの解析処理も一部実装していない状態でしたので、結構エラーが出ちゃいました。

最近は、細かいバグも都度対応しているので、エラーが起きる確率もだいぶ下がってきました。このデバッグ作業はこれからも果てしなく続くでしょうから、少しでも効率的にデバッグできるよう、エラーが起きた場面を即座に画像で確認出来るようなHTMLを出力する機能を追加しました。これで私のデバッグ作業は飛躍的に効率化できたのですが、マッチ動画を振り返るツールとしてもなかなかに使える気がします。こちらのページをご覧ください。名人リーグの私と鈴木さんのマッチです。

画面の左側のテーブルがいわゆる棋譜のデータですが、いくつかリンクがあります。一番左のリンクは、「出目を読んだ動画のフレーム」です。ここを参照すれば、どんな目がロールされたのかおよそ分かります。その隣のリンクをクリックすると、棋譜ミーが「ムーブを確定させたフレーム」が表示されます。なので、これらのフレームをぽちぽち辿っていけば、ゲームの流れを把握することができます。マウスでぽちぽちクリックするのは面倒なので、キーボードの左右矢印キーでもフレーム間を移動できるようにしました。現在は不完全な棋譜しか出力できない棋譜ミーですが、このページを見ながら修正していけば、それほど時間がからないのではないかと目論んでいます。(もしくはこれを見ながらXGで棋譜入力した方が早いかもw)


先日、リーグ戦の対戦のため赤坂に行きました。もはや行きつけの caffe beneで、盤聖戦のために上京されていた永井一矢さんにお会いしました。永井さんは私が棋譜ミーを開発していることをご存知でしたので、しばらくその話で盛り上がりました。その時話したネタも、このWebページに入れてみました。

動画には、当然ながら「時間」の情報も含まれています。つまり、あるムーブをしてから次のムーブが行われるまでどれくらい時間を要したかは、先ほど説明したフレームの番号を引き算すれば求めることができます。実戦でウンウン悩んだポジションこそ、後で振り返りたいものではないでしょうか? そんなわけで、60秒以上かかったムーブやアクションはオレンジ、120秒以上は赤でマークしてあります。


開発を始めた当初は、リーグ戦のマッチ動画解析に実践投入とか思っていたのですが、すでにリーグ戦は終わってしまいました・・ 棋譜を振り返るためのツールを開発していたはずが、いつの間にか棋譜を起こすこと自体が目的となってしまい、もはや振り返りなど全くしていません。それどころか、プログラミングが面白すぎるので、プログラミングの合間に思い出したようにギャモンをする状態となっています。それでもリーグ戦の成績が良かったのは、出目が良かったからに他なりませんが、開発用に提供していただいたマッチ動画がいずれも世界屈指のプレーヤーの動画だったのが奏功したかもしれないです。横田名人はたくさん動画を見たそうですが、私もこの数ヶ月でだいぶ見ましたから、その効果が少しはあったのかもしれないです。

棋譜ミーは私一人で作っていますが、他の人と意見交換するのは大事だと思っています。先日の永井さんとの会話もアイデアが膨らみましたし、これからもいろんな人の意見を伺いつつ、改善して行きたいと考えています。プレーヤーの皆さんから、コメントいただければうれしいです。

2017年1月28日土曜日

棋譜ミーボード

棋譜ミーの開発を続けています。
試行錯誤の毎日ですが、結局のところ、ボード上にあるチェッカー、ダイスとキューブが正確に認識できれば、あとはひたすらバックギャモンのルールに従って処理をすればいいわけです。
ところが、肝心の物体認識処理はすこぶる難しい。協力者の方に試合の動画を提供してもらい、様々な条件でうまくいくようにできないものかと頑張っているところです。

ここまでやってみて難しい条件だったのは以下のような場合です。
  • 照明が暗い上に、ボードの絵柄とチェッカーのコントラストが弱い
  • チェッカーがテカっていて、色が判別しづらい
  • チェッカーのテクスチャが複雑で、ダイスと誤認識してしまう
などなどです。

棋譜ミーボード

他にも課題はたくさんあるのですが、それらを少しでも解消すべく、棋譜ミーにとって都合のよいボードを考案しました。これです!

バックギャモンのボードは、ポイントの色とチェッカーの色が同じ場合が多いです。見た目にはこの方が美しいと思うのですが、チェッカーの場所を特定したいプログラムにとっては悪条件です。理想的には、例えば以下のようになっていたらいいです。背景がぼんやりした色で、チェッカーの色とハッキリ違っているといいな。アプリだと色が簡単に変更できて便利ですね。

リアルボードはアプリと違ってどうしようも無い気がしますが、そんなことはない。自分でチェッカーを別の色に塗ってしまえばいいのでは?
ということで、東急ハンズでスプレー塗料を買ってきて、緑と白だったチェッカーを、ピンクと青にリノベしました!
塗装したチェッカーを乾かしているところ

ボードの背景が緑ベースなので、色空間上で距離の遠そうな赤と青に近い色にしました。さらに大事なポイントは「つや消し」タイプの塗料であること! チェッカーのテカリは侮れない要素で、黒のチェッカーがテカっているために、見た目は白になっていることさえあります。こうなると判別はすこぶる難しいのが現状です。

ちなみに元はこうでした。


ARダブリングキューブ

チェッカーは常に丸い。プレシジョンダイスは、色は違えどデザインは共通。なので、これらはかなり正確に認識することができます。問題はダブリングキューブです。デザインも大きさもまちまちで、世の中のあまねくダブリングキューブを正確に認識するのは至難の技に思えます。
これではいつまで経っても仕事が終わらないので、棋譜ミー専用ダブリングキューブを試作しました。

ダイスについているQRコードみたいなものは、「ARマーカー」というものです。プログラムで処理すると、画像からARマーカーの位置を簡単に見つけることができます。これを使えば、キューブの認識はpiece of cakeです。試作品は、これまた東急ハンズで買ったサイコロ型の木材(70円)に紙を貼り付けたものです。実際はもう少しサイズを小さくしても認識可能だと思います。
ARキューブの制作現場

理想のバックギャモンボードとは

棋譜ミー的に都合の良いボードの条件を列挙すると、以下のようになります。

  • ボードの背景とチェッカーの色のコントラストが強い
  • チェッカーがテカらない素材である
  • ボードの縦方向のピッチが長く、両側からチェッカーを6枚ずつ並べても重ならない
  • 「バー」の幅が広い
  • ARダブリングキューブ装備!

ボードの縦方向が狭いと、チェッカーをチェッカーの上に重ねる場面が多くなります。このケースもチェッカーを認識するのが難しく、現状は対応していません。プレイヤーの皆さんは、なるべくチェッカーを重ねないようお願いいたしますw

この条件を見ると、先日矢澤プロが紹介されていたP-40ボードはとても良いです。ボードが自由にデザインできるシステムは素晴らしいですね。オーダーする際には、配色をパッキパキにしてください!!
唯一困ったことはバーの幅が狭いこと。これの何が困るかというと、オンザバーのチェッカーと、バーの隣のポイントにあるチェッカーが見た目重なる場合があるからです。特にボード斜め横から撮影した画像では、この問題が顕著になります。Phil先生、ぜひ広幅バータイプのP-40ボード作ってください!
もう一つP-40で困るのは、このボードで私がまだ一度も勝ってないこと! 相手はそれぞれ景山プロとipetaniさんだったので、まあ無理からぬ結果ではありますが・・


そんなわけで、棋譜ミーと棋譜ミーボードの進化はきっと続きますっ!!

2016年11月23日水曜日

棋譜ミー 誕生

"ピップおじさん"を公開してから、たくさんの方から反響をいただき、棋譜起こしソフトの開発を続けてきました。「12月までにプロトタイプ」が目標でしたが、マイルストーンをクリアすることできました。Take a look!


10月の木曽野-滝沢戦5pointマッチのムーブを、ほぼ全部解析することができました。ダイスとチェッカーとキューブの認識ができたなら、棋譜起こし部分の製造は難しくないんじゃないかと高をくくっていたのですが、実際にやってみたら(いつものことですが)思っていたより大変でした。

アプリの名前はテクノくんが付けてくれました!
私としては珍しく、クラス図を書いたり状態遷移図を作ったりと、ソフトウェアの設計もきっちりやりました。ところが、実際のプレイ動画では想定外の事象が多々発生していたので、最後は魔改造を繰り返す羽目になりました。テントを作るくらいのつもりだったのが、すでに小屋くらいの規模になってしまいました。あと2回くらい建て直したら(ソフトを作り直したら)、まともなソフトウエアになるんじゃないかと思います。

このソフトの開発を通じで、ちょっとした気づきもありました。
例えば、出目にはゾロ目とそれ以外があります。ゾロ目じゃない出目の場合は、ムーブの種類は本質的に4種類しかありません(バリエーションを含めると6通り)。それは、
  • 異なるポイントから同じポイントにチェッカーを進める(ポイントメイク)
  • あるポイントから2つのチェッカーを動かす
  • 2箇所のポイントをそれぞれ動かす(3つのバリエーションがある)
  • 一つのチェッカーを連続して動かす(ラン)
プレイするときには、どのポイントを動かすのか?という問題がありますが、棋譜起こしプログラム的には、上記が区別できれば十分です。
ところが、同じような分類をゾロ目でやってみると大変です。組み合わせの数が途端に多くなります(とはいえ、なんとか整理できるレベル)。プレイしていてもゾロ目は難しいわけですが、棋譜起こしプログラムにとってもゾロ目は難題です。

もう一つの気づきは、"on the bar"のチェッカーです。ピップを数えるときは"25"と数えているので、気づいても良さそうなものですが、バーに乗っているチェッカーは「25ポイントにある」と考えるのが正しいです。少なくともプログラム的にはそう扱った方が便利でしたし、特別扱いする理由は何もありませんでした。
この気づきが実戦で役に立つことがあるかと思っていたところで、kazuさんのブログを読んでハッとしました。バーに乗っていることによる錯覚、新たなテーマ図だなと思いました。続きはこちらで。


次の目標は、先日の名人リーグ寺尾戦19pointマッチの解析です! こんなことやってるより、ポチポチ棋譜入力した方が早いのは分かっていますが、もっと大きな野望のために開発を続けます。

2016年10月11日火曜日

バックギャモンフェスティバル 2016

10月8,9,10日に開催されたバックギャモンフェスティバル 2016に参加しました。忘れないうちに、いろいろあったことを書き残しておこうと思います。

日本選手権 1/8 サテライト

事前のネット予選にもエントリーしていましたが、2回エントリーしていずれも初戦負け。「今年はダイレクトエントリーするか・・」とも考えたのですが、ケチなので1/8サテライトにエントリーしました。
初戦の相手は、東京や横浜の例会でよくお会いする鈴木さん。「何もフェスでわざわざ対戦したくないよね」とお互いに言いつつ対戦しました。途中、スコアでリードされて危なかったのですが、逆転勝ちしました。後から振り返ってみると、この勝利が波に乗るきっかけを作ってくれたような気がします。
2回戦は小倉さん。5月の王位戦以来の対戦でした。このマッチも同じように逆転勝ち、リズムが出てきました。
サテライト決勝は、高知からいらした下元さん。初めての大会だという下元さんに対して、私は対戦中おしゃべり過ぎたようです、申し訳ありませんでした。
ということで、サテライトを勝ち上がることが出来、メインの1枠獲得しました。

日本選手権 メイン

去年の初戦は光吉さんでした。そして今年の相手も光吉さん! そんなことあるかと思いますが、全く知らないプレーヤーよりは、やり易いかもしれないです。去年は私が途中までリードしていたのに、光吉さんに最後まくられて無念の逆転負けでした。今年は一進一退の展開から、最後は私が競り勝ちました!
そして、2回戦の相手は私淑している景山プロでした! これまで対戦していただいたことは一度も無かったので、朝からワクワクしてました。試合の方は、(私を含め)大方の予想通り景山プロがリードを広げる展開となりました。スコアが開いてしまった局面でキューブをどうしたらいいかと悩む場面が多かった気がします。
最後はちょっとだけ粘りましたが、圧倒的なskillの差を感じて負けました。

日本選手権 コンソレーション

コンソレ初戦はEdでした。Edとの試合では途中トラブルがあったのですが、それは後述します。トラブルの後は、私の集中力はmaxとなり、試合は私が勝ちました。
二回戦は長尾くんでした。試合中は、長尾くんのペースに巻き込まれまいと意識してプレイしました。最後の場面では、レースで大量リードしていると判断した私の緩手を長尾くんが見逃さず、6ゾロ連発されて気持ちが折れそうでした。しかし、私もゾロ目振り返して薄氷の勝利でした。
三回戦は香港のSteve。試合の後半、私がいい目を振りすぎて、Steveがぼやくほどの展開で勝ちました。
2日目最後の試合は四鹿さんでした。この試合も出目の良さが継続し勝つことができました。

3日目となり、いよいよコンソレのベスト4でipetani魔王と対戦しました。魔王の強さはニコ生やBackgammonAceで周知の事実ですが、リアルに降臨した魔王も呆れるほど強かったです。
そんなわけで私の日本選手権は、コンソレベスト4という入賞圏内の末席でした。

スコアのトラブル

Edとの試合の中盤、私はスコアボードが更新されていないことに気づき、Edに「スコアが4-5じゃなくて、4-6だよね?」と確認したところ、「違うよ、3-6だろ」とのお答え。最初、彼は何を言っているのだろうかと理解できなかったのですが、要はお互いが記録していたスコアカードのスコアが食い違っていたことが判明したのでした。
これまでのマッチの経過を遡って、お互いの記憶と記録が正しいことを主張し合うのですが、肝心のポイントではお互いの意見が一致しません。

Ed:「君はこのゲームでどうやって2点取ったのか覚えているのかい?」
私:「覚えてませんよ じゃああなたは覚えているのですか?」
Ed:「覚えてる訳ないだろう 私は77歳だぞ!」
私:「だけどスコアボードを更新して、私が2点追加したのを見たでしょ?」
Ed:「スコアボードなんてオレは見てないよ 私のスコアカードの記録が正しいはずだ」

こんな不毛なやりとりになってしまいました。それもこれも、各ゲーム終了後にお互いのスコアカードを確認していなかった我々のブランダーです。なお悪いことに、こういう時にはマッチを録画してないんですよね・・ 後で棋譜起こしをしなかったとしても、できるだけマッチは録画しておこうと思いました。結局、大会を運営している望月さんに仲裁していただき、スコアは決まりました。

Edと議論している時、私は自分の主張を一歩も譲りませんでしたし、感情的になることもありませんでした。なぜなら、ドイツに住んでいた頃はこんなことが結構頻繁に起きていて、最後はどうなるかも見当がついていたからです。こういう時は、お互いに合意できるポイントを事実ベースで積み上げていって、ロジカルに判断すると「これは有りえないよね」というポイントが見つかれば、そこで決着をつけられます。しかし、今回のように事実が乏しい場合は、権威者(ディレクター)の判断に従う他ありません。
大事なことは、感情的になって相手を罵ったりしないことです。議論を散々したとしても、裁定が決まれば握手をしてゲーム再開です。我々がもめてしまったため、望月さんや周りのプレーヤーに大変ご迷惑をおかけしてしまいました。申し訳ありませんでした。

Jörgen Grandstedt

今年の世界チャンピオンにして、人類最多のthree time world championである。Jörgen Grandstedtがフェスティバルに来ていました。フェスティバルの初日、メイン本戦が始まる前にタリーズコーヒーで寛いでいたところ、Jörgenが後ろの席にやってきました。これはチャンスと思った私は声をかけ、しばらくお話させてもらいました。
「一緒に写真撮ってもらえませんか?」とお願いし、Ricoh Theta Sで撮影しました(こんな風に「自撮り」にも使えて便利ですよ)。そのあと、ひとしきりThetaを自慢したところ「そのカメラはどこで買えるのか?」と聞かれたので、その辺のカメラ屋に行けば売ってるはずと教えました。日本のお土産どうしようとかおっしゃってたので、まさかとは思いましたが・・

果たして、フェスの3日目にJörgenがやってきて、「おい、カメラ買ったぞ 使い方教えてくれ」と言われた時はビックリしました。私の営業力も大したものですねw。この後、私の自撮り棒を借りたJörgenは、渋谷の街でどんな写真撮ったかなぁ。


これから

今回の日本選手権で入賞しことに気を良くした私は、ショップで本を買ったりしました。白のダイスは、「自動棋譜取りシステム」のダイス認識をするときに、ダイスの目が黒いものも用意しておこうと思い買いました。
これからしばらくは、自動棋譜取りシステムの開発を続けたいと思います。フェスティバルで多くの方から「pipおじさん」に対するコメントをいただき、私のやる気は最高潮に高まっています。なおかつ、Phil先生も同様のシステムを開発しているそうなので、頑張らないとなーって感じです。アメリカのおじちゃん達はパワフルですね! 負けられんぞ。
目標は、12月までに棋譜取りができるプロトタイプ作って、名人リーグで実証実験に投入したいです。


最後になりますが、バックギャモンフェスティバルの運営の皆様、本当にありがとうございました。来年のフェスティバルも楽しみにしています。

2016年10月1日土曜日

"ピップおじさん" 作りました

またしても技術ネタ。バックギャモン自体の研究をしていないかと思われるかもしれませんが、まあその通りです。プログラミングが楽しくて・・

さて、愛読書である景山さんのハッピーギャモンシリーズに、以下のようなくだりがあります。曰く、ネットでバックギャモンを覚えた人が、リアルのボードでプレイするとピップが表示されていなくて戸惑うことがあると。「生ギャモンでは、ピップを数えてくれる"ピップおじさん"が側にいると思っていた」
もちろんそんな人はいませんが、本当にいたら楽できると思ったので、作りましたっ!


動画を解析してチェッカーのポジションを割り出し、ピップを計算しています。これができるまで試行錯誤を繰り返しました。例えば、画像からチェッカーを見つけるのがなかなかうまくいかず、とりあえずプロジェクトを前進させるために、チェッカーにマーカー(目印)をつけることも試しました。

こうすればそこそこうまくいくのですが、やはり根本の問題は「マーカー付きのチェッカーでプレイしている人は誰もいない」ことでした。アップロードした動画で、緑のチェッカーに"くまモンシール"が貼ってあるのは、くまモンをマーカーとして使おうとした名残ですw

動画を見ていただければお気づきと思いますが、必ずしも100%正しいピップを計算できているわけではありません。
例えば、腕でチェッカーが隠されてしまうと少ない数を表示していますし、終盤に同じポイントにチェッカーを重ねている場面でも、間違った値が表示されています。この辺りが今後の改善ポイントです。

私の目標は、バックギャモンの「自動棋譜起こし」です。チェッカーの位置が分かり、ダイスの目が読めれば、棋譜起こしができるはずです。車が自動で走る現在に、棋譜起こしが自動で出来ないわけがないのです。あともう少しで出来そうな気もしますし、まだまだ長い道のりが続いている気もします。

2016年8月19日金曜日

Let me find the best move for you! - バックギャモンボード画像解析

ここしばらく、バックギャモンで遊ぶことより優先して(そう、札幌オーブンにも行かずに!)取り組んできたことがあります。それはプログラミングです。

趣味のプログラミングなのですが、始めてみたら面白く、なおかつ、なかなかうまくいきません。まとまった時間が取れる夏休みになんとか形にしようと頑張ったので、ここまでのまとめを書いておこうと思います。

何を作っているかというと、「バックギャモンボード画像の解析ソフト」です。対戦中、難しい局面で写真を撮っておくことはよくあると思います。あとでXGなどで解析するためなのですが、いちいち入力するのが面倒という私のような人のために、画像から自動的にポジションを導き出せないものかと考えました。

試行錯誤の結果、まずは以下の画像を解析して、ベストムーブを出力することができました。
ただし、この画像しかうまく処理できません・・・(理由は後述)。

ざっくりとした処理の流れは以下の通りです。

1. 元画像から、ボードの枠の位置を特定する

2. 画像処理によって、チェッカーやバーの位置を求める


3. ダイスの目を認識する

4. チェッカーの配置とダイスの目を入力として、gnubgにベストムーブを計算させる

すべてのパイプライン処理がうまくいけば、ベストムーブが出てくるのですが、現状ではそれぞれのステップが甚だ脆弱なアルゴリズムであるため、最初に解析したMOGAMIボードのこの局面しか解析に成功しません。
バックギャモンボードは様々な色やデザインがあるため、それらすべてに対応することはおそらく無理なのですが、標準的なデザインのボードであれば、そこそこ解析できるようにしたいと考えています。

やってみるといろいろ難しいことがあると分かりました。例えば、このおしゃれな地場さんボード。ボードの位置は特定できるのですが、チェッカーを判定するのがとても難しいです。理由は、ボード上側のチェッカーが光の加減によってテカっていることです。こうなってしまうと、今のアルゴリズムでは歯が立ちません。赤坂は窓がない部屋でちょっとイヤだなと思っていたのですが、プログラムにとっては、四ツ谷と比べて赤坂の方が断然照明の条件が良いです。

他にも、まだ作りこんでない処理があります。
例えば、その局面を時計回りに解釈するのか、反時計回りとするかの問題です。ここはとりあえず「人力」です。プログラムで判定できるのかさえ見通しがありませんが、チャレンジしてみようと思っています。
スコアも問題です。スコアボードが写っていれば判読できる可能性はありますが、そんなもの写っていないかもしれないので、ここもとりあえず「人力」です。
そういえば、ダブリングキューブもまだ何もやってないな・・・

諸々の画像処理も、勉強しながら試しながら使っているのが現状ですが、ゲームをやっていて使える「手筋」が徐々に増えてくるような楽しさを感じます。多分私の実力は「バックギャモン入門」を読み終わった初級クラス並みで、これから勉強すべきことが山ほど残っています。

課題は山積していますが、私のバックギャモンとプログラミングに対する情熱で、すべて解決できると固く信じています。

2016年5月28日土曜日

Coup Classique

最近ちょっと円高になったりしたので、ふと思い立ちUSBGFのメンバーになりました。メンバーなら無料で参加できるオンラインのトーナメントがいくつか開催されているので、早速そのひとつ 2016 Federation Cupの予選にエントリーしました。
マッチの序盤で有名なあの形になりました。スコアは 5-4/17p です。


24ポイントと 21ポイントのチェッカーを逃げないと、バックギャモン負けしそうですが、ここで24ポイントに留まっていないと大損します。

次に黒が1ゾロ以外の1の目を振るとどうなるでしょうか? なんと2枚もブロットが発生するので、白の勝率が7%以上もあるのです。24ポイントのチェッカーを逃げ出してしまうと、勝率0%でギャモン負け確定ですから、大差で留まる手がよいことになります。

XGID=--CCBBC--------------A-cA-:0:0:1:65:5:4:0:17:10

X:mkisono   O:dnhamill
Score is X:5 O:4 17 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 |                  |   |       X     O  X |
 |                  |   |             O    |
 |                  |   |             O    |
 |                  |   |                  |
 |                  |   |                  |
 |                  |BAR|                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   | X        X  X    |
 |                  |   | X  X  X  X  X    |
 |                  |   | X  X  X  X  X    |
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 96  O: 6 X-O: 5-4/17
Cube: 1
X to play 65

    1. XG Roller++ 21/15 6/1                    eq:-1.783
      Player:   7.96% (G:0.00% B:0.00%)
      Opponent: 92.04% (G:69.33% B:18.52%)

    2. XG Roller++ 21/10                        eq:-1.786 (-0.003)
      Player:   7.58% (G:0.00% B:0.00%)
      Opponent: 92.42% (G:69.07% B:18.37%)

    3. XG Roller++ 24/18 21/16                  eq:-2.021 (-0.238)
      Player:   0.00% (G:0.00% B:0.00%)
      Opponent: 100.00% (G:100.00% B:0.00%)

    4. 1-ply       24/19 21/15                  eq:-2.166 (-0.384)
      Player:   0.02% (G:0.00% B:0.00%)
      Opponent: 99.98% (G:99.68% B:13.89%)

    5. 1-ply       24/13                        eq:-2.167 (-0.384)
      Player:   0.02% (G:0.00% B:0.00%)
      Opponent: 99.98% (G:99.73% B:13.89%)


eXtreme Gammon Version: 2.10, MET: Kazaross XG2

実戦では、私はこの形を知っていたので 24ポイントに留まりました。そして相手の目は21!
でもこれでだけでは、勝利まではまだ長い道のりです。
  • オンザバーからヒットする
  • ただヒットするだけじゃなくて、2枚ヒットするように頑張る
  • 2枚ヒットしてクローズアウトする


ここまですべてうまくいって上の形になったとしても、まだキューブを打てません。勝率は68%でした。(スコアは0-0/17pにしました)

XGID=bBBBCCC-------------------:0:0:1:00:0:0:0:17:10

X:mkisono   O:dnhamill
Score is X:0 O:0 17 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |BAR|                  |
 |                  | O |                  |
 |                  | O |                  |
 |                  |   | X  X  X          |
 |                  |   | X  X  X  X  X  X |
 |                  |   | X  X  X  X  X  X |
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 57  O: 50 X-O: 0-0/17
Cube: 1
X on roll, cube action

Analyzed in XG Roller++
Player Winning Chances:   68.28% (G:0.00% B:0.00%)
Opponent Winning Chances: 31.72% (G:0.00% B:0.00%)

Cubeless Equities: No Double=+0.366, Double=+0.741

Cubeful Equities:
       No double:     +0.609
       Double/Take:   +0.542 (-0.067)
       Double/Pass:   +1.000 (+0.391)

Best Cube action: No double / Take
Percentage of wrong pass needed to make the double decision right: 12.7%

eXtreme Gammon Version: 2.10, MET: Kazaross XG2


このあと何枚くらい上がったらキューブを打てるか覚えていなかったので、調べてみました。
スペアの配置がよければ、2枚上がった以下のところでダブルです。

XGID=bBBCCC--------------------:0:0:1:00:0:0:0:17:10

X:mkisono   O:dnhamill
Score is X:0 O:0 17 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |BAR|                  |
 |                  | O |                  |
 |                  | O |                  |
 |                  |   |    X  X  X       |
 |                  |   |    X  X  X  X  X |
 |                  |   |    X  X  X  X  X |
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 42  O: 50 X-O: 0-0/17
Cube: 1
X on roll, cube action

Analyzed in XG Roller++
Player Winning Chances:   73.91% (G:0.00% B:0.00%)
Opponent Winning Chances: 26.09% (G:0.00% B:0.00%)

Cubeless Equities: No Double=+0.478, Double=+0.975

Cubeful Equities:
       No double:     +0.804 (-0.023)
       Double/Take:   +0.827
       Double/Pass:   +1.000 (+0.173)

Best Cube action: Double / Take

eXtreme Gammon Version: 2.10, MET: Kazaross XG2


スペアの配置が悪ければ、3枚上がったところでダブルです。

XGID=bBBBBBB-------------------:0:0:1:00:0:0:0:17:10

X:mkisono   O:dnhamill
Score is X:0 O:0 17 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |BAR|                  |
 |                  | O |                  |
 |                  | O |                  |
 |                  |   |                  |
 |                  |   | X  X  X  X  X  X |
 |                  |   | X  X  X  X  X  X |
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 42  O: 50 X-O: 0-0/17
Cube: 1
X on roll, cube action

Analyzed in XG Roller++
Player Winning Chances:   74.73% (G:0.00% B:0.00%)
Opponent Winning Chances: 25.27% (G:0.00% B:0.00%)

Cubeless Equities: No Double=+0.495, Double=+1.005

Cubeful Equities:
       No double:     +0.813 (-0.038)
       Double/Take:   +0.851
       Double/Pass:   +1.000 (+0.149)

Best Cube action: Double / Take

eXtreme Gammon Version: 2.10, MET: Kazaross XG2

実戦では、ベアオフがうまくできずにギャップが出来てしまいました。それでもダブルしてよさそうですが・・


ここでダブル出来なかったので、160点のエラーでした。

XGID=bDBC--B-------------------:0:0:1:00:5:4:0:17:10
X:mkisono   O:dnhamill

Score is X:5 O:4 17 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |   |                  |
 |                  |BAR|                  |
 |                  | O |                  |
 |                  | O |                X |
 |                  |   |          X     X |
 |                  |   | X        X  X  X |
 |                  |   | X        X  X  X |
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 29  O: 50 X-O: 5-4/17
Cube: 1
X on roll, cube action

Analyzed in XG Roller++
Player Winning Chances:   73.89% (G:0.00% B:0.00%)
Opponent Winning Chances: 26.11% (G:0.00% B:0.00%)

Cubeless Equities: No Double=+0.478, Double=+1.008

Cubeful Equities:
       No double:     +0.670 (-0.160)
       Double/Take:   +0.829
       Double/Pass:   +1.000 (+0.171)

Best Cube action: Double / Take

eXtreme Gammon Version: 2.10, MET: Kazaross XG2


ここまで勝率が違うとすると、自分がリードしている側としては Coup Classique の形を避けなければなりません。kazuさんのブログに秘密が書いてあります。

2016年5月22日日曜日

Go for the jugular

バックギャモンのポジションが投稿されているページがいくつかあります。私が常に見ているのは以下のページです。
どのページにも、ポジションとそれに対するコメントがあるのでとても参考になります。この他にも似たようなページがあったら教えてほしいです。

最近では、UKBGFの Position of the Week #3がおもしろいポジションでした。


これを見たとき、いわゆる"クイズファクター"が無ければ、13/8, 22/21 だと思いましたが、わざわざ取り上げているポジションだけに、6/1, 6/5* もあるのかな?くらいに見てました。
果たして最善手は、6/1, 6/5* でした!

青はブリッツの態勢なので、黒にアンカーを取らせたくありません。5ポイントにアンカーを取られると攻撃が継続できないので、5ポイントをヒットするべきです。ムーブ後は相手を2枚バーに上げて、3ポイントボードなのですから満足でしょう。

 it’s time to go for the jugular with 6/5* 6/1. とある通り、もっとも重要な仕事である「相手にアンカーを取らせない」ことが大事です。ちなみに、この表現を見たとき、「なるほど、チェッカーをお手玉のように転がせってことか」と私は思ったのですが、どうも意味が通じない。jugular=juggler と勘違いしていただけでした。(go for the jugularって熟語を覚えたぞ)

この問題のいいところは、まず明白と思われる13/8を決めてから残りの1を探していても、絶対に最善手にたどり着かないことです。この格言の通りだと思いました。
Many, possibly most, inferior moves are made not because the best play was considered and then rejected, but because the best play was completely overlooked.
-- Kit Woolsey
XGID=aA-BBaB-A---dE-a-c-e--A-A-:0:0:1:51:0:2:0:5:10

X:Player 1   O:Player 2
Score is X:0 O:2 5 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 | X     O     O    |   | O        X     X |
 | X           O    |   | O                |
 | X           O    |   | O                |
 | X                |   | O                |
 | X                |   | O                |
 |                  |BAR|                  |
 |                  | O |                  |
 | O                |   |                  |
 | O                |   |                  |
 | O                |   | X     X  X       |
 | O           X    |   | X  O  X  X     X |
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 146  O: 161 X-O: 0-2/5
Cube: 1
X to play 51

    1. Rollout¹    6/1 6/5*                     eq:+0.510
      Player:   56.83% (G:26.50% B:0.84%)
      Opponent: 43.17% (G:11.69% B:1.06%)
      Confidence: ±0.015 (+0.495..+0.525) - [100.0%]
      Duration: 4 minutes 29 seconds

    2. Rollout¹    24/23 13/8                   eq:+0.412 (-0.098)
      Player:   55.99% (G:19.37% B:0.93%)
      Opponent: 44.01% (G:11.37% B:0.87%)
      Confidence: ±0.011 (+0.401..+0.424) - [0.0%]
      Duration: 5 minutes 02 seconds

    3. Rollout¹    22/21 13/8                   eq:+0.399 (-0.110)
      Player:   56.41% (G:19.83% B:0.94%)
      Opponent: 43.59% (G:10.78% B:0.77%)
      Confidence: ±0.013 (+0.387..+0.412) - [0.0%]
      Duration: 5 minutes 09 seconds

    4. 2-ply       13/7                         eq:+0.295 (-0.215)
      Player:   53.81% (G:20.58% B:0.82%)
      Opponent: 46.19% (G:12.47% B:0.75%)

    5. 2-ply       24/18                        eq:+0.260 (-0.250)
      Player:   52.82% (G:17.10% B:0.62%)
      Opponent: 47.18% (G:12.66% B:0.55%)


¹  1296 Games rolled with Variance Reduction.
   Moves: 3-ply, cube decisions: XG Roller


eXtreme Gammon Version: 2.10, MET: Kazaross XG2


このように6ポイントを外していくようなケースは、むしろ終盤に多いと思ってました。例えば以下の局面。スコアは0-2/7pで、白の私が負けています。


ピップで大幅に負けているので黒のバックマンを逃がしたくありません。あいにくヒットできない目を振ってしまった・・ ように見えますが、6/1, 6/4* というおしゃれな手があった! 実戦では全く気が付かず、残念でした。

XGID=-ADBaBBB---a----bcbcBc----:1:-1:1:52:2:0:0:7:10

X:mkisono   O:shirofukurou
Score is X:2 O:0 7 pt.(s) match.
 +13-14-15-16-17-18------19-20-21-22-23-24-+
 |          O  O  O |   | O  X  O          | +---+
 |          O  O  O |   | O  X  O          | | 2 |
 |             O    |   | O     O          | +---+
 |                  |   |                  |
 |                  |   |                  |
 |                  |BAR|                  |
 |                  |   |                  |
 |                  |   |             X    |
 |                  |   |             X    |
 |                X |   | X  X     X  X    |
 |    O           X |   | X  X  O  X  X  X |
 +12-11-10--9--8--7-------6--5--4--3--2--1-+
Pip count  X: 91  O: 121 X-O: 2-0/7
Cube: 2, O own cube
X to play 52

    1. XG Roller++ 6/1 6/4*                     eq:-0.304
      Player:   47.97% (G:14.02% B:0.07%)
      Opponent: 52.03% (G:9.89% B:0.47%)

    2. XG Roller++ 7/5 7/2                      eq:-0.580 (-0.276)
      Player:   42.16% (G:7.68% B:0.06%)
      Opponent: 57.84% (G:10.88% B:0.42%)

    3. 1-ply       7/2 3/1                      eq:-0.774 (-0.470)
      Player:   36.56% (G:4.90% B:0.02%)
      Opponent: 63.44% (G:12.28% B:0.26%)

    4. 1-ply       7/5 6/1                      eq:-0.836 (-0.532)
      Player:   34.41% (G:4.91% B:0.03%)
      Opponent: 65.59% (G:10.83% B:0.32%)

    5. 1-ply       20/13                        eq:-0.862 (-0.558)
      Player:   35.52% (G:11.53% B:0.14%)
      Opponent: 64.48% (G:14.36% B:0.54%)


eXtreme Gammon Version: 2.10, MET: Kazaross XG2