Elo hesaplayıcı
İki puanı ve K katsayısını gir; kazanma ihtimalini ve bir galibiyetin, beraberliğin ya da mağlubiyetin puanı tam olarak kaç oynattığını gör. Sonra bir seansın maçlarını sırayla işle, iki takımı ortalama puanla karşılaştır ya da hedef puana kaç galibiyet kaldığını hesapla.
Sonuç
- Beklenen skor, A
- 64,0%
- Beklenen skor, B
- 36,0%
- Seçtiğin sonuç: A değişimi
- +11,5
- Seçtiğin sonuç: B değişimi
- −11,5
| Sonuç | A değişimi | A yeni puan | B değişimi | B yeni puan |
|---|---|---|---|---|
| A kazanır | +11,52 | 1.611,5 | −11,52 | 1.488,5 |
| Beraberlik | −4,48 | 1.595,5 | +4,48 | 1.504,5 |
| A kaybeder | −20,48 | 1.579,5 | +20,48 | 1.520,5 |
Beklenen skor, aynı maçı çok kez oynasan ortalamada alacağın sonuçtur (galibiyet 1, beraberlik 0,5). Beraberlik mümkünse tam olarak kazanma ihtimali değildir.
Elo aslında neyi hesaplar?
Elo, iki oyuncu arasındaki puan farkını bir beklenen skora çevirir: aynı iki oyuncu çok kez karşılaşsa ortalamada alacakları sonuç (galibiyet 1, beraberlik 0,5). Maç bittikten sonra her iki puan da, gerçekleşenle beklenen arasındaki farkın K katı kadar oynar. Bütün sistem iki formülden ibaret:
- Beklenen skor = 1 ÷ (1 + 10(rakip − sen) ÷ 400)
- Yeni puan = eski puan + K × (gerçek skor − beklenen skor)
400, ölçek seçimidir: 400 puan önde olan taraftan ortalamada yaklaşık yüzde 91 skor beklenir. Tablo, farkın büyüdükçe beklentinin nasıl hızlandığını gösteriyor.
| Puan farkı | Beklenen skor | K = 32 iken galibiyetin getirisi |
|---|---|---|
| 0 | %50,0 | +16,0 |
| 100 | %64,0 | +11,5 |
| 200 | %76,0 | +7,7 |
| 400 | %90,9 | +2,9 |
| 800 | %99,0 | +0,3 |
Örnek hesap
A oyuncusu 1600, B oyuncusu 1500 puanlı; K = 32. Fark 100 olduğu için A’nın beklenen skoru 1 ÷ (1 + 10−0,25) = 0,640.
- A kazanırsa: 32 × (1 − 0,640) = +11,5; B de 11,5 kaybeder.
- Berabere kalırlarsa: 32 × (0,5 − 0,640) = −4,5.
- A kaybederse: 32 × (0 − 0,640) = −20,5.
Favori, kazanabileceğinin yaklaşık iki katını riske atıyor; sistem sürprizin bedelini, sürprizin ne kadar beklenmedik olduğuna göre kesiyor. İki oyuncu da aynı K’yı kullandığı için birinin kazandığı diğerinin kaybettiği kadar; havuzdaki toplam puan hiç değişmiyor. Hesaplayıcıda farklı K değerleri ve farklı puan farkları dene. İki oyuncuya farklı K verirsen havuzun artık sıfır toplamlı olmadığını göreceksin; puan enflasyonu ya da deflasyonu böyle başlar.
Rank tırmanışının matematiği
Matchmaking seni kendi seviyendeki rakiplerle eşleştiriyorsa her galibiyet yaklaşık K/2 kazandırır, her mağlubiyet yaklaşık K/2 götürür. K = 32 iken bu +16 ve −16 demek; tırmanış “net galibiyet” hesabına döner. 300 puan için 19 net galibiyet gerekir, K = 24 olsaydı 25. Eşit rakiplerle bir mağlubiyeti tek galibiyet geri alır: kötü bir akşamın bedeli, toparlandığın bir sonraki akşamda silinir.
Asıl fark kazanma oranında. Hesaplayıcının “Hedefe ulaş” sekmesi, K = 32 ve eşit rakiplerle 1500’den 1800’e çıkmak için beklenen maç sayısını verir: kazanma oranı %52 ise yaklaşık 469, %55 ise 188, %60 ise 94 maç. Oranı üç puan artırmak süreyi yarıdan fazla kısaltıyor; %50’de ise beklenen değişim sıfır, yani tırmanış yok. Bu yüzden takip etmeye değer olan tek tek sonuçlar değil, uzun vadeli kazanma oranı. Seansları not al: hangi saatlerde, hangi rollerle, kaç maç üst üste oynayınca oranın düştüğünü kendi verinde görürsen, “bir maç daha” kararını sezgiyle değil rakamla verirsin.
Bir sınır daha var: sabit bir seviyedeki rakiplere karşı puanın, beklenen skorun kazanma oranına eşit olduğu bir dengede durur. Rakipler 1500 civarındaysa ve %60 kazanıyorsan denge yaklaşık 1570’tir; daha yükseğe ancak daha güçlü rakipler ya da daha yüksek oranla çıkılır. Hesaplayıcı, ulaşılamayan hedefleri “hiçbir zaman” diye işaretler ve dengeyi gösterir.
Maç serisi, takım ve K seçimi
Maç serisi: bir seansı satır satır yapıştır (“1520 G” = 1520 puanlı rakibe galibiyet). Maçları her birinden sonra ya da hepsini başlangıç puanından işletebilirsin. Tablo her maçın beklenen skorunu ve değişimini, özet ise performans puanını verir: oynadığın rakiplere karşı aldığın skorun beklenen skora eşit olacağı puan.
Takıma karşı takım: iki takımın ortalaması alınır ve değişim ya herkese eşit ya da oyuncu başına paylaştırılır. Ortalama dağılımı gizler; bir yıldız ve dört zayıf oyuncudan oluşan takım, beş orta seviye oyuncuyla aynı şey değildir.
K katsayısı: yüksek K hızlı tepki verir; puanı henüz tahmin olan yeni oyuncular ve kısa sezonlar için uygundur, ama birkaç şanslı sonuç puanı çok oynatır. Düşük K kararlıdır ve manipüle etmesi zordur, ama yanlış bir başlangıcı düzeltmesi çok maç sürer. Satranç federasyonları küçük değerler kullanır: FIDE kurallarında yeni oyuncular için 40, çoğu oyuncu için 20, 2400’e ulaşmış oyuncular için 10. Yukarıdaki hazır ayarlar (10, 20, 24, 32, 40) yaygın seçimlerdir; herhangi bir espor oyununun standardı değildir.
Elo, Glicko ve gizli MMR
Elo’da oyuncu başına tek bir sayı ve sabit bir K vardır. Mark Glickman’ın geliştirdiği Glicko ise bir sayı daha ekler: puanın ne kadar belirsiz olduğunu gösteren sapma değeri. Yeni ya da uzun süredir oynamayan oyuncunun sapması büyüktür; puanı çok oynar, rakiplerinin puanı ise az oynar. Oynadıkça sapma küçülür ve puan oturur. Yeni oyuncular için yüksek K, aynı fikrin kaba bir hâli sayılabilir. Bu hesaplayıcı Glicko hesaplamaz.
Bugünkü oyunların eşleştirme sistemlerinin çoğu bu fikirlere dayanır ama kendi ayrıntılarını ekler ve nadiren yayımlar. Bu sayfaya “genel Elo hesaplayıcı” demenin nedeni bu: amaç, sıralama sistemlerinin arkasındaki aritmetiği anlamak; belirli bir oyunun gizli MMR’ına açılan bir pencere olmak değil.
Sık sorulan sorular
K katsayısını kaça ayarlamalıyım?
K, tek bir maçın puanı en fazla ne kadar oynatabileceğini belirler; yani sistemin ne kadar hızlı öğrendiğini. Puanların oturduğu, maç sayısının az ve maçların önemli olduğu yerlerde (satranç gibi) 10 ile 20 arası küçük K kullanılır. Yeni oyuncuların çok olduğu, sezonların kısa olduğu ya da sıralamanın hızlı tepki vermesini istediğin yerlerde 24 ile 40 arası mantıklıdır. Oynadığın oyunun K değeri açıklanmışsa onu gir; açıklanmadıysa sonucu tahmin olarak oku.
Beraberlik puanı hiç değiştirmez mi?
Yalnızca puanlar eşitse. Beraberlik yarım galibiyet sayılır; bu yüzden favori oyuncu, yarıdan fazla skor beklendiği için puan kaybeder, zayıf olan puan kazanır. 1600 puanlı biri 1500 puanlıyla K = 32 iken berabere kalırsa 4,5 puan düşer.
Kendimden çok zayıf rakibi yenince neden bu kadar az puan alıyorum?
Çünkü sistem senin kazanmanı zaten bekliyordu. Kazanç, K × (1 − beklenen skor) kadardır; beklenen skor 0,95 ise bu K’nın yalnızca yüzde 5’i eder. Madalyonun öbür yüzü de şu: çok zayıf birine kaybetmek neredeyse K’nın tamamına mal olur. Bu yüzden zayıf rakiplere karşı uzun galibiyet serileri puanı pek oynatmaz.
Bu hesaplayıcının sonucu oyunumdaki rank ya da MMR ile aynı çıkar mı?
Neredeyse hiçbir zaman birebir aynı çıkmaz. Burada 400 puanlık ölçekte ders kitabındaki Elo formülü var. Oyunların ve platformların çoğu bu modelin değiştirilmiş hâlini (farklı ölçek, belirsizlik terimleri, performans ve takım düzeltmeleri) ya da tamamen farklı bir sistemi kullanır ve çoğunu açıklamaz. Hesaplayıcıyı mantığı anlamak ve sayıların büyüklüğünü kabaca yoklamak için kullan; belirli bir oyunun rankını puan puan tahmin etmek için değil.
Her maçtan sonra işlemek ile puan dönemi arasındaki fark ne?
Online sıralamalar genelde her maçtan sonra günceller: ikinci maç, birincinin ürettiği puandan hesaplanır. Satrançtaki puan döneminde (bir turnuva, bir ay) ise bütün maçlar dönemin başındaki puandan hesaplanıp değişimler toplanır. Tek maçta ikisi aynıdır; maç sayısı arttıkça, özellikle sonuçlar tek yönlüyse birbirinden ayrılırlar.
Takım maçları nasıl hesaplanıyor?
En basit model iki takımın puan ortalamasını alıp maçı bu iki ortalama arasında tek bir maç sayar; takımdaki herkes aynı değişimi alır. Anlaşılması kolay ama maçı kimin taşıdığını görmez. Hesaplayıcıdaki ikinci seçenek her oyuncuyu karşı takımın ortalamasıyla karşılaştırır; bu, düşük puanlı oyuncuya daha adil davranır ama toplam puanı korumaz. Gerçek takım sistemleri genelde rol, performans ya da ağırlık da ekler; bunların hiçbiri burada modellenmiyor.
Hedef puana kaç galibiyet gerekiyor?
“Hedefe ulaş” sekmesini kullan. Seninle aynı seviyedeki rakiplere karşı her galibiyet yaklaşık K/2 puan eder; yani K = 32 iken 300 puanlık tırmanış üst üste 19 galibiyet demektir (300 ÷ 16 = 18,75, yukarı yuvarlanır). Sabit ve daha zayıf bir rakibe karşı her galibiyet bir öncekinden az puan getirir; bu yüzden sayı hızla büyür. Hesaplayıcı 200.000 galibiyetten sonra vazgeçer.
Beklenen skor kazanma ihtimali demek mi?
Yalnızca beraberlik yoksa. Elo beklenen skorla çalışır: galibiyet 1, beraberlik 0,5. Beraberliğin olmadığı bir oyunda ikisi aynı şeydir. Beraberliğin olduğu bir oyunda yüzde 64’lük bir beklenen skor örneğin yüzde 55 galibiyet ile yüzde 18 beraberlik olabilir.