Changes

Jump to: navigation, search

Chinese Chess

3,033 bytes added, 06:57, 28 September 2022
2020 ...
=Rules=
Basically, the ==Basic==Basic rules are similar to chess with some modifications. Pieces can move and capture according to their individual ability and restriction along the lines including the “Riverbanks”. Xiangqi doesn’t have rules such as castles, en-passants, promotions. Instead it has some limitations such as King, Advisors must move inside their own Palaces, Horses and Elephants can be blocked (from moving), two King cannot “face” each other (stands in the same column without any piece between). The object of the game is to [[Checkmate|checkmate]] or [[Stalemate|stalemate]] (is a win as well) the opponent King aka General.  ==3-Folk Rules==When a position repeated 3 time (3 folks) the game will be terminated too. However, partly due to the freedom and power of the Rook over other pieces, and the limited freedom of the King, it is forbidden to [[Repetitions|repeat]] perpetually a direct thread (i.e. a perpetual check 長將, perpetual thread of capture 長捉, a check and then a threat of mate 一將一殺, or a combination of these). If no side violates the forbidden, game will be ruled as a draw.
Ruling the game when 3 forks happen is the hardest thing for fully understanding, installing for both players and software.
=Notations= * [[FEN]]: Chinese Chess can use [[Forsyth-Edwards Notation]] to save down positions, ignored some fields such as Castling and En passant target square. Here is FEN of the starting position: rheakaehr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RHEAKAEHR w - - 0 1 
* [[Traditional Chinese Chess Notation]]
* [[SAN]]
=Programming=
Chinese chess is quite similar to chess in multi-aspects thus its software can be developed and tested in similar ways. It can use almost all chess techniques, from traditional methods using [[Board Representation]], [[Alpha-Beta]] [[search]], [[Evaluation]], [[Opening Book]], [[Endgame Tablebases]]... to new ones using [[NNUE]], [[AlphaZero]] methods...
 
However its programming is a bit harder to gain high levels due to some reasons:
 
a) The board is significantly larger (90 vs 64, 40% larger)
 
b) Even there’s no diagonal slide moves (such as Bishops), its pieces have more limitations, been blockable, Cannons have a special way to capture... The board size (90) can't fit 64-bit integer either, the number of columns 9 can't help quick devices... All may make move generators be more complex and slower
 
c) The search trees are usually larger. For example, when comparing Perft results at deep 7, Xiangqi number is 72 times as large
 
d) Evaluation of positions may require more knowledge, especially endgame positions
 
e) Rules 3-fork repetitions are hard to implement and maybe so slow
 
* [[Chinese Chess Board Representation]]
* [[Chinese Chess PerftResults]]
=Sub variants=
* [[Ting-Yu Lin]], [[Jr-Chang Chen]], [[Tsan-sheng Hsu]] ('''2018'''). ''The number of effective moves for Chinese chess''. [[CG 2018]], [[ICGA Journal#40_4|ICGA Journal, Vol. 40, No. 4]]
* [[Wen-Jie Tseng]], [[Jr-Chang Chen]], [[I-Chen Wu]], [[Tinghan Wei]] ('''2018'''). ''Comparison Training for Computer Chinese Chess''. [https://arxiv.org/abs/1801.07411 arXiv:1801.07411]
==2020 ...==
* [[Maximilian Langer]] ('''2021'''). ''Evaluation of Monte-Carlo Tree Search for Xiangqi''. B.Sc. thesis, [[Darmstadt University of Technology|TU Darmstadt]], [https://ml-research.github.io/papers/langer2021xiangqi.pdf pdf]
=Forum Posts=
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=69386 A proposal for Jeiqi notation] by [[Pham Hong Nguyen|Nguyen Pham]], [[CCC]], December 26, 2018
==2020 ...==
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=76400 Xiangqi chess engine in javascript - YouTube tutorial series] by [[Maksim Korzh]], [[CCC]], January 24, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=76391 Did anyone write a xiangqi chess engine?] by [[Maksim Korzh]], [[CCC]], January 27, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=76430 Chinese chess Xiangqi perft results] by [[Maksim Korzh]], [[CCC]], January 27, 2021 » [[Chinese Chess PerftResults]]* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=76464 Wukong Xiangqi - Chinese chess engine] by [[Maksim Korzh]], [[CCC]], January 31, 2021* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=80642 SEE test suite for Xiangqi (Chinese chess)] by [[Pham Hong Nguyen|Nguyen Pham]], [[CCC]], September 08, 2022
=External Links=
* [http://www.xqbase.com/protocol/cchess_ucci.htm 中国象棋电脑应用规范(五):中国象棋通用引擎协议] Universal Chinese Chess Protocol (UCCI)
* [http://www.xqbase.com/league.htm 电脑象棋联赛 - 象棋百科全书 - Computer Chess League - Chess Encyclopedia]
* [https://www.youtube.com/watch?v=r3g2wxFLTVY&list=PLmN0neTso3Jw59oLgLUwSTZ_AO_u-pwWt Discovering Chinese chess Xiangqi to create game engine for it] by [[Maksim Korzh]], January 22, 2021, [https://en.wikipedia.org/wiki/YouTube YouTube] Videos
==Source Code==
* [https://github.com/NeymarL/ChineseChess-AlphaZero GitHub - NeymarL/ChineseChess-AlphaZero: Implement AlphaZero/AlphaGo Zero methods on Chinese chess] » [[AlphaZero]]
* [https://github.com/maksimKorzh/wukong-xiangqi GitHub - maksimKorzh/wukong-xiangqi: Didactic Chinese chess Xiangqi engine] by [[Maksim Korzh|Code Monkey King]]
==Xiangqi Cloud Database==
* [https://www.chessdb.cn/query_en/ Xiangqi Cloud Database Query Interface] by [[Bojun Guo|noobpwnftw]]

Navigation menu