New engine: paulchen332

Questions and comments related to CCRL testing study
Philipp Lenk
Posts: 11
Joined: Sat Aug 22, 2020 12:36 am
Sign-up code: 10159

New engine: paulchen332

Post by Philipp Lenk »

Hi,

first of all I would like to thank you all very much. I believe the great work you do here is immensely valuable to everyone involved in computer chess.

I have developed and released a simple UCI compatible engine I would love to submit for testing:

Engine name: paulchen332 (Version v0.1)
Author name: Philipp Lenk
Country: Germany
Source Code: https://github.com/philipplenk/paulchen332
Website: codemetas.de (Blog article on the engine and my motivations)
License: BSD-2-Clause (Open Source)
Estimated Elo: ~2400 (very rough estimate, I do apologize if it proves far off. I don't think my own testing on rather old hardware and very fast timecontrols can provide anything reliable ;_;)

It is an original work, not a derivative. I have - of course - taken inspiration and ideas from the chessprogramming wiki and a multitude of open source engines, for all of which I am most grateful. Not a single line of code is copied so.

If you could test paulchen332 you would earn my eternal gratitude. If there is anything else you need or need to know, I'll gladly provide it.

Thanks again and best regrads,

Philipp
User avatar
Graham Banks
Posts: 26871
Joined: Sun Dec 18, 2005 5:47 pm
Sign-up code: 0
Location: Auckland, NZ

Re: New engine: paulchen332

Post by Graham Banks »

Do you have a link to your engine exes?
Philipp Lenk
Posts: 11
Joined: Sat Aug 22, 2020 12:36 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Philipp Lenk »

Thank you for asking and sorry about that.

I added a number of precompiled binaries to the github release now: https://github.com/philipplenk/paulchen ... s/tag/v0.1

They are named according to the instruction set extensions they expect (from most advanced to least advanced: paulchen332_avx2_bmi2, paulchen332_popcount_sse4, paulchen332_nopopcount).

Unfortunately I lack a windows machine, so the cross compiled exes were only tested with wine so far. Please let me know if there are any issues.

Thank you again for your help
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

When compiling, I get this error message: fatal error: ptl/enum_map.hpp: No such file or directory .

And indeed, there is no such file or directory .
Philipp Lenk
Posts: 11
Joined: Sat Aug 22, 2020 12:36 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Philipp Lenk »

Hi,

thanks for having a look at it.
Gabor Szots wrote: Wed Nov 25, 2020 7:05 am I get this error message: fatal error: ptl/enum_map.hpp: No such file or directory .
That piece of code is in a dependency included as a git submodule. Unfortunately, when packing a release, github does not pull those automatically. As such, you have to either execute

Code: Select all

git submodule init
git submodule update
inside the paulchen332 directory or clone the repository recursively, with this command:

Code: Select all

git clone --recurse-submodules https://github.com/philipplenk/paulchen332 
Alternatively, you can manually download the two dependencies and unpack them inside the "dep" directory:

https://github.com/philipplenk/ptl
https://github.com/philipplenk/pcl

Thanks again and I apologize for this process being more complicated than it needs to be
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

This is what Günther Simon wrote me, pasted here with his permission.
I am waiting for your announcement of the new uci engine :)

The no popcount win version works well here.
Also compiling it was easy yesterday (if including the subdirs as noted at github).

Played 6 test games at CuteChessGui with mps tc vs. Diablo 0.51DC
Interesting that already in game 2 a wrong B+P endgame arrived (both had no clue).
One glitch I noticed here though, it seems the hash does not change from default,
despite being set to a new value?

https://rwbc-chess.de/PGN/new_test/Paulchen332_01.7z

I would suggest to add an own thread for it too (Gerd might be interested in it),
even better would be if the author announces it, if he gets a new acount at talkchess
in time.

Feel free to send this message to the author too.

Guenther

Edit: found the reason for not setting hash by checking from cmd!
(It is an error in the uci options implementation - it doesn't know <option> 'name'
w/o name it would set it correctly.)

Code: Select all

