Organising a computer chess event...

Discussion of chess software programming and technical issues.

Moderator: Ras

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

Re: Organising a computer chess event...

Post by bob »

bhlangonijr wrote:

Why do you think so? I think there are great scopes for improvement in both areas, especially the opening.
I cannot visualize somehow improving read a move from a binary file in response a given chess position. This appeared to be so trivial.
Perhaps it is my lack of knowledge and you may clarify by what means you can improve this.


This shows that you don't _understand_ the issues. When you "read the binary file" you find _several_ moves most of the time. How do you choose which one? That is an extremely complex issue...


The only reason I support PolyGlot books is that users requested this feature -- it is not for tournament use. In tournaments, I use my own GUI book code.
Understood. But I still can't see why is strange to use other's GUI or book code.
bhlangonijr
Posts: 482
Joined: Thu Oct 16, 2008 4:23 am
Location: Milky Way

Re: Organising a computer chess event...

Post by bhlangonijr »

This shows that you don't _understand_ the issues. When you "read the binary file" you find _several_ moves most of the time. How do you choose which one? That is an extremely complex issue...
Hi Dr Bob.
I know that.
May you tell me what Crafty effectively does to handle this issue. I guess it choose a book move randomly (at least until 22.1).
What could be done about that? Maybe try a search to evaluate each move (that's a joke). In this case, is there a difference in let the engine or the GUI choose the move?

Whatever you get, I find it is more effective concentrate efforts in order to improve the search itself instead of tuning the book and the 'book move chooser' to avoid others to exploit my weakness at the opening. IMHO.
diep
Posts: 1822
Joined: Thu Mar 09, 2006 11:54 pm
Location: The Netherlands

Re: Organising a computer chess event...

Post by diep »

hgm wrote:Yes, XBoard contains book code, now! 8-)

Not sure if you would be allowed to use someone else's book, though. WCRCC had rules against two participants using the same book.

Not sure what the rules are if two people use Polyglot to each build their own book, but start from the same collection of PGN files. (And thus get identically the same book on the binary level.)
Actually 2 participants using 1 book was allowed, as Nimzo and Fritz in the year 2000 used the same book up to 2002 world champs where hydra (at the time called Brutus) used the kure book and fritz as well. In 2003, hydra used the old book.

Also in Maastricht Rebel had a Noomen book and Tiger had a noomen book.

So when having permission of the book author, things usually are ok.

In dutch championships it happened several times that when Diep first played a line against Tiger and when diep reacted wrong onto that line, that 2 rounds later, of course no recovery time for me yet, Noomen took care that the operator selected the same book and same line was played again against Diep.

If Tiger and Rebel still would join, then of course a noomen book would be there 3 times in that tournament as rybka also has a noomen book.

Vincent
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Organising a computer chess event...

Post by michiguel »

bhlangonijr wrote:

Why do you think so? I think there are great scopes for improvement in both areas, especially the opening.
I cannot visualize somehow improving read a move from a binary file in response a given chess position. This appeared to be so trivial.
Perhaps it is my lack of knowledge and you may clarify by what means you can improve this.

The only reason I support PolyGlot books is that users requested this feature -- it is not for tournament use. In tournaments, I use my own GUI book code.
Understood. But I still can't see why is strange to use other's GUI or book code.
It is not strange, but it should NOT be allowed in tournaments for more than one author, IMHO. Computer chess competitions are competitions between programmers and there should not be more than one entry per author.

In addition, It is not true that currently endgame tablebases code is open source (it is not) and cannot be improved, when, actually, it is clearly suboptimal. For instance, it is capable of playing wrong moves and let wins escape based on the 50 move rule. Even if all this is fixed, engines do not check the tablebases at every node because is very expensive time-wise. There is a huge room for improvement regarding speed access to egtbs, better caches etc. We do not even talk about bitbases.

Miguel
User avatar
Greg Strong
Posts: 388
Joined: Sun Dec 21, 2008 6:57 pm
Location: Washington, DC

Re: Organising a computer chess event...

Post by Greg Strong »

michiguel wrote:In addition, It is not true that currently endgame tablebases code is open source (it is not) and cannot be improved, when, actually, it is clearly suboptimal. For instance, it is capable of playing wrong moves and let wins escape based on the 50 move rule.
Are you sure? True, the endgame databases don't track the rule-50 counter, but they always play the shortest line to victory, so the 50-move draw should only kick in if there is no path to victory in less than 50 moves anyway.
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Organising a computer chess event...

Post by hgm »

They play the shortest line to checkmate. So when this line is 51 moves without captures or Pawn pushes, they prefer it over a line that forcibly gains a piece in 40 moves, followed by a 20-move mating phase, as 51 < 40+20.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Organising a computer chess event...

Post by michiguel »

Greg Strong wrote:
michiguel wrote:In addition, It is not true that currently endgame tablebases code is open source (it is not) and cannot be improved, when, actually, it is clearly suboptimal. For instance, it is capable of playing wrong moves and let wins escape based on the 50 move rule.
Are you sure? True, the endgame databases don't track the rule-50 counter, but they always play the shortest line to victory, so the 50-move draw should only kick in if there is no path to victory in less than 50 moves anyway.
[d]5k2/3K4/8/R4b2/1R6/8/3B4/5r2 w - - 0 1

For instance, in this position, engines with "distance to mate" egtbs will try to play Rxf5+??, which leads to a draw (Mate in 65, beyond the 50 moves). That spoils a sure win.

A full commentary is here:
http://www.horizonchess.com/FAQ/Winboar ... ebase.html

Miguel
User avatar
Greg Strong
Posts: 388
Joined: Sun Dec 21, 2008 6:57 pm
Location: Washington, DC

Re: Organising a computer chess event...

Post by Greg Strong »

Ahhh, I understand. I had not considered that possability.

So maybe the database needs to contain, in addition to the best move and outcome, the number of moves to checkmate or capture/pawn move. Then, if that number pushes it over 50, the db move is ignored and the standard search is used instead.
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Organising a computer chess event...

Post by hgm »

A better solution is to use DTZ50 EGTs, rather than DTM.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Organising a computer chess event...

Post by bob »

bhlangonijr wrote:
This shows that you don't _understand_ the issues. When you "read the binary file" you find _several_ moves most of the time. How do you choose which one? That is an extremely complex issue...
Hi Dr Bob.
I know that.
May you tell me what Crafty effectively does to handle this issue. I guess it choose a book move randomly (at least until 22.1).
Hardly. It first has a "guidance" facility where moves can be declared as "always" play or "never play" or "play some percent of the time". Once that has been exhausted, it has learning information to help select a move. If that fails, it considers how many times the move was played (in the PGN data used to create the book) and the win/loss percentage for those games. It folds in the static evaluation so that it won't play into a position it considers "busted". And it can even do a short search on the set of book moves to choose between them.

It is not just a random number generated book move...

What could be done about that? Maybe try a search to evaluate each move (that's a joke). In this case, is there a difference in let the engine or the GUI choose the move?
See above. There is a _big_ difference.

Whatever you get, I find it is more effective concentrate efforts in order to improve the search itself instead of tuning the book and the 'book move chooser' to avoid others to exploit my weakness at the opening. IMHO.
If you don't study opening theory, you won't ever (as a human) be any kind of strong chess player. This same principle applies to computer chess programs. They ought to have to choose every move that is played... I can't get a "stand-in" to play opening moves for _me_ when I play a game...