Ezt eredetileg a StackOverflow oldalon tettem közzé, mivel hiba lehet a megvalósításokban , de néhányan azt javasolták, hogy posztoljak matekba. Most találtam meg ezt a veremcserét, és arra gondoltam, ki lenne jobb? Néhányan közületek tudhatják, hogy ez inkább pontosnak tűnik, vagy sem, hibakeresés nélkül. Az online számológépekre vagy az alternatív értékelési módszerekre mutató linkeket örömmel fogadjuk.
A Glicko-2 a sakkban használt minősítési rendszer, de sok más helyzetben is használható. A Glicko-2 a Glicko-1 fejlesztése, amely a régebbi ELO besorolás problémáival foglalkozott.
A Glicko-2 különlegességet jelent az 1. verzióhoz képest, hogy magasabb besorolási eltérést (RD) tartalmaz, már valaki inaktív. Ezt egy rendszerállandó fogalmával teszi, amely az időre / minősítési periódusokra vonatkozik.
A szerző felírási példája itt található: http://www.glicko.net/glicko/glicko2.pdf .
Ebben a dokumentumban a következőket magyarázza:
A Glicko-2 rendszer akkor működik a legjobban, ha az értékelési időszakban a játékok száma közepes vagy nagy, mondjuk egy értékelési időszak alatt átlagosan játékosonként legalább 10-15 meccs. A minősítési időszak időtartamát az adminisztrátor döntheti el.
Feltételezzük, hogy az aktív sakkozók egy csoportja 10-15 játékot játszik. átlagosan 1 hónapos időszak alatt az adminisztrátor ezután minden hónap végén frissíti az értékeléseket.
Szükségem volt a Glicko-2 minősítési rendszer PHP-implementációjára, és a következőkre bukkantam:
Glicko-2 JavaScript implementáció
- A JavaScript-nek volt egy apró hibája, amelyben nem hagyta, hogy megfeleljen a technikai felírási példának, a szerző elég közel találta, és nem is törődött azzal, hogy hibakeresés.
- A PHP implementációja sok hibával sújtott, de ez nem volt nyilvánvaló, hacsak nem egynél több minősítési periódust hajtott végre (amit a technikai írás- nev nev er mutatja a) várható értékeit
Glicko-2 számológép az Excelben
- Végül úgy tűnt, hogy az Excel számológép hibátlan és a legprofibb, amit valaki a sakk közösségben végzett. A JavaScript hibájának kijavítása után a JavaScript és az Excel kalkulátor nagyon szorosan illeszkedtek egymáshoz (bár nem tökéletesek, de lehetnek kerekítési hibák is)
Javítottam a hibákat (és hibákat küldtem / javítások a szerzőkhöz) Megtalálhattam a PHP és a JavaScript verziókat, amelyek pontosan illeszkednek az Excel kalkulátorhoz.
Most 99% -ig biztos vagyok abban, hogy pontos Glicko-2 implementációval rendelkezem (a Közülük 3) elemzés céljából, és ekkor találkoztam valami furcsa dologgal, valamint a beszélgetés témájával.
Tekintettel a Glicko-2 javasolt alapértelmezésére egy új játékos esetében:
Rating: 1500 RD: 350 Volatility: 0.06
Ha az 1378 és RD 99 besorolású átlagos ellenféllel ( Forrás ) minden értékelési időszakban csak egyszer találkozik (1 hónap) a következő 12 időszakra (1 év) felhalmozódik egy feltételezett A nemzeti osztály (1800-1999) 1852-es besorolás, ha a valóságban van csak 12 átlagos besorolású játékost vert meg 12 hónap alatt.
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 〃
Ha minden értékelési időszakban 2 átlagos ellenféllel szembesülsz, akkor 4-5 hónapig juthatsz az A nemzeti osztályba, csak 8-10 átlagos ellenféllel nézhetsz szembe.
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 〃
Pontosak ezek a feltételezések? Van hiba a számológépben?
Ha nem hibáról van szó, milyen egyéb módszerekkel lehet ezt ellensúlyozni:
- Az „igaz besorolás” legyen az eltérés alsó határa (Értékelés – RD)
- Ne mutassa az inaktív felhasználók értékelését
- Ne mutasson N-nél kevesebb játékkal rendelkező felhasználókat
Megjegyzések
Válasz
Néhány hónappal ezelőtt egy Scala-implementáción dolgoztam, bár kissé csiszolatlan volt – vissza kellene mennem, hogy befejezzem. Legalább ésszerű eredményeket kaptam
Ha megnyer minden játékot, akkor igen, akkor az értékelése elég magasra nő, még akkor is, ha csak alacsony besorolású játékosokkal játszik. Annak a valószínűsége, hogy minden mérkőzést megnyer egy ilyen ellenfél ellen, valószínűleg arról, hogy mit érne el egy A osztályú játékos (bár valószínűleg én kissé felfújt a viszonylag magas RD miatt, még mindig).
Véleményem szerint a legjobb módszer az ellensúlyozásra az, ha nem tekintünk stabil minősítésűnek egy olyan embert, akinek bizonyos összegű RD-je van – azaz. “ideiglenesnek” tekinteni. Továbbá, annak érdekében, hogy ténylegesen megszerezzék a címet, legalábbis az USCF-ben, van egy normarendszerük, ahol egy bizonyos szinten teljesíteni kell egy 4 vagy több játékból álló versenyben (úgy gondolom, hogy négyszer), ami valószínűsíti ~ 1378 ellen játszani az egész tornán [négyszer] nagyon valószínűtlen.
Célod, hogy ezt sakkra használd? Mi a felhasználási esete?
Frissítés: A FICS úgy kezeli, hogy csak < 80 RD-vel rendelkező embereket vesz figyelembe. (Azt hiszem, a Glicko-1-et használják, még mindig.) http://www.freechess.org/Help/ficsfaq.html#Q005.003
És a Glicko-1 RD / time bomlást is használ. A Glicko-2 legfőbb javulása a “volatilitás” tényező volt, amely lehetővé teszi, hogy a hibás eredménnyel vagy stabil eredménnyel rendelkező embereket nagyon kissé eltérően számolják. Úgy gondolom, hogy ez a Glicko-1 nagyon apró módosítása, ami jelentős extra számítást eredményez – de mint te, engem továbbra is érdekelt a kiszámítása. Valójában Glickman-től kértem néhány további adatpontot a teszteléshez, de akkor túl elfoglalt volt ahhoz, hogy azokat megadja.
Megjegyzések
- FYI, a Az USCF osztályszintű bajnoksághoz normatívát kell megszerezni 5 versenyen.
Válasz
Minden osztályozó rendszernek problémája van való élet. Legjobb esetben egyikük sem tehet többet, mint megközelítőleg kitalálni a képességeit.
Jobban fognak teljesíteni GM szinten, mivel ezek a játékosok következetesebbek és általában több GM-t játszanak; míg a többiek inkonzisztensebbek vagyunk, és hajlamosak vagyunk az alacsonyabb besorolású játékosok szélesebb körét játszani, akik szintén inkonzisztensebbek. Az új játékosok pedig sokkal gyorsabban fejlődnek, miközben kevesebb tornán játszanak, ami tovább torzítja az összes értékelést. Bármelyik szinten vannak olyan játékosok, akiknek vannak szabadnapjaik, vagy nem próbálkoznak olyan keményen, ha ez nem változtatja meg pozíciójukat a végeredményben.
Annyira próbálják finomítani az értékeléseket, mint a Glicko2, hogy bolond ügy.
A problémát tovább súlyosbítja, hogy a játékosok általában ugyanazokat a játékosokat játsszák. Ha lenne egy világszerte kötelező svájci rendszer, amely elég kört játszott volna, akkor a legtöbb játékos értékelése nagyot rázna. A világméretű kettős körmérkőzés további változtatásokat eszközölne, de a svájci jó kezdet lenne a minősítési hibák kijavításában – legalább középen a bevett játékosokkal. Még mindig az a probléma, hogy az új játékosok eltorzítják az értékeléseket.