2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

予期せぬ連敗でレートが溶けても気にしなくていいかもしれない話

Last updated at Posted at 2021-05-09

#はじめに

Twitterのフォロワーにオセロ競技者が多いのでオセクエ 1 廃人のツイートをよく見かけます🕊
上下するレーティングに一喜一憂したり、連敗でレートが溶けることにストレスを感じている方が多いように感じます🥺🐘

『気にしなくていいんですよ。意外と知られていない。』
とか言っても信じてもらえないので検証してみましょう❗️😸

#さっそく本題

###シミュレーション内容

前提

  • 適正レートは1700とする
  • 週に300回対局するオセクエ廃人

ケース①

  • 予期せぬ連敗でレートが1600まで落ちる😿
  • その後レート1700の相手と300連戦(勝ち負けを交互に繰り返す)2

ケース②

  • 連敗しなかった世界線😸
  • レート1700の相手と300連戦(勝ち負けを交互に繰り返す)2

→ 300連戦後のレートを比べてみる❗️✊😸

###レーティング計算ロジック

レーティングの計算はイロレーティングでやります🧮✨

[ご参考]

※多くの対戦ゲームやオセロ連盟レーティングはイロレーティングをベースに色々手が加えられているので完全に同じ結果にはならないと思います😿

###プログラム

PHPで実装しました👨‍💻

<?php
// 想定勝率
function winRate($myRating, $opponentRating)
{
    return 1 / (10 ** (($opponentRating - $myRating) / 400) + 1);
}

// レーティング計算
function rating($myRating, $opponentRating, $isWinning)
{
    $winRate = winRate($myRating, $opponentRating);
    
    return $isWinning
        ? $myRating + (1 - $winRate) * 16
        : $myRating - $winRate * 16;
}

// 検証開始時のレーティング
$myRating = 1600;

// レーティング1700の相手と300回対戦する(交互に勝ち負けを繰り返すだけ)
for ($i = 0; $i < 300; $i++) {
    $isWinning = $i % 2;
    $myRating = rating($myRating, 1700, $isWinning);
}

echo $myRating; // 1703.9490319962

#結果
ケース①(連敗したあとに300戦)
→ 1703.9490319962

ケース②(連敗しないで300戦)
→ 1704.0428496813

なんと0.1しか変わりませんでした🙀💦

1週間対局すれば連敗は実質無かったことになります😽💞

これで心置きなく連敗できますね❗️😸…❓😿

  1. 無料で世界ランカーレベルのオセラーとも対戦できる神ゲー オセロクエスト

  2. レート1700の対戦相手は毎回別の人と仮定する 2

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?