uci
id name paulchen332 v0.1
id author Philipp Lenk
option name Hash type spin default 32 min 0 max 4096
uciok
ucinewgame
isready
readyok
position startpos
setoption name Hash value 256
info string trying to set option 'name Hash' to '256'
info string unknown option 'name Hash'
setoption Hash value 256
info string trying to set option 'Hash' to '256'
go infinite
info depth 1 seldepth 1 score cp 63 time 0 pv e2e4 nodes 21
info depth 2 seldepth 0 score cp 63 time 10 pv e2e4 nodes 0
info depth 3 seldepth 4 score cp 0 time 10 pv e2e4 e7e5 nodes 147
info depth 4 seldepth 7 score cp 47 time 10 pv e2e4 d7d5 b1c3 nodes 311
info depth 5 seldepth 8 score cp 0 time 20 pv d2d4 d7d5 e2e3 e7e6 nodes 2104
info depth 6 seldepth 9 score cp 42 time 30 pv d2d4 d7d5 b1c3 g8f6 g1f3 nodes 2578
info depth 7 seldepth 14 score cp 10 time 60 pv d2d4 d7d5 g1f3 nodes 11283
info depth 8 seldepth 11 score cp 10 time 80 pv d2d4 d7d5 g1f3 e7e6 a2a4 g8f6 e2e3 nodes 7230
info depth 9 seldepth 14 score cp 23 time 110 pv e2e4 d7d5 e4d5 g8f6 d2d4 f6d5 c2c3 b8c6 nodes 15815
info depth 10 seldepth 19 score cp 33 time 180 pv e2e4 e7e6 d2d4 b8c6 nodes 31212
info depth 11 seldepth 21 score cp 26 time 310 pv e2e4 e7e5 d2d4 e5d4 d1d4 d7d6 b1c3 g8f6 g1f3 b8c6 nodes 60251
info depth 12 seldepth 18 score cp 27 time 470 pv e2e4 e7e5 b1c3 b8c6 g1f3 f8c5 f1c4 g8f6 d2d3 d7d6 h2h3 nodes 77246
info depth 13 seldepth 21 score cp 17 time 1170 pv d2d4 d7d5 g1f3 e7e6 b1c3 nodes 333156
info depth 14 seldepth 24 score cp 16 time 2000 pv d2d4 d7d5 g1f3 e7e6 b1c3 g8f6 c1g5 c7c5 d4c5 f8c5 e2e4 d5d4 e4e5 nodes 404161
info depth 15 seldepth 27 score cp 21 time 3770 pv d2d4 d7d5 g1f3 e7e6 c2c4 c7c5 c4d5 e6d5 e2e3 b8c6 b1c3 nodes 863739
info depth 16 seldepth 28 score cp 15 time 10750 pv d2d4 d7d5 g1f3 c7c5 c2c3 c5d4 c3d4 c8f5 b1c3 e7e6 e2e3 b8c6 f1d3 f5d3 nodes 3340194
info depth 17 seldepth 30 score cp 19 time 23490 pv e2e4 c7c5 b1c3 b8c6 f1c4 g8f6 d2d3 nodes 5984068
info depth 18 seldepth 26 score cp 19 time 27640 pv e2e4 c7c5 b1c3 b8c6 f1c4 g8f6 nodes 1985409
Philipp Lenk
Posts: 11
Joined: Sat Aug 22, 2020 12:36 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Philipp Lenk »

Thank you for sharing (and thanks to Günther Simon) :D

I guess I was careless when reading the UCI specification and should really start teaching paulchen332 some endgame knowledge(it has pretty much none).

The mentioned issue with the hash option setting should be fixed with this commit.

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

Re: New engine: paulchen332

Post by Gabor Szots »

You might like Günther's suggestion to open a dedicated thread at CCC (Talkchess). http://talkchess.com/forum3/viewforum.php?f=2

Registering may take some (long) time.
Philipp Lenk
Posts: 11
Joined: Sat Aug 22, 2020 12:36 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Philipp Lenk »

Thanks :) I noted and liked the idea, so I tried registering there an hour ago. Once(if?) my account is approved I will repeat my announcement
Guenther
Posts: 23
Joined: Wed Nov 25, 2020 10:55 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Guenther »

Philipp Lenk wrote: Wed Nov 25, 2020 12:34 pm Thank you for sharing (and thanks to Günther Simon) :D

I guess I was careless when reading the UCI specification and should really start teaching paulchen332 some endgame knowledge(it has pretty much none).

The mentioned issue with the hash option setting should be fixed with this commit.

Thanks again
No problem. I think I have seen similar 'glitches' with the uci specs quite a few times already.
Some say they are not too precise in some areas ;-)
(It seems the examples should be often taken literally)

You should probably re-release version 0.1, or as 0.11 or similar, after someone has tested it.
I could test it tomorrow.
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

It seems master has not been changed yet.

If you release the patch I could even start a gauntlet immediately.
Guenther
Posts: 23
Joined: Wed Nov 25, 2020 10:55 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Guenther »

Gabor Szots wrote: Wed Nov 25, 2020 1:54 pm It seems master has not been changed yet.

If you release the patch I could even start a gauntlet immediately.
The patch is there and in the include/philchess...etc.
Guenther
Posts: 23
Joined: Wed Nov 25, 2020 10:55 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Guenther »

Gabor Szots wrote: Wed Nov 25, 2020 1:54 pm It seems master has not been changed yet.

If you release the patch I could even start a gauntlet immediately.
The patch is there and in the include\philchess...etc.
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

Guenther wrote: Wed Nov 25, 2020 2:04 pm
Gabor Szots wrote: Wed Nov 25, 2020 1:54 pm It seems master has not been changed yet.

If you release the patch I could even start a gauntlet immediately.
The patch is there and in the include\philchess...etc.
Only, I don't know how to download it. I can only read its contents. Probably my dumbness.
Guenther
Posts: 23
Joined: Wed Nov 25, 2020 10:55 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Guenther »

Gabor Szots wrote: Wed Nov 25, 2020 3:27 pm
Guenther wrote: Wed Nov 25, 2020 2:04 pm
Gabor Szots wrote: Wed Nov 25, 2020 1:54 pm It seems master has not been changed yet.

