New Chess Engine - Pleco!

Questions and comments related to CCRL testing study
Post Reply
sfleischman105
Posts: 4
Joined: Wed Nov 08, 2017 10:39 pm
Sign-up code: 10159
Location: Seattle, Washington

New Chess Engine - Pleco!

Post by sfleischman105 »

I'm ready to release the first usable release of Pleco!

I've been working on this for the past few months, and it's made completely in Rust.

Link and Binary here: https://github.com/sfleischman105/Pleco ... /tag/0.1.1

Thanks for the CCRL team, Im excited to see how this engine will perform.

Cheers!
User avatar
T-Poppins
Posts: 1500
Joined: Mon Nov 06, 2017 9:05 am
Sign-up code: 10159
Location: Amsterdam, NY

Re: New Chess Engine - Pleco!

Post by T-Poppins »

Hello Stephen,

I'm running a short gauntlet under Cute Chess GUI to determine the ELO range your engine would fit in. The first thing that caught my eye is that all Pleco's evals are recorded as 0.00. That's because Pleco outputs "score value" whereas GUIs expect from UCI engines "score cp value", i.e. the "cp" part is missing from Pleco's output.

That makes GUI adjudication difficult, and all 0.00s in the PGN look odd. Should take only a couple of minutes to fix and reupload the binary, though.

Tirsa

P.S. so far it looks to be in the 1800-2000 Elo range at 40/4
sfleischman105
Posts: 4
Joined: Wed Nov 08, 2017 10:39 pm
Sign-up code: 10159
Location: Seattle, Washington

Re: New Chess Engine - Pleco!

Post by sfleischman105 »

Sounds good!

I just adjusted it and re-uploaded the new binary under the same 0.1.1 release.

https://github.com/sfleischman105/Pleco ... /tag/0.1.1

Thanks!
User avatar
T-Poppins
Posts: 1500
Joined: Mon Nov 06, 2017 9:05 am
Sign-up code: 10159
Location: Amsterdam, NY

Re: New Chess Engine - Pleco!

Post by T-Poppins »

This one shows correct evals now, thank you.

After some more games it looks more like 1600-1700 Elo. I don't really have any expertise with engines in that range, so I'll defer serious testing of Pleco to those who do. Below is an interesting game vs. Zoidberg 0.1 (~1700 Elo); apparently, Pleco doesn't recognize threefolds yet:

Code: Select all

[Event "?"]
[Site "?"]
[Date "2018.04.01"]
[Round "?"]
[White "Pleco 0.1.1 64-bit"]
[Black "Zoidberg 0.1"]
[Result "1/2-1/2"]
[ECO "A56"]
[GameEndTime "2018-04-01T04:40:37.279 Eastern Daylight Time"]
[GameStartTime "2018-04-01T04:38:41.358 Eastern Daylight Time"]
[Opening "Benoni defense, Hromodka system"]
[PlyCount "68"]
[TimeControl "40/120"]

1. d4 {book} Nf6 {book} 2. c4 {book} c5 {book} 3. d5 {book} d6 {book}
4. g3 {book} g6 {book} 5. Bg2 {book} Bg7 {book} 6. Nf3 {book} O-O {book}
7. O-O {book} Na6 {book} 8. Nc3 {book} Nc7 {book} 9. a4 {book} Rb8 {book}
10. Bf4 {book} Nh5 {book} 11. Bg5 Bxc3 {0.00/12 1.8s} 12. bxc3 {+0.84/11 0.28s}
Nf6 {+0.01/11 1.8s} 13. h3 {+1.51/12 4.9s} Bd7 {+0.04/10 1.8s}
14. Bh6 {+1.86/11 1.1s} Re8 {+0.21/12 1.8s} 15. Qd3 {+1.51/13 3.3s}
a6 {+0.52/10 1.9s} 16. Ng5 {+2.08/11 0.57s} b5 {+0.48/11 1.9s}
17. axb5 {+1.68/14 5.4s} axb5 {+0.71/12 1.9s} 18. cxb5 {+1.92/13 1.7s}
Bxb5 {+0.80/12 1.9s} 19. c4 {+2.44/11 1.1s} Ba6 {+0.68/11 1.9s}
20. f4 {+2.18/13 4.8s} Rb4 {+0.69/11 2.0s} 21. Rfc1 {+2.02/13 3.1s}
Qc8 {+0.67/10 2.0s} 22. Bf3 {+2.18/11 1.4s} Na8 {+1.15/10 2.0s}
23. e4 {+1.47/12 2.7s} Nb6 {+1.68/11 2.1s} 24. e5 {+2.32/12 0.54s}
dxe5 {+1.92/10 2.1s} 25. fxe5 {-133.33/12 1.2s} Nfd7 {+1.08/11 2.1s}
26. e6 {+4.84/14 1.1s} f6 {-1.66/11 2.2s} 27. exd7 {+5.32/13 0.63s}
Nxd7 {-1.52/12 2.2s} 28. Bg4 {+5.32/13 1.1s} f5 {-1.75/12 2.2s}
29. Bxf5 {+9.86/16 9.8s} gxf5 {-2.79/13 2.3s} 30. Qxf5 {+22.54/15 0.92s}
Nf6 {-3.96/12 2.3s} 31. Ne6 {+129.12/16 4.1s} Kf7 {-4.11/12 2.4s}
32. Ng5+ {+129.11/16 2.9s} Kg8 33. Ne6 {+129.11/18 11s} Kf7 {-3.93/12 2.6s}
34. Ng5+ {+23.67/16 2.1s} Kg8 {Draw by 3-fold repetition} 1/2-1/2

