【廃案】きふわらべ式、将棋の先手勝率70%の時代に向けて、将棋のルールを変えない大会ルールの代案

読了目安:13分

前の関連記事

📖 【将棋】千日手は後手何勝分か(^~^)?

はじめに

ramen-tabero-futsu2.png
「 メーリングリストに送ったら スレッド違いということで その返信で 取り下げになった、
先手勝率が70%になったゲームで 先手の有利さを解消する案 の残骸を 置いておくぜ」

kifuwarabe-futsu.png
「 お父んは 国語ができないからな」

ohkina-hiyoko-futsu2.png
「 この誰も読んでないブログを使って Crieit のダラ管理人のサーバー代で 記事を保管しましょう」

欠点と課題

ramen-tabero-futsu2.png
「 👇 また 大会で使えないから 使いどころがない」

  • きふわらべ式は、(先手勝率が70%に偏らないような、先手勝率が50%前後の)弱い将棋エンジン同士の対局だと、後手を持った方が有利になってしまう欠点がある
  • きふわらべ式は、(先手勝率が70%になるような)強い将棋エンジンと、(先手勝率が50%前後の)弱い将棋エンジンが、混合して対局できるルールである必要がある。特にスイス式に組み込めるようにすることが課題

kifuwarabe-futsu.png
「 わらう」

きふわらべ式の概要

  • 1局の勝利の期待値を 0.5 に調整する

202312__shogi__01-1924--KomiDashi.png

先手勝率を x とする。
    
先手が勝ったときの
    先手の勝ち星は y、
    後手の勝ち星は 1-y
とする。
    
後手が勝ったときの
    先手の勝ち星は 0、
    後手の勝ち星は 1
とする。
    
     1
y = ──── 
    2x

計算例

                               5           0
先手勝率 50%の場合、 先手が勝った時には、先手に勝ち点 ───── 、後手に勝ち点 ───── を与える
                               5           5


                               5           1
先手勝率 60%の場合、 先手が勝った時には、先手に勝ち点 ───── 、後手に勝ち点 ───── を与える
                               6           6


                               5           2
先手勝率 70%の場合、 先手が勝った時には、先手に勝ち点 ───── 、後手に勝ち点 ───── を与える
                               7           7


                               5           3
先手勝率 80%の場合、 先手が勝った時には、先手に勝ち点 ───── 、後手に勝ち点 ───── を与える
                               8           8


                               5           4
先手勝率 90%の場合、 先手が勝った時には、先手に勝ち点 ───── 、後手に勝ち点 ───── を与える
                               9           9


                               5           5
先手勝率100%の場合、 先手が勝った時には、先手に勝ち点 ───── 、後手に勝ち点 ───── を与える
                               10          10
  • 先手と後手の有利さが 50% vs 50% の場合、先手が勝つと 先手の1勝ち点、後手の0勝ち点となり 従来通りとなる
  • もし将棋が強解決して、先手勝率が100%だった場合、先手が勝つと 先手0.5勝ち点、後手0.5勝ち点 となり、勝負無しと同じことになる

数式の説明

ramen-tabero-futsu2.png
「 小学6年生で習う、 反比例 で できている。
x は、 x が大きくなるほど大きくなる 比例 だが、
1/x は、 x が大きくなるほど数字が小さくなる 反比例 だな」

ramen-tabero-futsu2.png
「 まず、将棋が強解決して、先手勝率100% になったとき、先手に 0.5 点しか入らないように調整する。
先手勝率100% というのは 実数で書くと 1.0 だな。
0.5 というのは分数で書くと 1/2 だな」

ramen-tabero-futsu2.png
「 次に、将棋が 先手も 後手も 勝率が 50%、50% のケースを想定する。
この場合、先手が勝ったら 1勝 が入って欲しい。
1勝というのは 実数で書くと 1.0 だな。
1.0 というのは分数で書くと 1/1 だな。
じゃあ、 1/21/1 に調整するには、分母に 0.5 を掛ければいいな。
1/(2 * 0.5)

ramen-tabero-futsu2.png
「 じゃあ 0.5 を 試しに x に置き換えてみようぜ?
1/(2 * x)

kifuwarabe-futsu.png
「 先手勝率 70% なら 1/(2 * 0.7) で いけてるな」

筆算でシミュレーションしてみよう

