Glicko-2 रेटिंग सिस्टम: बग या शोषण?


13

मैं मूल रूप से इस 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 जावास्क्रिप्ट कार्यान्वयन

  • जावास्क्रिप्ट में एक छोटी सी त्रुटि थी, जिसमें यह तकनीकी लिखने के उदाहरण से मेल नहीं खाने देता था, लेखक ने इसे काफी करीब पाया, और डिबग करने के लिए परेशान नहीं किया।

Glicko-2 PHP कार्यान्वयन

  • 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        〃


क्या ये धारणाएं सटीक हैं? क्या मेरे कैलकुलेटर में कोई बग है?

यदि यह बग नहीं है, तो इसके अलावा इसके कुछ तरीके क्या हैं:

  • विचलन के निचले सीमा होने के लिए "सही रेटिंग" पर विचार करें (रेटिंग - आरडी)
  • निष्क्रिय उपयोगकर्ता की रेटिंग न दिखाएं
  • उपयोगकर्ताओं को एन गेम्स से कम न दिखाएं


जवाबों:


9

मैंने कुछ महीने पहले एक स्काला कार्यान्वयन पर काम किया था, हालांकि यह थोड़ा अनप्लिट था - मुझे इसे खत्म करने के लिए वापस जाना चाहिए। मुझे कम से कम इससे कुछ उचित परिणाम मिले।

यदि आप अपने द्वारा खेले जाने वाले हर खेल को जीत लेते हैं, तो हाँ, आपकी रेटिंग केवल उच्च श्रेणी के खिलाड़ियों की तुलना में बहुत अधिक हो जाएगी। संभावना है कि आप इस तरह के एक प्रतिद्वंद्वी के खिलाफ हर खेल जीतेंगे शायद एक वर्ग ए खिलाड़ी को क्या हासिल होगा (हालांकि यह अपेक्षाकृत उच्च आरडी, अभी भी के कारण थोड़ा सा फुलाया जाता है)।

मेरी राय में, काउंटर करने का सबसे अच्छा तरीका है, किसी को एक निश्चित राशि से अधिक आरडी के साथ एक स्थिर रेटिंग नहीं माना जाना चाहिए - अर्थात इसे "अनंतिम" मानें। इसके अलावा, वास्तव में एक शीर्षक हासिल करने के लिए, कम से कम यूएससीएफ में, उनके पास मानदंडों की एक प्रणाली है, जहां आपको 4 गेम या उससे अधिक के टूर्नामेंट में एक निश्चित स्तर पर प्रदर्शन करना होगा (4 बार, मेरा मानना ​​है), जो संभावना बनाता है पूरे टूर्नामेंट [चार बार] के लिए ~ 1378 के खिलाफ खेलने की संभावना बहुत कम है।

क्या आपका लक्ष्य शतरंज के लिए इसका उपयोग करना है? आपका उपयोग मामला क्या है?

अद्यतन: FICS इसे केवल <80 सक्रिय आरडी वाले लोगों पर विचार करके संभालती है। (वे ग्लिको -1 का उपयोग करते हैं, फिर भी, मुझे विश्वास है।) http://www.freechess.org/Help/ficsfaq.html#Q005.003

और वैसे, Glicko-1 RD / time क्षय का भी उपयोग करता है। Glicko-2 का मुख्य सुधार "अस्थिरता" कारक था, जो अनियमित परिणाम या स्थिर परिणामों वाले लोगों को बहुत अलग तरीके से गणना करने की अनुमति देता है। मुझे लगता है कि यह Glicko-1 के लिए एक बहुत ही मामूली ट्विक है, जो काफी अतिरिक्त गणना का कारण बनता है - लेकिन आपकी तरह, मुझे अभी भी इसकी गणना करने में दिलचस्पी थी। मैंने वास्तव में ग्लिकमैन को परीक्षण के लिए कुछ अतिरिक्त डेटा पॉइंट्स के लिए कहा था, लेकिन वह उस समय उन्हें आपूर्ति करने में बहुत व्यस्त था।


FYI, एक USCF वर्ग-स्तरीय शीर्षक के लिए 5 टूर्नामेंट में एक मानक अर्जित करना आवश्यक है।
DM
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.