silly question about board representation

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

krismchess
Posts: 24
Joined: Tue Oct 13, 2015 2:52 am

silly question about board representation

Post by krismchess »

I have couple of very basic & silly question about board representation:

1) Does the choice of board representation affect the program strength (ELO rating) in general? I am looking for 0x88 vs bitboard approach. I know bitboard approach is modern and fast - but does that affect the strength of the chess engine. Are there any research done in this topic?

2) Does the search depth gets affected because of the choice of board representation? Again I want to compare between 0x88 vs bitboard approach.

Thanks,
Kalyan
--
Thanks,
Kalyan
Never Give UP!
AndrewGrant
Posts: 1759
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: silly question about board representation

Post by AndrewGrant »

It's really up to you. There are engines that use both ways which are very strong.

I, however, tend to believe that bitboards are better, do to the ability to evaluate boards using bitboards quickly. To each his own.

Speed certainly plays a factor, but not as much as you might expect. The numbers I see floating around say that if you double the speed of your engine, i'm raw NPS (not changing search algorithm or evaluation algorithm) then you'll see a gain of 50-70 ElO
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
CheckersGuy
Posts: 273
Joined: Wed Aug 24, 2016 9:49 pm

Re: silly question about board representation

Post by CheckersGuy »

AndrewGrant wrote:It's really up to you. There are engines that use both ways which are very strong.

I, however, tend to believe that bitboards are better, do to the ability to evaluate boards using bitboards quickly. To each his own.

Speed certainly plays a factor, but not as much as you might expect. The numbers I see floating around say that if you double the speed of your engine, i'm raw NPS (not changing search algorithm or evaluation algorithm) then you'll see a gain of 50-70 ElO
That actually makes me wonder, how much faster engines, that are written in C, are compared to, for example, an engine written in Java.

If someone replicated stockfish using Java, how much worse weould that engine actually be ? 100-150 elo ? No one would ever do this but I would still like to know :D
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: silly question about board representation

Post by Sven »

krismchess wrote:1) Does the choice of board representation affect the program strength (ELO rating) in general? I am looking for 0x88 vs bitboard approach. I know bitboard approach is modern and fast - but does that affect the strength of the chess engine. Are there any research done in this topic?
Yes, but not much.
krismchess wrote:2) Does the search depth gets affected because of the choice of board representation? Again I want to compare between 0x88 vs bitboard approach.
Same here: yes, but not much :-)

Dominant factors for chess engine playing strength are:

- absence of bugs;
- a strong search, implemented correctly, that sees the most important lines of play with the smallest possible tree size;
- a well-tuned evaluation function;
- an excellent testing environment.

Speed helps but is not the most decisive part.
theturk1234
Posts: 52
Joined: Tue Jul 12, 2016 5:28 am

Re: silly question about board representation

Post by theturk1234 »

Honestly I've found that bitboards are much better than 0x88 rep.
Their basic advantage is that they can be used much easier than other representations. For example, the occupancy is literally one instruction.

If you want to see some expert bitboard usage, check the Stockfish source code.

David Cimbalista