Bit boards without serialization

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

MOBMAT
Posts: 385
Joined: Sat Feb 04, 2017 11:57 pm
Location: USA

Bit boards without serialization

Post by MOBMAT »

Thought experiment: Generating moves with bit boards without a serialized board to help out.

problem occurs with capture moves when deciding what piece was captured. without serialization, 6 tests must be made to see which piece is being captured. there might be some other considerations, but captures are what came to mind.

if one does not want to not use the additional brd[64] type array, what is the state of the art workarounds? perhaps there isn't one, but everything has trade-offs.
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Bit boards without serialization

Post by hgm »

What is the point? When you want to search the move, the various searches must surely be serialzied, not? If you want to serialize the searches in MVV order, you would only be interested at any given point in captures of one particular piece type. So you only test with the bitboard for that type, and you know what piece is captured by the moves that remain. If there is more than one such capture, you still have to search them one by one. You cannot make both captures at once...
smatovic
Posts: 2645
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: Bit boards without serialization

Post by smatovic »

I use Quad-Bitboards in Zeta wihtout brd[64] type array...

https://www.chessprogramming.org/Quad-Bitboards

https://github.com/smatovic/Zeta/blob/m ... ta.cl#L104

--
Srdja