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

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

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

Post by michiguel »

bob wrote:
michiguel wrote:
bob wrote:
Dirt wrote:
michiguel wrote:Correct, and the same should apply for EGTB's.
Probing code written by one author (e.g. Nalimov), should be used by only one engine. But this will never happen.
Especially since some (many) authors are allowed to use the Nalimov code, and some aren't.
There are even other alternatives. The Thompson endgame tables are free to all to use. Steven Edwards released EGTBs in his uncompressed format along with code anyone can use. I consider them all equal in that they all provide exactly the same information given the same position...
Just for the record, IIRC, the information is not the same at all.
Thompson's are distance to conversion, and Nalimov's are distance to mate.

Miguel
Same idea. And you can use one instead of the other with no ill effects. In fact, the Thompson is even preferable for the 50-move draw cases it can help solve. The Edwards format is DTM. The point being that there are several alternatives that make this usable for anyone.
As long as the code is written by only one person that has no other entry in the tournament. Is that the case with Nalimov's? It is an honest question because I never peeked at it, but I read the most of the people do not even understand the compressing mechanism. That clearly shows that they are cutting an pasting code. Is that what happens?

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

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

Post by michiguel »

Marc Lacrosse wrote:
CThinker wrote:
Just to clear, we are not really talking about not allowing the GUI to pick the moves (in most cases, opening moves). In the Thinker case, I also wrote the GUI.

I think what we should be saying is that the participating computer player should not pick moves using code that is written by somebody else. It does not matter whether that code is in the GUI or external DLL or main engine. If you did not write the code, it should not be allowed to decide moves for you.

Here some examples of acceptable systems:

1. UI and engine from the same author
a. The Shredder UI connets to the server.
b. The Shredder UI picks the book moves.
c. The Shredder UI asks the Shredder engine to pick a move.

2. UI from one author, and engine from another author
a. The Winboard UI connets to the server.
b. The Winboard UI asks the Crafty engine to pick moves.
c. The Crafty engine book code picks book moves.
d. The Crafty engine code picks moves using search algorithm.

Here are some examples of non-acceptable systems:

1. UI and engine from the same author, but book code from another author
a. The Fritz UI connets to the server.
b. The Fritz UI asks the Fritz engine to pick a move.
c. The Fritz engine asks Polyglot to pick a book move
d. The Fritz engine use a search algorithm to pick non-book moves.

2. UI from one author, and engine from another author
a. The Fritz UI connets to the server
b. The Fritz UI picks book moves.
c. The Fritz UI asks the Crafty engine to pick a move.
Hi Lance

I do not agree at all with you.

There is a 500 years old built knowledge regarding chess openings.
No engine can fight on its own against this.
I am ready to bet that thinker with a good book based on this knowledge would crush rybka 3 playing on its own from move one.

So it seems normal that an engine playing in a competition should be provided with some opening knowledge.

Moreover opening knowledge is not neutral.
There is a lot of skill needed to guess what are the openings lines from which a given engine has the best chance to achieve good results.

The way this knowledge is given to the engine is not important : this is only the basis on which the engine will begin to fight.

I do not see why one should request that an engine has its own book management routines : crafty or thinker have their own ones, but glaurung or rybka have not.

If you feel that you are able to build better opening books based on your own code and heuristics, so be it. But if someone prefers to rely on a common book format with someone of his team building a tailored book for his engine within this format, where is the problem ?

Why should one forbid an author to use a common known opening book format to build a specific book for his own engine ?
it is not about forbidding, it is about recognizing the work of the book builders or code writers. Once you do that, they cannot have more than one entry in the tournament.

I really cannot understand your point here. this is as if you forbid authors to use a common format like WB or UCI to communicate with some GUI. Everyone should rely on his own code and format for everything?
Nonsense!

I feel in a good position to defend this : polyglot books design and creation functions have been designed by F Letouzey according to discussions that we had for the preparation of Fruit's participation at WCCC 2005.

Since then every aspects of polyglot books are open. why should you forbid the use of polyglot books by other engines ?

Marc
Because Fabien will be co-author of every single engine in the torunament.

Miguel
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

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

Post by CThinker »

Harvey Williamson wrote:
michiguel wrote:
CThinker wrote:
bob wrote:
Harvey Williamson wrote:
CThinker wrote:I propose a hybrid.

The tournament would be online (ICC), but the participants would meet locally.

For example, Bob and others could congregate at UAB (this has been done in the previous ACCL). Dann, Kerwin and me would meet at UW or somewhere in Redmond.

This way, travel cost and travel time is really minimized, while at the same time, you get the eye ball experience of the traditional (read archaic) WCCC.
That could work with a few gatherings in different places. However I would not want to play on any server that stops me using a .ctg book easily. I am happy to use an alternative book for tournaments like CCT but our tournament book is maintained in .ctg format and for the World Championship we would want to use this.
This is the primary reason I have maintained that the GUI should _not_ be handling the book facilities. That should be code inside the engine. Then the GUI one uses has nothing to do with playing the game, choosing book moves, and just serves as a user interface, which is where the "UI" in "GUI" comes from. I also strongly believe that an opening book is every bit as unique and important as the chess engine itself, which means one copy of any author's book is allowed in an event, not the multiple copies we have seen in the past.

