π KCP-ΡΠΈΡΠ° β ΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΡΠΎΡΠΈΠ² Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΏΠΎΠΈΡΠΊΠ°
Π ΡΡΠΌ ΡΡΠΎ
ΠΡ ΡΡΠΈΠ»ΠΈΠ»ΠΈ ΠΎΡΠ΅Π½ΠΊΡ Π΄Π΅ΡΡΠ²ΡΠΌΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠΈΡΠ°ΠΌΠΈ (ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΡΡΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΊΠΎΡΠΎΠ»Ρ) β ΠΈ
oracle-3Π²Π·ΡΠ» Π³Π΅ΠΉΡ: 2-ply + rich = 57.8% ΠΏΡΠΎΡΠΈΠ²aggressive(ΠΠ»Π°Π½ ΡΡΠΈΠ»Π΅Π½ΠΈΡ value-ΠΌΠΎΠ΄Π΅Π»ΠΈ). Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΡΠ°Π³ β KingCaptureProbability (KCP): ΡΠΈΡΠ°, ΠΊΠΎΠ΄ΠΈΡΡΡΡΠ°Ρ ΡΠ°ΠΌΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ±Π΅Π΄Ρ Π½Π°ΠΏΡΡΠΌΡΡ. ΠΠ½Π° Π΄ΠΎΡΠΎΠ³Π°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Ρ Π½Π΅Π»ΡΠ·Ρ Π² Π»ΠΈΡΡΡΡ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° β Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° 1 ΠΏΠ»Π°ΠΉ. ΠΡΡΡΠ΄Π° ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ: ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ Π»ΠΈ Π±ΠΎΠ³Π°ΡΠ°Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΌΠ°Π»ΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½Π΅ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π΄Π½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ Π½Π° Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π³Π»ΡΠ±ΠΈΠ½Π΅? ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΡΠ΅, Π΄Π°Π»ΡΡΠ΅ β ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠ³Π½Π°ΡΡ (Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎ Π΄Π΅Π»Ρ β Π½Π° Oracle).
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅: ΠΠ»Π°Π½ ΡΡΠΈΠ»Π΅Π½ΠΈΡ value-ΠΌΠΎΠ΄Π΅Π»ΠΈ Β· π 2-ply Expectimax ΠΏΠΎΠ²Π΅ΡΡ value-ΠΌΠΎΠ΄Π΅Π»ΠΈ Β· Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ LightGBM Β· Oracle Cloud β ΡΠ°Π½Π½Π±ΡΠΊ Β· 03 ΠΠ΄Π΅ΠΈ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ KCP
Π Dice Chess ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°ΡΡ Π·Π°Ρ Π²Π°ΡΠΎΠΌ ΠΊΠΎΡΠΎΠ»Ρ (Π½Π΅Ρ ΠΌΠ°ΡΠ° β ΠΊΠΎΡΠΎΠ»Ρ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π±ΡΡΡ). KCP ΠΈΠ·ΠΌΠ΅ΡΡΠ΅Ρ ΡΡΡ ΡΠ³ΡΠΎΠ·Ρ Π½Π°ΠΏΡΡΠΌΡΡ. Π₯ΠΎΠ΄ = Π±ΡΠΎΡΠΎΠΊ ΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΉ (ΠΊΠ°ΠΆΠ΄Π°Ρ 1β6 β ΡΠΈΠΏ ΡΠΈΠ³ΡΡΡ) ΠΈ Π΄ΠΎ ΡΡΡΡ ΠΌΠΈΠΊΡΠΎ-Ρ ΠΎΠ΄ΠΎΠ²; Π²ΡΠ΅Π³ΠΎ 216 = 6Β³ ΠΈΡΡ ΠΎΠ΄ΠΎΠ² Π±ΡΠΎΡΠΊΠ°. ΠΠ»Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ KCP ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΡΠΈ 216 Π±ΡΠΎΡΠΊΠΎΠ² ΠΈ ΡΡΠΈΡΠ°Π΅Ρ, Π² ΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠ»Π΅ ΡΡΠΎΡΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ Π²ΡΠ°ΠΆΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΡΠΎΠ»Ρ (DFS ΠΏΠΎ Π΄Π΅ΡΠ΅Π²Ρ ΠΌΠΈΠΊΡΠΎ-Ρ ΠΎΠ΄ΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΡΠΎΡΠΊΠ°):
Π’ΠΎ Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΡΡΠΎΡΠΎΠ½Π° c Π·Π°Ρ
Π²Π°ΡΠΈΡ ΠΊΠΎΡΠΎΠ»Ρ ΡΠΎΠΏΠ΅ΡΠ½ΠΈΠΊΠ° ΡΡΠΈΠΌ Ρ
ΠΎΠ΄ΠΎΠΌ ΠΏΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ Π±ΡΠΎΡΠΊΠ΅. Π‘ΡΠΈΡΠ°Π΅ΠΌ Ρ ΠΎΠ±Π΅ΠΈΡ
ΡΡΠΎΡΠΎΠ½ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π²Π° (ΠΈΠ»ΠΈ ΡΡΠΈ) ΡΠΈΡΠ»Π° Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ:
| Π€ΠΈΡΠ° | Π‘ΠΌΡΡΠ» |
|---|---|
kcp_attack = | Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ·Π²ΠΈΠΌ ΠΊΠΎΡΠΎΠ»Ρ ΡΠΎΠΏΠ΅ΡΠ½ΠΈΠΊΠ° ΠΊ ΠΌΠΎΠ΅ΠΌΡ Π±ΡΠΎΡΠΊΡ |
kcp_danger = | Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ·Π²ΠΈΠΌ ΠΌΠΎΠΉ ΠΊΠΎΡΠΎΠ»Ρ ΠΊ Π΅Π³ΠΎ Π±ΡΠΎΡΠΊΡ |
kcp_diff = attack β danger | Π½Π΅ΡΡΠΎ-ΠΏΠ΅ΡΠ΅Π²Π΅Ρ ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΉ ΡΠ³ΡΠΎΠ·Π΅ ΠΊΠΎΡΠΎΠ»Ρ |
ΠΠ°ΠΆΠ½ΠΎ: KCP dice-aware β ΡΡΡΠ΅Π΄Π½ΡΠ΅Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π±ΡΠΎΡΠΊΠ°ΠΌ, Π° Π½Π΅ ΡΠΌΠΎΡΡΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ.
2. ΠΠΎΡΠ΅ΠΌΡ ΠΏΡΡΠΌΠ°Ρ ΡΠΈΡΠ° ΡΠΈΠ»ΡΠ½Π΅Π΅ ΠΏΡΠΎΠΊΡΠΈ
ΠΡΡ, ΡΡΠΎ Π²ΠΈΠ΄ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅ΠΉΡΠ°Ρ, β ΡΡΠΎ ΠΏΡΠΎΠΊΡΠΈ ΠΏΠΎΠ±Π΅Π΄Ρ:
- ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» β Β«ΠΎΠ±ΡΡΠ½ΠΎ Ρ ΠΊΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠΎΡ ΠΈ Π²ΡΠΈΠ³ΡΡΠ²Π°Π΅ΡΒ»;
- mobility / king_safety β ΡΠ²ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ.
KCP ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ ΡΠ°ΠΌΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ±Π΅Π΄Ρ. ΠΠΎΠ·ΠΈΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎΠΉ ΠΏΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΈ Β«ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎΠΉΒ» ΠΏΠΎ ΡΠ²ΡΠΈΡΡΠΈΠΊΠ΅, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉ ΠΊΠΎΡΠΎΠ»Ρ Π·Π°Ρ
Π²Π°ΡΡΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π±ΡΠΎΡΠΊΠΎΠΌ β ΡΡ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π΅ΡΡ. ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΡΠΎΠ³ΠΎ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ; king_safety Π²ΠΈΠ΄ΠΈΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ (Π°ΡΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠΈΠ³ΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠΎΡΠΎΠ»ΡΠΌ); KCP ΡΡΠΈΡΠ°Π΅Ρ ΡΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΈ Ρ ΡΡΡΡΠΎΠΌ ΠΊΠΎΡΡΠ΅ΠΉ.
Π‘Π²ΡΠ·Ρ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠΆΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ
mobility_diffΡΡΠ°Π»Π° ΡΠΈΡΠ΅ΠΉ β1 ΠΏΠΎ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ,king_safety_diffΡΠΎΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π»Π°. KCP β ΠΈΡ Β«ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠ΅Π΄Π΅Π»Β» ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΡΠΎΠ»Ρ: Π½Π΅ Β«ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ³ΡΡ ΡΡΠ΄ΠΎΠΌΒ», Π° Β«Ρ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΠΊΠΎΡΠΎΠ»Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΏΠ°Π΄ΡΡΒ». ΠΠΎΠΏΡΠΎΡ Π»ΠΈΡΡ Π² ΡΠ΅Π½Π΅.
3. ΠΠ°Π³Π²ΠΎΠ·Π΄ΠΊΠ° β ΡΠ΅Π½Π° (ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ ΡΡΡΡΠΎΠ΅Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ)
KCP Π΄ΠΎΡΠΎΠ³Π°Ρ: 216-DFS β ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ Π½Π° ΠΎΠ΄Π½Ρ ΠΎΡΠ΅Π½ΠΊΡ. Π ΡΠ΅Π½Π° ΡΠΈΡΠΈ ΠΏΠ»Π°ΡΠΈΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π»ΠΈΡΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ:
| ΠΠ΄Π΅ ΡΡΠΈΡΠ°ΡΡ ΠΎΡΠ΅Π½ΠΊΡ | ΠΠΈΡΡΡΠ΅Π² Π½Π° Ρ ΠΎΠ΄ | KCP Γ ΡΡΠΎ |
|---|---|---|
| 2-ply expectimax | ~360 000 | β ΡΡΡΡΡΠΈ ΡΠ΅ΠΊΡΠ½Π΄/Ρ ΠΎΠ΄ β Π½Π΅ΡΠ΅Π°Π»ΡΠ½ΠΎ |
| 1-ply | ~ΡΠΎΡΠ½ΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ² | β Π΄Π΅ΡΡΡΠΊΠΈβΡΠΎΡΠ½ΠΈ ΠΌΡ/Ρ ΠΎΠ΄ β Π³ΠΎΠ΄ΠΈΡΡΡ Π΄Π»Ρ ΠΆΠΈΠ²ΠΎΠΉ ΠΈΠ³ΡΡ |
ΠΡΡΡΠ΄Π° Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄: KCP Π½Π΅Π»ΡΠ·Ρ Π² Π»ΠΈΡΡΡΡ 2-ply, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² 1-ply. ΠΡΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Β«Π³Π»ΡΠ±ΠΆΠ΅ = ΡΠΈΠ»ΡΠ½Π΅Π΅Β»: ΡΡΡ Π³Π»ΡΠ±ΠΈΠ½Π° ΠΈ Π±ΠΎΠ³Π°ΡΡΡΠ²ΠΎ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π±ΡΠ΄ΠΆΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΈΠ· ΠΠ»Π°Π½ ΡΡΠΈΠ»Π΅Π½ΠΈΡ value-ΠΌΠΎΠ΄Π΅Π»ΠΈ
ΠΠ΅ΡΡΠ²ΡΠ΅ ΡΠΈΡΠΈ (ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΡΡΡ, king-safety) β ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π² Π»ΠΈΡΡΡΡ 2-ply. ΠΠΎΡΠΎΠ³ΠΈΠ΅ (KCP) β ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΌΠ΅Π»ΠΊΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½Π΅. ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ Π²ΡΠ³ΠΎΠ΄Π½Π΅Π΅ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π±ΡΠ΄ΠΆΠ΅Ρ: Π½Π° Π»ΠΈΡΠ½ΠΈΠΉ ΠΏΠ»Π°ΠΉ ΠΈΠ»ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠΌΠ½ΡΡ ΠΎΡΠ΅Π½ΠΊΡ.
4. ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ: 1-ply + KCP vs 2-ply + ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»
ΠΠ½ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Β«ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°ΠΊΡΠΈΠΊΡΒ»:
- 2-ply + ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» β Π²ΠΈΠ΄ΠΈΡ ΠΎΡΠ²Π΅Ρ ΡΠΎΠΏΠ΅ΡΠ½ΠΈΠΊΠ° ΡΠ΅ΡΠ΅Π· Π³Π»ΡΠ±ΠΈΠ½Ρ, Π½ΠΎ ΠΎΡΠ΅Π½ΠΊΠ° Π»ΠΈΡΡΠ° ΡΠ»Π΅ΠΏΠ° ΠΊ ΠΊΠΎΡΠΎΠ»Ρ (ΡΠ³ΡΠΎΠ·Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΈΡΠΊΠΎΠΌ, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ Π±ΡΠΎΡΠΊΠ΅ Π² ΡΠ·Π»Π΅).
- 1-ply + KCP β Π±Π΅Π· Π·Π°Π³Π»ΡΠ΄ΡΠ²Π°Π½ΠΈΡ Π²ΠΏΠ΅ΡΡΠ΄, Π½ΠΎ ΠΎΡΠ΅Π½ΠΊΠ° Π½Π°ΠΏΡΡΠΌΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π·Π°Ρ Π²Π°ΡΠ° ΠΊΠΎΡΠΎΠ»Ρ, ΡΡΡΠ΅Π΄Π½ΡΠ½Π½ΡΡ ΠΏΠΎ Π±ΡΠΎΡΠΊΠ°ΠΌ β Β«Π²ΠΈΠ΄ΠΈΡΒ» ΡΠ³ΡΠΎΠ·Ρ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ»ΠΎΠΉ.
Π‘ ΡΡΡΡΠΎΠΌ ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π» ΠΌΠ°ΡΡΠΈΡΠ° ΡΠ°ΠΊΠ°Ρ:
| ΠΡΠ΅Π½ΠΊΠ° \ ΠΠ»ΡΠ±ΠΈΠ½Π° | 1-ply | 2-ply |
|---|---|---|
| ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» | 41.5% | ~55% |
| + rich (mobility, king-safety) | 48% | 57.8% β |
| + KCP | β ΡΡΠΎΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ | β (KCP Π½Π΅ΠΏΠΎΠ΄ΡΡΠΌΠ½Π° Π² Π»ΠΈΡΡΡΡΡ ) |
ΠΠΈΠΏΠΎΡΠ΅Π·Π°: Π΅ΡΠ»ΠΈ 1-ply + KCP ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ β ΠΈΠ»ΠΈ > 2-ply + rich (57.8%) β ΡΡΠΎ ΡΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ: Π±ΠΎΡ Π΄Π΅ΡΠ΅Π²Π»Π΅ Π² ΠΆΠΈΠ²ΠΎΠΉ ΠΈΠ³ΡΠ΅ (Π½Π΅Ρ 2-ply-Π²Π·ΡΡΠ²Π°) ΠΈ ΠΏΡΡΠΌΠ΅Π΅ ΠΏΠΎ ΡΡΡΠΈ ΠΈΠ³ΡΡ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ³ΡΠ°Π΅Ρ β 2-ply+rich ΠΎΡΡΠ°ΡΡΡΡ ΡΠ΅ΠΌΠΏΠΈΠΎΠ½ΠΎΠΌ, Π° KCP ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Β«Π΄ΠΎΡΠΎΠ³ΠΎ ΠΈ Π½Π΅ ΠΎΠΊΡΠΏΠΈΠ»ΠΎΡΡΒ».
5. ΠΠ°ΠΊ ΡΡΠΎ Π»ΠΎΠΆΠΈΡΡΡ Π½Π° Π½Π°Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ
ΠΠ΅Ρ Π°Π½ΠΈΠΊΠ° β ΡΠΎΠ²Π½ΠΎ ΡΠ°, ΡΡΠΎ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π½Π° Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΠ°Ρ (ΠΠ»Π°Π½ ΡΡΠΈΠ»Π΅Π½ΠΈΡ value-ΠΌΠΎΠ΄Π΅Π»ΠΈ), Π½ΠΎ ΡΠ°Π³ ΠΎΠ±ΠΎΠ³Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΆΡΠ»ΡΠΉ:
flowchart LR A["training_data.csv.gz<br/>(1.3M ΡΡΡΠΎΠΊ)"] --> B["EnrichTrainingDataApp<br/>+ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° kcp (216-DFS)"] B -->|"ΡΠ°ΡΡ Γ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΠΎΡΡΡ"| C["Oracle CPU<br/>(Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎ Π΄Π΅Π»Ρ)"] C --> D["training_data_kcp.csv.gz"] D --> E["LightGBM ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅<br/>--features rich+kcp"] E --> F["ONNX (dice-free)"] F --> G["OnnxEvalSearch<br/>Π’ΠΠΠ¬ΠΠ 1-ply"] G --> H["Π°ΡΠ΅Π½Π° vs aggressive"]
- ΠΠ±ΠΎΠ³Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ²ΠΈΠΆΠΎΠΊ ΡΠΆΠ΅ ΡΠΌΠ΅Π΅Ρ
KingCaptureProbabilityβ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌEnrichTrainingDataApp, Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈkcp_*. ΠΡΠΎ 216-DFS Γ 1.3M β ΡΠ°ΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ΄ΡΠ°Ρ β ΠΏΠ΅ΡΠ²Π°Ρ Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π½ΡΠΆΠ΅Π½ Oracle CPU. ΠΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΠΈ Π±ΡΠ»ΠΈ Π΄ΡΡΠ΅Π²Ρ ΠΈ ΠΏΡΠΎΡΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π·Π° ΠΌΠΈΠ½ΡΡΡ; KCP β Π½Π΅Ρ. ΠΠ΄Π΅ΡΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Β«ΠΏΠΎ Π΄Π΅Π»ΡΒ» Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΡΡ Oracle Cloud β ΡΠ°Π½Π½Π±ΡΠΊ. - ΠΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ LightGBM Ρ KCP-ΡΠΈΡΠ°ΠΌΠΈ (Π² ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΌ EV-ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΡΠ»Π°Π³ Π½Π°Π±ΠΎΡΠ° ΡΠΈΡ ΡΠ°ΡΡΠΈΡΠΈΡΡ) β ΡΠ΅ΠΊΡΠ½Π΄Ρ.
- Serving ΡΠΎΠ»ΡΠΊΠΎ Π½Π° 1-ply ΡΠ΅ΡΠ΅Π· ΡΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ
OnnxEvalSearch(Π½Π°Π±ΠΎΡ ΡΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ). 2-ply Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ Π½Π΅ ΡΡΠΎΠ³Π°Π΅ΠΌ β KCP ΡΠ°ΠΌ Π½Π΅ΠΏΠΎΠ΄ΡΡΠΌΠ½Π°. - ΠΡΠ΅Π½Π° 1-ply+KCP vs
aggressive(ΡΠΈΠ΄ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½, Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎ β ΡΠΌ. Arena), ΡΡΠ°Π²Π½ΠΈΡΡ Ρ 57.8%.
6. Π§ΡΠΎ ΡΠ΅ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
- Π‘ΡΠΎΠΈΡ Π»ΠΈ ΠΏΡΡΠΌΠ°Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΡΠ° ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅Π½Ρ.
- ΠΡΡΡΠΈΠΉ live-Π±ΠΎΡ ΠΏΠΎ Β«ΡΠΈΠ»Π° Γ ΡΠΊΠΎΡΠΎΡΡΡΒ»: 1-ply+KCP ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΈ Π±ΡΡΡΡΡΠΌ, ΠΈ ΡΠΈΠ»ΡΠ½ΡΠΌ β ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π²
oracle-4. - ΠΠΈΠ±ΡΠΈΠ΄ (Π΅ΡΠ»ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π°ΠΉΠ΄ΡΡ). KCP ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΡΠΎΠ³Π° Π΄Π»Ρ Π»ΠΈΡΡΡΠ΅Π² 2-ply, Π½ΠΎ Π² ΠΊΠΎΡΠ½Π΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ (ΡΠΎΡΠ½ΠΈ) β ΠΌΠΎΠΆΠ½ΠΎ 2-ply+rich Π² Π»ΠΈΡΡΡΡΡ ΠΏΠ»ΡΡ KCP ΠΊΠ°ΠΊ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠΈΠ³Π½Π°Π». ΠΡΡΠ΅Π²ΠΎ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Ρ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ.
7. Π§Π΅ΡΡΠ½ΡΠ΅ ΠΎΠ³ΠΎΠ²ΠΎΡΠΊΠΈ
- ΠΡΠΎ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ, Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡ. KCP ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ
king_safety_diff(ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³) β ΡΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠΎΡΡ Π±ΡΠ΄Π΅Ρ ΠΌΠ°Π»; Π° ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΈΠ³Π½Π°Π» (ΡΠΎΡΠ½Π°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ vs ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ²ΡΠΈΡΡΠΈΠΊΠ°) β ΡΠΎΠ³Π΄Π° Π·Π°ΠΌΠ΅ΡΠ½ΡΠΉ. - ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ β ΠΎΠ±ΠΎΠ³Π°ΡΠ΅Π½ΠΈΠ΅ (Oracle-ΠΏΡΠΎΠ³ΠΎΠ½). ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π°ΡΠ΅Π½Π° Π΄ΡΡΠ΅Π²Ρ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ β ΡΠ°ΡΡ CPU, Π½Π΅ Π΄Π½ΠΈ.
- KCP ΡΡΠΈΡΠ°Π΅ΡΡΡ Π½Π° ΠΊΠΎΡΠ½Π΅/1-ply β ΠΎΠ½Π° ΠΏΡΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΡΠ³ΡΠΎΠ·Ρ ΠΊΠΎΡΠΎΠ»Ρ. ΠΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ (ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠ΄ΠΎΠ²) ΡΠ³ΡΠΎΠ·Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π»ΠΎΠ²ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΈΡΠΊ; ΠΏΠΎΡΡΠΎΠΌΡ Π³ΠΈΠ±ΡΠΈΠ΄ Β«Π³Π»ΡΠ±ΠΈΠ½Π° + KCPΒ» ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΡΠΈΡΡΠΎΠ³ΠΎ 1-ply+KCP.
8. ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ°Π±ΠΎΡ (ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·ΡΠΌΡΠΌΡΡ)
Issue-ΡΠ΅ΠΏΠΎΡΠΊΠ° Π² Π΄ΡΡ Π΅ ΠΏΠ»Π°Π½Π°:
- Π Π°ΡΡΠΈΡΠΈΡΡ
EnrichTrainingDataAppΠΏΠΎΠ΄kcp_*(Π΄Π²ΠΈΠΆΠΎΠΊ βKingCaptureProbability); ΡΠ΅ΡΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅. - ΠΠ±ΠΊΠ°ΡΠ°ΡΡ Oracle Π½Π° ΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΠΎΠ½Π΅ (ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°Π½ΡΠ°; Oracle Cloud β ΡΠ°Π½Π½Π±ΡΠΊ).
- ΠΠ΅ΡΠ΅ΠΎΠ±ΡΡΠΈΡΡ, ΡΡΠ°Π²Π½ΠΈΡΡ offline-ΠΌΠ΅ΡΡΠΈΠΊΠΈ (ΠΊΠ°ΠΊ Π² ΡΠ°Π³Π΅ 4a ΠΏΠ»Π°Π½Π°).
- 1-ply-Π°ΡΠ΅Π½Π°; ΠΏΡΠΈ ΡΡΠΏΠ΅Ρ
Π΅ β
oracle-4ΠΈ/ΠΈΠ»ΠΈ Π²Π΅ΡΠΊΠ° Β«KCP Π² ΠΊΠΎΡΠ½Π΅ 2-plyΒ».