User avatar
Gabor Szots
Posts: 12838
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New Chess Engine - Pleco!

Post by Gabor Szots »

T-Poppins wrote:This one shows correct evals now, thank you.

After some more games it looks more like 1600-1700 Elo. I don't really have any expertise with engines in that range, so I'll defer serious testing of Pleco to those who do.
Thanks for doing the investigation, Tirsa. 1600-1700 is quite odd when you read this (taken from Günther Simon at CCC):

"Well the readme says it is inspired by Stockfish, which is no problem in itself...
...but if one looks at the eval it seems almost just being copied over from SF w/o mentioning a word about the origin of the source. "
sfleischman105
Posts: 4
Joined: Wed Nov 08, 2017 10:39 pm
Sign-up code: 10159
Location: Seattle, Washington

Re: New Chess Engine - Pleco!

Post by sfleischman105 »

Ah, 1600-1700 is a little odd. Sounds like I have some work to do!
Gabor Szots wrote: "Well the readme says it is inspired by Stockfish, which is no problem in itself...
...but if one looks at the eval it seems almost just being copied over from SF w/o mentioning a word about the origin of the source. "
And yes, `pleco` is a complete rewrite of the stockfish chess engine in Rust. Obviously there's some deviations, (Board representations, static initalization, etc), but the main search algorithm as well as the evaluation are practically the Rust equivalent of the stockfish's.

I'm new to the open-sourcing scene, is there a way I can better document and make it clear that the engine is a direct offshoot of stockfish? And that quite a few of the algorithms are ported from stockfish's C++ into Rust? I would prefer it to be made clear that this engine is not attempting to rip-off code for the sake of being a better engine, but rather seeing how a Rust-derived version of stockfish would perform. Would putting something similar to a disclaimer in all the files help to give rightful credit to the authors of the Stockfish team?

In the meantime, I edited the READMEs to more strongly explain that the engine is a Rust re-write of Stockfish.

Thanks
Rubi
Posts: 20
Joined: Fri Oct 27, 2017 11:00 am
Sign-up code: 10159

Re: New Chess Engine - Pleco!

Post by Rubi »

sfleischman105 wrote:I'm new to the open-sourcing scene, is there a way I can better document and make it clear that the engine is a direct offshoot of stockfish? And that quite a few of the algorithms are ported from stockfish's C++ into Rust? I would prefer it to be made clear that this engine is not attempting to rip-off code for the sake of being a better engine, but rather seeing how a Rust-derived version of stockfish would perform.
You could call it "Rustfish" instead of "Pleco". That would make things pretty clear as everybody knows asmfish and cfish.
Just my 2 Cent...
Andreas
sfleischman105
Posts: 4
Joined: Wed Nov 08, 2017 10:39 pm
Sign-up code: 10159
Location: Seattle, Washington

Re: New Chess Engine - Pleco!

Post by sfleischman105 »

Hi!

I just released a new version of Pleco, 0.1.3, https://github.com/sfleischman105/Pleco/releases.
Rubi wrote: You could call it "Rustfish" instead of "Pleco". That would make things pretty clear as everybody knows asmfish and cfish.
Just my 2 Cent...
Andreas
My thinking was that Pleco (Short for Plecostomus) is a type of fish, so there is continuity in that regard (though admittedly less clear than simply being named rustfish or the alike). The READMEs and the library files have been updated to state explicitly that Pleco is the Stockfish chess engine re-written in Rust. Small steps to properly crediting the stockfish team, with more to come (such as possibly renaming, as suggested).

Thanks,

Stephen
User avatar
Sergio Martinez
Posts: 3396
Joined: Tue Mar 12, 2013 11:38 pm
Sign-up code: 10159
Location: Murcia, Spain

Re: New Chess Engine - Pleco!

Post by Sergio Martinez »

sfleischman105 wrote:Hi!

I just released a new version of Pleco, 0.1.3, https://github.com/sfleischman105/Pleco/releases.
Rubi wrote: You could call it "Rustfish" instead of "Pleco". That would make things pretty clear as everybody knows asmfish and cfish.
Just my 2 Cent...
Andreas
My thinking was that Pleco (Short for Plecostomus) is a type of fish, so there is continuity in that regard (though admittedly less clear than simply being named rustfish or the alike). The READMEs and the library files have been updated to state explicitly that Pleco is the Stockfish chess engine re-written in Rust. Small steps to properly crediting the stockfish team, with more to come (such as possibly renaming, as suggested).

Thanks,


Stephen

Hi Stephen.

I will test your new version in 40/4 :wink:
User avatar
T-Poppins
Posts: 1500
Joined: Mon Nov 06, 2017 9:05 am
Sign-up code: 10159
Location: Amsterdam, NY

Re: New Chess Engine - Pleco!

Post by T-Poppins »

What Elo improvement do you estimate for v0.1.3, Stephen?
I'd like to run a 40/40 gauntlet for it and it would be a lot easier if it were around 2000 Elo than 1600+.
User avatar
Sergio Martinez
Posts: 3396
Joined: Tue Mar 12, 2013 11:38 pm
Sign-up code: 10159
Location: Murcia, Spain

Re: New Chess Engine - Pleco!

Post by Sergio Martinez »

CCRL 40/4

Code: Select all

1	Pleco 0.1.3 64-bit	1942	+29	−29	57.6%	−62.9	30.3%	452	 
 	Pleco 0.1.1 64-bit	1660	+32	−33	37.9%	+88.4	23.0%	348
 
Post Reply