An idea for a new WCCC format - what do you think?

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

Moderator: Ras

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: An idea for a new WCCC format - what do you think?

Post by bob »

michiguel wrote:
bob wrote:
michiguel wrote:
bob wrote:
Nick C wrote:
I'm not so concerned about that. I am more interested in the case where a professional book author spends months hand-tuning a book, particularly using potential opponents for tuning, and then lets multiple programs use that same book. The "public" books are not the problem...
Well here is an example. Probably the most professional book author around (Jeroen) has just released a book that he spent months hand tuning. Perhaps he used potential opponents to hand tune this book, I don't know how Jeroen makes his books but it's possible. He cannot stop multiple multiple programs from using that book, it's out there in the public domain. I don't know the statistics, but I would bet that draws are far more likely if two competitors are using the same book, because a good book maker is unlikely to put lines in the book without a refutation for the other side.

One could limit the book in some way, to perhaps 10 moves or so (I know that the testing groups do something similar already). There are at least two downsides to placing limits on the book:

1/ It's much less fun (for me anyway), we don't get to see some exciting cooked line (cooked by someone probably using Rybka)

2/ The dominant engine (currently Rybka) will have an even bigger advantage over the competition, because it is less likely to get caught in a book trap if the book is only 10 moves deep

The benefit of limiting the book of course is that the engine gets to play more of its own moves.
As long as it is public, I am not concerned. I am concerned about the "private books" that have book lines explicitly included for multiple potential tournament opponents. years ago a program reached a position where the opponent resigned, and _every_ move had come from book, having been pre-planned by the opponent by playing against the most recent commercial version of that program. That's fine for a single team to use. Book-cooking has been a common theme in computer chess events since the 1970's. But it isn't fine for that book author to create a private (aka tournament) book that a few selected commercial programs (or even a private program as far as that goes) get to use... it represents a lot of work and is a huge help to the engine. It should only be a big help for one engine...

I play all of my test games sans books to eliminate that factor. Whether we want to go to random starting positions is an interesting question as that would stop all of this in its tracks. It would be nice to eliminate the random factors from influencing the games, and concentrate on the engines. Pick a single position, give it to everyone, and each side plays it with black and then white. No book allowed. But that is not quite "chess" as we know it today. But I'd be more than willing to try it...
Are you serious? No book allowed with random starting positions and concentrate on the engines? For many engines, a book-move selection code *IS* part of the engine. In fact, that was your original argument.

Miguel
Yes it was. But if we _eliminate_ that part of the equation, that particular problem goes away. Someone has already pointed out how impossibly difficult it would be to show that book A and book B have a common author, if that fact is not voluntarily exposed. Who could tell??? Which brings us around to the usual idea of "if you can't control something, no matter how hard you try, then eliminate it...

The extremes appear to be (a) continue as has been done in the past, single book author preparing books for several programs, programmers stealing commercial opening books and using those, etc... or (b) have no book at all.

Something in the middle would be nice, but given A or B, I would probably take B.
You can't control that anybody uses any book right after the random position is selected. I do not see anything useful accomplished and too many drawbacks.

In addition, this is supposed to be some sort of competition where artificial intelligence is somehow advanced a little each time. Now we have limited hardware, same EGTBs, or the same books... and you propose to remove openings from the equation?

Miguel
I'm not proposing that at all. I said that was a _possibility_. I don't like the idea of no book. I don't like the idea of a shared book. But given those two choices, I'd take no book myself.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

TBs in RAM

Post by sje »

bob wrote:I don't see how. The "Godel number" is a big issue, as these things can not be searched, so they have to be indexed somehow. And the current approach of a series of square numbers for each piece seems to be the only viable solution, And the sheer size of the files, particularly beyond 6 pieces which is already beyond a TB becomes a problem. Even for bitbases. For chess engines, 1TB is not appreciably worse than 100gb, since neither will fit in ram.
All of my three and four man tablebases, fully uncompressed, will fit into one quarter GB of RAM and each can be indexed quickly with a simple expression. If a program is coded to allow for TB RAM storage of the four man classes (and memory is available), then the TBs can be accessed at every four man node in the search. The probe will always be successful, exact, and far faster than any kind of class-specific analysis.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: TBs in RAM

Post by bob »

