Hi everyone,
I would like to introduce to a simple UCI compatible engine I have developed and released recently.
It is open source(BSD-2-Clause) and the code and some prebuilt binaries are available on github
I have also written a small blog post about it, which you can read here, if you feel so inclined.
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.
This necessarily implies the code is not the most beautiful you have ever seen and is undoubtedly riddled with a multitude of bugs, misunderstandings and inefficiencies
I nonetheless hope some of you can get a minor amount of joy out of it
Thank you very much for your attention
New engine: paulchen332
Moderators: hgm, Rebel, chrisw
-
- Posts: 4
- Joined: Wed Nov 25, 2020 1:55 pm
- Full name: Philipp Lenk
-
- Posts: 2487
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: New engine: paulchen332
Congrats! How strong is it?
One small suggestion: it seems that your node count refers only to the additional nodes per main iteration depth. Usually, this is the total node count.
One small suggestion: it seems that your node count refers only to the additional nodes per main iteration depth. Usually, this is the total node count.
Rasmus Althoff
https://www.ct800.net
https://www.ct800.net
-
- Posts: 4
- Joined: Wed Nov 25, 2020 1:55 pm
- Full name: Philipp Lenk
Re: New engine: paulchen332
Thanks I don't really know for sure. Initial, more reliable testing than my own seems to indicate >=2500 Elo
Thank you for taking a look at it already! Good suggestion, being consistent with other engines in what I report is certainly worth that minor change. I will adjust it for my next release
-
- Posts: 530
- Joined: Sun Sep 06, 2020 4:40 am
- Full name: Connor McMonigle
Re: New engine: paulchen332
I can't speak to whether your code is riddled with "bugs, misunderstandings and inefficiencies" as you write, but it is certainly some of the most beautiful C++ I've ever seen Fantastic job and congrats on your first release!Philipp Lenk wrote: ↑Wed Nov 25, 2020 9:49 pm
This necessarily implies the code is not the most beautiful you have ever seen and is undoubtedly riddled with a multitude of bugs, misunderstandings and inefficiencies
(I particularly like your "fixed_capacity_vector". I've long wished for something similar to be introduced into the standard)
-
- Posts: 4
- Joined: Wed Nov 25, 2020 1:55 pm
- Full name: Philipp Lenk
Re: New engine: paulchen332
Thank you so much. That comment really made my day! (Seer is incredibly impressive work, too!)connor_mcmonigle wrote: ↑Thu Nov 26, 2020 8:37 am I can't speak to whether your code is riddled with "bugs, misunderstandings and inefficiencies" as you write, but it is certainly some of the most beautiful C++ I've ever seen Fantastic job and congrats on your first release!
You are in luck, some wonderful person is apparently working on thatconnor_mcmonigle wrote: ↑Thu Nov 26, 2020 8:37 am (I particularly like your "fixed_capacity_vector". I've long wished for something similar to be introduced into the standard)
And there is - of course - a boost version as well.
Feel free to use, abuse and improve my code as you see fit. I'd be honored.
-
- Posts: 640
- Joined: Sat Jun 08, 2013 10:07 am
- Location: France
- Full name: Roland Chastain
Re: New engine: paulchen332
Hello!
When I try to build the engine (on Linux 64), I get the following error message:
When I try to build the engine (on Linux 64), I get the following error message:
Code: Select all
[roland@localhost paulchen332 (main)]$ LC_ALL=C make
g++ -Wfatal-errors -std=c++17 -Wall -pedantic -Werror -O3 -march=native -ggdb -flto -Iinclude -Idep/ptl/include -Idep/pcl/include -c src/default_search_control.cpp -o src/default_search_control.o
In file included from include/philchess/chessboard.hpp:13,
from include/philchess/default_search_control.hpp:4,
from src/default_search_control.cpp:1:
dep/ptl/include/ptl/fixed_capacity_vector.hpp: In instantiation of 'constexpr void ptl::fixed_capacity_vector<T, CAPACITY>::push_back(ptl::fixed_capacity_vector<T, CAPACITY>::const_reference) [with T = philchess::move; long unsigned int CAPACITY = 64; ptl::fixed_capacity_vector<T, CAPACITY>::const_reference = const philchess::move&; ptl::fixed_capacity_vector<T, CAPACITY>::value_type = philchess::move]':
include/philchess/default_search_control.hpp:399:36: required from here
dep/ptl/include/ptl/fixed_capacity_vector.hpp:179:18: error: cannot call member function 'constexpr auto ptl::fixed_capacity_vector<T, CAPACITY>::size() const [with T = philchess::move; long unsigned int CAPACITY = 64]' without object
constexpr void push_back(const_reference value) noexcept(noexcept(storage_.construct_at(size(),value))) { storage_.construct_at(size(),value); ++storage_.used; }
^~~~~~~~~
compilation terminated due to -Wfatal-errors.
make: *** [Makefile:16: src/default_search_control.o] Error 1
[roland@localhost paulchen332 (main)]$
Qui trop embrasse mal étreint.
-
- Posts: 4466
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IASI - the historical capital of MOLDOVA
- Full name: SilvianR
-
- Posts: 4
- Joined: Wed Nov 25, 2020 1:55 pm
- Full name: Philipp Lenk
Re: New engine: paulchen332
Thanks for having a look at my engine. May I ask which gcc version you are compiling with? This looks like a manifestation of this bug, which erroneously caused class members to be inaccessible in noexcept declarations. As such I assume your version is <=8?Roland Chastain wrote: ↑Thu Nov 26, 2020 7:44 pm When I try to build the engine (on Linux 64), I get the following error message:
Here is an uglified version of the file in question that should work around the bug
Thank you very much for testing. I hope it will manage to live up to your expectations
-
- Posts: 640
- Joined: Sat Jun 08, 2013 10:07 am
- Location: France
- Full name: Roland Chastain
Re: New engine: paulchen332
Thank you for your answer. Indeed, it's gcc version 8.Philipp Lenk wrote: ↑Thu Nov 26, 2020 9:45 pm May I ask which gcc version you are compiling with? This looks like a manifestation of this bug, which erroneously caused class members to be inaccessible in noexcept declarations. As such I assume your version is <=8?
Code: Select all
[roland@localhost paulchen332 (main)]$ gcc --version
gcc (Mageia 8.4.0-1.mga7) 8.4.0
Indeed, with this version of the file I can compile the program. Thank you.Philipp Lenk wrote: ↑Thu Nov 26, 2020 9:45 pm Here is an uglified version of the file in question that should work around the bug.
Qui trop embrasse mal étreint.
-
- Posts: 135
- Joined: Tue Mar 05, 2019 3:43 pm
- Full name: Archimedes
Re: New engine: paulchen332
Paulchen332 needs android builds.
Paulchen332 0.1.1:
https://app.box.com/s/5ld1q8nnuiygahjtzg7wd7brndruu4su
Paulchen332 0.1.1:
https://app.box.com/s/5ld1q8nnuiygahjtzg7wd7brndruu4su