Page 1 of 1

New Chess Engine - Pleco!

Posted: Sun Apr 01, 2018 5:08 am
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!

Re: New Chess Engine - Pleco!

Posted: Sun Apr 01, 2018 6:38 am
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

Re: New Chess Engine - Pleco!

Posted: Sun Apr 01, 2018 7:04 am
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!

Re: New Chess Engine - Pleco!

Posted: Sun Apr 01, 2018 8:57 am
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


Re: New Chess Engine - Pleco!

Posted: Sun Apr 01, 2018 9:38 am
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. "

Re: New Chess Engine - Pleco!

Posted: Thu Apr 05, 2018 12:06 am
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

Re: New Chess Engine - Pleco!

Posted: Thu Apr 05, 2018 4:41 am
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

Re: New Chess Engine - Pleco!

Posted: Wed May 16, 2018 1:32 am
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

Re: New Chess Engine - Pleco!

Posted: Wed May 16, 2018 6:26 pm
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:

Re: New Chess Engine - Pleco!

Posted: Thu May 17, 2018 4:35 am
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+.

Re: New Chess Engine - Pleco!

Posted: Tue May 29, 2018 8:10 am
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