This report provides an overview of the Chinese dark chess tournaments held during the 2024 Computer Olympiad. Six teams from Taiwan, Japan, and France participated in the tournament, with the winner being an Alpha-Zero-based program named CLAP_CDC. In addition, this report comments on two games between CLAP_CDC and other programs.
The 2024 Computer Olympiad was held online during August 16–31, 2024. The computer Chinese dark chess tournament took place on August 21. Six teams from Taiwan, Japan, and France participated in the tournament, as listed in Table 1. Detailed rules of Chinese dark chess can be found in Chen et al. (2010) and Yen et al.’s (2015) articles. The rules to judge draws in Chinese dark chess tournaments are slightly different from those in the articles. In the tournaments, a game ends with a draw when both players do not capture or flip any piece within 180 plies, or when both players play the same position three times.
The Participants.
Program
Abbr.
Author(s)
Operator
Country
Kato
Kato
Jun-Jie Huang, Hsing-Yu Chen, and Chien-I Kao
Jun-Jie Huang
Taiwan
DarkKnight
Dkn
Chu-Hsuan Hsueh, Wen-Jie Tseng, and I-Chen Wu
Chu-Hsuan Hsueh
Japan & Taiwan
CLAP_CDC
Clap
Chu-Hsuan Hsueh, Yuan-Hao Chen, Wen-Jie Tseng, and I-Chen Wu
In the 2024 Computer Olympiad Chinese dark chess tournament, double round-robin system was applied. Namely, each program played two games against each of the other programs. Among the two games, each program alternatively played as the first player. The time constraint for each program was 15 minutes per game without any extension. A program lost immediately when it used up its time. All the games were played on a game-playing platform implemented by Jr-Chang Chen’s team (Chen, 2024; Zhong, 2020). The server was convenient in that each program only needed to connect to the server at the beginning and the server did the rest. The server arranged the matches in each round, randomized unrevealed pieces, communicated between programs, served as the timekeeper, judged the game results, and collected the game records.
For each game, a program obtained 1 point for a win, 0 for a loss, and 0.5 for a draw. Table 2 lists the detailed scores and the final ranks. CLAP_CDC obtained 8.5 points with 8 wins, 1 draw, and 1 loss, winning the gold medal. PupilDarkChess obtained 8 points with 7 wins, 2 draws, and 1 loss, winning the silver medal. DarkKnight obtained 5.5 points with 5 wins, 1 draw, and 4 losses, winning the bronze medal.
The Detailed Scores and the Final Ranks.
ID
Kato
Dkn
Clap
Sbb
Yah
Pup
Total Score
Rank
Kato
–
0.5
0.0
2.0
1.5
0.5
4.5
4
Dkn
1.5
–
0.0
2.0
1.0
1.0
5.5
3
Clap
2.0
2.0
–
2.0
2.0
0.5
8.5
1
Sbb
0.0
0.0
0.0
–
0.0
0.0
0.0
6
Yah
0.5
1.0
0.0
2.0
–
0.0
3.5
5
Pup
1.5
1.0
1.5
2.0
2.0
–
8.0
2
Kato was based on alpha-beta pruning. DarkKnight was based on Monte-Carlo tree search incorporating techniques of early playout terminations, implicit minimax backups, and progressive bias (Hsueh, 2019; Hsueh et al., 2016). CLAP_CDC was based on the CLAP framework (Chen, 2020), an AlphaZero framework developed by I-Chen Wu’s team (Wu, 2024). SuperBaba was a combination of parallel Monte-Carlo tree search and minimax (Cazenave & Jouandeau, 2008). Yahari was based on the alpha-beta algorithm with a heuristic evaluation function fine-tuned using endgame databases (Chang et al., 2019). PupilDarkChess was based on alpha--beta pruning.
Selected Games
This report comments on two games, one between CLAP_CDC (the gold) and PupilDarkChess (the silver), and the other between CLAP_CDC and SuperBaba (the sixth). In game records, P(T) denotes an action of flipping a piece with type T at position P, and S-D denotes an action of moving a piece from position S to D. The pieces are denoted as follows: uppercase and lowercase letters represent red and black pieces, respectively, and the pieces king, guard, minister, rook, knight, cannon, and pawn are abbreviated as K/k, G/g, M/m, R/r, N/n, C/c, and P/p, respectively.
Game 1: CLAP_CDC (Red) vs. PupilDarkChess (Black) 0-1
Both of PupilDarkChess’s guards g (relatively strong pieces) were already revealed at the 4th ply. At the 3rd, 5th, 7th, and 9th plies, CLAP_CDC aimed to flip a red cannon C to capture the black guards (probabilities of 2/30 to 2/25), though all the attempts failed. After revealing a red minister M at the 9th ply, CLAP_CDC eventually had a relatively strong piece revealed. At the 11th ply, CLAP_CDC flipped the unrevealed piece at c7, where the aim was to capture weaker black pieces (rooks r, knights n, cannons c, and pawns p, a probability of 8/24 in total). Meanwhile, the risks included (i) with a probability of 1/24, flipping the red king K, which will be captured by the black pawn p at b7, and (ii) with a probability of 3/24, flipping the black king k or ministers m so that the red minister M will be captured. It turned out to be the red king K, as shown in Figure 1(a), which was captured immediately at the 12th ply (b7-c7). This made CLAP_CDC consider it quite disadvantageous, where the predicted values at the 11th and the 13th plies were 0.09 and 0.52, respectively.
Game 1 (a) 11th ply c7(K) and (b) 48th ply a6-b6 and Game 2 (c) 9th ply d3(K) and (d) 14th ply d4(P).
After that, PupilDarkChess stayed in advantage and finally won the game by capturing all CLAP_CDC’s pieces. One worth-mentioning move was the 48th ply, where PupilDarkChess moved the black pawn p at a6 to b6. This was a wise move that cleared a path for the black king k at a5 to attack the red guard G at b7 and red minister M at a7. In this way, the black player could win more quickly. In contrast, one may straightforwardly try to escape the black minister m at c7, which was threatened by the red guard G at b7. However, since owning the black minister m or not did not influence the black player’s degree of advantage too much and it was likely being captured, giving it up immediately was a better and more reasonable choice.
Some strong pieces of both players were revealed at an early stage (i.e., the black king k, black guard g, black minister m, and the red guards G at the 6th ply). Especially, SuperBaba flipped the black king k at c3 at the 6th ply, threatening the red knight N at c2 and the red guards G at d1 and d2. CLAP_CDC tried to prevent the red pieces from being captured by flipping at c1 and d3 at the 7th and 9th plies, respectively, aiming for the red king or red pawns (probabilities of 6/26 and 6/25). Fortunately to CLAP_CDC, the piece at d3 was the red king K, as shown in Figure 1(c). Even if the black player decided to capture the red guard G at d2, the black king k would be captured as compensation. With this red king K revealed, the values predicted by CLAP_CDC returned from 0.46 to 0.08 (disadvantageous to a close game).
At the 12th–13th plies, SuperBaba exchanged its black king k with a red guard G. After that, it flipped the piece at d4, which was a good move with several aims. (i) With a probability of 4/23, a black pawn p would be flipped, which could threaten the red king K at d2. (ii) With a probability of 2/23, a black cannon c would be flipped, which could threaten the red guard G at d1. Since the red player could not move the red king K at d2 to d3 to threaten the black cannon c at d4 (otherwise, the red guard G at d1 would be captured), the black cannon c would still have chances to escape. (iii) With a probability of 7/23, a guard g, a minister m, a rook r, or a knight n would be flipped, which could prevent the red player from aiming to flip at d5 for a red cannon C to capture the black guard g at d7. However, in this case, black guard g and minister m were less preferred because they would be threatened by the red king K at d2. In the tournament, the piece at d4 was a red pawn P, so none of the above aims were realized. In the end, CLAP_CDC captured all black pieces and won the game.
Footnotes
Funding
The authors received no financial support for the research, authorship, and/or publication of this article.
Declaration of Conflicting Interests
The authors declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
References
1.
CazenaveT.JouandeauN. (2008). A parallel Monte-Carlo tree search algorithm. In The 6th international conference on computers and games (CG 2008) (pp. 72–80). https://doi.org/10.1007/978-3-540-87608-3_7
2.
ChangH.-J.ChenJ.-C.FanG.-Y.HsuehC.-W.HsuT.-s. (2019). Using Chinese dark chess endgame databases to validate and fine-tune game evaluation functions. ICGA Journal, 40(2), 45–60. https://doi.org/10.3233/icg-180048
3.
ChenY.-H. (2020). A high-performance, distributed AlphaZero framework [Master’s thesis, National Chiao Tung University]. Hsinchu, Taiwan. https://hdl.handle.net/11296/64c8e8
4.
ChenJ.-C., et al. (2024). GamePlatform. Retrieved August 26, 2024, from http://120.126.151.216/index.php
HsuehC.-H. (2019). On strength analyses of computer programs for stochastic games with perfect information [PhD thesis, National Chiao Tung University]. Hsinchu, Taiwan. https://hdl.handle.net/11296/ku48z7
7.
HsuehC.-H.WuI.-C.TsengW.-J.YenS.-J.ChenJ.-C. (2016). An analysis for strength improvement of an MCTS-based program playing Chinese dark chess. Theoretical Computer Science, 644, 63–75. https://doi.org/10.1016/j.tcs.2016.06.025
YenS.-J.ChouC.-W.ChenJ.-C.WuI.-C.KaoK.-Y. (2015). Design and implementation of Chinese dark chess programs. IEEE Transactions on Computational Intelligence and AI in Games, 7(1), 66–74. https://doi.org/10.1109/TCIAIG.2014.2329034
10.
ZhongY.-X. (2020). Design of a web-based client for Chinese dark chess [Master’s thesis, National Taipei University]. New Taipei City, Taiwan. https://hdl.handle.net/11296/j69k4q