Page 2 of 6

Re: Glaurung 2.2

Posted: Sat Dec 20, 2008 5:02 pm
by Tord Romstad
Hello Roy,

Sorry about these problems. I should have tried compiling under Linux before releasing the source code...

If you want to fix it yourself, do the following changes: Add the following line near the top of square.h and bitboard.h:

Code: Select all

#include <cstdlib>
And this line near the top of search.cpp and ucioption.cpp:

Code: Select all

#include <cstring>
If you are in doubt about exactly where to place these lines, just see where the other #include statements in the files are located. The order of the #include statements should not matter.

If you don't want to do this work yourself, please just wait an hour or two, and I will have Linux binaries available for download.
royb wrote:Also, I'd like to produce a 64-bit binary so tweaks to the Makefile to allow that are appreciated also.
I don't think any tweaks are necessary: In 64-bits Ubuntu Linux, you should get a 64-bit binary with the default Makefile settings.

Tord

Re: Glaurung 2.2

Posted: Sat Dec 20, 2008 5:07 pm
by royb
Tord,

Thanks for the assist. I made the changes you indicated and I got closer but not quite there:

<removed some lines from output>

g++ -DNDEBUG -Wall -g -O3 -fno-exceptions -fomit-frame-pointer -fno-rtti -fstrict-aliasing -c -o search.o search.cpp
search.cpp: In function ‘void<unnamed>::poll()’:
search.cpp:2035: error: ‘strcpy’ was not declared in this scope
search.cpp:2036: error: ‘strncmp’ was not declared in this scope
search.cpp: In function ‘bool<unnamed>::split(const Position&, SearchStack*, int, Value*, Value*, Value*, Depth, int*, MovePicker*, Bitboard, int, bool)’:
search.cpp:2349: error: ‘memcpy’ was not declared in this scope
make: *** [search.o] Error 1

Your help is appreciated!

Roy

Re: Glaurung 2.2

Posted: Sat Dec 20, 2008 5:08 pm
by Tord Romstad
royb wrote:Tord,

Thanks for the assist. I made the changes you indicated and I got closer but not quite there:

<removed some lines from output>

g++ -DNDEBUG -Wall -g -O3 -fno-exceptions -fomit-frame-pointer -fno-rtti -fstrict-aliasing -c -o search.o search.cpp
search.cpp: In function ‘void<unnamed>::poll()’:
search.cpp:2035: error: ‘strcpy’ was not declared in this scope
search.cpp:2036: error: ‘strncmp’ was not declared in this scope
search.cpp: In function ‘bool<unnamed>::split(const Position&, SearchStack*, int, Value*, Value*, Value*, Depth, int*, MovePicker*, Bitboard, int, bool)’:
search.cpp:2349: error: ‘memcpy’ was not declared in this scope
make: *** [search.o] Error 1

Your help is appreciated!

Roy
My guess:

You forgot to put "#include <cstring>" in search.cpp.

Tord

Re: Glaurung 2.2

Posted: Sat Dec 20, 2008 5:12 pm
by royb
Tord,

Right on the money -- of course it was my mistake!

I now have a 64-bit binary for Glaurung-2.2 !!

Thanks for the help and a wonderful engine!!

Roy

Re: Glaurung 2.2

Posted: Sat Dec 20, 2008 5:30 pm
by Tord Romstad
royb wrote:Tord,

Right on the money -- of course it was my mistake!

I now have a 64-bit binary for Glaurung-2.2 !!
Great! One more thing you may want to do is to strip the executable: Just type 'strip glaurung' at the command line. This should greatly reduce the size of the executable file.

For Linux users who don't want to compile the source code, the .zip file at my web site now contains 32-bit and 64-bit Linux binaries. These were compiled in Ubuntu 8.10, and it is possible that they don't work in other Linux distributions. I have also added the missing #include statements in the source code, which should now hopefully compile cleanly without any changes in all Linux distributions (assuming that the necessary development tools are installed, of course).
Thanks for the help and a wonderful engine!!
I hope you'll like it. :)

