象棋吧 关注:274,866贴子:5,945,170
  • 14回复贴,共1

从对局中提取杀法题

只看楼主收藏回复

最近,我在制作了几个杀法题集,都是从大赛的对局中提取而来。


这些都用到了“谱及天下”团队的内部工具。出于谱及天下的纪律要求,那些工具是不能随意流传的。
但我考虑到,不少人很希望能够掌握这样的技术,所以思前想后,我想了一个折中的办法:
我把几个核心程序单门制作出来,让大家在最关键的几步用上。经与谱及天下管理员商议,同意发布出来。
毕竟,有更多的人来研究象棋杀法题,肯定是个好事。
工具会在二楼楼中楼里给出网盘链接。


IP属地:河南1楼2020-03-06 12:20回复
    下面开始教程。全部过程是5步。
    一、从对局中提取杀法题,总共分3步。
    二、将提取出的杀法题做成CBL格式。总共分2步。
    1,使用象棋桥,将想要处理的棋局以CBF格式导出到某个文件夹中。
    选中多个对局(用ctrl或者shift点选可以帮助您点选多局),右键-导出棋谱-2.cbf格式


    IP属地:河南2楼2020-03-06 12:22
    收起回复
      2,使用工具“从CBF中提取主变FEN串”,提取出对局主变的所有的FEN串。
      在上方选中您刚保存的文件夹,注意,这里一定要双击点进去,直到下方的文字说明您确实进入了这个文件夹“当前地址是——……”,然后点“开始记录”,这样所有的FEN串都记录了下来。
      这里我提供了两个版本的FEN串提取器。一个去重版,可以去掉重复的局面,但要慢一点;另一个是不去重版,效率高,但有重复,后续可以自行通过EXCEL去重。大家都可以试用。
      提示:如果文件夹里有棋谱之外的文件,这一步很有可能出错。所以做之前,最好保证文件夹里只有CBF文件。


      IP属地:河南3楼2020-03-06 12:26
      回复
        3,使用工具“FEN串价值计算”,算出所有FEN串的分数。
        这个工具需要安装.net framework4.7.2以上的版本。不过一般比较新的电脑都有。如果您的电脑上没有,那么建议您百度一下安装一个,或者换个新电脑。
        在上一步中,所有的FEN串都被记录到了文件夹中的fen.txt文件中。请您打开,将您的FEN串复制到“fen串价值计算”的左侧,然后在右边设置搜索深度,是否只记录杀法题、全转为红先等。并在下方先择保存到哪里。这里仍有二千万FEN串限制。您若有更多FEN串,请分多次计算。
        之后,在下方选择象棋引擎,点“开始计算”,FEN串连同其价值就会源源不断地记录到您想要的文件中了。如果您选择的是“只记录杀法”,那么程序就只记录几步杀的题目。如果不这么选择,程序就记录所有FEN串的分值。
        值得一提的是引擎的选择。我在测试中,仅试用了佳佳象棋、南奥象棋的免费版本的引擎,这两个引擎都是可以用的。不同的引擎所长不同。有的引擎擅长杀局计算,有的引擎擅长中局混战。建议大家多试几个挑一挑。如果您有其它的引擎也可以试一试。但不是所有的引擎都能成功输出分数。


        IP属地:河南4楼2020-03-06 12:30
        回复
          经过以上三步,对局中的杀法题就提取出来了。
          提取出的东西是FEN串,您可能看不懂。不过不用担心,FEN串是象棋桥、所有象棋引擎通用的。
          只要您将FEN串复制到象棋桥,或是任何一个象棋软件中,您就可以观看您提取出的杀法题。
          杀法题的着法没有,但建议您算不出来时,用象棋软件进行计算。
          如果您提取出来的FEN串较多,想批量地做成CBL,那么请继续看这个教程


          IP属地:河南5楼2020-03-06 12:31
          回复
            4、使用工具“fen串生成CBF”得到CBF文件
            请在EXCEL里,自行将第3步得到的FEN串处理成“文件名#*1*#FEN串”的格式。注意,这个#*1*#是用来区分文件名和FEN串的。
            例如
            0001-1步杀#*1*#2bakabCr/5R3/6N2/p3p1P1p/2pnr4/2n4R1/P7P/4C4/4A4/2BAK1B2 w
            0002-1步杀#*1*#2b3b2/3R5/4k1n2/p2Nr2r1/5P3/1R7/3p4P/4BC2B/4A4/4KA3 w
            0003-1步杀#*1*#3a1ab2/1R7/3N1k3/p7p/2P2N3/9/P8/3KB1r1c/6p2/9 w - - 0 1
            0004-1步杀#*1*#3k1a3/2N1P4/5a3/2N4cC/2b3b2/4c4/3p5/4BA3/4A2n1/2B1K4 w
            0005-1步杀#*1*#5a3/2R1a4/3kb3R/p3p3p/4c4/4N4/P2r4r/2n1B3N/4A4/2BAK1C2 w
            0006-1步杀#*1*#3a1kb2/4a4/3c5/4RC1N1/2r3b2/6B1P/P3P2c1/9/2n1A4/2BA1K3 w
            然后粘到FEN串生成CBF小程序左边,右边双击选进一个新文件夹,点生成即可。
            (大家不要把这一步的文件夹与第1步的文件夹搞混了,这是个新的文件夹)

            之后,您选中的文件夹里就有了您刚生成的CBF对局


            IP属地:河南6楼2020-03-06 12:33
            回复
              5、使用象棋桥,批量导入棋谱文件夹
              在象棋桥中新建个棋库,在该棋库上右键-导入棋谱文件夹,选中您第4步的CBF所在的文件夹
              之后您的CBL就自动生成了。CBL存放在象棋桥文件夹下的CBL文件夹中。


              IP属地:河南7楼2020-03-06 12:34
              回复
                以上,从对局中提取杀法题的教程全部完成。
                大家试一试吧,希望大家本着分享的精神,把自己提取出来的杀法题共享出来!
                最好能有个团体,按计划把对局分发开,让大家分头提取杀法,以免重复劳动!


                IP属地:河南8楼2020-03-06 12:34
                回复
                  另,分享中附上几个成品的CBL供大家试用


                  IP属地:河南9楼2020-03-06 12:44
                  回复
                    不知道大家能否看到2楼的网盘链接。
                    看不到的请发送邮件到
                    1547272304@qq.com


                    IP属地:河南10楼2020-03-06 12:54
                    收起回复
                      感谢 xtxiatian2006 论坛元老的分享!


                      11楼2020-03-06 15:03
                      回复