I will contribute them to Webster
> Copied semantics -> copied code
You are forgetting a couple of things to mention,
1. That semantics is a very creative process open to all kind of wishful thinking;
2. That I was ready to accept the creative work of years by Zach and BB because it's hard to deny quality when you see it;
3. That as such I accepted their AUTORITHY as RE experts in the F/R matter;
4. That this BASIC TRUST fell apart when Zach & BB started to deny several valid points by the opposition.
And now we have the "fruitification case".
Where is Zach ?
BTW "semantics" is NOT "creative". You can not possibly prove semantic equivalence between the rybka binary and crafty source, for example. "semantic equivalence" is a very specific characteristic that proves both programs do the same things in the same way in the same order in the same ... <you name it>. That's the definition of "semantics".
If you think this "fruity" nonsense you and Chris are espousing is sensible, then if the FSF ends up in court with Vas, you ought to be SURE and point out how this process is unfair, biased, and unusable in a court of law. Don't be offended at the guffaws, however. There ARE people on the planet that know how to show that code was copied, and semantic equivalence is the #1 idea if both sources are not available. In fact, it is the #1 idea when both sources ARE available. A google search on "detecting software plagiarism" should give you something to read that will explain that this is actually a well-known and frequently-used methodology...
Some of us already knew this, of course...
> BTW "semantics" is NOT "creative".
Well, inventing 4 non-existing values and variable names is pretty creative
static const int RookSemiOpenFileOpening = 64;
static const int RookSemiOpenFileEndgame = 256;
static const int RookOpenFileOpening = 1035;
static const int RookOpenFileEndgame = 428;
they argue these steps:
a) assume as a temporary premise that Rybka is a semantic copy of Fruit
b) take the Rybka asm and turn it into a totally Fruitified source, everything possible (even including their variable splitting and source code substitution) is allowed
c) IF the assumption was valid, then the Fruitified Rybka will now match will Fruit source 100%
However if the match is not 100% (and it certainly is not 100% by a very long way) they have problems:
Fact: they were unable to validate the original premise that Rybka semantically equals Fruit
whatever value they put on overlap from their failed test is TOO HIGH because the test was done with an artificially Fruitified Rybka. They delude themselves as to the overlap level.
Logical consequence: Because their justification for using Fruitified source was to test their "semantic identical" assertion and this test has now failed, then they have to stop and desist using the totally Fruitified source of Rybka in any other discussions and arguments, and return to using a raw and simple Rybka reverse-engineered-source with no fancy adjustments. Else they will continue to delude themselves and others on the degree of matching.
Hyatt doesn't accept this however, and insists on being able to use the Fruitified Rybka source in all and any discussions. I guess he is so convinced of the Rybka-Fruit identity, he thinks he can overrule his failed test.
> You and your attack team cut and pasted source code from Fruit into the reverse engineered source code of Rybka in order to make the Rybka source listing look like Fruit.
Just a snippet above from your thread. But I have said this exact same thing from the beginning, because a person who did not like what was going on talked a little too much. But no one believed me, and when I ran it by you and Sven much earlier- you were not impressed. At least now you see the light- because it damn well did happen.
Furthermore, it really does not matter. I took many things from the Max Euwe books and implemented it myself. Vas took the Fruit book and did the same. Like many more programmers. Nothing wrong as long as you write your own code.
What needs to be proven is "copied code".
So far the opposition has "0.0".
Not good enough.
You evaluate evidence, not knowing what in the world you are doing. Then you judge your results and say "I have proven this..."
You have done exactly nothing except show that there really is something wrong with you...
Can you explain why you are acting so hostile towards Ed and Chris?
This is getting very personal don't you think?
When do you expect that all this arguing will stop?
It seems to me that they have their points and you also seem to have some points.
Is it only you against the rest of the Rybka world? Why is for instance mr Theron not answering any of the questions.
Or mr. SMK? or mr Uniacke? or or or.....
> They were not directly involved in the 5+ years of this investigation.
I would agree it is highly likely they are a lot smarter than you. We agree on that. But your excuse for why they are not here is silly. Being smarter than you- they see nothing to gain by getting ripped to shreds. They are also slowly but surely beginning to see the light, tho they are not ready yet to admit it. Everything about this case is coming to pass just as I said it would. And right along with my timetable. When it is all over, and Vas has been cleared- be glad it's him. Because if it were me in his place I would have a couple of asses in my hip pocket.
hahahahaha!!! Obvious innit?!
> Can you explain why you are acting so hostile towards Ed and Chris?
It's because they beat him like the proverbial red-haired step child.
All along Bob has been saying this is about source code copying but Trotsky showed us that source code that looks completely different from Fruits could match the Rybka executable. The attackers just chose the Fruit code to make Vas look guilty but there are many different ways that Vas could have written his code. Using forum search you can see Bob digging his "this is about source code copying" hole ..., here are some gems:
"However, in the confines of discussing computer program copyright, the only "function" that counts is source code, because we are talking about the programmer's expression of an algorithm, AKA the programmer's "source code""
"When are you going to get it into your THICKER head that we are talking about copied source code, which is original, as opposed to copying ideas"
"It is just another silly attempt to derail the discussion from copying actual source code, which is against rules and laws, and divert it to "copying ideas"..."
"Everybody uses our "ideas". They did not copy our source code."
"I (and the panel) have been crystal clear from day 1, this is about copying source code, _not_ about copying ideas. "
"Ideas are acceptable. Source code, on the other hand, can not be copied..."
"You keep up with this crap of copying ideas, which is totally fine. It is the source code that can't be copied, and it _really_ is that simple..."
"The panel was supposed to look at Rybka and Fruit and determine if source code was copied. "
"Nobody made Vas copy source code. "
"The real issue is about source code theft. "
"We are talking about a source code B that is based on source code A. Not ideas. Not advice. But actual source code..."
Yes, two people COULD do anything. I can prove you can't jump over a 10 story building. I can't prove no one can unless I can somehow test EVERYONE. But once I discover that the first 1,000,000 I test can't do it, I have a pretty good basis for claiming that the probability of anyone doing that is close enough to zero to discount. That's where we are here...
You and your attack team found two CONSTANTS in the Rybka executable, in code you figured was looking at open and semi open files.
You were entitled, as part of reverse engineering the source code, to maintain each CONSTANT as a numerical value in the source code, or, at a stretch, if you knew what the CONSTANT did, to replace it with a NAME.
What you were not entitled to do was to REPLACE THE CONSTANT with TWO ADDITIVE or SUBTRACTIVE CONSTANTS that were lifted by cut and paste, from the Fruit source. Because you have ABSOLUTELY NO IDEA what possible combo, if any, went to make that CONSTANT in the Rybka executable.
So, next time you find a CONSTANT, say 120, you imagine you can replace it in the RE source with 100+20, or 150-30, or 3*40, or 1000-880, or 1001-881, or 1002-882, or anything else without any evidence?
But what you did was CRIMINAL. You replaced each CONSTANT with two other CONSTANTS to which you gave Fruit names, in fact you cut and pasted it direct from the Fruit source.
You CRIMINALLY altered the source code evidence with mal-manufactured, cut and paste, incriminatory material, deliberately designed to fool the panel, computer chess in general that Rybka contained Fruit source.
Yes, well, your reverse engineered Rybka source does indeed contain Fruit source now. Because you cheatingly put it there.
There was no cheating here, period. We didn't "guess" we were looking at open/half-open file code. We VERIFIED it. If you can't, tough. Not everyone is that unskilled...
Trouble is you've been doing that for a while now, telling us look at something new, only your "something new" is full of cheats each time.
> Once you read some of that you will realize that the chances of two different people writing two different programs, independently, yet having so many blocks of code with identical semantics is near enough to zero to call it zero. Look that up before you continue, as you are WAY off the mark.
But there is no obligation for Vas or any other CC programmer to write his engine independently from other programs. And NOBODY is doing things independently.
I think this is a fundamental flaw in your whole intuitive grasp of the situation:
1) Yes, students must do every assigned thing on their own, to prove they master the full process.
2) No, CC programmers are not obliged to come up with everything from scratch, but can readily take ideas and algorithms from each other.
The question is whether Vas copied game playing source code. The question is not whether he came up with his source code independently from Fruit and others.
So, for instance, the PSTs. Yes, Vas obviously depended on known ideas to come up with his tables. But no, there is zero evidence of copied source code in this example.
It just does NOT happen. If you think that ideas translate to identical code, you are simply wrong. Again, look up "computer program plagiarism detection" and do some reading. Student assignments are FAR simpler than a chess evaluation, or a chess search, or a chess move generator. And with those simple assignments, semantic equivalence analysis (done by software since we have the source for all the student programs) does not "accidentally" find semantic equivalence. Programs are too big, too many steps. Only way to match that closely is to copy. That's all there is to it...
So, let's take the PSTs. Vas implemented his PSTs in a completely different way than Fruit. When people point this out to you, you reply "but the chances he came up with his PSTs independently from Fruit are zero" (unlike YOU, who just happened to construct a Fruit-identical PST by chance...). So you begin to use the broad definition of independent, covering both ideas and source code.
However, there is only evidence that Vas depended on the idea. The is zero evidence that he copied the source code.
Then, in further discussions, you systematically blur the lines between ideas and source code by talking about "semantic equivalence". And, here, with a bit of handwaving, you cover more and more idea stuff into "semantic equivalence". So even when it is pointed out that there is no evidence of source code copying, you claim that, oh well, things are semantically equivalent at some deeper level.
Then when discussions go to this deeper level, and it is pointed out that if you go this way, all similar algorithms are semantically equivalent (and can be translated to equivalent math for instance), then what do you do??? You go circle back to the independence arguments and the "overwhelming amount" of evidence of Vas depending on Fruit.
But that's exactly the point. It's OK to depend on, while it is not OK to copy game playing source code. Pointing out some interdependence and some semantic equivalence is NOT evidence of source code copying. Since...
1) Interdependence is a given in this CC context.
2) Semantic equivalence between implimentations is a given at some level or another.
Vas CLEARLY implemented PSTs in a different way than Fruit. Now, if you were to judge student assignments, you would say, "heck, why do their PST values mimic each other to this degree? Can't be a coincidence..."
HOWEVER, it is no problem in a CC context that it isn't happening by chance. Since there is no obligation of independence, unlike in a student assignment.
So, basically, you can take all your posts with arguments building on "independence" (and they are many) and throw them out, being based on a strawman as they are. They are simply not relevant for the discussion about whether Vas copied game playing source code or not.
One MUST use semantic equivalence. There is no other way to compare a binary to a source. It is the STANDARD way to compare a binary to a source. This is not exactly the first time this has been done. It is not the last time it will be done. The argument is not a strawman at all. It is simply a well-defined technique that you don't understand. Nothing more, nothing less...
> Why don't you explain EXACTLY how "Vas implemented his PST values differently than in Fruit?" Please show some code to support that. Because once you copy enough eval code, copying the PSTs is pretty much necessary to work with THAT evaluation. Nobody has pointed out "Vas implemented his PSTs in a completely different way than Fruit. When people point this out to you, " Not one person. Because no one KNOWS how he came up with his values. That is your imagination. The most likely explanation is that when he copied all the other code, he copied the PST data.
> One MUST use semantic equivalence. There is no other way to compare a binary to a source. It is the STANDARD way to compare a binary to a source. This is not exactly the first time this has been done. It is not the last time it will be done. The argument is not a strawman at all. It is simply a well-defined technique that you don't understand. Nothing more, nothing less...
The numbers in the PST do not represent "semantic equivalence" at all.
You said above: "Because no one KNOWS how he came up with his values."
I rest my case.
There is "no case to rest." The semantic equivalence comes into play to compare assembly language from the Rybka binary to C source from Fruit.
Given all the copied source, it is perfectly reasonable to believe that he copied the PST values that go along with the eval code he copied..
Seems simple to "most".
> One MUST use semantic equivalence. There is no other way to compare a binary to a source.
And shortly later:
> Who said the PST values had anything to do with semantic equivalence in the first place?
So we can now agree to toss the whole PST chapter out of the window since it does not imply source code semantic equivalence, please?
PS. I notice how you now spell out COPIED in big letters, so as to fool the feeble minded. However, it's a nother trick of yours, where you fail to distinguish between copying of source code, and copying of numbers. It's really all a word game to you that you must win at any price, isn't it?
2) Vas implemented PSTs by loading tables, Fruit didn't. Two different implementations, two different source codes. This has been pointed out to you thousands of times.
3) You write:
> Because no one KNOWS how he came up with his values. That is your imagination. The most likely explanation is that when he copied all the other code, he copied the PST data.
And thus you fall back into the same trap of thinking "independence or not" again. I don't care how he came up with his Rybka values. I don't care how you came up with Fruit-identical values in Crafty. The relevant thing is how the PST stuff was implemented in Rybka on a code basis, and this was done in a clearly different way, and particularly in terms of a narrow sense of semantic equivalence with regards to source code.
4) Sure, you must use semantic equivalence when comparing binary to source. In a narrow sense relevant to source code equivalence. The problem is that you muddle the waters by hugely broadening the concept of semantic equivalence to include algorithmic equivalence whenever it suits your purpose. And you never spell it out. It's a trick. You in effect argue that "algorithmic equivalence" implies "source code equivalence", which is clearly false. To hide your false argument, you just put it all into the basket of"semantic equivalence", as if this is silly word game in a students' discussion club.
5) You still have not given ANY answer to being called out on using the "independence strawman" (instead, in your post, you "translate" to a "strawman about semantic equivalence" - another strawman to prevent answering the question posed - it's really hard work to keep track of your strawmen...).
6) I can tell you what your intuitive problem is. In a student connection, you are interested in "independence or not". You must make sure that they made the assignments themselves, without taking a more than cursory glance on other students work. So you in effect check for two things, dependence, or semantic equivalence (which would imply dependence). One out of two is enough to reach a guilty verdict here.
However, in a CC context, one out of two is NOT enough. Dependence is a given and it just does not imply source code copying. But you intuitively reach for the guilty verdict as soon as you see dependence, being conditioned to think in this way from dealing with thousands of student assignments.
Look, let's cut to the point. Answer yes/no to the following two questions:
A) Do the Rybka PSTs imply dependence and algorithmic similarity?
YES, or NO?
B) Do the Rybka PSTs imply copying of gameplaying source code?
YES, or NO?
Once you can wrap your mind around answering A) YES B) NO without immediately going on in a "but, but, but...." loop, you will be on your way to a more peaceful state of mind and a more worthwhile contribution to CC in current times.
Another thing is whether Vas "took too much" in terms of using near-identical-to-Fruit algorithms. I don't know, and it's going to be a judgement call and consensus call anyway. The panel COULD have followed this approach systematically, instead of using, say, PST fantasy code to hint at source code copying.
I do have a theory why this was not done, though. See, if you had done this instead, then you would immediately agree that even if Rybka 1.0 "took too much algorithmic stuff" relative to some grey line, then for sure 2.3.2 or 3.0 DID NOT.
But you wouldn't be happy with this outcome...
So, instead, you demand and refuse to believe that Vas could have cleared Rybka 3 from all "Fruit traces". But then you put a demand on Rybka that is not put on any other chess angine, namely that it is not allowed to use any Fruit algorithms at all. Of course, you don't put it like this, because you instead say that one cannot clean up source code that fast and remove all traces -- EVEN THOUGH for instance the Rybka PST stuff was cleaned up by birth in terms of source code. Again, the unspoken failure to distinquish between algorithms and source code is at play.
So, to sum up:
1) When it suits you, you fail to distinguish between dependence and copying of game playing source code.
2) When it suits you, you fail to distinguish between algorithmic equivalence and source code equivalence.
Overall, your argument structure in this whole discussion is full of false implications.
YES, or NO?
B) Do the Rybka PSTs imply copying of gameplaying source code?
YES, or NO?
Question A. Absolutely yes
Question B. Absolutely yes.
Clear enough for you?
Overall your summary is full of a complete lack of understanding about the process used to compare the fruit source with rybka binary...
> Overall your summary is full of a complete lack of understanding about the process used to compare the fruit source with rybka binary...
Alkelele: Overall, your argument structure in this whole discussion is full of false implications.
Mr. Hyatt, Alkelele discussed not assembler code, he relies on the contradictory logic of your contributions in many threads.
Your answer is confident but seems to be contradictory regarding recent discussion.
(Imho you show a likelihood of copying source code but not an unequivocal evidence.
For most Europeans (at least Germans) "in dubio pro reo" rules, maybe US inhabitants see the accused responsible to prove his innocence (like casus Troy Davis).
In such manner there will be no consensus for ever.... )
this is totally crap, it's insane and Chris and Ed, the old heros from decades ago have reveiled the crime. Why it's a crime? Because Hyatt and his clique tried to paint Vas like a cheating criminal and Levy is dumb enough to follow. But they made a mistake. If they would have obfuscated the whole crime now, nobody would have found out, but they chose a different way. They thought that if the New York Times and other journals would describe it then nobody would ever dare to contradict it. But they were wrong, the crime is so obvious and easy to show (even I could understand the wrong logic of the alleged proof, and I am a top notch lay in programming chess), that now the whole conspiracy will flood into the drain. Now it's shown how this works. How? Well, take a look at the alleged scandal of C. de Corter which is a scandal of Levy, Amir Ban, Harvey Uniacke etc. Harvey in his delusion thought he could describe the blackmail against Corter and people would applaud him and attack Corter. Although the story is a shame. It's about Harvey who cant behave properly. And instead of criticising this guy the defenders from the clique tried to destroy the good name of Corter.
Vasik is not only a genius of chess programming but he's also through his silence and as a victim of this smear propaganda a World famous hero like Einstein. And he's still so young that he could influence this World during the next four or five decades. But then let's never forget that only the independent minds of Schroder & Whittington made the proof possible to refutate the criminal allegations of the Alabama professor Hyatt of hate and his corrupt allies in the panel who dared to vote against Vas.
> Can you explain why you are acting so hostile towards Ed and Chris?
"First they ignore you, then they ridicule you, then they fight you, then you win."
-- Mahatma Gandhi
We are obviously in stage-3 now
How do you KNOW his variable names are "non-existing"? Got the Rybka source? Would it make any difference at all in the comparison if fruit subtracts "BackwardOPen" while Zach's RE'd Rybka Source subtracts "UnknownName01"? Not to anyone that understands what is going on. You ought, just for fun, go to the FSF and locate one of their compliance engineers and send him an explanation of why you can't compare a binary to a source because you start out knowing the source you want to end up with. See what he will say. Once he stops laughing.
All I can say to the "spoke the truth" is this:
Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill