The Evidence against Rybka

Code, algorithms, languages, construction...
wgarvin
Posts: 47
Joined: Thu Jul 01, 2010 3:51 pm
Real Name: Wylie Garvin

Re: The Evidence against Rybka

Post by wgarvin » Thu Oct 06, 2011 5:34 pm

No. What I'm saying is that the semantics described in Zach's document for the "feature" which Fruit calls RookKingFileOpening, are also present in Rybka.

Now that I actually look at Zach's document, I see that the Fruit code using RookKingFileOpening actually looks like this:

Code: Select all

op[me] += RookKingFileOpening - RookSemiKingFileOpening;
The compiler obviously folded the two constants together. Optimizing compilers usually do this even at -O0 because its faster than not doing it.

Regarding IDA, maybe you made a mistake with its search feature? I found the values using UltraEdit-32 which can search for specific byte sequences in hex mode. Anyway, they are there.

wgarvin
Posts: 47
Joined: Thu Jul 01, 2010 3:51 pm
Real Name: Wylie Garvin

Re: The Evidence against Rybka

Post by wgarvin » Thu Oct 06, 2011 5:55 pm

Ed, look at it this way:

Suppose you are Zach. You are going through the Rybka eval trying to match it up with Fruit. In your left hand, you have a snippet of C++ code from Fruit (the one given in the report that uses RookKingFileOpening, I cant quote it easily on this cellphone keypad). In your right hand, you have some assembly instructions from Rybka, lets say from about 0x401b73 to 0x401b94. You compare them semantically to see if they are the same. Hmm, three if-tests on the left, three compare-and-branch pairs on the right. The nesting is not identical, it looks like Fruit had to compute some extra values inside first if-test which Rybka already has available. The conditions are not literally identical, but after REing several similar features its not hard to work out what it does on the Rybka side. So you're Zach, and you know that not everyone can read a disassembly, so you convert it back into equivalent C pseudocode. You use the same names as Fruit uses, to emphasize the similarity of the structure. You split the 853 into two separate constants because that's very likely what the Rybka source had in it before the compiler folded them together.

Can you prove that it was the compiler folding it together rather than Vas authoring it from scratch that way? No, but it is semantically equivalent. If we aren't going to allow such assumptions, then its necessary to mangle the Fruit code by performing (by hand) constant folding, eliminating common subexpressions and partial redundancies, hoisting loop invariants, etc. Which would still show the semantic equivalence, but is a lot more painful and error-prone way to do the comparison, and I think it would also be harder for non-experts to evaluate the results of the comparison.

The reality is that when comparing pre-compiler Fruit code against post-compiler Rybka code, you have to make allowances for transformations that might have been done by the compiler.

wgarvin
Posts: 47
Joined: Thu Jul 01, 2010 3:51 pm
Real Name: Wylie Garvin

Re: The Evidence against Rybka

Post by wgarvin » Thu Oct 06, 2011 6:26 pm

wgarvin wrote:No. What I'm saying is that the semantics described in Zach's document for the "feature" which Fruit calls RookKingFileOpening, are also present in Rybka.

Now that I actually look at Zach's document, I see that the Fruit code using RookKingFileOpening actually looks like this:

Code: Select all

op[me] += RookKingFileOpening - RookSemiKingFileOpening;
The compiler obviously folded the two constants together. Optimizing compilers usually do this even at -O0 because its faster than not doing it.
I guess another way to look at it, is that Zach "un-folded" one value into two, so he could assign them the same chess-programmer-meaningful names that were used in Fruit.

This "un-folded" expression has no run-time semantics that could distinguish it from a single literal. That's why compilers are allowed to fold it into a literal in the first place! If you compile Fruit, all but the dumbest of compilers will fold the Fruit version of that expression into a single literal too.

There's no way to prove the Rybka source contains (or does not contain) the "unfolded" expression, just like we can't tell what the variable names might have been in the Rybka source code. Its basically irrelevant to the comparison anyway, since it doesn't affect the run-time semantics.