For the question about EGTBs I don't care. That is static data everyone has access to, how / when you probe them is an internal engine issue anyway so I could care less about what is used there.
Just to clear, we are not really talking about not allowing the GUI to pick the moves (in most cases, opening moves). In the Thinker case, I also wrote the GUI.

I think what we should be saying is that the participating computer player should not pick moves using code that is written by somebody else. It does not matter whether that code is in the GUI or external DLL or main engine. If you did not write the code, it should not be allowed to decide moves for you.

Here some examples of acceptable systems:

1. UI and engine from the same author
a. The Shredder UI connets to the server.
b. The Shredder UI picks the book moves.
c. The Shredder UI asks the Shredder engine to pick a move.

2. UI from one author, and engine from another author
a. The Winboard UI connets to the server.
b. The Winboard UI asks the Crafty engine to pick moves.
c. The Crafty engine book code picks book moves.
d. The Crafty engine code picks moves using search algorithm.

Here are some examples of non-acceptable systems:

1. UI and engine from the same author, but book code from another author
a. The Fritz UI connets to the server.
b. The Fritz UI asks the Fritz engine to pick a move.
c. The Fritz engine asks Polyglot to pick a book move
d. The Fritz engine use a search algorithm to pick non-book moves.

2. UI from one author, and engine from another author
a. The Fritz UI connets to the server
b. The Fritz UI picks book moves.
c. The Fritz UI asks the Crafty engine to pick a move.
Correct, and the same should apply for EGTB's.
Probing code written by one author (e.g. Nalimov), should be used by only one engine. But this will never happen.

Miguel
I suppose if you take your argument to the next logical level then anyone using a compiler not written by themselves is using someone elses code in the move decision.

As for tbs i guess not even Nalimov can use them as the decompression code used in the engine was written by someone else - Andrew Kadatch
C'mon. What does the compiler have to do with chess logic? This is becoming silly.

The compiler does not make chess move decisions for me. On the contrary, my code makes the chess decisions. The compiler only translates my own chess code logic so that it can be executed by a machine.

When you call someone else book code, what chess logic are you contributing there?

This is what I will do then:
Moves 1 to 10, use BookThinker (my own move selection logic).
Moves 11 - 20, use Naum (someone else move selection logic).
Moves 21 - end of game, use Rybka (someone else move selection logic).
User avatar
Harvey Williamson
Posts: 2026
Joined: Sun May 25, 2008 11:12 pm
Location: Whitchurch. Shropshire, UK.
Full name: Harvey Williamson

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

Post by Harvey Williamson »

CThinker wrote: This is what I will do then:
Moves 1 to 10, use BookThinker (my own move selection logic).
Moves 11 - 20, use Naum (someone else move selection logic).
Moves 21 - end of game, use Rybka (someone else move selection logic).
Excellent - then I will go to Pamplona and play under whatever rules the ICGA wants me to and win ;-)
Marc Lacrosse
Posts: 511
Joined: Wed Mar 08, 2006 10:05 pm

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

Post by Marc Lacrosse »

michiguel wrote: why should you forbid the use of polyglot books by other engines ?

Marc

Because Fabien will be co-author of every single engine in the torunament.

Miguel
Complete nonsense.

Then only Tim Mann will be allowed to communicate through WB protocol and no one else than Stefan Meyer-Kahlen will be allowed to use the UCI protocol.

Marc
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

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

Post by CThinker »

Marc Lacrosse wrote:
CThinker wrote:
Just to clear, we are not really talking about not allowing the GUI to pick the moves (in most cases, opening moves). In the Thinker case, I also wrote the GUI.

I think what we should be saying is that the participating computer player should not pick moves using code that is written by somebody else. It does not matter whether that code is in the GUI or external DLL or main engine. If you did not write the code, it should not be allowed to decide moves for you.

Here some examples of acceptable systems:

1. UI and engine from the same author
a. The Shredder UI connets to the server.
b. The Shredder UI picks the book moves.
c. The Shredder UI asks the Shredder engine to pick a move.

2. UI from one author, and engine from another author
a. The Winboard UI connets to the server.
b. The Winboard UI asks the Crafty engine to pick moves.
c. The Crafty engine book code picks book moves.
d. The Crafty engine code picks moves using search algorithm.

Here are some examples of non-acceptable systems:

1. UI and engine from the same author, but book code from another author
a. The Fritz UI connets to the server.
b. The Fritz UI asks the Fritz engine to pick a move.
c. The Fritz engine asks Polyglot to pick a book move
d. The Fritz engine use a search algorithm to pick non-book moves.

2. UI from one author, and engine from another author
a. The Fritz UI connets to the server
b. The Fritz UI picks book moves.
c. The Fritz UI asks the Crafty engine to pick a move.
Hi Lance

I do not agree at all with you.