ベースケース(従来の番勝負の例):

  • 先手、後手の勝率は 50% vs 50% だろうと想定されている
  • 先後を互いに交代する
  • 5番勝負は 先に3勝した方の勝ち
  • 7番勝負は 先に4勝した方の勝ち

ramen-tabero-futsu2.png
「 👆 新しい方法が、従来の方法を兼ねてたら 嬉しいだろ。
従来の方法が ベースケース(基本的なケース)となるように定義してみよう。
きふわらべ式が、先手勝率 50% のとき、ベースケースと同じになるか 筆算して確認してみよう」

先手勝率50%のケース(ベースケース)

例1: 先手番だけが勝つケース(最長のケース)

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手勝  5/5  後手負  0/5   ※先手に 5/5 勝ち点、後手 0/5 勝ち点。 1.0点先取性なら1番で終わり。対局者Aの1点勝ち
..................................
2  後手負  5/5  先手勝  5/5   ※先手に 0/5 勝ち点加算、後手 5/5 勝ち点加算。
3  先手勝 10/5  後手負  5/5   ※2.0点先取性なら3番で終わり。対局者Aの2点勝ち
..................................
4  後手負 10/5  先手勝 10/5
5  先手勝 15/5  後手負 10/5   ※3.0点先取性なら5番で終わり。対局者Aの3点勝ち
..................................

ramen-tabero-futsu2.png
「 👆 ベースケースと同じだな」

例2: 後手番だけが勝つケース(最短のケース)

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手負  0/5  後手勝  5/5   ※先手に 0/5 勝ち点、後手 5/5 勝ち点。1.0点先取性なら1番で終わり。対局者Bの1点勝ち
..................................
2  後手勝  5/5  先手負  5/5
3  先手負  5/5  後手勝 10/5   ※2.0点先取性なら3番で終わり。対局者Bの2点勝ち
..................................
4  後手勝 10/5  先手負 10/5
5  先手負 10/5  後手勝 15/5   ※3.0点先取性なら5番で終わり。対局者Bの3点勝ち
..................................

ramen-tabero-futsu2.png
「 👆 ベースケースと同じだな」

先手勝率60%のケース

ramen-tabero-futsu2.png
「 じゃあ 先手勝率60% の特殊なケースを シミュレーションしてみようぜ?」

例3: 先手番だけが勝つケース(最長のケース)

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手勝  5/6  後手負  1/6   ※先手に 5/6 勝ち点、後手 1/6 勝ち点
2  後手負  6/6  先手勝  6/6
3  先手勝 11/6  後手負  7/6   ※1.0点先取性なら3番で終わり。対局者Aの1点勝ち
..................................
4  後手負 12/6  先手勝 12/6
5  先手勝 17/6  後手負 13/6   ※2.0点先取性なら5番で終わり。対局者Aの2点勝ち
..................................
6  後手負 18/6  先手勝 18/6   ※勝ち点が同じなので、もう1対局行う
7  先手勝 23/6  後手負 19/6   ※3.0点先取性なら7番で終わり。対局者Aの3点勝ち
..................................

ramen-tabero-futsu2.png
「 👆 ベースケースに比べて、番勝負が2番 伸びたな」

例4: 後手番だけが勝つケース(最短のケース)

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手負  0/6  後手勝  6/6   ※先手に 0/6 勝ち点、後手 6/6 勝ち点。1.0点先取性なら1番で終わり。対局者Bの1点勝ち
..................................
2  後手勝  6/6  先手負  6/6
3  先手負  6/6  後手勝 12/6   ※2.0点先取性なら3番で終わり。対局者Bの2点勝ち
..................................
4  後手勝 12/6  先手負 12/6
5  先手負 12/6  後手勝 18/6   ※3.0点先取性なら5番で終わり。対局者Bの3点勝ち
..................................

ramen-tabero-futsu2.png
「 👆 後手番だけが勝つケースは、常にベースケースと同じになるな」

例5: 対局者Aが1つ後手勝ちするケース

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手勝  5/6  後手負  1/6
2  後手勝 11/6  先手負  1/6   ※後手に 6/6 勝ち点加算、先手 0  勝ち点加算。1.0点先取性なら2番で終わり。対局者Aの1点勝ち
..................................
3  先手勝 16/6  後手負  2/6   ※2.0点先取性なら3番で終わり。対局者Aの2点勝ち(後手勝ちがあると前後は先手番なので3連勝しやすい)
..................................
4  後手負 17/6  先手勝  7/6
5  先手勝 22/6  後手負  8/6   ※3.0点先取性なら5番で終わり。対局者Aの3点勝ち
..................................

ramen-tabero-futsu2.png
「 👆 番勝負の最初に先手を持った方が、
後手番で1つ勝ったところで、ベースケースより早く終わることは無さそうだな」

例6: 対局者Bが1つ後手勝ちするケース(サドンデス)

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手負  0/6  後手勝  6/6   ※先手に 0/6 勝ち点、後手に 6/6 勝ち点。1.0点先取性なら1番で終わり。対局者Bの1点勝ち
..................................
2  後手負  1/6  先手勝 11/6   ※2.0点先取性なら3番で終わり。対局者Bのみなし2点勝ち。このあと対局者Aが先手で勝っても、対局者Bに点数が入ってくるから  
..................................
3  先手勝  6/6  後手負 12/6
4  後手負  7/6  先手勝 17/6   ※3.0点先取性なら4番で終わり。対局者Bのみなし3点勝ち。このあと対局者Aが先手で勝っても、対局者Bに点数が入ってくるから  
..................................
×  先手勝 12/6  後手負 18/6   ※この対局を行わなくても、対局者Bの勝ちが決まっているので、この対局は行われない

ramen-tabero-futsu2.png
「 👆 最初に後手を持った方が 番勝負の最初に1つ勝つと、
相手がすぐに後手番で取り返さなければ、
その差がずっと利いていて、ベースケースより早く終わることが有るようだな」

kifuwarabe-futsu.png
「 クソ・ルールだろ」

ohkina-hiyoko-futsu2.png
「 最初に後手番を持った方がいきなり勝つ という事象には、 確率的には 、優遇がかかるのよ」

kifuwarabe-futsu.png
「 確率的って何なんだぜ?
対局に負けたタイミングで番勝負に勝つことはない、みたいなルールにしたら どうだぜ?」

例7: (参考記録)対局に負けたタイミングで番勝負に勝つことはないルールにしたら?

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手負  0/6  後手勝  6/6   ※先手に 0/6 勝ち点、後手に 6/6 勝ち点。1.0点先取性なら1番で終わり。対局者Bの1点勝ち
..................................
2  後手負  1/6  先手勝 11/6
3  先手勝  6/6  後手負 12/6   ※(修正ルール)後手にも勝ち点が入ってくるが、対局に負けたタイミングで番勝負に勝つことはない
4  後手負  7/6  先手勝 17/6   ※2.0点先取性なら4番で終わり。対局者Bの2点勝ち
..................................
5  先手勝 12/6  後手負 18/6   ※(修正ルール)後手にも勝ち点が入ってくるが、対局に負けたタイミングで番勝負に勝つことはない
6  後手負 13/6  先手勝 22/6   ※3.0点先取性なら6番で終わり。対局者Bの3点勝ち

ramen-tabero-futsu2.png
「 👆 対局者Bは、結局、4つ勝つ必要があり、
後手番で1つ勝ったという事象に対して、メリットがないことになるな」

kifuwarabe-futsu.png
「 そうなのか~。
じゃあ 番勝負の1局目の勝敗は すごい重要になるな?」

ohkina-hiyoko-futsu2.png
「 先手有利 を消すには、それぐらいの強い調整が必要になるのよ」

例8: (参考記録)対局者Bが1つ後手勝ちしたあと、対局者Aがすぐに後手で勝つケース

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手負  0/6  後手勝  6/6   ※1.0点先取性なら1番で終わり。対局者Bの1点勝ち
..................................
2  後手勝  6/6  先手負 6/6   ※振り出しに戻った
3  先手勝 11/6  後手負 7/6   ※続けて先手番が取れるので、後手番で勝つと、そのあとずっとメリットを取れる
4  後手負  12/6  先手勝 12/6
5  先手勝 17/6  後手負 13/6   ※2.0点先取性なら5番で終わり。対局者Aの2点勝ち
..................................
6  後手負  18/6  先手勝 18/6
7  先手勝 23/6  後手負 19/6   ※3.0点先取性なら7番で終わり。対局者Aの3点勝ち

