Research Report on the History of Computer Chinese Chess (Xiangqi) Game-Playing
A structured history of Chinese chess engine development from the 1980s to 2026, covering major engines, protocols, and community tooling. Chapter 8: Conclusions and Outlook → 2000
Chapter 8: Conclusions and Outlook
8.1 Historical Summary
The history of computer Chinese Chess game-playing is a history of technological evolution, community collaboration, and knowledge sharing:
Technological evolution: From simple Alpha-Beta search in the 1980s to NNUE neural network evaluation in the 2020s, the playing strength of Chinese Chess engines has evolved from beginner amateur level to surpassing human limits.
Community collaboration: From the solitary exploration of individual developers to the globally collaborative open-source community, the development model of Chinese Chess engines has undergone a fundamental change.
Knowledge sharing: From closed-source black boxes to open code and documentation, the reduction in knowledge dissemination costs has accelerated the pace of technological progress.
8.2 Future Outlook
Looking ahead, the development of Chinese Chess engines may exhibit the following trends:
Deep integration of deep learning and traditional search: NNUE is only the first step in combining deep learning with traditional search. More complex deep neural network architectures may be deeply integrated with traditional search algorithms in the future.
More powerful open-source ecosystem: With the participation of more developers and more refined collaboration tools, open-source engines will continue to expand their advantage over commercial engines.
Proliferation of multimodal analysis: The fusion of engine analysis, game record data, natural language explanation, and other modalities will provide users with a richer chess analysis experience.
Performance improvements on mobile and browser: With the development of WebAssembly and mobile AI chips, running engines close to top-tier playing strength in browsers and on mobile devices will become possible.
8.3 Final Thoughts
Looking back from Zun Zu winning the first ICGA championship in London in 1989 to the thriving Pikafish open-source community in 2026, computer Chinese Chess game-playing has gone through nearly four decades of development. This history has witnessed the formation and growth of a unique knowledge community.
In this community, there has been rigorous academic research, innovative commercial exploration, open community collaboration, and the solitary dedication of individual developers. These forces have converged to jointly drive the continuous progress of Chinese Chess engine technology.
For future researchers, we hope this report can provide assistance, allowing them to stand on the shoulders of their predecessors and continue moving forward. For chess enthusiasts, we hope this report can enhance their understanding of the Chinese Chess software ecosystem. For general readers, we hope this report can demonstrate how a technical community creates outstanding results through openness, sharing, and collaboration.
The story of computer Chinese Chess game-playing continues, and its future will be written by new developers, new communities, and new technologies. May this story forever remain open and forever full of vitality.
Volume XI: Detailed Explanation of Common Algorithms in Chinese Chess Engines
Chapter 1: Mathematical Analysis of Search Algorithms
1.1 The Size of the Chinese Chess Game Tree
The size of the Chinese Chess game tree can be estimated using the following parameters:
Average Branching Factor: approximately 40-60 Typical search depth: 10-20 plies (professional engines), 4-8 plies (beginner engines)
Game tree nodes (rough estimate): Half-depth 4: approximately 40^4 = 2,560,000 Half-depth 8: approximately 40^8 = 6,553,600,000,000 Half-depth 12: approximately 40^12 = 16,777,216,000,000,000,000
Alpha-Beta pruning under optimal ordering reduces complexity to the square root level: Half-depth 8: approximately 40^(8/2) = 40^4 = 2,560,000 Half-depth 12: approximately 40^(12/2) = 40^6 = 4,096,000,000
This is why pruning is so important — without it, even 10-ply searches would be impossible.
1.2 Weight Learning in Evaluation Functions
Methods for learning weights in handcrafted evaluation functions:
Linear regression method: Using a large amount of game data labeled with win/loss results, learn the weights of each feature through linear regression. The goal is to minimize the difference between the evaluation value and the game result.
Formula: Evaluation = w1 x f1 + w2 x f2 + … + wn x fn
Where w is the weight vector and f is the feature vector. The optimal weights are solved using the least squares method.
Match result-based method: The basis for adjusting weights is the engine match result — if a weight adjustment leads to an improved engine win rate, the adjustment is retained.
The effectiveness of this method depends on the number of test games. In the Fishtest system, typically several thousand to tens of thousands of games are needed to determine the effect of a single weight adjustment.
End-to-end learning of NNUE weights: Unlike the linear combination of handcrafted evaluation, NNUE learns a complex mapping from positional features to evaluation values through a multi-layer neural network.
NNUE training uses gradient descent to compute the gradient of weights at each layer, then updates the weights through backpropagation.
Chapter 2: Testing Benchmarks for Chinese Chess Engines
2.1 Commonly Used Test Game Sets
Game sets commonly used in Chinese Chess engine testing include:
Standard opening test set: Contains 100-1000 test games covering different opening variations. Used to test engine performance in the opening phase.
Middlegame tactical test set: Contains 100-500 test games featuring typical middlegame tactical problems. Used to test the engine’s tactical calculation ability.
Endgame test set: Contains 100-200 test games covering typical endgame positions. Used to test the engine’s endgame handling ability.
Classic game test set: Contains 50-100 test games of historically classic matches. Used to test the engine’s overall playing strength level.
2.2 Standardization of Test Environments
Environmental factors that need to be controlled in Chinese Chess engine testing:
Hardware environment: CPU model, core count, memory size, operating system version
Time control: Time limit per move (e.g., 15s + 0.5s), total time limit (e.g., 45 minutes per side for the entire game)
Opening book settings: Use a unified standard opening book (or disable the opening book to test the engine’s pure playing strength)
Transposition table size: Uniformly set to a standard value (e.g., 256MB)
Evaluation parameters: Uniformly use the engine’s default settings
Number of test games: To achieve statistically significant results, typically 1000-10000 test games are needed.
2.3 Statistical Analysis of Test Results
Statistical analysis methods for Chinese Chess engine test results:
Win rate statistics: Calculate the proportion of wins, losses, and draws in test games.
ELO calculation: Calculate the ELO rating difference based on the win rate between two players. The ELO calculation formula: E = 1 / (1 + 10^((Rb - Ra) / 400)) where E is the expected score of player A against player B, and Ra and Rb are the ELO ratings of A and B, respectively.
Confidence intervals: Use statistical methods to estimate the range of the ELO rating difference, such as a 95% confidence interval.
Significance testing: Use SPRT or other statistical methods to determine whether test results are statistically significant.
Chapter 3: Error Analysis of Chinese Chess Engines
3.1 Common Types of Engine Errors
Chinese Chess engines may encounter the following errors during actual operation:
Volume XII: Xiangqi Yearbook: 1999-2010 Key Events
1999
- The Xiangqi Association promulgated the “Chinese Xiangqi Competition Rules” (1999 edition), providing a formal standard basis for engine rule implementation
- Chess1 (Qi Yin) became widely popular on the Windows platform
- PC hardware upgrades, Pentium III allowed engines to reach greater search depths
2000
- Yitian Chess (Yitian Qiyuan) online gaming platform began operation
- Engines began to have the ability to challenge amateur advanced players
- The concept of opening books began to spread in the Xiangqi engine community