SlideShare a Scribd company logo
「数学」と「ゲーム」が大好きな競プロ
勢の皆様へのおすすめ
2019/12/22 競プロ忘年会2019LT
sky58(@skyaozora)
Recommandation forcompetitiveprogrammers
つまり、競プロ勢は数学とゲームが好き
去年の競プロ忘年会:
snukeさんによる(競技)パズルの紹介LT
確かに数学的(論理的)思考はあるけど、
より直接的な数学(確率計算等)の要素
を持ったゲームがあれば…
Recommandation forcompetitiveprogrammers
バックギャモン(別名:西洋すごろく)
ルールは極めてシンプル
しかし戦略はめちゃくちゃ奥が深い
みんなが好きな「数学」要素が盛りだく
さんの「ゲーム」
バックギャモンのルール
https://www.youtube.com/watch?v=OIr7rsqephA
ギャモン勝ち
相手の駒が1枚も上がってない状態で
自分の駒を全て上げると、
2点勝ちとなる
バックギャモン勝ち
相手の駒が1枚も上がってない状態で
さらに相手の駒が1枚以上
オンザバーまたは
自分のインナーにある状態で
自分の駒を全て上げると、
3点勝ちとなる
サイコロを振るので、当然運要素はある
駒の動かし方は自分で選べる
動かし方で「勝率」が変わってくる
勝率の見積もりにおいて確率計算が重要
もう一つの(重要な)ルール:ダブリングキューブ
https://www.youtube.com/watch?v=NZxThgV3KAo&list=PLVYnQJPmAyaD0VAbp
dX7auzjahwG9VtM-&index=3
ダブリングキューブがあることによって
ダブルをかける側(有利な側)からみると:
ダブルをしなければ、勝っても1点しか取ることができない
「適切なタイミング」でダブルをした上で勝てば2点取れる
しかし、ダブルをするタイミングが早すぎると、逆転されて
2倍にしておかなければよかったとなるかもしれない
ダブリングキューブがあることによって
ダブルをかけられた側(不利な側)からみると:
かなり不利な状況の場合、パスすると1点失うだけで済むの
にテイクしたら2点失ってしまう
逆転の余地がある場合、テイクしたらこっちが2点取れるか
もしれないがパスしたら1点失ってゲームが終わってしまう
ダブリングキューブがあることによって
サイコロの目は運次第だが、ダブリングキューブのお陰で「
どれだけ勝った時の得点を増やし負けた時の失点を防げるか
」というプレイヤーの技術が問われるようになる
この判断に、確率計算という数学要素は極めて重要
(キューブアクションは、ポーカーのベットに近いかも)
ダブリングキューブ実践問題
黒がダブルをしました
黄色のあなたは
テイクorパス?
ダブリングキューブ実践問題
黒は4以上の目と2以上の目の
組み合わせなら上がれる
2ゾロ、3ゾロでも上がれる
上がれる組み合わせは右表の黒部分
黄色の勝率は13/36 = 約36%
1 2 3 4 5 6
1
2
3
4
5
6
ダブリングキューブ実践問題 解答
黄色はテイクが正解
テイク/パス判断の1つの基準:25%ルール
自分の勝率をXとする
①:テイクした際の期待値:2X-2(1-X)=4X-2
②:パスした際の期待値:-1
X=0.25の時に、①と②が等しくなる
→勝率が25%以上ならテイク、それ以下ならパスすべき
ダブリングキューブ実践問題part2
黒がダブルをしました
黄色のあなたは
テイクorパス?
ダブリングキューブ実践問題part2
黄色が勝つには
黒が上がれない目を振る かつ
黄色が上がれる目を振る が必要
黄色の勝率は、13/36*23/36=約23%
ダブリングキューブ実践問題part2 解答
黄色はテイクが正解
ダブリングキューブ実践問題part2 解答
黄色はテイクが正解
勝率は25%を切ってるのに
何故…!?
ダブリングキューブ実践問題part2 解答
黒が上がれなかった場合
ダブリングキューブ実践問題part2 解答
ここでサイコロを振って
黄色が上がれる確率は
23/36…
でもその前に!
ダブリングキューブ実践問題part2 解答
黄色はリダブルをできる
自分に有利な局面で
4点の取り合いにできる
ここまで考慮した結果の
先ほどの局面でのテイク
キューブアクションまとめ
リダブルの影響を考えると、勝率25%未満でもテイクできる
場合が存在する
相手のギャモン勝ちの可能性を考えると、勝率25%を超えて
いてもテイクできない場合が存在する
キューブアクションはめちゃくちゃ奥が深い!
ポイントマッチ
今までは単純に得失点の期待値を最大化する話をしていた
多くの場合、「先に〇点取った方が勝ち」という形式で試合
が行われる(ポイントマッチ)
当然、長い試合ほど実力差が反映される(例会等でよく行われ
るのは5ポイントマッチ、長いのでは25ポイントマッチ)
ポイントマッチでのダブリングキューブ
5ポイントマッチ Aさん3点 vs Bさん1点
Bさんがダブルをした場合、Aさんはテイクしてもリダブルは
しない(する意味がない)
Aさんがダブルをかけた場合、Bさんはテイクしたら次の可能
な機会でリダブルをする(失うものがないので)
目標の点数が決まってるのでそれを考慮しなくてはいけない
ポイントマッチでのダブリングキューブ
5ポイントマッチ
黒3-0黄色
黒がダブルをすべき?
黄色のあなたは
テイクorパス?
ポイントマッチでのダブリングキューブ
黒はダブルをするべきで
黄色はパスが正解
ポイントマッチでのダブリングキューブ
5ポイントマッチ
黒0-3黄色
黒がダブルをすべき?
黄色のあなたは
テイクorパス?
ポイントマッチでのダブリングキューブ
黒はダブルをすべきでない
(もし黒がダブルしたら
黄色はテイクが正解)
ポイントマッチでのダブリングキューブ
黒はダブルをすべきでない
(もし黒がダブルしたら
黄色はテイクが正解)
この差はいったい何!?
マッチエクイティテーブル
お互い残り何点の時にマッチ勝率がどうなっているかの表
この表もとに、テイクしたとき、パスしたときそれぞれの
「マッチ勝率」を計算して
テイク/パスの判断をする
1 2 3 4 5
1 50 68 75 81 84
2 32 50 60 67 74
3 25 40 50 57 65
4 19 33 43 50 58
5 16 26 35 42 50
バックギャモンとAI
10年以上前からAIが人間よりはるかに強い
AIが局面ごとの最善手と、他の手がどれだけ期待値を下げた
かを教えてくれる
多くのプレイヤーがこのAIを使って勉強をしている
パフォーマンスレーティング(PR)
AIの提示した最善手と比べて、平均して1手あたりどれだけ
期待値を下げたかを計算 それをもとに算出
試合の勝敗には運が絡むが、PRは実力にのみ依存する
PRが下がっていれば実力が向上したとわかる
PRとAtCoderレーティングの関係性
バックギャモン
におけるPR
AtCoderレーティ
ング
~20 茶
~15 緑
~10 水色
~7.5 青
~6 黄色
PRとAtCoderレーティングの関係性
バックギャモン
におけるPR
AtCoderレーテ
ィング
~5 橙
~4 赤
~3.5 銀王冠
~3 金王冠
~2.5 tourist
バックギャモンの面白さ:運とスキル
ちゃんとスキルが影響するゲームであり、実力の向上を客観
的に測ることができる
最善手の考え方は将棋のような確定情報ゲームとは違った面
白さがある
運要素があることによって、初心者でも熟練者に勝てるチャ
ンスがある
さぁ、今すぐ
バックギャモンを始めよう!
バックギャモンソフト
GNU Backgammon(https://www.gnu.org/software/gnubg/)
無料ソフトながら、AIとの対戦・結果の解析といった最低限
の機能を有している
ギャモンを始めようと思ったらまずはこれをインストールし
て遊んでみるのがおすすめ
使い方動画(https://www.youtube.com/watch?v=j8xx0vjjnto)
バックギャモンソフト
eXtreme Gammon(http://www.extremegammon.com/)
現在最強と言われているソフト
有料(約$60)だが、より詳細な解析ができ、様々な機能もある
バックギャモンを遊べる場所
日本バックギャモン協会
(http://www.backgammon.gr.jp/EventSchedule/calendar/calen
dar.cgi)
毎週日曜に赤坂例会、月1土曜に四谷例会を開催
年に2回、フェスと王位戦という大きな大会を開催
バックギャモンを遊べる場所
BackgammonAce(http://pr.heroz.jp/backgammon/)
HEROZ社制作のバックギャモンスマホアプリ
自動でマッチングが行われ、勝敗によってレートが変動
棋譜も残って、AIの解析付きで見直しができる
バックギャモンを遊べる場所
PlayOK(https://www.playok.com/ja/backgammon/)
部屋を作り、ポイント数を指定して対戦することができる
日本人同士で対戦しやすい
棋譜がダウンロードでき、前述のソフトに入れて解析できる
バックギャモンを遊べる場所
INBC/インターネットバックギャモンクラブ
(https://wikiwiki.jp/loversleap/)
ギャモン好きが集まるネット上のコミュニティ
前述のPlayOKを利用して定期的に大会が行われている
「ギャモン大喜利」など対戦以外の企画も
大きな大会に合わせてオフ会が行われる
望月正行
日本人初の世界チャンピオン
5年以上にわたって世界ランク1位を維持
望月正行
日本人初の世界チャンピオン
5年以上にわたって世界ランク1位を維持
バックギャモン界のtourist
矢澤亜希子
余命1年と宣告されたガンを乗り越え世界チャンピオンに
2度の優勝は女性では唯一、日本人としても唯一
矢澤亜希子
余命1年と宣告されたガンを乗り越え世界チャンピオンに
2度の優勝は女性では唯一、日本人としても唯一
バックギャモン界のtourist
名城健太郎
新鋭戦(25歳以下の大会)を2連覇中
2017年には17連勝を記録し連勝賞・勝率1位賞を受賞
名城健太郎
新鋭戦(25歳以下の大会)を2連覇中
2017年には17連勝を記録し連勝賞・勝率1位賞を受賞
現在高校1年生
名城健太郎
新鋭戦(25歳以下の大会)を2連覇中
2017年には17連勝を記録し連勝賞・勝率1位賞を受賞
現在高校1年生
バックギャモン界の(高校時代の)tourist

More Related Content

PPTX
[DL輪読会]Live-Streaming Fraud Detection: A Heterogeneous Graph Neural Network A...
PDF
マイクロアドにおけるCTR予測への取り組み
PPTX
数理最適化とPython
PDF
Java8でRDBMS作ったよ
PDF
プログラミングコンテストでの動的計画法
PDF
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
PDF
オブジェクト指向エクササイズのススメ
PDF
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
[DL輪読会]Live-Streaming Fraud Detection: A Heterogeneous Graph Neural Network A...
マイクロアドにおけるCTR予測への取り組み
数理最適化とPython
Java8でRDBMS作ったよ
プログラミングコンテストでの動的計画法
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
オブジェクト指向エクササイズのススメ
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説

What's hot (20)

PDF
リレーショナルな正しいデータベース設計
PPT
メタプログラミングって何だろう
PDF
NumPy闇入門
PPTX
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
PDF
オブジェクト指向プログラミングの現在・過去・未来
PPTX
H2O Waveを使ったAIアプリケーション作成入門
PDF
MySQL勉強会 クエリチューニング編
PDF
Pythonによる黒魔術入門
PDF
機械学習で泣かないためのコード設計
PDF
入門 シェル実装
PDF
「これからの強化学習」勉強会#1
PDF
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
PDF
JavaScript難読化読経
PDF
推薦アルゴリズムの今までとこれから
PPT
整数列圧縮
PDF
オブジェクト指向の設計と実装の学び方のコツ
PDF
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
PPTX
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PDF
TensorFlowで逆強化学習
PDF
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
リレーショナルな正しいデータベース設計
メタプログラミングって何だろう
NumPy闇入門
Anaconda navigatorのアップデートが終わらないときの対処方法メモ
オブジェクト指向プログラミングの現在・過去・未来
H2O Waveを使ったAIアプリケーション作成入門
MySQL勉強会 クエリチューニング編
Pythonによる黒魔術入門
機械学習で泣かないためのコード設計
入門 シェル実装
「これからの強化学習」勉強会#1
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
JavaScript難読化読経
推薦アルゴリズムの今までとこれから
整数列圧縮
オブジェクト指向の設計と実装の学び方のコツ
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
TensorFlowで逆強化学習
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
Ad

Recommandation forcompetitiveprogrammers