  This paper presents an empirical exploration of non-transitivity in
perfect-information games, specifically focusing on Xiangqi, a traditional
Chinese board game comparable in game-tree complexity to chess and shogi. By
analyzing over 10,000 records of human Xiangqi play, we highlight the existence
of both transitive and non-transitive elements within the game's strategic
structure. To address non-transitivity, we introduce the JiangJun algorithm, an
innovative combination of Monte-Carlo Tree Search (MCTS) and Policy Space
Response Oracles (PSRO) designed to approximate a Nash equilibrium. We evaluate
the algorithm empirically using a WeChat mini program and achieve a Master
level with a 99.41\% win rate against human players. The algorithm's
effectiveness in overcoming non-transitivity is confirmed by a plethora of
metrics, such as relative population performance and visualization results. Our
project site is available at
\url{https://sites.google.com/view/jiangjun-site/}.
