Nalimov EGTB probes skeleton code

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Nalimov EGTB probes skeleton code

Post by jshriver »

How do you access the nalimov egtb's? I was given permission years ago by the author to use it for my engine as long as it's not commercial.

Believe I've asked this before but don't see it in the archives. Vaguely from memory I remember someone recommending I check out the egtb code in crafty for advice but sadly I just don't understand it, or it seems a bit intertwined with other crafty code to just drop in place.

Would like to create a validation and burn in test project to compare the 3-4-5 set of Nalimov's with the new Gaviota set.

Any help is appreciated.
-Josh

P.S. For this kind of work I generally work in C, but can also do C++ if necessary.
User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Nalimov EGTB probes skeleton code

Post by jshriver »

To intertwine this and the Gaviota thread, I would like to vote for sending the library an epd formated string. From an engine and interface developer point of view that seems to simplify things a bit. Just my opinion though.
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Nalimov EGTB probes skeleton code

Post by Dann Corbit »

jshriver wrote:To intertwine this and the Gaviota thread, I would like to vote for sending the library an epd formated string. From an engine and interface developer point of view that seems to simplify things a bit. Just my opinion though.
This seems to me a sensible method. Anyone can figure it out, it is self-documenting.

With source code delivery, more clever interface systems could also arise.

I recall that Dieter Burssner (author of Yace) once wrote an article on how to interface with Nalimov EGTB.

I will see if I can find it in the archives.
User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Nalimov EGTB probes skeleton code

Post by jshriver »

After you mentioned that I did some digging using his name and was able to find these:

http://www.talkchess.com/forum/viewtopi ... using+egtb

and this:

http://www.open-aurec.com/wbforum/viewt ... 4158&t=931

Going to go over them more and hope to get it working :)
User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Nalimov EGTB probes skeleton code

Post by jshriver »

Dann Corbit wrote: I recall that Dieter Burssner (author of Yace) once wrote an article on how to interface with Nalimov EGTB.

Thanks for the tip! Couldn't sleep, and was able to get his sample code compiled using the egtb.cpp lock.h and tbdecode.h from the crafty tree (as was recommended). Then linking with the egtb.o

Will be useful for testing. Thanks!

Dr. Hyatt of those files mentioned above is crafty code in it or are those pretty much the interface code from Nalimov and Mr. Kadatch?
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Nalimov EGTB probes skeleton code

Post by bob »

jshriver wrote:How do you access the nalimov egtb's? I was given permission years ago by the author to use it for my engine as long as it's not commercial.

Believe I've asked this before but don't see it in the archives. Vaguely from memory I remember someone recommending I check out the egtb code in crafty for advice but sadly I just don't understand it, or it seems a bit intertwined with other crafty code to just drop in place.

Would like to create a validation and burn in test project to compare the 3-4-5 set of Nalimov's with the new Gaviota set.

Any help is appreciated.
-Josh

P.S. For this kind of work I generally work in C, but can also do C++ if necessary.
egtb.cpp is required, but you don't have to understand it. In Crafty, "probe.c" is the code that actually produces the information passed to the egtb probe code, it is short and simple.