simple array 64 square vs bitboard

Discussion of chess software programming and technical issues.

Moderator: Ras

NaltaP312
Posts: 56
Joined: Wed Oct 29, 2008 1:06 pm
Full name: Marc Paule

simple array 64 square vs bitboard

Post by NaltaP312 »

Hello,

i have seen Critters and his elo rating , and i'm very suprised to see the score : around 2700 for a 64 square representation and a node rate not so high.

so a great new engine, like fruit than touch the high level without bitboard ;)

Regards and have a nice week end ;)
Yves
Mangar
Posts: 65
Joined: Thu Jul 08, 2010 9:16 am

Re: simple array 64 square vs bitboard

Post by Mangar »

Hi,

engine nodes per second is not very important for engine strenth. Having bitboards or not is also not a great issue. Many engines today have many board representations, 64 field array, bitboard, attack table, ...
Take a look at stockfisch, very strong, having bitboard and rather low nps compared to "pure" bitboard engines.

In CEGT Stockfish with 2 CPU is listed about 40 Elo stronger than Stockfish with 1 CPU. This indicates that doubling engine speed may give about 50 elo. Bitboards does much less than doubling speed thus gives less than 50 elo.

Greetings Volker
Mangar Spike Chess
rbarreira
Posts: 900
Joined: Tue Apr 27, 2010 3:48 pm

Re: simple array 64 square vs bitboard

Post by rbarreira »

Mangar wrote:Hi,

engine nodes per second is not very important for engine strenth. Having bitboards or not is also not a great issue. Many engines today have many board representations, 64 field array, bitboard, attack table, ...
Take a look at stockfisch, very strong, having bitboard and rather low nps compared to "pure" bitboard engines.

In CEGT Stockfish with 2 CPU is listed about 40 Elo stronger than Stockfish with 1 CPU. This indicates that doubling engine speed may give about 50 elo. Bitboards does much less than doubling speed thus gives less than 50 elo.

Greetings Volker
You contradict yourself. First you say nps is not very important for strength, but then you recognize that speed can give lots of elo points (though you seem to understate the improvement, since most people quote 70 elo per doubling).
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: simple array 64 square vs bitboard

Post by bob »

rbarreira wrote:
Mangar wrote:Hi,

engine nodes per second is not very important for engine strenth. Having bitboards or not is also not a great issue. Many engines today have many board representations, 64 field array, bitboard, attack table, ...
Take a look at stockfisch, very strong, having bitboard and rather low nps compared to "pure" bitboard engines.

In CEGT Stockfish with 2 CPU is listed about 40 Elo stronger than Stockfish with 1 CPU. This indicates that doubling engine speed may give about 50 elo. Bitboards does much less than doubling speed thus gives less than 50 elo.

Greetings Volker
You contradict yourself. First you say nps is not very important for strength, but then you recognize that speed can give lots of elo points (though you seem to understate the improvement, since most people quote 70 elo per doubling).
This simply shows that parallel search is not understood by very many. :) using 2 cpus does _not_ make a program 2x faster. It might in some positions, but on average, it is going to be less than that. NPS will hopefully double, but for the same search depth, the 2-cpu program will search more nodes to reach the same depth when compared to a single-cpu search. So comparing the ratings for SF-1cpu and SF-2cpu doesn't say a thing about the Elo improvement for running 2x faster. Because it is almost a certainty that SF-2cpu is not 2x faster.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: simple array 64 square vs bitboard

Post by Daniel Shawul »

There is also the question of which part of the tree is being searched. Smp search definitely searches some more unnecessary nodes since it can't be perfect when it splits. Otherwise all cluster versions would kick our asses :) A better way would be to test single cpu version of engine X vs engine X with two times the time allocated for the first engine.
Volker was probably casual when making his comment.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: simple array 64 square vs bitboard

Post by bob »

I simply wanted to point out that using 2 cpus is generally not 2x faster. Even moreso for 4 cpus and beyond...
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: simple array 64 square vs bitboard

Post by Daniel Shawul »

Agreed. I am just trying to reinforce it by giving the cluster example to make other people see the fact.
rbarreira
Posts: 900
Joined: Tue Apr 27, 2010 3:48 pm

Re: simple array 64 square vs bitboard

Post by rbarreira »

Daniel Shawul wrote:A better way would be to test single cpu version of engine X vs engine X with two times the time allocated for the first engine.
Volker was probably casual when making his comment.
I would go even farther and say that you should also give more memory to the engine which has double the time. Otherwise you're partly crippling its time advantage.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: simple array 64 square vs bitboard

Post by Daniel Shawul »

I thought of that but left it out as it could be a serious advantage. For cluster engines with 100 cpus, one of the main reasons for improvement is each processor has its own hash table. Some even took it further as to use the TT in a distributed manner. For the single cpu engine with 2x the time, I can't decide if to double the TT size or not. Not doubling obviously cripples it, but doubling could also give it unfair advantage.
Anyway I think we all agree 2cpu vs 1cpu ratings are misleading.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: simple array 64 square vs bitboard

Post by michiguel »

Daniel Shawul wrote:Agreed. I am just trying to reinforce it by giving the cluster example to make other people see the fact.
I think all of you are missing that V. did not give the same numbers.

"In CEGT Stockfish with 2 CPU is listed about 40 Elo stronger than Stockfish with 1 CPU. This indicates that doubling engine speed may give about 50 elo. Bitboards does much less than doubling speed thus gives less than 50 elo."

Miguel