Re: [問題] 網路圍棋的棋力疑問(不是月經文)
※ 引述《baconcsie (Bacon)》之銘言:
: 我一直有個疑問,網路棋力是不是時間越久,同一個棋力等級的人就越強
: 例如可能現在3~4k棋力的相當於業餘1段,5年後3~4k棋力的反而相當於業餘2段
: 因為通常有一定棋力的人才會有興趣上網下圍棋,而我在進步,別人也在進步
: 這樣不就會造成同一個等級的,棋力卻越來越強?
網路棋力算法, 有兩大派.
其一, 是仿照國際西洋棋的算法. 稱為 Elo rate
http://en.wikipedia.org/wiki/Elo_rating_system
用「等級分」來表示棋力.
是相對棋力, 而不是絕對棋力.
每個人進場分數為 1600. 之後隨勝負升降.
嬴的人從輸的人身上取分數. 二者的分數總合不變.
勝率相差 10 倍左右的兩個人, 其分數會相差 400 分.
依此以對數計算.
這種方法也有被套用在圍棋上, 但是參數要調整一下.
並且需要設定基準棋力.
(西洋棋不關心基準, 通常沒有基準.只知道 1600 是該群裡的平均棋力
但各群的 1600 不會是相同棋力)
這方法知道的人多, 各大棋站的各棋種多採用此法. 尤其西方的站.
台灣的 igame 也公開說明採用之.
顏士淨教授有篇論文, 就有修改此法來做精密的圍棋力分級.
http://etd.lib.ndhu.edu.tw/theses/available/etd-0729103-120620/unrestricted/etd-0729103-120620.pdf
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
其二, 是電腦圍棋傳統的方法, 稱為 mlrate.
假設某甲比某乙高 N 級, 則某乙勝某甲的機率為 (1/2) * ((4/9)^N)
1/2 乘以 (4/9 的 N 次方)
其中 4/9 是早期的棋站採用的常數.
根據以上公式及玩家之間的勝負記錄, 可推出所有玩家的棋力.
早期的版本, 相鄰兩級間差距 100 分.
(注意: 級差為 0 時, 此公式仍適用. 算出來機率為 1/2)
以上算出來的仍是相對棋力.
但圍棋有明確的段級, 故會取一, 二位棋手做為 基準 (Anchor).
例如 把 GnuGO 設為 五級的基準.
其他所有人的棋力都是由基準間接推算出來的.
如果有設定電腦為基準, 定出來的棋力會很穩定, 不會隨時間改變.
早期 LGS 有取一位初段的人當基準, 當時似乎同時以一個 GnuGO 做為六級的基準.
如果該位初段證書的人, 棋力增強了, 但沒被當成二段的基準,
那麼其他人的棋力就會被低估了.
附帶一提, 被設為基準者, 其棋力的分數不會改變, 甚至末 2 位數是 00.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
總結:
基本上, 相鄰兩級之間的勝率是一個常數. (在圍棋而言, 大約是 2/9)
故以上二法經由調整參數和設定基準後, 可以達到幾乎相同的效果.
仍然不同之處在於,
法一 是在對局結束後, 馬上知道分數更新.
法二 要等到重算(例如每天早上四點)所有玩家的分數後, 才知道更新的分數.
法一的算法簡單, 可以人工計算.
法二的算法較精密, 但可以用更少的盤數算出準確的分數.
(但下的盤數多時, 二者的結果幾乎一樣)
當某甲的棋力變化了, (例如升高了 0.4 級), 那麼在法二可以用更少的盤數,
就顯示升高了 0.4 級. 但在法一的系統下, 同樣的盤數, 可能會被認為升高 0.5 級,
或 0.3 級.
某甲進步了, 必然嬴了某乙等人數盤.
在盤數不夠之下,法一會認為某甲進步了, 而某乙退步了.
法二才能客觀的發現某乙沒變, 只是某甲變了.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2011/8/5 應推文補充
棋城的算法, 接近於以上的法二. 但法二比棋城精細得多.
棋城對於 1~10 級間的規定是,
勝率 90% 以上, 可升 2 級; 65% 以上升 1 級.
法二如果取常數為 4/9
則高一級者的勝率為 1 - 2/9 = 78% (此處棋城的規定是 65%)
(與 k 級者下棋, 若勝率為 78%, 則其棋力為 k-1 級)
高二級者的勝率為 1 - 1/2(4/9)^2 = 90% (此處棋城的規定也是 90%)
所以棋城的效果近於 法二 (mlrate)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
留言