If we had Vas's source code from 2006 (and some chain of trust to ensure it hadn't been tampered with) then it would be possible to see how he split up his constants. Instead, we have to content ourselves with showing the similarities in the run-time semantics (i.e. what survived the compilation process).

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: The Evidence against Rybka

Post by hyatt » Thu Oct 06, 2011 6:58 pm

It is obvious what has happened. Ed/Chris want to try to find some small "crack" in the analysis that they can slip something into and try to pry it open into a larger crack. For example, Ed complained that some asm instructions were out of order. If you know how the compiler tries to pre-load things at the top of a procedure (when it has as many registers are there are on x86_64) then you know that it will "lift" instructions with long latency back as far as it can, to reduce the wait time when you get to the actual instruction that needs the data. Or for non-memory-access instructions, the compiler will, in a peephole stage of optimization, shuffle the instructions a bit to improve / reduce pipeline stalls (less significant on OOE processors, but there are plenty of non-OOE processors still around). So Mark just politely moved an instruction here and there to move it down to where it really "fits" and that showed that nobody had looked at the report and found the out-of-order memory addresses. Even though it was done to help. Now we get into the argument that x = x + c and x = x + c2 - c1 are "semantically different" even though one can prove that c == c2 - c1 because they are all constants. I have referred Chris / Ed to a net search to get a grasp of semantic equivalence, because by their definition the two expressions (3 + 3) and (2 * 3) are NOT semantically equivalent. Yet they absolutely are. With that kind of basic misunderstanding of the concept, I don't see why they are trying to argue about whether something is semantically equivalent or not, since they obviously don't know what the term means in the first place.

If you REALLY think you are going to get anywhere with Ed, good luck. I've been trying. It has been a big waste of time. Just watch your punctuation, as if he/Chris can find ANY little mistake, that is justification to discount the entire post...

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

Re: The Evidence against Rybka

Post by orgfert » Thu Oct 06, 2011 7:51 pm

Rebel wrote:
BB+ wrote:
What is this code for? - please don't tell me it's from the UCI parser....
I removed the comments, as it appears that's been called "fantasy code". Perhaps I should just give up trying. :roll:
No, please don't :lol:

But as you are used to criticize RF postings here I was wondering why you (yet?) did not address the what's called Fruitication issue.
You could always try demonstrating "fruitification" with another program on as many points to make your point. If you're unable to make that work, I'd say such protests are out of gas, if not hot air. You might then be forced to agree with what it obvious to most everyone else, that odds are indeed "1 in a billion".

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: The Evidence against Rybka

Post by hyatt » Thu Oct 06, 2011 8:20 pm

orgfert wrote:
Rebel wrote:
BB+ wrote:
What is this code for? - please don't tell me it's from the UCI parser....
I removed the comments, as it appears that's been called "fantasy code". Perhaps I should just give up trying. :roll:
No, please don't :lol:

But as you are used to criticize RF postings here I was wondering why you (yet?) did not address the what's called Fruitication issue.
You could always try demonstrating "fruitification" with another program on as many points to make your point. If you're unable to make that work, I'd say such protests are out of gas, if not hot air. You might then be forced to agree with what it obvious to most everyone else, that odds are indeed "1 in a billion".

I have already made THAT suggestion. They seem to think that one can take a binary executable, dump it to an asm file, and then make it look like ANY program. How they don't get "semantic equivalence" is beyond me. But, simply, if the executable and the source are not semantically equivalent, then there will never be any way to make that asm fit the C source that is not SE.

Just when you think people understand something, something new comes up and makes you go "WHAATTT???"

Although in this case, I think they understand, they just want to create a false/deceptive impression that this stuff doesn't work. Which would be news to students in my CS330 class that do some of this. :)

Prima
Posts: 328
Joined: Tue Dec 14, 2010 6:12 am

Re: The Evidence against Rybka

Post by Prima » Thu Oct 06, 2011 9:59 pm

hyatt wrote:Although in this case, I think they understand, they just want to create a false/deceptive impression that this stuff doesn't work. Which would be news to students in my CS330 class that do some of this. :)
In fact, this was/is the very conclusion I arrived at. Otherwise these folks would have to be completely devoid of common sense, although that shouldn't be completely dismissed either. Too bad they can't abrogate the ICGA rules and/or GPL license. Their viewpoint & history of Rybka's sacrosanct is over. :D

With the assiduous Rybka-deception out the window and everything in the open, all that's left for them is to grasp at straws, disseminate lies, and the drug cartel mentality & lawlessness over there, if refuted or beat down :lol:

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

Re: The Evidence against Rybka

Post by orgfert » Thu Oct 06, 2011 11:08 pm

Rebel wrote:I assume there is rational explanation for this ...
The following just might fall within the scant capabilities of Rybka embusques. Determine if any engines beside Fruit and its un-cromulent offspring find themselves at sea in this position.
http://www.talkchess.com/forum/viewtopi ... 233#427233

Ancalagon
Posts: 15
Joined: Sat Sep 11, 2010 1:24 pm

Re: The Evidence against Rybka

Post by Ancalagon » Fri Oct 07, 2011 12:46 am

orgfert wrote:
Rebel wrote:I assume there is rational explanation for this ...
The following just might fall within the scant capabilities of Rybka embusques. Determine if any engines beside Fruit and its un-cromulent offspring find themselves at sea in this position.
http://www.talkchess.com/forum/viewtopi ... 233#427233
It is however, only one position. I found that the last 100 versions of Rainbow Serpent actually could not solve this anymore, all of them showing 0.00 scores, and the ones before build 224 could. It had nothing to do with Transposition Tables in this case, but fawlty Step 14C "Double Pass Stand Pat Futility Pruning" :) I can assure you that the affected code is not present in Fruit either/or Rybka, unless someone copied it from the free search.cpp that is out there somewhere, but seeing it is buggy as #$@ I hope that no one has. Anyway thanks very much to Harm-Geert working on Sparctacus endgame theory for the Open NK next weekend, or I would probably never have found this out, I never test any of those changes by actually playing testgames, so from time to time the engine has to undergo serious regression therapy. In this case of about 100 versions.

Eelco

With "Double Pass Stand Pat Futility Pruning" commented out it works again:


8/6k1/1p6/6P1/p1p5/P1P2K1p/2P2P2/8 b - -

Engine: eXperimental Tommy Cooper - Rainbow Serpent Build 324 (Athlon 2009 MHz, 48 MB) by Tord Romstad, Marco Costalba, Joona Kiiski

1/01 0:00 +1.05 1...Kg6 (12) 0

2/02 0:00 +0.44 1...Kg6 2.Kg3 (156) 3

3/04 0:00 +0.20 1...Kg6 2.Kg3 Kxg5 3.Kxh3 (1.108) 24

4/04 0:00 +0.20 1...Kg6 2.Kg3 Kxg5 3.Kxh3 (2.869) 62

5/06 0:00 0.00 1...Kg6 2.Kg3 Kxg5 3.Kxh3 b5 4.Kg3 (5.111) 82

6/15 0:00 +0.12 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.f3 Ke5 6.Kg3 Kf5 7.Kf2 Kf4 8.Ke2 Ke5 (9.216) 148

7/14 0:00 +0.08 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kg4 6.Ke2 Kf4 7.f3 Ke5 8.Ke3 (17.986) 230

8/14 0:00 -0.10-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kg4 6.Ke2 Kf4 7.f3 Ke5 8.Ke3 (29.824) 320

8/12 0:00 -0.15 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kg4 6.Ke2 Kf5 7.Ke3 (36.988) 339

9/14 0:00 -0.16 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kg4 6.Ke2 Kf5 7.Ke3 Ke5 8.f3 (47.629) 436

10/18 0:00 -0.04 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kf4 6.Kf2 b5 7.Ke2 Kf5 8.Ke3 Ke5
9.f4+ Kf5 10.Kf3 (66.230) 473

