Laziest Lazy SMP

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

No4b
Posts: 105
Joined: Thu Jun 18, 2020 3:21 pm
Location: Moscow
Full name: Alexander Litov

Re: Laziest Lazy SMP

Post by No4b »

ianm wrote: Sun Aug 16, 2020 5:52 am
No4b wrote: Sun Aug 16, 2020 1:17 am
I think you should maybe try and play Plankton with different (stronger) opponent.
Differences could be even more considerable, because Plankton seems to steamroll TSCP even without Lazy SMP.

Great job anyway!
Yeah, I tried some of the default engines that came with Arena and Plankton got eaten alive. I've been testing against TSCP from the beginning with my goal being if I write a program that can occasionally win against TSCP then job done. As I added features Plankton started winning more frequently. At its core it's a very simple low memory program because I wanted to be able to port it to microcontrollers with only about 8k RAM. I just got hooked and wanted to understand how the big guns searched so deeply so quickly - still don't really understand how they manage to do that and find winning lines of play!
Well, Arena as far as i know comes with decent engines, way above TSCP level.
But there are lots of weaker engines you can try plankton against.
When i started testing, i just got to chess engine rating list: http://ccrl.chessdom.com/ccrl/404/ a downloaded some ~1750-1850 rated for testing purposes. Some of the links to download are broken, but other works just fine.
I tested mine vs Pigeon, and later when it got smashed vs MatMoi, and now against Vice.
I just got hooked
Totally understand that. Like 3 month ago i came here because i needed advice on how to write AI for my Chess-like-Unity game.
ianm
Posts: 15
Joined: Wed Apr 29, 2020 1:58 pm
Location: Tasmania, Australia
Full name: Ian Mitchell

Re: Laziest Lazy SMP

Post by ianm »

Hi No4b

I took your advice and here're the 100 match games against Vice:

1 thread on i7-6700 3.40GHz (4 cores)

Code: Select all

-----------------Plankton64_03-----------------
Plankton64_03 - Vice11_win32 : 45.0/100 35-45-20 (011001=0=11=110=001010101=01110=110==00=00=0111001=010010===11101=110=00000100100100=1==00001010010=)  45%   -35
-----------------Vice11_win32-----------------
Vice11_win32 - Plankton64_03 : 55.0/100 45-35-20 (100110=1=00=001=110101010=10001=001==11=11=1000110=101101===00010=001=11111011011011=0==11110101101=)  55%   +35
4 threads on i7-6700 3.40GHz (4 cores)

Code: Select all

-----------------Plankton64mt_03-----------------
Plankton64mt_03 - Vice11_win32 : 63.0/100 51-25-24 (011001111=0110=0==1=1110111111111101=1=1======0111==110=10110=010=1=1100=1101101==1111100100111=0=00)  63%   +92
-----------------Vice11_win32-----------------
Vice11_win32 - Plankton64mt_03 : 37.0/100 25-51-24 (100110000=1001=1==0=0001000000000010=0=0======1000==001=01001=101=0=0011=0010010==0000011011000=1=11)  37%   -92

I reckon that's a reasonable indication of the benefits of SMP. Also noticed that Vice is at least twice as fast as Plankton.
abulmo2
Posts: 433
Joined: Fri Dec 16, 2016 11:04 am
Location: France
Full name: Richard Delorme

Re: Laziest Lazy SMP

Post by abulmo2 »

ianm wrote: Sat Aug 15, 2020 4:02 am
  • Hash table updates were modified to use the xor trick by Bob and Tim. 😊
I wonder whether this xor trick is usefull. I removed it in amoeba 3.2 as it did not add any strength. I also tried to measure the rate of collisions in Amoeba (using a 64 bit verification key) and the xor trick did not change it in an obvious way vs no trick. Only a true locking mechanism diminished the collision rate, but its slowness also made the program weaker.
Richard Delorme