停著殺是象棋中一個有趣的問題,在電腦象棋當中,我們也相對應的定義出N步停著殺的問題。N步停著殺的問題,就是要找出一個 AND-OR 證明圖,符合從任一個葉節點到根節點的路徑上,先行方至多只有N個非將軍步。如果找不到證明,那麼自然也能夠得到反證。因為這個問題受到象棋棋規的影響,變得十分困難,因此在此篇論文之前尚無有效率的方法能正確解之,此外,若要加入讓搜尋演算法加速的雜湊表一起考慮的話,問題會變得更加複雜。此篇論文介>紹一個基於搜尋圖歷史交互作用理論( Graph History Interaction, GHI ) 的搜尋演算法,可找出正確的解答並且效率足以應用於電腦象棋中。本論文的所有討論均根據亞洲棋規的規定。
In Chinese chess game, the N-relaxed checking-win problem is to find a proof, in the form of an AND-OR graph, such that any path from the root to the terminal nodes consists of all but at most N non-checking moves for the root player. When a proof cannot be found, then a disproof is sought, This is complicated problem because a correct implementation must deal with the Chinese chess rules which we are not aware of having any efficient implementation. The problem becomes more difficult if a hash table is used to store the previous searched result in order to improve performance. In this paper, a correct solution with tolerable performance cost based on Graph History Interaction (GHI) proof search is presented. We have chosen to implement the Asia Chinese chess rules in our program.