If you release the patch I could even start a gauntlet immediately.
The patch is there and in the include\philchess...etc.
Only, I don't know how to download it. I can only read its contents. Probably my dumbness.
If you have not cloned the repo already just do this assuming you are using msys2 too (which has git included)

Code: Select all

git clone --recurse-submodules https://github.com/philipplenk/paulchen332
If you had already cloned the repo before successfully do:

Code: Select all

git pull
and it will be automatically updated (previous installations are memorized)
you'll get some output like this below - you can ignore the warning here
(it tells you what exactly is updated - if any)

Code: Select all

$ git pull
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 6 (delta 4), reused 6 (delta 4), pack-reused 0
Unpacking objects: 100% (6/6), 550 bytes | 5.00 KiB/s, done.
From https://github.com/philipplenk/paulchen332
   3676593..fcc76e3  main       -> origin/main
Updating 3676593..fcc76e3
Fast-forward
 include/philchess/uci/types.hpp | 8 ++++++++
 1 file changed, 8 insertions(+)
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

I do have msys2 but it says git command cannot be found.
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

Philipp Lenk wrote: Mon Nov 23, 2020 4:11 pm Estimated Elo: ~2400 (very rough estimate, I do apologize if it proves far off. I don't think my own testing on rather old hardware and very fast timecontrols can provide anything reliable ;_;)
I started a tournament and it brushes aside everyone so I think it is at least 2500.
Guenther
Posts: 23
Joined: Wed Nov 25, 2020 10:55 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Guenther »

https://rwbc-chess.de/Downloads/Engines ... chen332.7z

I have quickly compiled three flavours in case you don't succeed.
(old-bmi2-avx2)

I tested the old one, as the others won't run here and the fix is working as expected.
(checked in taskmanager)

Code: Select all

uci
id name paulchen332 v0.1
id author Philipp Lenk
option name Hash type spin default 32 min 0 max 4096
uciok
ucinewgame
isready
readyok
setoption name Hash value 512
info string trying to set option 'Hash' to '512'
Guenther
Posts: 23
Joined: Wed Nov 25, 2020 10:55 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Guenther »

Gabor Szots wrote: Wed Nov 25, 2020 5:18 pm I do have msys2 but it says git command cannot be found.
Then you miss some basic package(s) for msys2 - I will come back to this by PM in talkchess.
It will be much easier with git in the future of course!
For now I must cook for my 'Madame' - good evening Gabor!
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

Guenther wrote: Wed Nov 25, 2020 5:27 pm
Gabor Szots wrote: Wed Nov 25, 2020 5:18 pm I do have msys2 but it says git command cannot be found.
Then you miss some basic package(s) for msys2 - I will come back to this by PM in talkchess.
It will be much easier with git in the future of course!
For now I must cook for my 'Madame' - good evening Gabor!
Thanks, bye, I myself am playing at a tournament right now (bridge, not chess) so can't git anyway.
Philipp Lenk
Posts: 11
Joined: Sat Aug 22, 2020 12:36 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Philipp Lenk »

Thanks to both of you for all your effort!
Guenther wrote: Wed Nov 25, 2020 1:33 pm You should probably re-release version 0.1, or as 0.11 or similar, after someone has tested it.
Guenther wrote: Wed Nov 25, 2020 5:24 pm I tested the old one, as the others won't run here and the fix is working as expected.
Thanks, that is really very helpful. I have done as you advised and released a new bugfix version here: https://github.com/philipplenk/paulchen ... tag/v0.1.1

I also included a manually constructed source archive which includes the submodule code in the correct place for easier compilation.
Gabor Szots wrote: Wed Nov 25, 2020 5:20 pm I started a tournament and it brushes aside everyone so I think it is at least 2500.
That's great, I am very glad to hear it manages to exceed my expectations ;-)
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

Guenther wrote: Wed Nov 25, 2020 5:27 pm
Gabor Szots wrote: Wed Nov 25, 2020 5:18 pm I do have msys2 but it says git command cannot be found.
Then you miss some basic package(s) for msys2 - I will come back to this by PM in talkchess.
I have installed the git package and successfully cloned Paulchen. :D
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

Just one note: to display different version numbers for different versions would be preferable in my opinion.
User avatar
Gabor Szots
Posts: 12824
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: paulchen332

Post by Gabor Szots »

Gabor Szots wrote: Thu Nov 26, 2020 1:59 pm Just one note: to display different version numbers for different versions would be preferable in my opinion.
And a question: on our lists shall we use the name as you write it, with lowercase 'p'?
Philipp Lenk
Posts: 11
Joined: Sat Aug 22, 2020 12:36 am
Sign-up code: 10159

Re: New engine: paulchen332

Post by Philipp Lenk »

Gabor Szots wrote: Thu Nov 26, 2020 1:59 pm Just one note: to display different version numbers for different versions would be preferable in my opinion.
Thanks and sorry about that. I forgot to update the version number in code.
Gabor Szots wrote: Thu Nov 26, 2020 3:08 pm And a question: on our lists shall we use the name as you write it, with lowercase 'p'?
That would be preferred, if possible. Thanks again!
Post Reply