Page 2 of 2

Re: Some Chess960/FRC positions to be confirmed

Posted: Sat Apr 25, 2020 2:01 pm
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

Re: Some Chess960/FRC positions to be confirmed

Posted: Wed May 06, 2020 9:44 am
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 ?

Re: Some Chess960/FRC positions to be confirmed

Posted: Wed May 06, 2020 2:18 pm
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.)

Re: Some Chess960/FRC positions to be confirmed

Posted: Thu May 07, 2020 7:19 am
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...