There is a 500 years old built knowledge regarding chess openings.
No engine can fight on its own against this.
I am ready to bet that thinker with a good book based on this knowledge would crush rybka 3 playing on its own from move one.

So it seems normal that an engine playing in a competition should be provided with some opening knowledge.

Moreover opening knowledge is not neutral.
There is a lot of skill needed to guess what are the openings lines from which a given engine has the best chance to achieve good results.

The way this knowledge is given to the engine is not important : this is only the basis on which the engine will begin to fight.

I do not see why one should request that an engine has its own book management routines : crafty or thinker have their own ones, but glaurung or rybka have not.

If you feel that you are able to build better opening books based on your own code and heuristics, so be it. But if someone prefers to rely on a common book format with someone of his team building a tailored book for his engine within this format, where is the problem ?

Why should one forbid an author to use a common known opening book format to build a specific book for his own engine ?

I really cannot understand your point here. this is as if you forbid authors to use a common format like WB or UCI to communicate with some GUI. Everyone should rely on his own code and format for everything?
Nonsense!

I feel in a good position to defend this : polyglot books design and creation functions have been designed by F Letouzey according to discussions that we had for the preparation of Fruit's participation at WCCC 2005.

Since then every aspects of polyglot books are open. why should you forbid the use of polyglot books by other engines ?

Marc
There is also immeasurable logic already in Rybka. Why do I need to write my own middle game chess logic?

The WB/UCI has nothing to do with chess logic. That is just I/O. It just a method for inputting and displaying moves. They do not know how to decide what moves to pick.

Get the difference?
User avatar
Harvey Williamson
Posts: 2026
Joined: Sun May 25, 2008 11:12 pm
Location: Whitchurch. Shropshire, UK.
Full name: Harvey Williamson

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

Post by Harvey Williamson »

Marc Lacrosse wrote:
michiguel wrote: why should you forbid the use of polyglot books by other engines ?

Marc

Because Fabien will be co-author of every single engine in the torunament.

Miguel
Complete nonsense.

Then only Tim Mann will be allowed to communicate through WB protocol and no one else than Stefan Meyer-Kahlen will be allowed to use the UCI protocol.

Marc
agreed this debate is now way off - it started as quite a sensible one.
CThinker
Posts: 388
Joined: Wed Mar 08, 2006 10:08 pm

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

Post by CThinker »

Harvey Williamson wrote:
CThinker wrote: This is what I will do then:
Moves 1 to 10, use BookThinker (my own move selection logic).
Moves 11 - 20, use Naum (someone else move selection logic).
Moves 21 - end of game, use Rybka (someone else move selection logic).
Excellent - then I will go to Pamplona and play under whatever rules the ICGA wants me to and win ;-)
I'm sure you will, because you have a compiler that knows chess logic. I am guessing that is where the strength of your engine comes from.

Vas does not have that kind of compiler. He has to actually make up his own chess logic in code. Vas will have a very hard time then.

Good luck.
User avatar
Harvey Williamson
Posts: 2026
Joined: Sun May 25, 2008 11:12 pm
Location: Whitchurch. Shropshire, UK.
Full name: Harvey Williamson

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

Post by Harvey Williamson »

CThinker wrote:
Harvey Williamson wrote:
CThinker wrote: This is what I will do then:
Moves 1 to 10, use BookThinker (my own move selection logic).
Moves 11 - 20, use Naum (someone else move selection logic).
Moves 21 - end of game, use Rybka (someone else move selection logic).
Excellent - then I will go to Pamplona and play under whatever rules the ICGA wants me to and win ;-)
I'm sure you will, because you have a compiler that knows chess logic. I am guessing that is where the strength of your engine comes from.

Vas does not have that kind of compiler. He has to actually make up his own chess logic in code. Vas will have a very hard time then.

Good luck.
Well Vas uses the same tb code as we do - and up till now uses the CB GUI and a ctg book in all major tournaments.

Now if we both used Jeroen Nooman that would be a little odd! In fact there are several engines who use books by the same author(with his permission) - Arturo Ochoa, in tournaments.

Thanks for your your Good Luck wishes - we will need them.

Best Wishes,
Harvey
Last edited by Harvey Williamson on Fri Mar 06, 2009 12:16 am, edited 1 time in total.
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 10:01 pm
Location: Irvine, CA, USA

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

Post by Dirt »

bob wrote:
Dirt wrote:
michiguel wrote:Correct, and the same should apply for EGTB's.
Probing code written by one author (e.g. Nalimov), should be used by only one engine. But this will never happen.
Especially since some (many) authors are allowed to use the Nalimov code, and some aren't.
There are even other alternatives. The Thompson endgame tables are free to all to use. Steven Edwards released EGTBs in his uncompressed format along with code anyone can use. I consider them all equal in that they all provide exactly the same information given the same position...
Does the available access code operate as fast as the Nalimov code? For that matter, some Google searching failed to find either the tablebases or even the generation code for either of these. I know that Steve is around here, so that if someone is really interested he could ask, but this sounds about as equal to me as segregated schooling was.