Cách tính Elo trong cờ tướng
Công thức Elo, cách tính điểm kỳ vọng, hệ số K, ví dụ cụ thể — hiểu trọn vẹn hệ thống xếp hạng.
**Elo** là hệ thống xếp hạng được phát minh bởi **Arpad Elo** (1903–1992), một nhà vật lý gốc Hungary. Ban đầu dùng cho cờ vua, hệ thống này đã được áp dụng rộng rãi cho cờ tướng, cờ vây, và nhiều môn thể thao trí tuệ khác. Điểm Elo phản ánh **sức mạnh tương đối** của một kỳ thủ. Con số này không có ý nghĩa tuyệt đối — nó chỉ có nghĩa khi so sánh với kỳ thủ khác **trong cùng hệ thống**.
Dựa trên các nền tảng lớn (Thiên Thiên Tượng Kỳ, WXF, giải đấu quốc tế): | Mức Elo | Phân loại | Đặc điểm nhận dạng | |---|---|---| | 0 - 800 | 🟢 Nhập môn | Mới biết đi quân, hay đi sót, chưa biết sát pháp | | 800 - 1200 | 🔵 Người mới | Biết đòn sát 1-2 nước, vài khai cuộc đơn giản | | 1200 - 1600 | 🟡 Trung bình | Ổn định ở CLB, biết điều quân, tránh bẫy cơ bản | | 1600 - 2000 | 🟠 Khá/Giỏi | Cấp tỉnh/thành, tính sâu 5-7 nước | | 2000 - 2400 | 🔴 Kiện tướng | Cấp Quốc gia, hiểu sâu trung cục & tàn cục | | 2400 - 2900+ | ⭐ Đỉnh cao | Top thế giới (Vương Thiên Nhất, Lại Lý Huynh...) |
Bước đầu tiên trong hệ thống Elo: tính **xác suất thắng** dựa trên chênh lệch Elo giữa 2 kỳ thủ. ⫸ E_A = \frac{1}{1 + 10^{(R_B - R_A)/400}} | Ký hiệu | Ý nghĩa | |---|---| | E_A | Điểm kỳ vọng của người A (0 đến 1) | | R_A | Elo hiện tại của người A | | R_B | Elo hiện tại của người B | | 400 | Hằng số chuẩn hóa | **Ví dụ:** Bạn có Elo **1500**, đối thủ **1700**. → E = \frac{1}{1 + 10^{(1700-1500)/400}} → E = \frac{1}{1 + 10^{0.5}} → E = \frac{1}{1 + 3.162} → \boxed{E \approx 0.24} \text{ (kỳ vọng ghi ~24\% điểm)}
| Chênh lệch Elo | Xác suất thắng (bên mạnh) | Ví dụ | |---|---|---| | 0 | **50%** | 1500 vs 1500 | | 50 | 57% | 1550 vs 1500 | | 100 | 64% | 1600 vs 1500 | | 150 | 70% | 1650 vs 1500 | | 200 | **76%** | 1700 vs 1500 | | 300 | 85% | 1800 vs 1500 | | 400 | **91%** | 1900 vs 1500 | | 500 | 95% | 2000 vs 1500 | | 800 | **99%** | 2300 vs 1500 | Lưu ý: Đây là xác suất lý thuyết. "Cờ tướng là cuộc chiến tâm lý" — upset xảy ra thường xuyên hơn toán học dự đoán!
Sau mỗi ván đấu, Elo được cập nhật: ⫸ R^{\prime}_A = R_A + K \cdot (S_A - E_A) | Ký hiệu | Ý nghĩa | |---|---| | R′_A | Elo sau ván đấu | | R_A | Elo trước ván đấu | | K | Hệ số điều chỉnh (K-factor) | | S_A | Kết quả thực tế: **1** = thắng, **0.5** = hòa, **0** = thua | | E_A | Điểm kỳ vọng (tính ở bước trước) | **Ví dụ: Thắng đối thủ mạnh hơn** Bạn (**1500**) thắng đối thủ (**1700**), K = 32: → R = 1500 + 32 \times (1 - 0.24) → R = 1500 + 32 \times 0.76 → R = 1500 + 24.3 → \boxed{R \approx 1524} \text{ (+24 Elo!)} **Ví dụ: Thua đúng kỳ vọng** Bạn (**1500**) thua đối thủ (**1700**), K = 32: → R = 1500 + 32 \times (0 - 0.24) → R = 1500 - 7.7 → \boxed{R \approx 1492} \text{ (chỉ -8 Elo)}
Hệ số K quyết định Elo thay đổi **nhanh hay chậm** sau mỗi ván: | Hệ số K | Tốc độ | Áp dụng cho | |---|---|---| | **K = 40** | ⚡ Rất nhanh | Người mới, chưa ổn định | | **K = 32** | 🔥 Nhanh | Tiêu chuẩn cờ online | | **K = 20** | 📊 Vừa phải | Kỳ thủ kinh nghiệm | | **K = 10–16** | 🐢 Chậm | Thi đấu chính thức (FIDE, WXF) | Đa số nền tảng cờ online dùng **K = 32**. K cao giúp người mới nhanh chóng tìm ra Elo thật, nhưng K thấp giữ Elo ổn định hơn cho kỳ thủ lâu năm. Một số hệ thống tự động giảm K khi kỳ thủ đã đấu nhiều ván (ví dụ: 30 ván đầu K=40, sau đó K=20).
Tình huống: Bạn (Elo **1400**) đấu giải 3 ván, K = 32. **Ván 1: ✅ Thắng đối thủ Elo 1350** → E = \frac{1}{1+10^{(1350-1400)/400}} \approx \mathbf{0.57} → R = 1400 + 32 \times (1-0.57) = 1400 + 13.8 → \boxed{R \approx 1414} \text{ (+14)} **Ván 2: 🤝 Hòa đối thủ Elo 1500** → E = \frac{1}{1+10^{(1500-1414)/400}} \approx \mathbf{0.38} → R = 1414 + 32 \times (0.5-0.38) = 1414 + 3.8 → \boxed{R \approx 1418} \text{ (+4)} **Ván 3: ❌ Thua đối thủ Elo 1600** → E = \frac{1}{1+10^{(1600-1418)/400}} \approx \mathbf{0.26} → R = 1418 + 32 \times (0-0.26) = 1418 - 8.3 → \boxed{R \approx 1410} \text{ (-8)} | Ván | Đối thủ | Kết quả | Elo sau | |---|---|---|---| | 1 | 1350 | ✅ Thắng | 1414 | | 2 | 1500 | 🤝 Hòa | 1418 | | 3 | 1600 | ❌ Thua | 1410 | Kết quả: 1 thắng, 1 hòa, 1 thua → Elo tăng từ **1400 → 1410** (+10). Hợp lý vì bạn hòa và thua đối thủ mạnh hơn mình!
**Elo thấp nhất (Floor):** Về lý thuyết, Elo có thể xuống **0**. Nhưng các hệ thống thường đặt mức sàn để tránh cảm giác tiêu cực: | Nền tảng | Floor | |---|---| | Phổ biến | 100 hoặc 400 | | Cờ online | 500 (gợi ý cho web mới) | | FIDE (cờ vua) | 1000 | **Elo cao nhất:** | Đối tượng | Elo tối đa | Ghi chú | |---|---|---| | 🧑 Con người | ~2700 - 2800 | Vương Thiên Nhất — đỉnh cao | | 🤖 Engine (AI) | 4000+ | Pikafish, Guppyfish | | 📐 Lý thuyết | ∞ | Không có giới hạn trên |
Ngoài việc đo sức mạnh giữa người với người, Elo còn được áp dụng cho **bài tập** (puzzle): Mỗi bài toán cờ có thể được gán 1 mức Elo riêng. Khi bạn giải bài, hệ thống tính điểm dựa trên chênh lệch Elo giữa bạn và bài đó — cùng công thức Elo! | Bài tập | Elo bài | User 500 giải đúng | User 1500 giải đúng | |---|---|---|---| | Chiếu bí 1 nước | ~600 | **+25** điểm | +1 điểm | | Chiếu bí 2 nước | ~1000 | +30 điểm | **+10** điểm | | Chiếu bí 3 nước | ~1500 | +35 điểm | +15 điểm | Giải đúng bài khó hơn trình độ → được cộng nhiều điểm. Giải đúng bài quá dễ → cộng rất ít. Hệ thống thưởng phạt công bằng, giống hệt đấu người!
Về toán học, công thức Elo **giống hệt**. Khác biệt ở thực tế: | Yếu tố | Cờ tướng | Cờ vua | |---|---|---| | Tỉ lệ hòa | Thấp hơn → Elo biến động nhiều | Cao hơn → Elo ổn định | | Pool người chơi | Nhỏ hơn | Rất lớn (toàn cầu) | | Quản lý Elo | WXF (chưa phổ biến) | FIDE (tiêu chuẩn toàn cầu) | | Inflation | Mỗi nền tảng 1 thang đo | Có chuẩn hóa tốt hơn | | Elo 2000 = ? | Cấp Quốc gia | Candidate Master | **Lưu ý:** Elo 2000 cờ tướng ≠ Elo 2000 cờ vua. Pool khác nhau, thang đo khác nhau!
Nhiều người hỏi: "Tôi **1800 Elo online**, sức mạnh thật bao nhiêu?" Trả lời: **Elo online thường CAO hơn** Elo thi đấu 200–400 điểm. | Elo online | ≈ Elo thật | Lý do | |---|---|---| | 1200 | ~900 - 1000 | Pool online rộng, nhiều người mới | | 1400 | ~1100 - 1200 | Không áp lực đồng hồ/trọng tài | | 1600 | ~1300 - 1400 | Inflation do điểm khởi đầu cao | | 1800 | ~1500 - 1600 | Một số cheating | | 2000 | ~1700 - 1800 | Nền tảng khác nhau = thang khác nhau | | 2200 | ~1900 - 2000 | WXF ≈ gần sức thật nhất |