Bu bölümde kabaca reyting hesaplamasının tanımını ve çalışma sistemini (varsayımlarını) açıklayacağız, daha sonraki bölümlerde ise reyting hesaplama eşitliklerini sunacağız.
Reyting sistemimiz oyuncular tarafından daha önceden elde edilen ve gelecekte alabilecekleri sonuçlar üzerine kurulmuştur. Reytinglerin doğru bir şekilde hesaplanabilmesi için hesaplamalarımızda istatistiksel metodlar kullandık, bununla beraber olabildiğince oyuncuların da taleplerine yönelik olarak bu sistemimizi oluşturmaya çalıştık.
Sağlam matematik temelleri olan ve akla yatkın reytingler geliştirebilecek olan bazı çözümler taramak suretiyle uygun reyting sistemleri araştırmaktayız. Reyting sistemlerini gözden geçirdiğimiz zaman en popüler reyting sistemi olarak Dr. Arpad Elo' nun satranç için geliştirdiği ELO Sistemi'ni görmekteyiz. Bu sistem FIDE (Fédération Internationale des Échecs) tarafından da 1970 yılında kabul edilmiş ve dünyanın birçok yerinde çeşitli versiyonları satranç federasyonları tarafından kullanılmıştır. Aynı zamanda diğer oyunarda da reyting sistemi olarak kullanılmıştır.
ELO sistemi oldukça iyi bir sistem ancak bazı problemler içermekte. 2001 yılında Prof. Mark E. Glickman yeni bir reyting sistemi geliştirdi (Glicko Sistemi). Temelde ELO Sistemine benzemekle birlikte temel farkı, reytinglerdeki belirsizlikleri açıklayan sözde reyting sapmalarını tanıtmasıdır. Glicko Sistemi, reytingi bilinmeyen yeni bir oyuncu ile oynayan kişinin patolojik durumlarını önlemeye yöneliktir. Glicko Sistemi'nin hafifleştirilmiş bir modifiye versiyonunu oyunlarımızda kullanmaktayız:
GR: Oyunlarımızda kullandığımız Glicko reyting
Adım a) Her bir oyuncu için Glicko reytingini dahili Glincko reytingine çevirdik (oyunlarımızda reyting için iki sıra, dağılım kullandık - bazı oyunlar (bilardo, dart vb.) 0-10000 arası reyting sıralamasına sahipken, diğerleri (satranç, dama vb.) 0 -3000 sıralamasına sahipler - 0-10000 arası rating sıralamalarında denklemler sunduk, 0-3000 arası sıralamalarda da benzer, paralel denklemler sunuldu; 0-3000 arası sıralamada 1500 ortada bulunmaktadır).
IGR: dahili Glicko reytingi
IGR = 1500 + 1500 * (GR-5000)/10000
Adım b) Glicko reytinginde reyting sapması kullanılıyor - yeniden hesaplamanın içerisine dahil ediliyor:
IGRD: dahili Glicko reyting sapması ,
Daha önce hiç oyun oynanmamış ise:
IGRD = 150 (orjinal Glicko süresi 350 olarak kullanılır - bunu bazı sebeplerden dolayı uygunsuz bulduk).
Aksi taktirde:
T:oyuncu tarafından oynanan son oyunun zamanı(gün olarak)
IGRD = dak(150,sqrt(IGRD* IGRD+63.2*T)
Adım c) Yeni dahili Glicko Reytingi'ni hesaplarız.
NIGRA: Yeni dahili Glicko reytingi
NIGRDA: Yeni dahili Glicko reytingi sapması
NIGRB: Yeni dahili Glicko reytingi
NIGRDB: Yeni dahili Glicko reytingi sapması
NIGRA = IGRA + QA/(1/ IGRDA2 + 1/DA2) * QRDB * (SA,B - EA,B)
NIGRDA
= sqrt(1/(1/ IGRDA2 + 1/DA2))
NIGRB
= IGRB + QB/(1/ IGRDB2 + 1/DB2) * QRDA * (SB,A - EB,A)
NIGRDB
= sqrt(1/(1/ IGRDB2 + 1/DB2))
Nereye:
PI: pi değişmezi (3.14...)
SX,Y: oyunun sonucu: X kazanırsa 1, Y kazanırsa 0, beraberlik durumunda 0.5
Q = ln(10) / 400
QRD = 1/sqrt(1+3*(Q*IGRD/PI)2)
EX,Y = 1/(1+10-QRDy*(IGRx-IGRy)/400)
DX = 1/sqrt(QX*QX*QRD Y *QRD Y * EX,Y * (1-EX,Y))
Adım d) Yeni dahili Glicko Reytingi'ni tekrar yeni Glicko Reytingi'ne çeviririz:
NGR = 5000 + 5000 * (NIGR-1500)/3000
Ve bu reyting oyunda kullanılır.
Hangi hareketleri hile olarak kabul ediyoruz? Bir oyuncu oynamakta olduğu değerlendirilmiş bir oyunu bitiremezse (kasten ya da bağlantı hatasından dolayı) cezalandırılır. Maalesef bu yolla zayıf internet bağlantısı olan kişiler de cezalandırılmış oluyor, fakat bunu yapmak zorundayız, çünkü bazı kişiler kötü bağlantı taklidi yaparak bitirmek istemedikleri oyunlardan çıkmaya çalışmakatlar. Zayıf bağlantı yüzünden oyundan çıkanların cezalandırılmasını minimize etmek için ilk bağlantı kesintilerini hile olarak değerlendirmemekteyiz - Buna rağmen bağlantı kesintileri arttıkça, oyunculara ceza veririz ve reytinglerini düşürürüz. Bunu ise, veri tabanındaki bağlantı kesintisinin tam olarak meydana geldiği zamanı saklayarak ve oyuncuyu reytingini etkileyecek sözde bombalarla ödüllendirerek yapıyoruz.