Some Chess960/FRC positions to be confirmed

Discussion of chess software programming and technical issues.

Moderators: Harvey Williamson, bob, hgm

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
RubiChess
Posts: 210
Joined: Fri Mar 30, 2018 5:20 am

Re: Some Chess960/FRC positions to be confirmed

Post by RubiChess » Sat Apr 25, 2020 12:01 pm

RubiChess wrote:
Sat Apr 25, 2020 7:06 am
Evert wrote:
Sat Apr 25, 2020 6:46 am
SjaakII can do that. “Perft 6 1” does a distributed perft to depth 6 and outputs node counts for every move at ply 1.
Okay, thanks. I just noticed it is yours :-)
Already did the very few changes needed in Ethereal and distributed perft is running... But I will have a look at Sjaakll later.

Andreas
End of story: Problem was in the playMove function playing a castle move with rook staying on the same square. Solved now.
Thanks again.
Andreas

User avatar
xr_a_y
Posts: 1319
Joined: Sat Nov 25, 2017 1:28 pm
Location: France

Re: Some Chess960/FRC positions to be confirmed

Post by xr_a_y » Wed May 06, 2020 7:44 am

RubiChess wrote:
Sat Apr 25, 2020 5:40 am
Old thread recycled...

Code: Select all

XFEN 04: 4r3/3k4/8/8/8/8/6PP/qR1K1R2 w KQ - 0 1
   +-a--b--c--d--e--f--g--h-+
 8 |   :::   :::[r]:::   :::|
 7 |:::   :::[k]:::   :::   |
 6 |   :::   :::   :::   :::|
 5 |:::   :::   :::   :::   |
 4 |   :::   :::   :::   :::|
 3 |:::   :::   :::   :::   |
 2 |   :::   :::   :::<P><P>|
 1 |[q]<R>:::<K>:::<R>:::   |
(w)+-a--*--c--*--e--*--g--h-+

Ply      Moves       [x] [ep]       [+] [++] Prom     Cstl    Sec
 1:         19         1    0         1    0    0        0   0.00
 2:        628        20    0        76    0    0        0   0.00
 3:      12858       499    0      1090    0    0      163   0.00
 4:     405636     15223    0     62483    0    0        0   0.01
 5:    8992652    286260    0    857746    0    0    81416   0.15
 6:  281330710  11668588    0  48470016 1034    0        0   4.33
 7: 6447669114 196804371    0 631079536    0    0 35649155 109.29
I'm implementing FRC in RubiChess these days and I'm in trouble with this special perft position. In ply 7 Rubi finds only 6447669103 instead of the correct 6447669114 moves so she misses 11 moves. Up to ply 6 everything is fine. Can anybody imagine which special tricky position can be on the board after 6 plies that has missing moves?

Regards, Andreas
Hi,

in this position, I only get 115 castling at depth 3 ...
My generator is validated for standard chess and for FRC I do things like this

Code: Select all

                if ( (p.castling & C_wqs)
                    && (((BBTools::mask[p.king[Co_White]].between[Sq_c1]             | BBSq_c1) & ~BBTools::mask[p.rooksInit[Co_White][CT_OOO]].bbsquare) & occupancy) == empty
                    && (((BBTools::mask[p.rooksInit[Co_White][CT_OOO]].between[Sq_d1]| BBSq_d1) & ~BBTools::mask[p.king[Co_White]].bbsquare             ) & occupancy) == empty
                    && !isAttacked(p,BBTools::mask[p.king[Co_White]].between[Sq_c1] | SquareToBitboard(p.king[Co_White]) | SquareToBitboard(Sq_c1)) ) 
                    addMove(from, Sq_c1, T_wqs, moves); // wqs
so no occupancy except king or rook on rook and king path, and no attack on king path.

Can you spot my mistake ?

Sesse
Posts: 207
Joined: Mon Apr 30, 2018 9:51 pm
Contact:

Re: Some Chess960/FRC positions to be confirmed

Post by Sesse » Wed May 06, 2020 12:18 pm

Late to the party, but I've verified most of these in my Chess960 Chess.js fork. (Raw node counts only. It takes forever to get to depth 7, so I'm not sure if I ran all of them that far.)

User avatar
xr_a_y
Posts: 1319
Joined: Sat Nov 25, 2017 1:28 pm
Location: France

Re: Some Chess960/FRC positions to be confirmed

Post by xr_a_y » Thu May 07, 2020 5:19 am

xr_a_y wrote:
Wed May 06, 2020 7:44 am
RubiChess wrote:
Sat Apr 25, 2020 5:40 am
Old thread recycled...

Code: Select all

XFEN 04: 4r3/3k4/8/8/8/8/6PP/qR1K1R2 w KQ - 0 1
   +-a--b--c--d--e--f--g--h-+
 8 |   :::   :::[r]:::   :::|
 7 |:::   :::[k]:::   :::   |
 6 |   :::   :::   :::   :::|
 5 |:::   :::   :::   :::   |
 4 |   :::   :::   :::   :::|
 3 |:::   :::   :::   :::   |
 2 |   :::   :::   :::<P><P>|
 1 |[q]<R>:::<K>:::<R>:::   |
(w)+-a--*--c--*--e--*--g--h-+

Ply      Moves       [x] [ep]       [+] [++] Prom     Cstl    Sec
 1:         19         1    0         1    0    0        0   0.00
 2:        628        20    0        76    0    0        0   0.00
 3:      12858       499    0      1090    0    0      163   0.00
 4:     405636     15223    0     62483    0    0        0   0.01
 5:    8992652    286260    0    857746    0    0    81416   0.15
 6:  281330710  11668588    0  48470016 1034    0        0   4.33
 7: 6447669114 196804371    0 631079536    0    0 35649155 109.29
I'm implementing FRC in RubiChess these days and I'm in trouble with this special perft position. In ply 7 Rubi finds only 6447669103 instead of the correct 6447669114 moves so she misses 11 moves. Up to ply 6 everything is fine. Can anybody imagine which special tricky position can be on the board after 6 plies that has missing moves?

Regards, Andreas
Hi,

in this position, I only get 115 castling at depth 3 ...
My generator is validated for standard chess and for FRC I do things like this

Code: Select all

                if ( (p.castling & C_wqs)
                    && (((BBTools::mask[p.king[Co_White]].between[Sq_c1]             | BBSq_c1) & ~BBTools::mask[p.rooksInit[Co_White][CT_OOO]].bbsquare) & occupancy) == empty
                    && (((BBTools::mask[p.rooksInit[Co_White][CT_OOO]].between[Sq_d1]| BBSq_d1) & ~BBTools::mask[p.king[Co_White]].bbsquare             ) & occupancy) == empty
                    && !isAttacked(p,BBTools::mask[p.king[Co_White]].between[Sq_c1] | SquareToBitboard(p.king[Co_White]) | SquareToBitboard(Sq_c1)) ) 
                    addMove(from, Sq_c1, T_wqs, moves); // wqs
so no occupancy except king or rook on rook and king path, and no attack on king path.

Can you spot my mistake ?
Ok found it. King and rook can stay in place...

Post Reply