मैं मूल रूप से इस StackOverflow पर पोस्ट किया गया था क्योंकि यह कार्यान्वयन में एक बग हो सकता है, लेकिन कुछ ने सुझाव दिया कि मैं गणित को पोस्ट करता हूं। मुझे यह स्टैकएक्सचेंज मिला, और मैंने सोचा कि कौन बेहतर है? आपमें से कुछ लोग बल्लेबाजी की आवश्यकता के बिना बल्ले से पता कर सकते हैं कि यह सही है या नहीं। ऑनलाइन कैलकुलेटर या वैकल्पिक रेटिंग विधियों के किसी भी लिंक का स्वागत किया जाता है।
Glicko-2 एक रेटिंग प्रणाली है जिसका उपयोग शतरंज में किया जाता है, लेकिन इसका उपयोग कई अन्य स्थितियों में किया जा सकता है। Glicko-2, Glicko-1 पर एक सुधार है, जिसने पुराने ELO रेटिंग की समस्याओं को संबोधित किया है।
संस्करण 1 की तुलना में Glicko-2 को जो खास बनाता है वह यह है कि यह उच्च रेटिंग विचलन (RD) को शामिल करता है जो किसी व्यक्ति को निष्क्रिय कर देता है। यह एक सिस्टम कॉन्स्टेंट की धारणा के साथ करता है जो समय / रेटिंग अवधि से संबंधित है।
लेखक का एक उदाहरण यहाँ पाया गया है: http://www.glicko.net/glicko/glicko2.pdf ।
इस दस्तावेज़ के भीतर, वह बताते हैं:
Glicko-2 सिस्टम सबसे अच्छा काम करता है जब रेटिंग अवधि में गेम की संख्या मध्यम से बड़ी होती है, रेटिंग अवधि में औसतन कम से कम 10-15 गेम प्रति खिलाड़ी का होता है। रेटिंग अवधि के लिए समय की लंबाई प्रशासक के विवेक पर है।
यह धारणा बनाते हुए कि सक्रिय शतरंज खिलाड़ियों का एक समूह 1 महीने की समय अवधि में औसतन 10-15 गेम खेलता है, प्रशासक तब हर महीने के अंत में रेटिंग अपडेट करेगा।
मुझे Glicko-2 रेटिंग सिस्टम के PHP कार्यान्वयन की आवश्यकता थी और निम्नलिखित में आया:
ग्लिको -2 जावास्क्रिप्ट कार्यान्वयन
- जावास्क्रिप्ट में एक छोटी सी त्रुटि थी, जिसमें यह तकनीकी लिखने के उदाहरण से मेल नहीं खाने देता था, लेखक ने इसे काफी करीब पाया, और डिबग करने के लिए परेशान नहीं किया।
- PHP कार्यान्वयन कई बगों से ग्रस्त था, लेकिन यह तब तक स्पष्ट नहीं था जब तक कि आप एक से अधिक रेटिंग अवधि (जो तकनीकी लेखन कभी अपेक्षित मूल्यों को नहीं दिखाता)
एक्सेल में ग्लिको -2 कैलकुलेटर
- अंत में एक्सेल कैलकुलेटर त्रुटि रहित और सबसे अधिक पेशेवर लग रहा था, जो शतरंज समुदाय के किसी व्यक्ति द्वारा किया गया था। एक बार जावास्क्रिप्ट बग हल करने के बाद, जावास्क्रिप्ट और एक्सेल कैलकुलेटर एक दूसरे के साथ बहुत निकटता से मेल खाते थे (यद्यपि सही नहीं, त्रुटि के भीतर हो सकता है)
मैंने बग्स को ठीक कर दिया था (और लेखकों को मुद्दे / पैच प्रस्तुत किए थे) मैं एक्सेल कैलकुलेटर के रूप में बारीकी से मिलान करने के लिए PHP और जावास्क्रिप्ट संस्करणों पर पा सकता था।
अब मुझे 99% विश्वास है कि मेरे पास विश्लेषण के लिए एक सटीक Glicko-2 कार्यान्वयन (उनमें से 3 के बीच) है और यह तब है जब मैं कुछ अजीब, और इस चर्चा का विषय आया।
नए खिलाड़ी के लिए Glicko-2 के लिए दिए गए डिफ़ॉल्ट को देखते हुए:
Rating: 1500
RD: 350
Volatility: 0.06
यदि आपको 1378 और आरडी 99 ( स्रोत ) की औसत प्रतिद्वंद्वी का सामना करना पड़ता है , तो अगले 12 अवधियों (1 वर्ष) के लिए केवल एक बार हर रेटिंग अवधि (1 महीने) में आप 1852 की अनुमानित राष्ट्रीय कक्षा ए (1800-1999) की रेटिंग जमा करेंगे। जब वास्तव में आपने केवल 12 महीनों में 12 औसत रेटेड खिलाड़ियों को हराया है।
Month Rating RD Volatility Class
1 1625 259 0.059999 National Class B
2 1682 225 0.059998 〃
3 1718 205 0.059997 〃
6 1784 174 0.059994 〃
12 1852 148 0.059988 National Class A
24 1922 127 0.059976 〃
यदि आप हर रेटिंग अवधि में 2 औसत विरोधियों का सामना करते हैं, तो आप केवल 4-10 औसत विरोधियों का सामना करते हुए, 4-5 महीने के लिए नेशनल क्लास ए में पहुंच सकते हैं।
Month Rating RD Volatility Class
1 1672 215 0.059999 National Class B
2 1733 183 0.059997 〃
3 1770 166 0.059995 〃
4 1797 154 0.059993 〃
5 1819 146 0.059992 National Class A
6 1836 140 0.059991 〃
क्या ये धारणाएं सटीक हैं? क्या मेरे कैलकुलेटर में कोई बग है?
यदि यह बग नहीं है, तो इसके अलावा इसके कुछ तरीके क्या हैं:
- विचलन के निचले सीमा होने के लिए "सही रेटिंग" पर विचार करें (रेटिंग - आरडी)
- निष्क्रिय उपयोगकर्ता की रेटिंग न दिखाएं
- उपयोगकर्ताओं को एन गेम्स से कम न दिखाएं