11/18 0:00 -0.24-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kf4 6.Kf2 b5 7.Ke2 Kf5 8.Ke3 Ke5
9.f4+ Kf5 10.Kf3 (107.984) 531

11/14 0:00 -0.28 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kg3 Kf5 7.f4 Ke4 8.Kg4 (140.175) 599

12/18 0:00 -0.60-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kg3 b5 7.f4+ Kf6 8.Kf3 Kf5
9.Ke3 Ke6 10.Ke4 (222.500) 678

12/16 0:00 -0.52 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kg3 b5 7.f4+ Kf6 8.Kg4 Ke7
9.Kg5 (247.003) 688

13/24 0:00 -0.56 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Ke4 8.f3+ Kd5
9.Ke3 Kc5 10.Ke4 Kd6 11.f4 Ke6
12.f5+ Kf6 13.Kf4 (265.005) 706

14/20 0:00 -0.64 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Ke5 8.Ke3 Kd5
9.f4 Ke6 10.Ke4 Kf6 11.f5 (334.294) 714

15/22 0:00 -0.60 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Kf5 8.Ke3 Kf6
9.Ke4 Kf7 10.f3 Kf6 11.f4 Ke7 12.Ke5 (391.496) 737

16/26 0:00 -0.64 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Ke4 8.f3+ Kf4
9.Kf2 Kf5 10.Ke3 Ke5 11.f4+ Kf5
12.Kf3 Ke6 13.Ke4 Kf6 14.f5 (468.667) 749

17/26 0:00 -0.66 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Ke4 8.f3+ Kf5
9.Ke3 Ke5 10.f4+ Kf5 11.Kf3 Kf6
12.Kg4 Kg6 13.f5+ Kf6 14.Kf4 (528.074) 751

18/28 0:00 -0.78-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Ke4 8.f3+ Kf5
9.Ke3 Ke5 10.f4+ Kf5 11.Kf3 Kf6
12.Kg4 Kg6 13.Kf3 Kf5 14.Kg3 Kf6 (727.935) 763

18/24 0:01 -0.80 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kf5 6.Kg3 Kg5 7.f4+ Kf5 8.Kf3 b5
9.Kg3 Ke6 10.Kg4 Kf6 11.f5 Ke7
12.Kf4 Kf8 13.f6 (802.600) 778

19/22 0:01 -0.80 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Kf5 8.Ke3 Kf6
9.Ke4 Ke7 10.f4 Kd6 11.Kd4 Ke6
12.Kc5 (1.093.983) 804

20/24 0:02 -0.92-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Kf5 8.Ke3 Ke5
9.f4+ Kd5 10.Kf3 Ke6 11.Ke4 Kd6
12.Kd4 Ke6 13.Kc5 (1.674.651) 800

20/36 0:02 -0.98 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kh2 Kf3
5.Kg1 Kf4 6.Kg2 b5 7.Kf1 Kf3 8.Ke1 Kf4
9.Ke2 Kf5 10.Kf3 Ke5 11.Ke3 Kf5
12.f3 Ke5 13.f4+ Kd5 14.Kf3 Kc6 (2.136.433) 818

21/36 0:03 -1.22-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Ke4 8.f3+ Kf4
9.Kf2 Kf5 10.Ke3 Ke5 11.f4+ Kd5
12.Kf3 Kc6 13.f5 Kd5 14.Kg4 Kd6 (2.901.107) 818

21/28 0:04 -1.54-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Ke4 8.f3+ Kf4
9.Kf2 Kf5 10.Ke3 Ke5 11.f4+ Kd6
12.Ke4 Ke6 13.Kd4 Kf7 14.Kc5 Ke6 (3.940.980) 829

21/32 0:05 -1.22++ 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Ke4 7.Ke2 Kf4 8.f3 Ke5
9.Ke3 Kd5 10.f4 Kc5 11.Ke4 Kd6
12.Kf5 Ke7 13.Kg6 Kd7 14.f5 Ke7 (4.380.177) 834

