2008 World Computer Rapid Chess Championships

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

Moderators: hgm, Rebel, chrisw

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

Re: 2008 World Computer Rapid Chess Championships

Post by swami »

CRoberson wrote:New entrants:
Buzz by Pradu Kannan
Parrot by Johanes Suhardjo

Thus we are currently at 10 entries from 5 countries.
I hope we better last years entrants of 40 from 14 countries.

Only one month left.
I'd like to operate Twisted Logic again in this tourney using the other core 2 duo computer, but I will see if I can get better offer than twistedlogic :P
CRoberson
Posts: 2056
Joined: Mon Mar 13, 2006 2:31 am
Location: North Carolina, USA

Re: 2008 World Computer Rapid Chess Championships

Post by CRoberson »

We are at 12 entrants from 7 countries.
New entrants are:
Timea by Laszlo Gaspar
Vicki by Jaco van Niekerk

Only 7 weeks left to enter
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Rule six

Post by sje »

Rule six at the TACCL web site says in part:
Programs must kibitz their PV and (if possible) a message that the move is a book move.
I agree with this and I think most others also agree. Yet is this a requirement or just a suggestion? I mention this only because it was not observed by all participating programs.
User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Rule six

Post by hgm »

In principle, I am against this rule, as it presumes something about the inner workings of the program, and would thus arbitrarily exclude programs built on another principle, that does not use the concept of a PV. I don't think prgarms should be excluded from participation just because they work differenct from most other programs, and that the tournament should be open to any AI that can generate Chess moves.

Micro-Max, for instance, is not PV aware, and by the time it delivers its move the PV is no longer in the hash table either. (The PV moves is searched first, so the search all later moves will have flushed it completely from the hash table at long PV.)

I make it satisfy the rule formally by having it Kibitz its move, though, as it always remembers the best move. The rule does not specify how long the PV has to be...
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Rule six

Post by sje »

Every program that's doing a ponder search has at least a two move PV. This should be kibitzed.
User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Rule six

Post by hgm »

But micro-Max does not ponder...
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Rule six

Post by sje »

The exception that proves the rule.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Rule six

Post by bob »

sje wrote:The exception that proves the rule.
Crafty doesn't have to have a second PV move to ponder, as it has the ability to search from the opponent's side to find a move to ponder.

But in any case, kibitzing the PV and score should be an absolute requirement, not a request as it has been in the past. Seems that someone always has problems making this work at the last minute. It is not that hard to do.

As for micromax, why not take a millisecond or less, at the end of the PV move search, and extract/save the PV from the hash table, whatever it happens to be... then it will be immune to later overwrites. This will produce _something_ that shows that the program is actually making the moves...
User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Rule six

Post by hgm »

Well, that would in principle run into the same problem at level 2, that by the time all moves have bean searched there, the tree from the search of the PV move might be overwritten. At some depth of course this will be no longer true, as the entire PV tree will fit easily in the hash. But it depends on the TC at which level this works.

The easiest solution would be to implement the triangualr-array method. But actually I think this is beyond what is reasonable to request. If it was about thata that the engine naturally has, I would be happy to print it. But having to add code to emulate how another engine would do it, only to satisfy a request for output that in itself has nothing to do with playing Chess goes a bridge too far. Micro-Max is a project for making the smallest Chess-playing program, not the smallest PV-printing program. If that makes it not welcome on certain tournaments, so be it.

Micro-Max is a deterministic engine, highly insensitive to timing jitter as it finishes each iteration, And it kibitzes depth. So if there would be any doubt with the organizer that some other entity that micro-Max was making the moves, it could be easily and objectively verified.
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

Re: Rule six

Post by CThinker »

hgm wrote:Well, that would in principle run into the same problem at level 2, that by the time all moves have bean searched there, the tree from the search of the PV move might be overwritten. At some depth of course this will be no longer true, as the entire PV tree will fit easily in the hash. But it depends on the TC at which level this works.

The easiest solution would be to implement the triangualr-array method. But actually I think this is beyond what is reasonable to request. If it was about thata that the engine naturally has, I would be happy to print it. But having to add code to emulate how another engine would do it, only to satisfy a request for output that in itself has nothing to do with playing Chess goes a bridge too far. Micro-Max is a project for making the smallest Chess-playing program, not the smallest PV-printing program. If that makes it not welcome on certain tournaments, so be it.

Micro-Max is a deterministic engine, highly insensitive to timing jitter as it finishes each iteration, And it kibitzes depth. So if there would be any doubt with the organizer that some other entity that micro-Max was making the moves, it could be easily and objectively verified.
I agree that this requirement is implementation dependent.

Thinker is in the same boat. The PV is in the hash table. I copied this simple idea from Amy.

When it is time to output the PV, I simply iterate through the hash table. In such an occasion where the resulting PV from the HT is really short, I do a very shallow search just to satisfy those asking for a PV. Since all these are expensive, I do them only once at the end of the search.

The other problem for me was with Thinkerboard. I had to re-architecture the way the isolated components interact, because now, engines should be allowed to directly send commands to the server. That's all behind me now, but sometimes, it still brings me nightmares.