Josu? Forte wrote:Hi Vincent,
If I am not wrong you are the author of a strong engine called diep. Congrats for your creation!
Well, answering your question "why not make your own EGTBs like many programmers have done by now?".
I would say for the same reason so many skilled programmers have done this way up to now. To just mention one of them, that I most respect, Robert Hyatt. As Bob said one time in a forum discussion "why reinvent the whell?".
But you are right. I will not spam Nalimov a second time about this subject. Instead, a couple of weeks ago I started working on a bitbase code which seems to be superior to EGTB in terms of size and speed.
A coulple of EGTB files (kpk.nbw and kpk.nbb), with size of about 80 Kb each file, can be now converted to a mere compressed single file of 3600 bytes. And I can use it without permission.
Nevertheless, I respect very much Nalimov's work.
With my best regards,
Josu?.
You have it 100% right. He did do a good job objectively because he did make EGTBs and did do a lot of effort for them in a time that most simply didn't have the time or wanted to waste time to it.
However if we look objectively to what is POSSIBLE, then he is what we call 'one eyed in the land of the blind'.
Everyone with an engine considers WDL. Diep too.
Note tricky is debugging your own format. Very tricky. The debugging of all 6 men took 6 months of a quad machine some years ago. I still must do a second check now as i don't store automatically CRC information about files, so if a file is corrupt i have a problem. I'm busy with that process now, which nalimov of course got automatic from kadatch for free.
Even then i discovered an en passant bug not too long ago.
Note nalimov has one somewhere too which no one reported yet amazingly (at least not publicly), as i guess no one can use all his 6 men in search.
Advantages of WDL over DTM:
- DTM needs 2 bytes a position
- WDL stores 5 positions a byte.
Up to factor 10 difference.
RAM is expensive.
Of course the advantage of DTM is basically a single big advantage, that's that you can publish the maximin value of a position without using chess rules.
Another advantage:
- you cannot load in RAM all the decompression tables from
nalimov EGTBs, so effectively you cannot use them in search.
No one has all nalimov's in search.
- Nalimov has done a great job in writing that code already years ago, so perhaps it's not fair to judge him based upon 6 men, as probably his code was intended for 5 men; but for 6 men it is very slow code. My EGTB code starts instantly the program. Doesn't take 30 minutes loading time to index all EGTBs, and then for compressed nalimov's you'll need another 2 GB of ram to load them.
Windows in 32 bits simply has not enough indexation space for that. Majority of users has a 32 bits machine. We can argue long. An engine must work well in 32 bits simply for users. Frans Morsch and i agree there.
- indexation in cache goes O( n ) in nalimov. So the bigger your cache, the longer it takes to get a position out of RAM. In Diep it is garantueed not slower than O( log n ) and usually approaching O( 1 ) quickly.
- number of files in Nalimov is big. Perhaps the problem was not Eugene himself here but that Kadatch goes till 2^31 -1 bytes as a maximum size for files. Yet that huge number of files problem is really overwhelming.
It's easy to criticize and hard to make something yourself. If you would realize how much system time i put into generating (i wrote in total 6 generators now, my last one, a lightning speed fast generator not 100% finished yet as it has no en passant for the 7 men), verifying and rechecking, you will realize it is not an easy job.
Generating at 32 bits machine is for example extreme slow for what i do.
Yet it is handsdown possible to do it better than the solutions shown now.
I find it fundamentally wrong that in important part of game everyone uses code of someone else.
I know that about every commercial programmer finds this deep in his heart. Chessbase already years ago started talking to me they wanted their own EGTBs too.
It's a matter of time before everyone has his own format.
WDL is just too superior to DTM and as a dutchman i like to not copycat other persons source code.
Note that the influence at the game of EGTBs nowadays at top level matches (so not the online matches but in tournaments) is a lot less than it was in the past, because of the dynamic openings that get played.
So it's not for sure that having EGTBs will improve you elopoint wise in a world championship in the future.
However there is clear proof that it CAN save you several half points from world champs and big tournaments in the past.
Just look to games in past tournaments where EGTBs would have mattered.
We do not know the future there. What i do know is that all 5 men fit within 150MB in WDL if you supercompress them and in Nalimov that's 7+ GB.
Vincent