21/28 0:06 -2.08-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Ke4 7.Ke2 Kf4 8.f3 Ke5
9.Ke3 Kd5 10.f4 Kc5 11.Ke4 Kd6
12.Kf5 Ke7 13.Kg6 Kd7 14.f5 Kd6 (5.485.303) 839

21/28 0:06 -2.43++ 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Ke4 7.Ke2 Kf4 8.f3 Ke5
9.Ke3 Kd5 10.f4 Kc5 11.Ke4 Kd6
12.Kf5 Ke7 13.Kg6 Kd7 14.f5 Kd6 (5.501.490) 840

21/34 0:06 -1.93++ 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kf1 Kf3 6.Ke1 Kf4 7.Ke2 Ke4 8.f3+ Kd5
9.Ke3 Kc6 10.Kd4 Kb6 11.f4 Kc6
12.Ke4 Kd6 13.Kf5 Ke7 14.Kg6 Kd8 (5.526.104) 840

21/32 0:06 -1.97 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kf2 Kf4 7.Ke2 Kf5 8.Ke3 Ke5
9.f4+ Kd5 10.Kf3 b5 11.Ke3 Kc5
12.Ke4 Kd6 13.Kd4 Kc6 14.Ke5 Kd7 (5.656.571) 842

22/26 0:08 -3.06-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kf2 Kf4 7.Ke2 b5 8.Kf2 Kg5
9.Ke3 Kf5 10.Kd4 Kf4 11.Kc5 Kxf3
12.Kxb5 Ke4 13.Kxc4 Kf5 14.Kb4 (7.116.284) 852

22/34 0:09 -4.95 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kf2 Kf4 7.Ke2 Ke5 8.Ke3 Kf5
9.f4 Kf6 10.Ke4 b5 11.f5 Kf7 12.Kf4 Kf6
13.Kg4 Kf7 14.Kg5 Kg7 (8.083.633) 859

23/36 0:10 -4.95 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kf2 Kf4 7.Ke2 Ke5 8.Ke3 Kf5
9.f4 Ke6 10.Ke4 Kf6 11.f5 Ke7 12.Ke5 Kf7
13.f6 Kg8 14.Ke6 Kf8 (8.679.591) 858

24/25 0:11 -5.11 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kf2 Kh5 7.Kg3 Kh6 8.Kg4 Kg7
9.Kg5 Kh8 10.Kf5 Kg8 11.f4 Kf7
12.Ke5 Ke7 13.Kf5 Kf7 (9.627.431) 860

25/40 0:13 -6.02 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kf1 Kf5 7.Ke2 Kf4 8.Kf2 b5
9.Ke2 Ke5 10.Ke1 Kf5 11.Kf1 Kg6
12.Ke2 Kf7 13.Ke3 Kg8 14.Kf4 b4 (11.838.602) 862

26/31 0:20 -7.03-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kf2 Kg6 7.Ke3 b5 8.Ke2 Kg7
9.Ke3 Kf7 10.Ke4 Kf8 11.Kf4 b4
12.cxb4 c3 13.Ke4 Ke7 14.f4 Kd8 (18.222.635) 885

26/36 0:45 -9.76-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kg5 6.Kf2 Kg6 7.Ke3 b5 8.f4 Kf5
9.Kf3 Kg6 10.Ke4 Kh6 11.f5 Kg7
12.Kf3 Kf8 13.Ke3 Ke7 14.Kf4 Kf7 (42.923.403) 945

26/13 0:49 -9.77++ 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kf4 6.Kf2 b5 7.Ke2 Kf5 (46.483.792) 930

26/22 1:27 -15.93 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf5 4.Kg3 Ke4
5.f4 Ke3 6.f5 Ke2 7.f6 Kd2 8.Kg4 Kxc3
9.f7 Kd4 10.f8Q Ke5 11.Kf3 c3 12.Ke3 (76.167.593) 866