ramen-tabero-futsu2.png
「 👆 後手で勝つと、そのあと続けて先手番がやってくるので、ずっと有利になる。
その有利なときに 負けると、有利は相手に行く。
なんにしろ 最後に後手番で勝った方には ずっと大げさなアドバンテージ がもらえる。
最後に先手番で負けた方には ずっと大げさなディスアドバンテージ が付けられる」

先手勝率70%のケース

例9: 先手番だけが勝つケース(最長のケース)

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手勝  5/7  後手負  2/7   ※先手に 5/7 勝ち点、後手 2/7 勝ち点
2  後手負  7/7  先手勝  7/7
3  先手勝 12/7  後手負  9/7   ※1.0点先取性なら3番で終わり。対局者Aの1点勝ち
..................................
4  後手負 14/7  先手勝 14/7
5  先手勝 16/7  後手負 19/7   ※2.0点先取性なら5番で終わり。対局者Aの2点勝ち
..................................
6  後手負 21/7  先手勝 21/7   ※勝ち点が同じなので、もう1対局行う
7  先手勝 26/7  後手負 23/7   ※3.0点先取性なら7番で終わり。対局者Aの3点勝ち
..................................

例9: 後手番だけが勝つケース(最短のケース)

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手負  0/7  後手勝  7/7   ※先手に 0 勝ち点、後手 7/7 勝ち点。1.0点先取性なら1番で終わり。対局者Bの1点勝ち
..................................
2  後手勝  7/7  先手負  7/7
3  先手負  7/7  後手勝 14/7   ※2.0点先取性なら3番で終わり。対局者Bの2点勝ち
..................................
4  後手勝 14/7  先手負 14/7
5  先手負 14/7  後手勝 21/7   ※3.0点先取性なら5番で終わり。対局者Bの3点勝ち
..................................

例10: 対局者Aが1つ後手勝ちするケース

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手勝  5/7  後手負  2/7
2  後手勝 12/7  先手負  2/7   ※後手に 7/7 勝ち点、先手 0  勝ち点。1.0点先取性なら2番で終わり。対局者Aの1点勝ち
..................................
3  先手勝 17/7  後手負  4/7   ※2.0点先取性なら3番で終わり。対局者Aの2点勝ち
..................................
4  後手負 19/7  先手勝  9/7
5  先手勝 21/7  後手負 11/7   ※3.0点先取性なら5番で終わり。対局者Aの3点勝ち
..................................

ramen-tabero-futsu2.png
「 👆 後手で1つ勝つことは、先手で1つ勝つことより ちゃんと メリットがあるな」

例11: 対局者Bが1つ後手勝ちするケース

番  対局者A     対局者B 
ー  ーーーーーー  ーーーーーー
1  先手負  0/7  後手勝  7/7   ※後手に 7/7 勝ち点、先手 0  勝ち点。1.0点先取性なら1番で終わり。対局者Bの1点勝ち
..................................
2  後手負  9/7  先手勝 12/7
3  先手勝 14/7  後手負 14/7
4  後手負 16/7  先手勝 19/7   ※2.0点先取性なら4番で終わり。対局者Bの2点勝ち
..................................
5  先手勝 21/7  後手負 21/7
6  後手負 23/7  先手勝 26/7   ※3.0点先取性なら6番で終わり。対局者Bの3点勝ち
..................................

きふわらべには、きふわらべ式は要らない

kifuwarabe-futsu.png
「 先手勝率70%ではない わたしには きふわらべ式は 要らんなあ」

ramen-tabero-futsu2.png
「 先手勝率50% ~ 先手勝率70% の将棋エンジンが 混合できる計算式は
まだ思案中だぜ」

次の関連記事

📖 イロ・レーティングって何だぜ(^~^)?

.

ツイッターでシェア
みんなに共有、忘れないようにメモ

むずでょ@きふわらべ第29回世界コンピューター将棋選手権一次予選36位

光速のアカウント凍結されちゃったんで……。ゲームプログラムを独習中なんだぜ☆電王戦IIに出た棋士もコンピューターもみんな好きだぜ☆▲(パソコン将棋)WCSC29一次予選36位、SDT5予選42位▲(パソコン囲碁)AI竜星戦予選16位

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント