← Νέα

Πώς υπολογίζεται το ELO στο Gammon42

Πώς υπολογίζει το Gammon42 το ELO σου στο τάβλι από την έκδοση 1.3.1: ο ακριβής τύπος, ο συντελεστής K, ο κύβος διπλασιασμού και τι άλλαξε, με τον κώδικα.

technical 18 Σεπτεμβρίου 2026

Το rating σου στα παιχνίδια κατάταξης του Gammon42 είναι ένας αριθμός ELO. Όλοι ξεκινούν από το 1500. Μετά από κάθε παιχνίδι κατάταξης, ο νικητής κερδίζει πόντους και ο ηττημένος χάνει. Το πόσους εξαρτάται από τρία πράγματα: τη διαφορά rating ανάμεσά σας, πόσο ψηλά έφτασε ο κύβος διπλασιασμού και, από την έκδοση 1.3.1, πόσα παιχνίδια κατάταξης έπαιξες τις τελευταίες 7 ημέρες. Αν νικήσεις έναν ισάξιο αντίπαλο, παίρνεις +16. Αν νικήσεις έναν πολύ δυνατότερο, παίρνεις περισσότερους. Αν νικήσεις έναν πολύ πιο αδύναμο, παίρνεις λιγότερους. Το διπλό και το τριπλό δεν αλλάζουν καθόλου το rating σου.

Αυτή είναι η σύντομη εκδοχή. Παρακάτω θα βρεις όλο τον υπολογισμό όπως ισχύει από την έκδοση 1.3.1 (Οκτώβριος 2026), τους αριθμούς που διαλέξαμε, γιατί τους αλλάξαμε δύο φορές και τον πραγματικό κώδικα. Προτιμάμε να σου δείξουμε τα μαθηματικά παρά να σου ζητήσουμε να μας εμπιστευτείς.

Ποια παιχνίδια μετράνε για το ELO

  • Παιχνίδια κατάταξης: ναι. Μόνο εδώ αλλάζει το ELO σου.
  • Παιχνίδια Boosted: όχι. Τα παιχνίδια Boosted (πριν από την έκδοση 1.3.0 λέγονταν Casual) δίνουν πόντους για την κατάταξη Boosted και Sparks, αλλά δεν αγγίζουν ποτέ το ELO σου.
  • Τουρνουά: τα παιχνίδια μέσα σε ένα τουρνουά δεν αλλάζουν το ELO σου. Αντί γι’ αυτό, τα δημόσια τουρνουά δίνουν σταθερά έπαθλα ELO στο βάθρο, για παράδειγμα +50, +25 και +15. Περισσότερα στο άρθρο μας για τα τουρνουά.

Βήμα 1: πόσο πιθανό ήταν να κερδίσεις;

Πριν πούμε πόσο αξίζει μια νίκη, εκτιμάμε πόσο πιθανή ήταν. Αυτό είναι το αναμενόμενο σκορ, ένας αριθμός από 0 έως 1:

αναμενόμενο = 1 / (1 + 10^((rating αντιπάλου − δικό σου rating) / 1200))

Αν έχεις το ίδιο rating με τον αντίπαλο, το αναμενόμενο σκορ είναι 0,5: κορόνα-γράμματα. Όσο πιο πάνω βρίσκεσαι από αυτόν, τόσο πλησιάζει το 1.

Διαφορά ratingΑναμενόμενο ποσοστό νίκης του φαβορί
050,0%
5052,4%
10054,8%
15057,1%
20059,5%
30064,0%
40068,3%
50072,3%

Βήμα 2: πόσο ξεπέρασε το αποτέλεσμα την πρόβλεψη;

Μετά συγκρίνουμε αυτό που έγινε με αυτό που αναμενόταν:

αλλαγή = K × (αποτέλεσμα − αναμενόμενο)

Το αποτέλεσμα είναι 1 για νίκη και 0 για ήττα. Το K είναι ο συντελεστής K: η μεγαλύτερη αλλαγή που μπορεί να φέρει ένα μόνο παιχνίδι (χωρίς τον κύβο, δες παρακάτω). Για τους περισσότερους παίκτες το K είναι 32. Στρογγυλεύουμε σε ακέραιο.

Δύο παίκτες στο 1500: αναμενόμενο σκορ 0,5. Ο νικητής παίρνει 32 × (1 − 0,5) = +16, ο ηττημένος −16.

Έτσι φαίνεται για διάφορες διαφορές rating, με το K στο 32 και τον κύβο στο 1:

Διαφορά ratingΚερδίζει το φαβορίΚερδίζει το αουτσάιντερ
0+16 / −16+16 / −16
100+14 / −14+18 / −18
200+13 / −13+19 / −19
300+12 / −12+20 / −20
400+10 / −10+22 / −22

Η λογική είναι απλή: μια έκπληξη αξίζει περισσότερο από μια αναμενόμενη νίκη. Αν είσαι 200 πόντους πάνω από τον αντίπαλο, πρέπει να κερδίζεις περίπου το 60% των παιχνιδιών μαζί του μόνο για να μείνεις στη θέση σου. Αν κερδίζεις πιο συχνά, ανεβαίνεις. Αν κερδίζεις πιο σπάνια, πέφτεις, ακόμη κι αν κερδίζεις τα περισσότερα παιχνίδια.

Βήμα 3: πόσο έπαιξες αυτή την εβδομάδα;

Αυτό το βήμα είναι καινούργιο στην έκδοση 1.3.1. Πριν βαθμολογηθεί κάθε παιχνίδι κατάταξης, ο server μετράει πόσα παιχνίδια κατάταξης έχει παίξει κάθε παίκτης τις τελευταίες 7 ημέρες:

  • Λιγότερα από 50 παιχνίδια: το K είναι 32.
  • 50 παιχνίδια ή περισσότερα: το K είναι 16. Κάθε αλλαγή, προς τα πάνω ή προς τα κάτω, είναι η μισή.
Διαφορά ratingK = 32 (το φαβορί κερδίζει / χάνει)K = 16 (το φαβορί κερδίζει / χάνει)
0+16 / −16+8 / −8
150+14 / −18+7 / −9
300+12 / −20+6 / −10

Γιατί; Το πόσο μετακινείται ένα rating μέσα σε μια εβδομάδα είναι περίπου το K επί τον αριθμό των παιχνιδιών. Κάποιοι παίκτες παίζουν 300 παιχνίδια κατάταξης την εβδομάδα. Με K = 32, το να βρεθούν μόλις 2 ή 3 ποσοστιαίες μονάδες κάτω από το αναμενόμενο ποσοστό νίκης σε τόσα παιχνίδια, κάτι που χωράει άνετα στη φυσιολογική τύχη, τους κόστιζε γύρω στους 200 πόντους μέσα σε μία εβδομάδα. Με το μισό K για αυτούς τους παίκτες, μια βαριά εβδομάδα έχει περίπου τις ίδιες διακυμάνσεις με μια κανονική. Όσοι παίζουν λιγότερο κρατούν ολόκληρο το K και ανεβαίνουν όσο γρήγορα ανέβαιναν και πριν.

Τρεις λεπτομέρειες:

  • Κάθε παίκτης έχει το δικό του K. Η μέτρηση γίνεται χωριστά για τον νικητή και για τον ηττημένο.
  • Οι δύο αλλαγές δεν είναι πια πάντα καθρέφτης η μία της άλλης. Αν έχεις παίξει 60 παιχνίδια κατάταξης αυτή την εβδομάδα και ο αντίπαλός σου, με το ίδιο rating, έχει παίξει 10, μια νίκη σού δίνει +8 ενώ εκείνος χάνει −16. Αν κερδίσει εκείνος, παίρνει +16 και εσύ χάνεις −8. Όταν οι δύο παίκτες έχουν το ίδιο K, ο νικητής εξακολουθεί να κερδίζει ακριβώς όσα χάνει ο ηττημένος.
  • Το παράθυρο κινείται μαζί σου. Είναι πάντα οι 7 ημέρες πριν από το παιχνίδι που βαθμολογείται, και το ίδιο το παιχνίδι δεν μετράει. Όταν πέσεις κάτω από τα 50, γυρνάς στο K = 32.

Γιατί διαιρούμε με το 1200 και όχι με το 400

Στο σκάκι, ο τύπος ELO διαιρεί με το 400. Από εκεί ξεκινήσαμε κι εμείς. Το αλλάξαμε σε 800 στην έκδοση 1.2.0 και σε 1200 στην έκδοση 1.3.1.

Αυτός ο αριθμός καθορίζει πόσο σίγουρο είναι το σύστημα ότι θα κερδίσει ο δυνατότερος παίκτης. Με το 400, ένα φαβορί με 200 πόντους διαφορά αναμένεται να κερδίζει στο 76% των περιπτώσεων. Στο σκάκι αυτό στέκει. Για ένα μόνο παιχνίδι τάβλι είναι υπερβολικά σίγουρο, γιατί τα ζάρια δίνουν στον πιο αδύναμο παίκτη πραγματικές πιθανότητες σε κάθε παιχνίδι. Ακόμη κι ένας πολύ καλύτερος παίκτης χάνει αρκετά μεμονωμένα παιχνίδια από κακή τύχη.

Το αποτέλεσμα ήταν ένα rating που τιμωρούσε τους καλούς παίκτες. Με το 400, ένας παίκτης 300 πόντους πάνω από τον αντίπαλο έπαιρνε +5 για μια νίκη και έχανε 27 για μια ήττα. Για να μείνει στη θέση του έπρεπε να κερδίζει το 85% αυτών των παιχνιδιών, κάτι σχεδόν αδύνατο στο τάβλι.

Στο 1.2.0 περάσαμε στο 800, που έκοψε την κλίση της καμπύλης στη μέση. Βοήθησε, αλλά δεν έφτασε. Μετά από μερικές εβδομάδες παιχνιδιών κατάταξης συγκρίναμε την καμπύλη με τα πραγματικά αποτελέσματα. Οι πιο δυνατοί μας παίκτες κέρδιζαν το 57 με 58% των παιχνιδιών τους, ενώ η καμπύλη περίμενε από αυτούς περίπου 60%. Έτσι συνέχιζαν να χάνουν rating ενώ κέρδιζαν τα περισσότερα παιχνίδια τους, και η κατάταξη έμενε στριμωγμένη: οι μισοί ενεργοί παίκτες βρίσκονταν μέσα σε ένα εύρος περίπου 60 πόντων.

Με το 1200, η καμπύλη ταιριάζει με αυτό που επιτρέπουν πραγματικά τα ζάρια:

Φαβορί με 300 πόντους διαφοράΠριν το 1.2.0 (÷400)Από το 1.2.0 έως το 1.3.0 (÷800)Από το 1.3.1 (÷1200)
Αναμενόμενο ποσοστό νίκης84,9%70,3%64,0%
Πόντοι για νίκη+5+9+12
Πόντοι για ήττα−27−23−20

Για σύγκριση, το FIBS, ο παλαιότερος server τάβλι, πηγαίνει ακόμη πιο μακριά και χρησιμοποιεί το 2000 για αγώνες ενός πόντου. Με τον δικό μας συντελεστή K 32, αυτό θα άπλωνε την κατάταξη πάνω από τους 3000 πόντους. Γι’ αυτό σταματήσαμε στο 1200.

Δεν ξαναϋπολογίσαμε τα παλιά παιχνίδια. Ο νέος τύπος ισχύει για τα παιχνίδια κατάταξης που παίζονται μετά την αλλαγή, και το rating σου έμεινε όπως ήταν.

Ο κύβος διπλασιασμού: μεγαλύτερο διακύβευμα, αλλά με όριο

Ένα παιχνίδι με ψηλότερο κύβο πρέπει να μετράει λίγο περισσότερο, αλλά δεν πρέπει να ξαναγράφει το rating σου από ένα μόνο τυχερό παιχνίδι. Γι’ αυτό ο κύβος πολλαπλασιάζει την αλλαγή ELO με έναν συντελεστή από 1,0 έως 2,0. Κάθε διπλασιασμός προσθέτει το ένα έκτο της απόστασης μέχρι το μέγιστο:

συντελεστής = 1 + log2(κύβος) / 6
ΚύβοςΣυντελεστήςΔύο παίκτες στο 1500, K = 32Δύο παίκτες στο 1500, K = 16
11,00±16±8
21,17±19±9
41,33±21±11
81,50±24±12
161,67±27±13
321,83±29±15
642,00±32±16

Ακόμη και στον μέγιστο κύβο, το 64, η αλλαγή είναι το πολύ διπλάσια από την κανονική. Πριν την έκδοση 1.0.5, ο κύβος πολλαπλασίαζε απευθείας τους πόντους, και ένα μόνο παιχνίδι με ψηλό κύβο μπορούσε να μετακινήσει ένα rating πολύ περισσότερο απ’ όσο άξιζε. Ο κύβος εξακολουθεί να μετράει, ώστε οι αποφάσεις δέχομαι ή πάσο να έχουν νόημα. Όμως το ποιον νίκησες και αν νίκησες μετράνε πολύ περισσότερο.

Γιατί το διπλό και το τριπλό δεν μετράνε

Το διπλό αξίζει 2 πόντους και το τριπλό 3, και στο Gammon42 εξακολουθούν να σου δίνουν περισσότερους πόντους στο αποτέλεσμα. Όμως το rating σου δεν τα λαμβάνει υπόψη. Το ELO μετράει ένα μόνο πράγμα: πόσο συχνά νικάς παίκτες συγκεκριμένου επιπέδου. Το διπλό είναι μεγαλύτερη νίκη, αλλά παραμένει μία νίκη. Οι πρώτες εκδόσεις του Gammon42 έδιναν επιπλέον ELO για το διπλό, και αυτό αντάμειβε κυρίως τα ριψοκίνδυνα και τυχερά παιχνίδια αντί για το σταθερό παιχνίδι. Από το 1.0.5 μετράνε μόνο η νίκη, το rating του αντιπάλου και ο κύβος.

Εγκατάλειψη, αποσύνδεση και ο χρόνος ανά κίνηση

Ένα παιχνίδι κατάταξης που τελειώνει νωρίτερα μετράει κανονικά. Αν παραιτηθείς, αποχωρήσεις, μείνεις πολλή ώρα χωρίς σύνδεση ή ξεπεράσεις τον χρόνο σε 3 κινήσεις, το παιχνίδι βαθμολογείται ως κανονική ήττα, με την τιμή του κύβου εκείνη τη στιγμή. Η εφαρμογή σε προειδοποιεί πριν παραιτηθείς. Ο κανόνας υπάρχει για λόγους δικαιοσύνης: αλλιώς η αποχώρηση από ένα χαμένο παιχνίδι θα ήταν δωρεάν τρόπος να προστατεύεις το rating σου.

Ο πραγματικός κώδικας

Αυτός είναι ο κώδικας που τρέχει ο server του παιχνιδιού μας μετά από κάθε παιχνίδι κατάταξης (Go):

const K = 32                 // maximum change per game, before the cube
const HeavyVolumeK = 16      // K for players with a heavy ranked week
const HeavyVolumeGames = 50  // ranked games in the window that switch K
const HeavyVolumeWindow = 7 * 24 * time.Hour
const Divisor = 1200         // chess uses 400; dice make single games less predictable
const Starting = 1500

func KFor(recentRankedGames int) int {
	if recentRankedGames >= HeavyVolumeGames {
		return HeavyVolumeK
	}
	return K
}

func CalculateChangeWithK(winnerELO, loserELO, winnerK, loserK int, coefficient float64) Change {
	expectedWinner := expectedScore(winnerELO, loserELO)
	expectedLoser := 1 - expectedWinner

	return Change{
		Winner: int(math.Round(float64(winnerK) * (1 - expectedWinner) * coefficient)),
		Loser:  int(math.Round(float64(loserK) * (0 - expectedLoser) * coefficient)),
	}
}

