循环局面的象棋棋规
新棋吧
全部回复
仅看楼主
level 7
完策绝杀 楼主
众所周知,象棋对于循环局面的棋规判断很复杂,要么就是不够严厉(长杀都可以)容易赖和。要么就是过于复杂,搞得像诉讼一样,程序都没法写。[哈哈]
本人吃饱了撑的,拟了一套原则上很简单的规定(保证计算机可执行),且拒绝赖和。并且最大程度上降低和棋率(除了长闲对长闲外,其它都能分胜负)。[吐舌]
按照这套规定也可以一定程度上丰富象棋策略(可以研究策略通过棋规来求胜求和,估计软件用这套规则对局,会有这种策略)。
2024年10月16日 12点10分 1
level 7
完策绝杀 楼主
(1)将,杀,捉的定义,及其他基础概念:
一:将
将:一方行棋后,如果再走一步能吃掉对方老将就叫将军。
二:杀
杀:一方行棋后,如果再走一步可以连将杀将死对方老将就叫杀。(注:必须是连将杀,如果是缓杀,即不是步步将军则不算杀)
连将:连续X步棋都是将军(无论是否将死,X为任意正整数,也不管对方怎么应将),那么把这X步棋一起称为连将。
连将杀:每一步都是将军,无论对方如何行棋,都可以每步将军直到将死对方,则为连将杀。
三:捉
捉的定义就相对比较复杂了
捉由捉子和捉源共同构成,比如车捉马,那么车是捉源,马是被捉的,马是捉子。
捉分为普通捉和抽将捉。
普通捉:一方行棋后,如果再走一步,就可以用己方的棋子(捉源)吃掉对方的一个(除老将外的)棋子(捉子);并且在己方这步棋行棋前,这步(由捉子和捉源构成的)捉还不存在,那么这步棋就叫做捉。(当然还有特例。)
捉由捉子和捉源构成,只要捉子捉源其中一个改变,那就是一个新的“捉”。如果捉源和捉子都没有变,则还是原来就存在的“捉”,不是新的“捉”。
送吃:一方行棋后,轮到对方走,如果对方的棋子(吃源)就可以吃掉我方的一个棋子(吃子);并且在己方这步棋行棋前,这步(由吃子和吃源构成的)送吃还不存在,那么这步棋就叫做送吃。
抽将捉:一方行棋后,如果再走一步,可以连将对方,连将之后,对方无论如何行棋,要么被连将杀将死,要么只能解将的同时送吃,那么我方这步棋也记为“捉(抽将捉)”。(如果对方存在一种选择解将的同时不送吃,那我方的这步行棋就不是捉。)此时吃源就是这步棋的捉源,吃子就是这步棋的捉子(同样捉源不能是将帅兵卒,捉子不能是未过河的兵卒)。
捉的特例:
1,捉源(吃源)为将帅兵卒时,该步不记作捉,记为闲。
2,捉子(吃子)为未过河的兵卒时,该步不记作捉,记为闲。
四:闲
闲:如果一步棋,不是将,杀,捉,则这步棋为闲。
2024年10月16日 12点10分 2
level 7
完策绝杀 楼主
(2)每步棋以及循环的严重程度:
如果双方局面循环三次,则对双方循环的严重程度进行判定。
首先判断每一步棋的严重程度:
每一步行棋的严重程度是:将军》杀=捉》闲。
如果一步棋有两种严重程度,则按更严重的那个严重程度算。(比如一步棋既是将军又是捉,那就算将军,因为将军更严重)。
将军是最严重。杀,捉是次等严重。闲就是闲。
接下来判断整个循环的严重程度:
每方整个循环的严重程度就是该循环中严重程度最低的那一步棋的严重程度。(比如我方循环中,有将军,有杀,有闲,那我方整个循环的严重程度就是闲;对方循环中,有将军,有捉,无闲,那对方整个循环的严重程度就是次等严重。)
整个循环的严重程度也是:将军》杀=捉》闲
2024年10月16日 12点10分 3
level 7
完策绝杀 楼主
(3)连打序列和判断步:
序列:双方连续的几步棋。(比如:红第1步,黑第2步,红第3步,黑第4步。从第红1步棋到黑第4步棋,就是一个连续的序列,长度为4。注意序列必须是连续的,不能有中断。序列的最小长度为1.)
满足以下全部条件的序列就是连打序列:
1,连打序列中的每一步棋必须都是打(即将/杀/捉),不能是闲。
2,连打序列之前的一步棋必须比连打序列的第一步棋严重程度要低。
3,从连打序列的第二步算起,每一步的严重程度必须小于等于上一步。
判断步:让局面第一次出现第三次循环的那步棋就叫“判断步”。
2024年10月16日 12点10分 4
level 7
完策绝杀 楼主
(4)循环局面胜负判定:
比较双方整个循环的严重程度,如果有一方整个循环的严重程度更严重,则判负。
如果双方整个循环的严重程度都是闲,则和棋。
如果双方整个循环的严重程度一样,但不是闲,则看“判断步”所在的连打序列的第一步是哪方下的,该方判负。
2024年10月16日 12点10分 5
level 7
完策绝杀 楼主
最后,我这套规则没有“25回合内循环和棋红变招”的规定。
2024年10月16日 12点10分 6
level 12
[真棒]
2024年10月16日 12点10分 7
谢谢
2024年10月16日 13点10分
level 7
完策绝杀 楼主
好了,棋规讲完。
最后说明一下,为什么“捉”不看有根没根。首先是如果有根就不算捉的话,就会出现一楼图里那种赖和的情况。其次是为了执行方便,什么有根没根真根假根判断起来复杂,不如“能吃就算捉”简洁。而且,众所周知,兑子会简化局面容易和棋。所以“能吃就是捉”的话,就不允许长邀兑,保留了避兑的权力,保持局面复杂性,有利于减少和棋。[哈哈]
2024年10月16日 13点10分 8
level 7
完策绝杀 楼主
现在这个棋规应该没有“荒谬情况”了。
其实我挺好奇强软能用这个棋规发展出什么利用棋规的战术?[开心]
2024年10月16日 13点10分 9
既懂棋规又懂程序,同时又愿意思考棋规的太少了。实际上中国象棋的棋规没那么复杂。
2024年10月18日 12点10分
@洲际象棋 其实我这个棋规,计算机完全是可以执行的,而且人理解起来其实也不需要死计硬背,理解原则很方便。至于说复杂情况计算比较难,那确实,因为禁止长杀/长抽将捉就不可计算简单。其实计算复杂也提高了策略深度,增加了用棋规求胜的策略。
2024年10月18日 13点10分
level 15
简单之至又十分科学还绝对公平的循环规则就是胜负象棋的循环规则。规则对双方都一样。没有偏袒任何一方,并且任何一方都能够把循环玩成循环战术!
2024年10月18日 03点10分 11
不同的游戏适用不同的判定,没有完全的最优解。
2024年10月18日 14点10分
level 15
还有比下面的循环规则更简单更科学的吗?中国象棋用此规则,69个棋例可以丢进历史垃圾堆了。
2024年10月18日 03点10分 12
按照你的规则,象棋就没有和棋了。象棋单帅对单将,一直走下去局面也会循环,那要是先循环方判负,那单帅对单将也能分胜负。
2024年10月18日 03点10分
@完策绝杀 我没说先循环方判负,是说变招,变招。中国象棋的单帅对单将,变招一辈子,还是不能分出胜负啊。但胜负象棋不同,任意循环局面,只要变招,就会有可能先升变胜,即使是战斗到双王,位置好同样胜。
2024年10月18日 05点10分
应该是一方变招,对方就有先升变的机会而胜
2024年10月18日 05点10分
@新棋迷 我这个循环棋规则是针对中国象棋的,不是针对别的象棋的。
2024年10月18日 05点10分
level 15
楼主一楼那个局面不是红胜吗?红为什么还要循环,弃一个兵,再进兵就杀棋了
2024年10月18日 03点10分 13
一楼的图是黑先下,黑棋兑炮,长兑,你说应该算黑棋违规吗?
2024年10月18日 03点10分
level 7
完策绝杀 楼主
虽然我拟的是中国象棋循环局面的判决办法,但是原则上杀王棋都可以使用这套棋规。可以用来减少和棋,鼓励攻杀,减少赖和。如果其它杀王棋循环局面出现频率很高的话,都可以使用这套棋规。
2024年10月18日 11点10分 14
level 13
觉得这个规则可行,与中规皮卡鱼的判定有相似之处[滑稽]@丰见光
2024年10月20日 06点10分 16
谢谢支持。[哈哈]
2024年10月20日 14点10分
level 15
掌握先循环者先变原则,任何复杂的循环都好处理了。将军循环,判将军的一方变招,解将还将,双方都将军,就判先将军的一方变招。非将军循环,直接判先循环方变招就搞定了,没有符合规则的变招,就判另一方变招。这种情况,实战机会为零,但作为一种科学的规则,必须考虑任何特殊情况,任何局面用这种规则都要无懈可击才行。
2024年10月21日 01点10分 17
回复 新棋迷 :禁长杀/长捉的逻辑是和禁长将类似的,而你的逻辑是分裂的。既然你认为非长将循环先循环者变招,那为什么你不判长将循环中,先循环者变招,而要判长将方变招呢?你的逻辑是不一致的。
2024年10月21日 01点10分
@完策绝杀 这不是逻辑的问题,而是现实的局面问题,判被将军的一方变招不合理,被将军方只有将帅可动或被将方变招将帅就死了,这合理吗?
2024年10月21日 01点10分
@完策绝杀 被长杀/被长捉,只要是先循环方就需要变招,不是先循环方,自然是对方变招,甚至,后循环方本来可以不走循环着法,却故意走循环着法,利用循环战术逼被长杀/被长捉方吃亏,只怪他们在循环之前没脑子,活该倒霉。
2024年10月21日 01点10分
@完策绝杀 循环规则刚开始就是判所有循环,先循环先变。后来才发现被将军的一方,如果是先循环方,可能出现无法变担的情况,也就是变招就是送死,或者是没有符合规则的变招着法,所以强行判被将方变招就不合理了
2024年10月21日 02点10分
1 2 尾页