27/17 3:59 -26.34 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Kg4
5.f3+ Kf4 6.Kf2 b5 7.Ke2 Kg3 8.Ke3 Kg2
9.f4 Kf1 (190.316.853) 796

28/04 9:47 -37.90 1...Kg6 2.Kg3 Kxg5 3.Kxh3 (481.935.961) 820

29/09 21:03 -57.01 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kg1 Kg4 (1.110.408.233) 878

30/31 27:00 -84.50 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Ke5
5.Kg3 Kf6 6.Kf4 Ke6 7.Kg5 Kd5 8.f4 b5
9.f5 Kd6 10.f6 b4 11.cxb4 Ke6 12.b5 Kd5
13.f7 Kd4 14.f8Q Kc3 (1.383.843.179) 854

31/31 27:16 -84.50 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Ke5
5.Kg3 Kf6 6.Kf4 Ke6 7.Kg5 Kd5 8.f4 b5
9.f5 Kd6 10.f6 b4 11.cxb4 Ke6 12.b5 Kd5
13.f7 Kd4 14.f8Q Kc3 (1.394.241.513) 852

32/31 27:21 -84.50 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Ke5
5.Kg3 Kf6 6.Kf4 Ke6 7.Kg5 Kd5 8.f4 b5
9.f5 Kd6 10.f6 b4 11.cxb4 Ke6 12.b5 Kd5
13.f7 Kd4 14.f8Q Kc3 (1.398.040.938) 851

33/31 27:29 -84.50 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 Ke5
5.Kg3 Kf6 6.Kf4 Ke6 7.Kg5 Kd5 8.f4 b5
9.f5 Kd6 10.f6 b4 11.cxb4 Ke6 12.b5 Kd5
13.f7 Kd4 14.f8Q Kc3 (1.404.005.032) 851

34/09 28:05 -84.52 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.f3 Ke3 (1.427.940.617) 847

35/24 30:38 -84.52-- 1...Kg6 2.Kg3 Kxg5 3.Kxh3 Kf4 4.Kg2 b5
5.Kg1 Kf3 6.Kf1 b4 7.cxb4 Kf4 8.b5 c3
9.Kg2 Ke5 10.Kg3 Ke6 11.f4 Kf5 12.b6 Ke4
13.b7 (1.558.279.989) 847

best move: Kg7-g6 time: 57:55.390 min n/s: 950.328 nodes: 3.302.760.850

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

Re: The Evidence against Rybka

Post by BB+ » Fri Oct 07, 2011 3:45 am

Uly wrote:What is being discussed is if the report manages to show proof of "code copying" or just of "dependence" [Dagh Nielsen]
I don't know exactly what these terms mean [to Dagh], but it probably doesn't matter (is being too "dependent" sufficient as a sign of "non-originality"?). In the end, there will be some subjective determination, as with "substantial similarity" in general. E.g., the LION++ decision had to consider what "close" derivative meant.

With Rajlich, the verdict of the ICGA Board agreed with the Panel consensus that the "originality" line had been crossed, and furthermore it seems that this yes-no decision was fairly clear in the minds of most involved [unlike any punishment, where there was much disagreement]. It remains to be seen whether the ICGA will suffer an exodus of programmers from this, or whether VR will Fight the Ban successfully (presumably via his end-user base).

I might I note that I personally had a different construal of "code copying" back when I looked at R3/IPPOLIT, but then later (after leaving the RF) realised it was kinda silly to restrict this phrase to merely literal aspects. When I began to research copyright issues in more depth, it was no surprise to me that more than just literal aspects are "protected". There were some posts back in 2008 by Christophe Theron that tried to demonstrate this.
Rebel wrote:But as you are used to criticize RF postings here I was wondering why you (yet?) did not address the what's called Fruitication issue.
I usually stop reading RF threads when they exceed one page (50 posts). If I find time, and find it to be relevant, I might say more about any issue you raise.
Rebel wrote:I am also curious if you can explain why dozens of values simply can't be found in the R1 executable, a few examples.
From Zach's document:
Zach is the more relevant person to ask about his document.

Post Reply