func expectedScore(playerELO, opponentELO int) float64 {
	return 1.0 / (1.0 + math.Pow(10, float64(opponentELO-playerELO)/Divisor))
}

Το coefficient είναι ο πολλαπλασιαστής του κύβου από τον παραπάνω πίνακα. Τα winnerK και loserK βγαίνουν από την KFor, με τα παιχνίδια κατάταξης κάθε παίκτη τις τελευταίες 7 ημέρες.

Πρόσεξε τι δεν παίρνει ο κώδικας: ούτε σερί νικών, ούτε χώρα, ούτε αγορές, ούτε κάποια κρυφή «εξισορρόπηση». Οι μόνες είσοδοι είναι τα δύο rating, ο κύβος και πόσα παιχνίδια κατάταξης έπαιξε κάθε παίκτης αυτή την εβδομάδα. Η ίδια αρχή με τα ζάρια μας: αν δεν είναι στον τύπο, δεν σε επηρεάζει.

Συχνές ερωτήσεις για το ELO

Με πόσο ELO ξεκινάω στο Gammon42;

Όλοι οι νέοι παίκτες ξεκινούν από το 1500.

Πόσους πόντους ELO παίρνω για μια νίκη;

Απέναντι σε αντίπαλο με το ίδιο rating, +16 με τον κύβο στο 1. Περισσότερους αν ο αντίπαλος έχει μεγαλύτερο rating από σένα, λιγότερους αν έχει μικρότερο. Ένας ψηλότερος κύβος διπλασιασμού αυξάνει την αλλαγή, έως και στο διπλάσιο με τον κύβο στο 64. Αν έχεις παίξει 50 ή περισσότερα παιχνίδια κατάταξης τις τελευταίες 7 ημέρες, όλες οι αλλαγές σου μειώνονται στο μισό.

Γιατί κέρδισα λιγότερους πόντους απ’ όσους έχασε ο αντίπαλός μου;

Επειδή ένας από τους δυο σας έχει παίξει 50 ή περισσότερα παιχνίδια κατάταξης τις τελευταίες 7 ημέρες. Το rating αυτού του παίκτη αλλάζει κατά το μισό σε κάθε παιχνίδι, και στις νίκες και στις ήττες. Η αλλαγή του άλλου παίκτη δεν επηρεάζεται.

Το διπλό και το τριπλό δίνουν περισσότερο ELO;

Όχι. Δίνουν περισσότερους πόντους στο αποτέλεσμα, αλλά το ELO σου εξαρτάται μόνο από τη νίκη, το rating του αντιπάλου και την τιμή του κύβου.

Τα παιχνίδια Boosted επηρεάζουν το ELO μου;

Όχι. Μόνο τα παιχνίδια κατάταξης αλλάζουν το ELO σου. Τα παιχνίδια Boosted δίνουν πόντους για την κατάταξη Boosted και Sparks.

Τι γίνεται με το ELO μου αν παραιτηθώ ή αποσυνδεθώ;

Ένα παιχνίδι κατάταξης που τελειώνει νωρίτερα βαθμολογείται ως κανονική ήττα, με την τιμή του κύβου εκείνη τη στιγμή.

Τι άλλαξε στον τύπο του ELO στην έκδοση 1.3.1;

Δύο πράγματα. Ο διαιρέτης του τύπου πήγε από το 800 στο 1200, οπότε τα φαβορί αναμένεται να κερδίζουν πιο σπάνια και χάνουν λιγότερους πόντους σε μια ήττα. Και οι παίκτες με 50 ή περισσότερα παιχνίδια κατάταξης τις τελευταίες 7 ημέρες έχουν πλέον συντελεστή K 16 αντί για 32.


Έχεις ερωτήσεις για το rating σου ή μια ιδέα για να γίνει ακόμη πιο δίκαιο; Γράψε μας στο support@table-online.ro.

Παίξε ένα παιχνίδι κατάταξης και βάλε τα μαθηματικά στη δοκιμή →

Προτιμάς την εφαρμογή; Κατέβασε το Gammon42 από το App Store ή το Google Play.

Έτοιμος να παίξεις;

Παίξε Τώρα
Παίξε Τώρα