Some Chess960/FRC positions to be confirmed

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

RubiChess
Posts: 584
Joined: Fri Mar 30, 2018 7:20 am
Full name: Andreas Matthies

Re: Some Chess960/FRC positions to be confirmed

Post by RubiChess »

RubiChess wrote: Sat Apr 25, 2020 9:06 am
Evert wrote: Sat Apr 25, 2020 8: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: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Some Chess960/FRC positions to be confirmed

Post by xr_a_y »

RubiChess wrote: Sat Apr 25, 2020 7: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: 300
Joined: Mon Apr 30, 2018 11:51 pm

Re: Some Chess960/FRC positions to be confirmed

Post by Sesse »

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: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Some Chess960/FRC positions to be confirmed

Post by xr_a_y »

xr_a_y wrote: Wed May 06, 2020 9:44 am
RubiChess wrote: Sat Apr 25, 2020 7: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...