sje wrote:
bob wrote:I don't see how. The "Godel number" is a big issue, as these things can not be searched, so they have to be indexed somehow. And the current approach of a series of square numbers for each piece seems to be the only viable solution, And the sheer size of the files, particularly beyond 6 pieces which is already beyond a TB becomes a problem. Even for bitbases. For chess engines, 1TB is not appreciably worse than 100gb, since neither will fit in ram.
All of my three and four man tablebases, fully uncompressed, will fit into one quarter GB of RAM and each can be indexed quickly with a simple expression. If a program is coded to allow for TB RAM storage of the four man classes (and memory is available), then the TBs can be accessed at every four man node in the search. The probe will always be successful, exact, and far faster than any kind of class-specific analysis.
Even the 5 piece tables from eugene will fit into RAM on larger machines. But not the 6's and beyond...

However, thiere is a big cost by doing this, in that the TLB gets trashed (not to mention cache) and things still slow down significantly. Eugene's code can support uncompressed tables as well, or at least it could in early versions...
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: TBs in RAM

Post by sje »

bob wrote:
sje wrote:
bob wrote:I don't see how. The "Godel number" is a big issue, as these things can not be searched, so they have to be indexed somehow. And the current approach of a series of square numbers for each piece seems to be the only viable solution, And the sheer size of the files, particularly beyond 6 pieces which is already beyond a TB becomes a problem. Even for bitbases. For chess engines, 1TB is not appreciably worse than 100gb, since neither will fit in ram.
All of my three and four man tablebases, fully uncompressed, will fit into one quarter GB of RAM and each can be indexed quickly with a simple expression. If a program is coded to allow for TB RAM storage of the four man classes (and memory is available), then the TBs can be accessed at every four man node in the search. The probe will always be successful, exact, and far faster than any kind of class-specific analysis.
Even the 5 piece tables from eugene will fit into RAM on larger machines. But not the 6's and beyond...

However, thiere is a big cost by doing this, in that the TLB gets trashed (not to mention cache) and things still slow down significantly. Eugene's code can support uncompressed tables as well, or at least it could in early versions...
Probing an uncompressed TB in RAM is no more costly than probing a transposition table, and success is guaranteed. Therefore, the better implementation is:

Code: Select all

if (pos.TotalManCount() <= 4)
  pos.ProbeTB();
else
  pos.ProbeTransTable();
The above assumes you have a quarter GB memory to spare. That same quarter GB could be used in the opening to store the book and so the book could be quickly probed at every node in the first N searches in a game as well.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: TBs in RAM

Post by bob »

sje wrote:
bob wrote:
sje wrote:
bob wrote:I don't see how. The "Godel number" is a big issue, as these things can not be searched, so they have to be indexed somehow. And the current approach of a series of square numbers for each piece seems to be the only viable solution, And the sheer size of the files, particularly beyond 6 pieces which is already beyond a TB becomes a problem. Even for bitbases. For chess engines, 1TB is not appreciably worse than 100gb, since neither will fit in ram.
All of my three and four man tablebases, fully uncompressed, will fit into one quarter GB of RAM and each can be indexed quickly with a simple expression. If a program is coded to allow for TB RAM storage of the four man classes (and memory is available), then the TBs can be accessed at every four man node in the search. The probe will always be successful, exact, and far faster than any kind of class-specific analysis.
Even the 5 piece tables from eugene will fit into RAM on larger machines. But not the 6's and beyond...

However, thiere is a big cost by doing this, in that the TLB gets trashed (not to mention cache) and things still slow down significantly. Eugene's code can support uncompressed tables as well, or at least it could in early versions...
Probing an uncompressed TB in RAM is no more costly than probing a transposition table, and success is guaranteed. Therefore, the better implementation is:

Code: Select all

if (pos.TotalManCount() <= 4)
  pos.ProbeTB();
else
  pos.ProbeTransTable();
The above assumes you have a quarter GB memory to spare. That same quarter GB could be used in the opening to store the book and so the book could be quickly probed at every node in the first N searches in a game as well.
I'm not worried about the 4-piece files which are essentially useless. The 5's begin to reach the point where things become barely useful... And they are simply too big to keep in memory (at 7.5 gigs compressed)...
Vasik Rajlich
Posts: 75
Joined: Mon Nov 27, 2006 6:49 am

Re: An idea for a new WCCC format - what do you think?

Post by Vasik Rajlich »

Gian-Carlo Pascutto wrote:
Vasik Rajlich wrote:There is no benefit to the chess world in having me or anyone else roll his own EGTB implementation.

Vas
That's like saying Nalimov can't be improved upon. Think 6-men bitbases, for example.
I had in mind HG's suggestion that the format & data could be shared but the access code could not. Either way, it's an extremely low priority.

