Glaurung 2.1

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Glaurung 2.1

Post by Tord Romstad »

Hi all,

Glaurung 2.1 is now finally available from my web page. I asked for help in testing and tuning this version a few weeks ago, and I never expected so much enthusiastic help! I have lost count of all the people whom I have sent a development version and have given feedback in form of test results, suggested improvements, bug reports and other observations. A big thanks to all of you! Without you, this Glaurung version would have been released later, and it would have been less strong. Thanks also to Jim Ablett, who compiled my Windows executables.

It is possible, perhaps even likely, that this version is a little stronger than the previous public version (2.0.1), but the Elo fetishists will be disappointed, and are advised to spend their time with other engines. This Glaurung version is optimized for risky and entertaining play, not for maximum strength.

There is a detailed list of changes contained in the Readme.txt file, but the highlights are:
  • King safety has finally been added! This is not really entirely new and original: The king safety evaluation has been shamelessly cribbed from another well-known free chess engine, and rewritten and adapted to Glaurung's data structures, with some additions and improvements. The addition of king safety seems to make the program stronger, and more importantly, makes it much more fun to watch and play against. There are also lots of new UCI parameters for configuring the king safety, so those who want even wilder play should be able to get what they want with a bit of tuning work.
  • Numerous other evaluation changes (I hesitate to say "improvements", because most of them are poorly tested). Several of the evaluation weights are quite big, giving huge positional scores. Don't be surprised to see scores of +3 or +4 in materially equal positions, or to see Glaurung frequently failing to win with a +5 score.
  • More accurate forward pruning conditions in the "super qsearch" (the transitional phase between the main search and the qsearch).
  • Lots of new UCI parameters. These should be documented, but I'm too lazy at the moment.
At the moment, only the source code and engine binaries for Mac OS X and Windows are available. X86 Linux binaries will be added tonight, and an updated Mac OS X GUI will be ready within a few days.

Tord
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Glaurung 2.1

Post by Tord Romstad »

I just added two 64-bit Windows executables by Fritz Reul (thanks, Fritz!) to the .zip package, in addition to Jim Ablett's executables. I don't know which executable is fastest; perhaps it depends on your CPU. Just try them all and pick the one which is fastest for you. :)

Tord
PauloSoare
Posts: 1335
Joined: Thu Mar 09, 2006 5:30 am
Location: Cabo Frio, Brasil

Re: Glaurung 2.1

Post by PauloSoare »

Thanks,Tord. You are a good person and a good programmer.

Paulo Soares
gerold
Posts: 10121
Joined: Thu Mar 09, 2006 12:57 am
Location: van buren,missouri

Re: Glaurung 2.1

Post by gerold »

Tord Romstad wrote:I just added two 64-bit Windows executables by Fritz Reul (thanks, Fritz!) to the .zip package, in addition to Jim Ablett's executables. I don't know which executable is fastest; perhaps it depends on your CPU. Just try them all and pick the one which is fastest for you. :)

Tord
Thanks Tord. A nice engine. Running Glaurung 2.1 32-bit Win.vs.
Thinker 32(active). Using Arena main book for both. 2/6 time.
Makes for a good game both are very interesting.

Good luck,

Gerold.
User avatar
Eelco de Groot
Posts: 4561
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Glaurung 2.1

Post by Eelco de Groot »

Thanks very much Tord! This is really a great gift to all the computer-chess community!

At the moment personally I'm very interested in your super-q search because I could not quite figure out yet how it worked and where you could make meningful changes in your last beta versions, of the code from April. A great subject for further study!

I think that Glaurung 2.1 will not be so far behind Hiarcs 12 given the test results that you reported Tord, certainly not in the 64 bit versions!

Very early Christmas -actually it is "Ice Saints" today, associated with the May frosts of old, here we are more in a sort of heat wave :) - regards,

Eelco
User avatar
meschle
Posts: 200
Joined: Tue Apr 01, 2008 11:53 pm

Re: Glaurung 2.1

Post by meschle »

Thanks tord - i'll be testing! :D :D :D
Regards Mark

Quad Q6600 3.0 Ghz, Vista 64bit, 4gb Ram
User avatar
beachknight
Posts: 3533
Joined: Tue Jan 09, 2007 8:33 pm
Location: Antalya, Turkey

Re: Glaurung 2.1

Post by beachknight »

dittto!
hi, merhaba, hallo HT
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Glaurung 2.1

Post by Tord Romstad »

Eelco de Groot wrote:Thanks very much Tord! This is really a great gift to all the computer-chess community!

At the moment personally I'm very interested in your super-q search because I could not quite figure out yet how it worked and where you could make meningful changes in your last beta versions, of the code from April. A great subject for further study!
"Super-qsearch" is my name for the transitional phase between the main search and the qsearch. Most engines drop directly from the main search to the qsearch. At one ply the search all (or almost all moves), at the next ply they suddenly only search captures, queen promotions, and perhaps a few checks. I use a more gradual transition, where I search fewer and fewer moves when the remaining depth approaches zero. It starts almost like a normal search, with only a few moves thrown out, and gradually becomes more qsearch-like, with only a few quiet moves searched in addition to the captures and checks.

The super qsearch is not a separate function, it's part of the main search function. It's extremely simple: I always search all captures (including losing captures), checks and passed pawn pushes, the hash table move, and the N first moves (where N is a number which depends on the remaining depth). All castling moves are also searched.

The remaining moves are pruned, unless they satisfy one of the following criterions:
  • The source square of the move is equal to the destination square of the null move refutation move (what I call the "threat move") at the same node. The idea is to always search moves which attempt to save a hanging piece. This condition was also used in Glaurung 2.0.1. The conditions listed below were not.
  • The move defends the destination square of the threat move.
  • The move has positive SEE value, the destination square blocks the threat move (assuming that the moving piece in the threat move was a slider).
It is quite obvious that this could be improved further. The actual code can be found in the function ok_to_prune(), in search.cpp.
I think that Glaurung 2.1 will not be so far behind Hiarcs 12 given the test results that you reported Tord, certainly not in the 64 bit versions!
Those results were from games on a Mac, where Hiarcs is crippled by a very inferior compiler. You should also always take the test results of an author with a big grain of salt. We all inadvertently optimize for the particular playing conditions we prefer to use in our own testing, and therefore our engines end up looking better in our own tests than in tests done by independent people.

But in any case, it doesn't matter how Glaurung 2.1 compares to Hiarcs 12. The important question is how Glaurung 2.1 compares to Glaurung 2.0.1. I'd like to think it compares favorably, but this remains to be seen.

Tord
swami
Posts: 6640
Joined: Thu Mar 09, 2006 4:21 am

Re: Glaurung 2.1

Post by swami »

Thanks a lot, Tord, for new Glaurung !! :D
User avatar
Werner
Posts: 2871
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Glaurung 2.1

Post by Werner »

Hi Tord,
thanks for the update.
I have 1 question to be sure using only 1 CPU:

What is max number of threads per splitpoint?
Does glaurung21 using more CPU time here if possible?

regards
Werner
Werner