Tord

Re: Glaurung 2.2

Posted: Sat Dec 20, 2008 8:00 pm
by mcostalba
Tord Romstad wrote:Hi all,

The source code and Mac OS X executables for Glaurung 2.2 are now available from my web site. Executables for GNU/Linux and Windows will follow shortly.

Tord

Hi Tord,

thanks a lot for this new version, I will download immediately and diff against 2.1, just to be sure I don't miss _any_ change :D

I am revisiting the razoring just now, I start to have serious doubts on the second condition at depth <= OnePly so I am now testing with a less aggressive formula, also less aggressive then your original one. Approximate eval instead of full eval still stands because qsearch() calls evaluate() anyway just few instructions later.

In case you are interested I can post the list of bugs (or candidates bug) I have found so far in Glaurung. It will take a bit of time because I have found them during developing, when the code was already much different from the original, but because I use a source control system I can pick up all of them and post for you.


It is an honor for me that you look at Stockfish sources, if you want I can send to you privately my developing version (that is already stronger then Stockfish 1.1) so that you can look at the last snapshots.


Thanks again for your wonderful engine!
Marco

Re: Glaurung 2.2

Posted: Sun Dec 21, 2008 12:09 pm
by meschle
thanks tord - glaurung is my favorite engine for analysis after rybka. in fact it is faster in some positions than rybka. I believe glaurung could be in the top three engines in the foreseeable future - cheers

Re: Glaurung 2.2

Posted: Sun Dec 21, 2008 4:48 pm
by Spock
Tord Romstad wrote: <snip> recent tests indicate that the version I prepared for the OPCCC is considerably stronger than 2.1. I have therefore fixed a handful of very minor bugs, polished the code a little, and published the result as Glaurung 2.2.
I've played 3 opponents at chess960 so far (3 x 100), and based on those games it is 60-70 ELO stronger than 2.1.
I don't know if that will hold with further games, but so far it is looking very good indeed :)

Re: Glaurung 2.2

Posted: Sun Dec 21, 2008 5:23 pm
by Tord Romstad
Spock wrote:
Tord Romstad wrote: <snip> recent tests indicate that the version I prepared for the OPCCC is considerably stronger than 2.1. I have therefore fixed a handful of very minor bugs, polished the code a little, and published the result as Glaurung 2.2.
I've played 3 opponents at chess960 so far (3 x 100), and based on those games it is 60-70 ELO stronger than 2.1.
I don't know if that will hold with further games, but so far it is looking very good indeed :)
Sounds good, but the Elo improvement will be smaller in normal chess. As I wrote before, the most important change in the new version is that the program now evaluates space. This is extremely important in Chess960, but not quite so important when playing normal chess and cheating by using an opening book.

There are still some relatively easy improvements waiting to be made in Chess960: Glaurung still doesn't evaluate development.

Thanks for the early results!

Tord

Re: Glaurung 2.2

Posted: Sun Dec 21, 2008 7:32 pm
by Dr.Wael Deeb
Tord Romstad wrote:
Spock wrote:
Tord Romstad wrote: <snip> recent tests indicate that the version I prepared for the OPCCC is considerably stronger than 2.1. I have therefore fixed a handful of very minor bugs, polished the code a little, and published the result as Glaurung 2.2.
I've played 3 opponents at chess960 so far (3 x 100), and based on those games it is 60-70 ELO stronger than 2.1.
I don't know if that will hold with further games, but so far it is looking very good indeed :)
Sounds good, but the Elo improvement will be smaller in normal chess. As I wrote before, the most important change in the new version is that the program now evaluates space. This is extremely important in Chess960, but not quite so important when playing normal chess and cheating by using an opening book.

There are still some relatively easy improvements waiting to be made in Chess960: Glaurung still doesn't evaluate development.

Thanks for the early results!

Tord
didn't know that using an opening book is cheating :lol:
Opening theory is in trouble regards,
Dr.D