Vas
Vasik Rajlich
Posts: 75
Joined: Mon Nov 27, 2006 6:49 am

Re: An idea for a new WCCC format - what do you think?

Post by Vasik Rajlich »

Gian-Carlo Pascutto wrote:
Vasik Rajlich wrote: Allowing shared book code is actually the democratic choice, anyone can use it.
I don't necessarily see that as a good thing. Allowing reusing Fruit code is the democratic choice, anyone can use it.
If book code were treated like engine code, then our team would get permission from Convekta or ChessBase to use (exclusively) their book tools, leaving non-commercial teams at a disadvantage.

Vas
This seems logical to me, not something undesirable. Next thing we know we need to have a hardware limit because the commercial teams can afford more.

Oh wait, that's what got us here in the first place!
Sure, we shouldn't be democratic with everything or we might as well skip the chess games and just flip coins.

Book tools are a good place to be democratic because there are a substantial number of computer chess programmers who are not interested in it and it makes sense to give them a clear path to playing in the tournament.

Vas
Vasik Rajlich
Posts: 75
Joined: Mon Nov 27, 2006 6:49 am

Re: An idea for a new WCCC format - what do you think?

Post by Vasik Rajlich »

Marc Lacrosse wrote:
bob wrote:
michiguel wrote:
Are you serious? No book allowed with random starting positions and concentrate on the engines? For many engines, a book-move selection code *IS* part of the engine. In fact, that was your original argument.

Miguel
Yes it was. But if we _eliminate_ that part of the equation, that particular problem goes away.
If you eliminate that part of the equation you no more have a real world championship!

A world champion is _not_ the most balanced program that will do best on average from a large set of predefined positions.

The world champion is the one who will do best from the startposition following the rules of chess.

This is _completely_ different.

We may imagine that an engine plays powerfully from 1.e4 and badly from 1.d4.
As the rules of chess allow to always play 1.e4 and never 1.d4 this engine may win the world championship with the rules that have been always used so far.
But with your suggestion of banning opening books and going for startpositions this same engine will never win.

So if you decide to ban opening books and to go for a set of a standard start positions you introduce one of the most important changes since CC championships begun. It becomes a completely different game.

Marc
In my view we need to avoid the temptation to try to overhaul everything in one step.

Fairly decent, time-tested tournament rules already exist. The one obvious, huge, clear improvement is to move everything to the internet. This will make the tournament more accessible to participants and viewers. I suggest that we emphasize that, concentrate on it, and stay on message.

In later iterations, other things can be considered.

Vas
Gian-Carlo Pascutto
Posts: 1260
Joined: Sat Dec 13, 2008 7:00 pm

Re: An idea for a new WCCC format - what do you think?

Post by Gian-Carlo Pascutto »

bob wrote:
Gian-Carlo Pascutto wrote:
Vasik Rajlich wrote:There is no benefit to the chess world in having me or anyone else roll his own EGTB implementation.

Vas
That's like saying Nalimov can't be improved upon. Think 6-men bitbases, for example.
Once you reach a certain size, a 10-fold size reduction begins to not be so interesting. 10% of infinity is still infinity, as it were...
Bitbases were more than a 10-fold reduction, I think...

(It's true they don't have the same info, but I don't think that really changes the point)
Gian-Carlo Pascutto
Posts: 1260
Joined: Sat Dec 13, 2008 7:00 pm

Re: An idea for a new WCCC format - what do you think?

Post by Gian-Carlo Pascutto »

Vasik Rajlich wrote: In my view we need to avoid the temptation to try to overhaul everything in one step.

Fairly decent, time-tested tournament rules already exist. The one obvious, huge, clear improvement is to move everything to the internet. This will make the tournament more accessible to participants and viewers. I suggest that we emphasize that, concentrate on it, and stay on message.

In later iterations, other things can be considered.

Vas
Well, the question was what could be improved upon the current tournaments we already have.

Main points that came to front:

1) Is it necessary to have part of the event live/require attendance?
2) How to stop cheating/cloning as much as possible, particularly online.
3) What constitutes a team? (book/egtb etc)

I think there's enough info and arguments that Charles should be able to come up with a proposal that satisfies most of us, even if it's not perfect for everybody.

For me, the thing I've changing my opinion about most after reading this, is that I care less for (1) if (2) is properly handled (my proposal=live logs+ability to request sources/exe). I think (3) is actually a relatively minor issue and I can live with almost any decision there.