Attack of the Clones (ChessVibes)

General discussion about computer chess...
BB+
Posts: 1484
Joined: Thu Jun 10, 2010 4:26 am

Re: Attack of the Clones (ChessVibes)

Post by BB+ » Fri Feb 25, 2011 4:42 am

The more I think about it, the more I believe Hyatt and Levy's ICGA tribunal can be a success.
As discussed in most academic papers on plagiarism, deterrence is the best policy. Just having a tribunal (as long as it's not seen as utterly shambolic) is already a notable step.
Harvey: It takes different kinds of people to make something work.
I was also wondering about a non-programmer like Harvey being on the initial Secretariat, but I would agree with him that it's too early to say what type of person is really needed. For instance, someone who does a lot of legwork in the "discovery" phase can be just as useful as someone who oversees technical discussions. If it becomes clear that he's not what the ICGA wants/needs, either he can resign or the ICGA can replace him.

One of the people involved with the Fruit issue asked my opinion about Conkie being admitted to the ICGA forum (calling him a not-so-well-known cloning expert, in touch with a lot of online directors, etc.), and I chose to give a waffly answer. He could work well, though his occasional gadfly antics could just become a distraction. As with Harvey, it would depend on whether he would stick to his own expertise, and be able to choose silence (rather than cheerleading, or even political intrigues) at other times.

User avatar
kingliveson
Posts: 1388
Joined: Thu Jun 10, 2010 1:22 am
Real Name: Franklin Titus
Location: 28°32'1"N 81°22'33"W

Re: Attack of the Clones (ChessVibes)

Post by kingliveson » Fri Feb 25, 2011 6:09 am

hyatt wrote:I personally believe, as I have stated many times, that this is going to be a long and involved process. First we have to come to grips with some sort of definition of what is allowable and what is not. For example, the ip*/robo*/Ivanhoe/Houdini family. Perhaps it is eventually decided that the "family" is OK. But all can't participate due to the derivative rule in most tournaments. But we have no objective definition of unacceptable derivative vs acceptable derivative. That's got to be ironed. Then the greyer area of what about a program that has parts of another, but not huge chunks?

It appears, to me, that we first need to figure out what is acceptable or unacceptable before we try to start dropping different programs into those two buckets.

[...]

First, Ippolit << RobboLito << Igorrit << IvanHoe are all successive progression of the same engine by the same author(s), just like Cray Blitz to Crafty, though not a translation from one programming language to another -- so this part is easy. Fire (formerly FireBird), Houdini, and Deep Saros should not be difficult to resolve as well. In the case of Fire and Saros, it has been acknowledged by the developers that these are modified Ippolit source code.

It is definitely going to be difficult defining what is acceptable/unacceptable. Fruit/Rybka situation is entirely different than Rybka/Ippolit matter. One deals with alleged code copy while the other is about ideas-- allegedly obtained through reverse engineering. There are those who may even argue that Assembly to C is merely a translation.

These are generic questions not directed to you per se, Bob. What amount of code copy if any at all is acceptable? What constitutes an important part or piece of code in a chess engine? With the cat out of the bag in the case of Ippolit source code being public domain, is one allowed to take all ideas found there expressed differently in a new and "original" program? What is the definition of a original chess program in an era where 99% of ideas found in almost all chess engines today are practically the same?

Franklin
PAWN : Knight >> Bishop >> Rook >>Queen

User avatar
thorstenczub
Posts: 592
Joined: Wed Jun 09, 2010 12:51 pm
Real Name: Thorsten Czub
Location: United States of Europe, germany, NRW, Lünen
Contact:

Re: Attack of the Clones (ChessVibes)

Post by thorstenczub » Fri Feb 25, 2011 7:50 am

BB+ wrote:
One of the people involved with the Fruit issue asked my opinion about Conkie being admitted to the ICGA forum (calling him a not-so-well-known cloning expert, in touch with a lot of online directors, etc.), and I chose to give a waffly answer. He could work well, though his occasional gadfly antics could just become a distraction. As with Harvey, it would depend on whether he would stick to his own expertise, and be able to choose silence (rather than cheerleading, or even political intrigues) at other times.
conkie and harvey... what a dreamteam. i would add mubarak and gaddaffi to the team. they are of the same caliber.

MichaelIsGreat
Posts: 44
Joined: Thu Dec 30, 2010 3:52 pm

TCEC=TRUE WORLD COMPUTER CHESS CHAMPIONSHIP.

Post by MichaelIsGreat » Fri Feb 25, 2011 12:30 pm

Hello to All,


Let us be clear on one particular point. The ICGA World Computer Chess Championships with same hardware for each opponent and the version for unlimited hardware are completely useless and totally irrelevant because the number of games played between each opponent is simply too small. And David Levy does not want to make the necessary changes to make these two tournaments relevant!
The ICGA could keep calling their two tournaments with a title similar to the World Computer Chess Championships but the reality is that these tournaments are a very bad joke and an insult to the title of "World Computer Chess Championship" and to the meaning of the word tournament. The current titles for the two tournaments that they organise have been modified a little.

The recent tournaments on "TCEC (Thoresen Chess Engines Competition)" at http://www.tcec-chess.org/archive.php are much more meaningful and relevant than what the ICGA does with the World Computer Chess Championships! That is the current reality.
We could consider that THE TCEC TOURNAMENTS ARE THE TRUE WORLD COMPUTER CHESS CHAMPIONSHIPS. The Elite match between Rybka 4 and Houdini 1.5a was the true World Computer Chess Championship and, with 40 games played against each other, we had the opportunity to see very clearly which chess program was the best (Houdini 1.5a).

The various chess programs rating lists are useful but, as I have shown, a few of them have a dishonest hidden agenda of avoiding testing particular programs that could compromise their preferred pet programs (especially Rybka 4). That is what happened to the CCRL and CEGT chess programs rating lists where they purposefully avoided taking into account Houdini for quite a long time when Houdini was clearly the top chess program because Houdini was too strong and endangered their pet programs. When Houdini was taken into account in most of the other chess programs rating lists, CCRL and CEGT recently decided they were forced to take into account Houdini or face the ridicule of not listing the strongest chess program in their biased chess programs rating lists!

To conclude, let the ICGA waste other people's time playing the inquisitors. I am sure they will find many willing would be inquisitors, willing to read the code of other strong chess engine programs only to steal their ideas! The ICGA World Computer Chess Championships are completely irrelevant and useless and basically dead!!
The idea that a programmer would have to provide his source code to play at these bogus ICGA World Computer Chess Championships is very scary to me. I hope no serious programmers is going to allow such a ridiculous request.


Best Regards to All
MichaelIsGreat

zwegner
Posts: 57
Joined: Thu Jun 10, 2010 5:38 am

Re: TCEC=TRUE WORLD COMPUTER CHESS CHAMPIONSHIP.

Post by zwegner » Fri Feb 25, 2011 5:45 pm

MichaelIsGreat wrote:Hello to All,


Let us be clear on one particular point. The ICGA World Computer Chess Championships with same hardware for each opponent and the version for unlimited hardware are completely useless and totally irrelevant because the number of games played between each opponent is simply too small. And David Levy does not want to make the necessary changes to make these two tournaments relevant!
The ICGA could keep calling their two tournaments with a title similar to the World Computer Chess Championships but the reality is that these tournaments are a very bad joke and an insult to the title of "World Computer Chess Championship" and to the meaning of the word tournament. The current titles for the two tournaments that they organise have been modified a little.

The recent tournaments on "TCEC (Thoresen Chess Engines Competition)" at http://www.tcec-chess.org/archive.php are much more meaningful and relevant than what the ICGA does with the World Computer Chess Championships! That is the current reality.
We could consider that THE TCEC TOURNAMENTS ARE THE TRUE WORLD COMPUTER CHESS CHAMPIONSHIPS. The Elite match between Rybka 4 and Houdini 1.5a was the true World Computer Chess Championship and, with 40 games played against each other, we had the opportunity to see very clearly which chess program was the best (Houdini 1.5a).

The various chess programs rating lists are useful but, as I have shown, a few of them have a dishonest hidden agenda of avoiding testing particular programs that could compromise their preferred pet programs (especially Rybka 4). That is what happened to the CCRL and CEGT chess programs rating lists where they purposefully avoided taking into account Houdini for quite a long time when Houdini was clearly the top chess program because Houdini was too strong and endangered their pet programs. When Houdini was taken into account in most of the other chess programs rating lists, CCRL and CEGT recently decided they were forced to take into account Houdini or face the ridicule of not listing the strongest chess program in their biased chess programs rating lists!

To conclude, let the ICGA waste other people's time playing the inquisitors. I am sure they will find many willing would be inquisitors, willing to read the code of other strong chess engine programs only to steal their ideas! The ICGA World Computer Chess Championships are completely irrelevant and useless and basically dead!!
The idea that a programmer would have to provide his source code to play at these bogus ICGA World Computer Chess Championships is very scary to me. I hope no serious programmers is going to allow such a ridiculous request.


Best Regards to All
MichaelIsGreat
I really hope your name is not Michael.

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: Attack of the Clones (ChessVibes)

Post by hyatt » Fri Feb 25, 2011 6:43 pm

kingliveson wrote:
hyatt wrote:I personally believe, as I have stated many times, that this is going to be a long and involved process. First we have to come to grips with some sort of definition of what is allowable and what is not. For example, the ip*/robo*/Ivanhoe/Houdini family. Perhaps it is eventually decided that the "family" is OK. But all can't participate due to the derivative rule in most tournaments. But we have no objective definition of unacceptable derivative vs acceptable derivative. That's got to be ironed. Then the greyer area of what about a program that has parts of another, but not huge chunks?

It appears, to me, that we first need to figure out what is acceptable or unacceptable before we try to start dropping different programs into those two buckets.

[...]

First, Ippolit << RobboLito << Igorrit << IvanHoe are all successive progression of the same engine by the same author(s), just like Cray Blitz to Crafty, though not a translation from one programming language to another -- so this part is easy. Fire (formerly FireBird), Houdini, and Deep Saros should not be difficult to resolve as well. In the case of Fire and Saros, it has been acknowledged by the developers that these are modified Ippolit source code.

It is definitely going to be difficult defining what is acceptable/unacceptable. Fruit/Rybka situation is entirely different than Rybka/Ippolit matter. One deals with alleged code copy while the other is about ideas-- allegedly obtained through reverse engineering. There are those who may even argue that Assembly to C is merely a translation.

These are generic questions not directed to you per se, Bob. What amount of code copy if any at all is acceptable? What constitutes an important part or piece of code in a chess engine? With the cat out of the bag in the case of Ippolit source code being public domain, is one allowed to take all ideas found there expressed differently in a new and "original" program? What is the definition of a original chess program in an era where 99% of ideas found in almost all chess engines today are practically the same?

Franklin

I am still a proponent that some code should be copyable. Classic examples include egtb.cpp that many use, and then pradu's magic move generation code (which is even in Crafty). And several have copied the rotated bitboard code from older crafty versions and still use that. If you have some function F, such that F(X) -> Y where for every value of X, you get a single value for Y, then that might well be copyable. This might include any/all of the following (and others I am not listing):

move generator
egtb probe
bitbase probe
SAN Algebraic to binary move input.
binary move output to SAN Algebraic.
PGN parser to pick up the tags, the embedded comments, and such.
Code (such as that in Crafty) that will produce an HTML (rather than PGN) output file to make viewing a game + annotations easier.
Code to properly align malloc() data for optimal cache usage.
Code to produce random numbers used for Zobrist hashing and other uses.
Code to gather/back-up a PV.
...
etc.

There are some such functions that would have to be excluded because of the ill-defined description. For example, if F(X, Y, Z) answers the question "with a white king on X, a black king on Y, and side-to-move of Z, does the white king have opposition?" Should be copyable. The definition is clearly defined with a precise meaning. On the other hand if F(X, Y) answers the question "Is the pawn on square X, given position Y, backward?" then that is not copyable. Because there are lots of definitions of "backward" So some are black, some are white, and some are grey.

I'd think this is the place to start, namely "What can be copied without fear of losing the right to compete in tournaments?" I believe my idea above can be stated precisely enough that we can draw a thin black line, one so thin that either something falls on one side or the other, but never directly on the line where it would be ambiguous...

For example, what about SEE? One can define it to be simple, only using the pieces attacking a square regardless of whether they are pinned or not. Or it could be defined to include absolute pins only (piece pinned on king so that it would be illegal to move it). Or just pinned (knight pinned on rook/queen so that it can move, but at significant cost. This one is debatable. A basic SEE, as used in Crafty, probably should be something that could be copied. Very simple one output for any position and target square. Add complexity and it becomes non-copyable. Or we could stipulate that SEE, SEEAP (abs pins only) and SEEP (all pins) are precisely defined and copyable unless they are further modified to do something else (for example, we could use SEE recursively in SEEP to determine the effect of moving a pinned piece. That would not be copyable).

Complex, but it might be made simple enough to satisfy those of us that deal with software engineering, while still maintaining exclusivity for each "engine core". Search and evaluation would _never_ be copyable since there is no single output of a search since one can use different types of extensions, reductions, and forward/backward pruning ideas, and the eval is wide-open as to what it does...

Those are the basis for the chess engine's "personality" where all the other code supports that personality.

Notice I did not (yet) include book code. That is quite variable, and includes (possibly) different types of learning, different selection rules, and so forth. Perhaps a bare random book code could be copyable. But beyond that bare minimum, you have to "roll your own."

orgfert
Posts: 183
Joined: Fri Jun 11, 2010 5:35 pm
Real Name: Mark Tapley

Re: TCEC=TRUE WORLD COMPUTER CHESS CHAMPIONSHIP.

Post by orgfert » Fri Feb 25, 2011 6:54 pm

MichaelIsGreat wrote:Hello to All,


Let us be clear on one particular point. The ICGA World Computer Chess Championships with same hardware for each opponent and the version for unlimited hardware are completely useless and totally irrelevant because the number of games played between each opponent is simply too small.
What you say of ICGA events could be said of any human world championship. Obviously, the goal of such contests isn't statistical confidence. While your point is clear, it's also clearly irrelevant.
MichaelIsGreat wrote:The recent tournaments on "TCEC (Thoresen Chess Engines Competition)" at http://www.tcec-chess.org/archive.php are much more meaningful and relevant than what the ICGA does with the World Computer Chess Championships! That is the current reality.
We could consider that THE TCEC TOURNAMENTS ARE THE TRUE WORLD COMPUTER CHESS CHAMPIONSHIPS. The Elite match between Rybka 4 and Houdini 1.5a was the true World Computer Chess Championship and, with 40 games played against each other, we had the opportunity to see very clearly which chess program was the best (Houdini 1.5a).
From an AI design perspective this view is philistinism. The idea of subverting design by cannibalizing two chess AIs of their search/eval functions (UCI style), and bolting onto them identical copies of an alien opening book and cramming the resulting abortions into limited hardware platforms, and calling the result a true championship result is pure frankensteinian stupidity. Abusing this policy to "statistical confidence" is nothing more than a multiplication of zero.

benstoker
Posts: 110
Joined: Thu Jun 10, 2010 7:32 pm
Real Name: Ben Stoker

Re: Attack of the Clones (ChessVibes)

Post by benstoker » Fri Feb 25, 2011 10:08 pm

hyatt wrote:
benstoker wrote:
Rebel wrote:
benstoker wrote: Do you think the likes of Rybka really care about this? Assume, arguendo, that Vas is adjudged a vile cloner by this august tribunal. Does he care? Does he need to care? If he's shut out of tournaments, does he care? In other words, would his commercial interests be affected at all by a "Cloner Judgment"? Would buyers of chess engines actually stop buying Rybka if a "Cloner Judgment" came down on Vas?
If found guilty by the tribunal the IGCA could take away all his WC titles in Tour de France style until he has done his GPL duties.
The more I think about it, the more I believe Hyatt and Levy's ICGA tribunal can be a success. It's the "Build it and They Will Come" principle. If a respected team of experts conducts a serious, scientific examination of a program with a well-defined set of criteria, there is really no way to hide from that.

Assume that the ICGA panel completes an examination of prestigious Commercial-Closed-Source-Program-X and determines it to be an "impermissible derivative." Assume that determination withstands peer review. Would the sponsor of this forum (ChessUSA) continue to sell an "impermissible derivative"? Chessbase? Would GMs or FIDE associate or co-sponsor such a program?

One way or the other, it would be a serious problem for the producer of that "impermissible derivative"; that producer (not "author") would be a pariah and shoved off to the computer chess netherworld such as sites like Immortal Chess. Exposed as a fraud, the days of wine and roses would be over. No more parties, fancy crackers and Brie. No more walking into tournaments and experiencing the adoration of chess enthusiasts goo-goo eyeing your very presence.

Moreover, the copyright holder of the original program would have in his possession an invaluable expert report to make use of should he wish to take the matter of copyright infringement to other tribunals. The cost of experts is a fantastic impediment to seeking redress in the courts of law.

If chess itself and computer chess are in the last throes of waning cultural importance and popularity, then, better to go out with a bang and not a whimper.
[FWIW, I posted same thing on talkchess]
I am not sure that is true. For example, what if ChessMaster were found to be a derivative? Do people in best buy shopping for a game care? Would they even know? No way to force Best Buy or GameStop to put a red "this is an impermissible derivative by ICGA rules" sticker on the box. :)
On the other hand, Ubisoft, which owns Chessmaster, is a large company. I wager that IP concerns are dealt with everyday with such a large software company. Thus, Ubisoft would be more concerned about a panel of experts claiming their software is a potential copyright problem, than say some guy with a computer in his room picking through Fruit code to produce his "original" engine.

Post Reply