pre-Rybka discussions on "cloning" Fruit

Code, algorithms, languages, construction...
BB+
Posts: 1484
Joined: Thu Jun 10, 2010 4:26 am

pre-Rybka discussions on "cloning" Fruit

Post by BB+ » Mon Jan 31, 2011 10:50 am

With Fruit 2.1 being open source and within 50 Elo of Shredder (well, VD claimed it would be 450 at tournament time controls, but), there were various discussions of how to use it properly. I will try to track down the best of these. Here is one example:

Uri Blass from Aug 2005: http://www.stmintz.com/ccc/index.php?id=444403
I can say the following about the latest version of movei.

1)I learned Fruit king attack and king shelter and I think that I understood it.
2)I added a function to calculate almost the same evaluation as fruit with small differences(no copy and paste because I have a different data structure).
3)I tested the version with fruit's evaluation and I found it to be probably weaker than original Movei because it tends to play some unsound sacrifices(Fruit does not play it probably because of other terms that I still did not learn).
4)I decided to divide fruit's evaluation by 2 and again it seems that the new version is weaker.
5)I decided to add movei original king safety evaluation to half of something that is close to fruit's king safety evaluation and it seems that the result is that the thing plays better(not sure because I do not have enough games).

I am not sure if I need to delete all of what I did and to accept the fact that my evaluation will always not have some knowledge that fruit has in order to be allowed to play in tournaments.

I discussed about the extreme case of copying all Fruit's evaluation because I am afraid that if I continue to do it with other parts of fruit I may be considered to be a cloner of fruit and not allowed to participate with movei in tournaments.

Uri

BB+
Posts: 1484
Joined: Thu Jun 10, 2010 4:26 am

Re: pre-Rybka discussions on "cloning" Fruit

Post by BB+ » Tue Feb 08, 2011 6:41 am

Another historical example of "rewriting" the eval of another engine (Fruit again) is Sloppy Chess. See http://talkchess.com/forum/viewtopic.php?t=17305

In the author's own words: "I didn't create a Fruit clone and then change things to cripple it. I created a new 100% original engine, and then added Fruit's features (mainly evaluation) to make it stronger." "The reason for this is that Sloppy was a programming challenge, not a chess challenge. The evaluation function is a somewhat simple thing programming-vise, but it requires a lot of testing and chess-knowledge. So to get a release out before I die of old age, I decided to use Fruit's weights."

But as ZW put it (in a later Rybka/Fruit thread): "While you are right that if someone were to rewrite the code, I don't think it would fall under the GPL. It would still be frowned upon by the CC community, as evidenced by Sloppy, which though it was 100% legal and with good intentions, there were huge threads railing against it because it had a rewrite of Fruit's eval."

BB+
Posts: 1484
Joined: Thu Jun 10, 2010 4:26 am

Re: pre-Rybka discussions on "cloning" Fruit

Post by BB+ » Tue Feb 08, 2011 7:52 am

Here's another historical case of "cloning", that of Oxygen/Buzz. Note that the evidence Pradu Kannan gives is not "chess-specific" (search/eval similarities -- in fact, the behaviour in the 2 given positions was notably different), but is rather FEN parsing, use of 3 threads (input/search/monitor), accepting nullmoves, and coloured HTML code [his fifth post is about a previous Oxygen/Witz match, again via string matching]. The "cloner" admitted his guilt, and suggested that his changes formed maybe ~10% of the codebase.

BB+
Posts: 1484
Joined: Thu Jun 10, 2010 4:26 am

Re: pre-Rybka discussions on "cloning" Fruit

Post by BB+ » Wed Feb 09, 2011 6:14 am

A historical example of a Fruit "clone" being disqualified from the WCCC is Lion.
http://www.grappa.univ-lille3.fr/icga/program.php?id=86
This program is based on the source code of Fruit, and was disqualified because this kind of derivative work is not allowed by the rules of the ICGA tournaments.
No further information is given. Lion played 5 of the 11 games. The author participated in 2009 with Equinox (the ICGA Forum is currently disabled, so the release about this is not available).

List/Loop was disqualified in 2003, though was later exonerated. The author was too busy with his studies/dissertation to defend himself against the charge. http://chessprogramming.wikispaces.com/Fritz+Reul

User avatar
Uly
Posts: 838
Joined: Thu Jun 10, 2010 5:33 am

Re: pre-Rybka discussions on "cloning" Fruit

Post by Uly » Wed Feb 09, 2011 3:42 pm

Ouch, they wrongly accused his engine of being a clone and HE had to apologize...

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: pre-Rybka discussions on "cloning" Fruit

Post by hyatt » Thu Feb 10, 2011 8:51 pm

There was more to it than that. When you register for the WCCC, you agree to a set of rules which includes the requirement to produce your source should a reasonable protest be filed claiming your program is really too similar to another known program. The rule is very clear, and there is an attempt to keep confidentiality about the insides of the program, although that would be impossible to guarantee, obviously. He chose to ignore the request (he had someone else running his program if I recall correctly) when contacted, leaving the tournament organizers little choice but to eliminate him from the competition. False claims will happen. One has to do everything possible to prevent them from hurting anyone. In his case, it was his responsibility to address the issue, _quickly_. So yes, he should apologize for failing to follow the WCCC rules he agreed to when he registered his program. And fortunately, things worked out in the end. Would have been better had they worked out between rounds, but that was his fault when you think about it.

User avatar
Uly
Posts: 838
Joined: Thu Jun 10, 2010 5:33 am

Re: pre-Rybka discussions on "cloning" Fruit

Post by Uly » Fri Feb 11, 2011 10:40 am

So the person that made the false accusation hold 0 responsibility? It may then be a problem with the rules (this seems a case of guilty until proven innocent, it should be assumed that the program is innocent, and to let it play until there is proof of the contrary, a reasonable protest shouldn't be enough).

BB+
Posts: 1484
Joined: Thu Jun 10, 2010 4:26 am

Re: pre-Rybka discussions on "cloning" Fruit

Post by BB+ » Sat Feb 12, 2011 4:06 am

So the person that made the false accusation hold 0 responsibility?
I agree that this could be a problem. For instance, in FIDE events, typically someone making an appeal makes a 200 euro deposit or something, and the appeals committee can choose not to refund this if they find the accusation to be overly frivolous. One would hope the complainant had at least some evidence in the List case.

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: pre-Rybka discussions on "cloning" Fruit

Post by kingliveson » Sat Feb 12, 2011 4:15 am

BB+ wrote:
So the person that made the false accusation hold 0 responsibility?
I agree that this could be a problem. For instance, in FIDE events, typically someone making an appeal makes a 200 euro deposit or something, and the appeals committee can choose not to refund this if they find the accusation to be overly frivolous. One would hope the complainant had at least some evidence in the List case.
Definitely a deterrent to bogus claims.
PAWN : Knight >> Bishop >> Rook >>Queen

BB+
Posts: 1484
Joined: Thu Jun 10, 2010 4:26 am

Re: pre-Rybka discussions on "cloning" Fruit

Post by BB+ » Sat Feb 12, 2011 8:36 am

More on the LION case (emphasis added, though I don't know if that's the official ICGA line or not): http://computer-chess.org/doku.php?id=c ... ngine_list
March 17, 2008 – LION++ by Giancarlo Delli Colli from Italy has been removed from the clone list. The ICGA ejected this engine from its tournament because it was determined to be a clone of Fruit. Sources: (ChessNinja) (Internet Chess Club) The tournament application of LION++ to the prestigious ICGA's 14th Computer Chess Tournament failed to mention its history: because of this application form error it violated ICGA's clone rule. The LION++ code was commonly known to be a Fruit derivative and the author was not trying to keep a secret, therefore it is not a true clone. It seems the author simply misunderstood the tournament rules.
I remember chatting with ZW prior to Kanazawa, on whether it was worthwhile to point out that Rybka 4 was now using the magic multiplication code from Buzz. I figured it was not worthwhile, as even if Rybka forgot to mention this on the entry form (already unlikely), such a factoid could simply be appended ex post facto. But maybe not...

Incidentally, the ChessNinja link has this opinion (from 2006) regarding the WCCC:
It's a hotly contested prize, but the pros pay more attention to the myriad computer rating lists and epic head-to-head matches of hundreds of games between engines.

Post Reply