Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Support / Is it illegal to read the source of a re engineered program?
1 2 Previous Next  
- - By siam (**) Date 2011-07-18 19:26
Hello

Just two simple simple questions.

If i buy R3 or Hiarcs11 or whatever chess software today and i did some RE stuff.

1. can i publish the RE source code legally?

2. Is it allowed for everybody to read and especially use my RE work of the software i paid for?

I give it a try myself:

for 1.i don't think so.
for 2. again i don't think so. My best guess is that this exactly happened in the RYBKA Affair?

Regards
Siam
Parent - - By AWRIST (****) Date 2011-07-18 19:54
Good question, all those who did RE and then brought something of the closed code into the open of the public, comitted a serious crime that is to be taken more serious than what certain infantil boys reproached against Vas who just has gone through several models and this way prpared himself for his then yearlong World Chanpionship Winner Program Rybka.

Everybody included Komodo authors, Houdini, probably all the commercials who git 200 better software after Rybka became stolen code in public, included the Hippo family and several others like Fire, they are all guilty of software stealing and should be thrown out of the ICGA but surely not Vasik the hones and best chess programmer alive.

Bravo, Vasik, for withstanding the actual ugly character assassination by hate brothers Wegner, Hyatt, Williamson, Leffler and also Watkins, not to forget whiner Fabien Letouzey. David Levy should take the consequences out of the criminal failure. The sooner you go, the better the whole scandal could be forgotten. Do that last sacrifice for the whole community. Thanks.
Parent - By Harvey Williamson (*****) Date 2011-07-18 20:00

> Vas who just has gone through several models


Now it all becomes clear. The reason Nelson destroyed the 1st interview with Vas was so Iweta did not find out about the Playboy Models ;-)
Parent - By AWRIST (****) Date 2011-07-18 20:00
The first one who made a serious mistake when he brought something of Rybka's RE code results into public, was Chrilly Donninger from Austria. Reading is allowed and cant be forbidden but arguing with it in public or making a whole program with it and then publishing the code in open source is a serious crime.
Parent - - By TheHug (Bronze) Date 2011-07-18 20:02
You should watch your wording when you talk.
Parent - - By AWRIST (****) Date 2011-07-18 20:35
Say something about the hate campaign, not primarily about commentators from abroad. All the best.
Parent - - By TheHug (Bronze) Date 2011-07-18 20:40
I'm not saying you are talking bad language. I'm just saying you should read your statements closely before you post.

P.S.- I play chess not chess politics. And I think others should do the same.
Parent - By AWRIST (****) Date 2011-07-18 21:07
Here I could agree with you. As to my spontaneous writing, that is the only way how it can be fun. But then I'm not a native speaker. Plus the typos. For me the best is to chat a bit with the expert number one Bob Hyatt, who answers every question even from my side. That's cool. All the best to your chess ambitions.
Parent - - By cipri (**) Date 2011-07-18 20:44
Are you sure that RE is forbidden?
As far as i know, a lot of stuff in linux is based on RE. For example the ntfs driver. Of course microsoft would have forbidden that driver, if it was possible, or at least ask for money. But it seems it is not possible.
Parent - By AWRIST (****) Date 2011-07-18 20:56
No, it's not forbidden. I wrote that it's IMO unethical and forbidden  to use the knowledge of the code that was RE in public and more wrong if you publish the whole code. That was the crime of the Hippo family. They are anonymous because of the stealing crime.
Parent - By Labyrinth (*****) Date 2011-07-19 06:49
See the EULA on the mentioned products.

Publishing the exact source code of a commercial product would be asking for trouble.

So if you were Lt. Commander Data, and you reverse engineered Autocad 2012 into really clear C++ code and posted it on the web somewhere that was popular, I am sure Autodesk would seek legal action.

Unfortunately, what happened with Rybka/Fruit/Ippo is not this clear cut.
Parent - By Mec (*) Date 2011-07-19 06:55
[quote]
1. can i publish the RE source code legally?
[/quote]
NO. 100% illegal.

[quote]
2. Is it allowed for everybody to read and especially use my RE work of the software i paid for?
[/quote]
NO.
Parent - - By Peter Grayson (****) Date 2011-07-19 07:46
This may be more than you want but in the context of the the ICGA issue ...

Outline ...

It depends upon the intention. As the lawful user of software you may have the right to reverse engineer code to enable correct interfacing with other software particularly if the author has supplied insufficient information to enable you to do so.

It is difficult to envisage a chess program in this context unless you were writing  GUI software. For the ICGA investigation this was not the case.

If Fabien Latouzey or the FSF had requested or employed people to R.E. Rybka to pursue his copyright enforcement that would be acceptable although making code public would not.

The R.E. of Rybka began well before the complaint to the ICGA and then the motives of those conducting the R.E. have to be questioned.

Until such time the case against Rybka and Vasik Radjich was proven through the courts, the publishing of any code of a commercial program is a breach of the copyright protection that its author is entitled to enjoy.

In the circumstances, those who reverse engineered Rybka and have published any of that code are at  present no more ethically or morally correct than the ICGA claimed position of Vasik Radjich.

Knowing the commercial Rybka engines were not the engines used in the ICGA tournaments, the ICGA should have disassociated itself from the public disclosure of any information of reverse engineered commercial Rybka engines.

It is an interesting question as to whether those who have reverse engineered Rybka actually purchased it or did they use a "hookey" copy?

PeterG
Parent - - By Mec (*) Date 2011-07-19 08:24
It does NOT depend upon the intention. Disassembling a commercial piece of software and publishing/using the source code in whatever manner and without
asking the author requires the permission of a regular COURT.
That's why the ICGA investigators were NOT allowed to disassemble Rybka and discuss its internals in public (like they did).
The ICGA investigators are NOT a regular court, nor did they have Mr. Railich's permission of publishing the source code of Rybka.
Therefore whatever evidence was found against Rybka 1.0 beta due to reverse engineering was achieved by ILLEGAL means.
Well, Mr. Railich is a strong chess player, and the ICGA investigators have checkmated themselves by queering Rybka's license.

Also the evidence that Rybka is a copy of Fruit is ridiculous:
(1) The most fundamental data structure of a chess program is its board representation. A bitboard representation is fundamentally
different from a Mailbox representation.
(2) A chess engine's most fundamental algorithm is its search. Rybka uses PVS, which is fundamentally different from Fruit's MTDf.
(3) The evaluation function is the third major component of a chess program, and has THE major impact on the program's choice of a move.
Rybka often chooses different (usually stronger) moves than Fruit, thus its evaluation is fundamentally different from Fruit's.

So - the three most important congredients of Rybka and Fruit differ greatly. Thus Rybka and Fruit are fundamentally different.
Parent - By Peter Grayson (****) Date 2011-07-19 12:31
There seems little difference between us on these points, however, for the application of European Law, the U.K. that is a signatory to the WIPO copyright treaty as well as the U.S.A. would likely use cross references to case law. The National Law of non signatories may vary.

Much of what I have previously posted regarding the legal aspects together with this particular issue are covered as late as 2010 in

http://www.bailii.org/ew/cases/EWHC/Ch/2010/1829.html#para155

It was stated that ...

154. ...
Article 6
Decompilation (My bold type)

1. The authorization of the rightholder shall not be required (my bold type) where reproduction of the code and translation of its form within the meaning of Article 4 (a) and (b) are indispensable to obtain the information necessary to achieve the interoperability of an independently created computer program with other programs, provided that the following conditions are met:

(a) these acts are performed by the licensee or by another person having a right to use a copy of a program, or on their behalf by a person authorized to do so;

(b) the information necessary to achieve interoperability has not previously been readily available to the persons referred to in subparagraph (a); and

(c) these acts are confined to the parts of the original program which are necessary to achieve interoperability.

2. The provisions of paragraph 1 shall not permit the information obtained through its application:

(a) to be used for goals other than to achieve the interoperability of the independently created computer program;

(b) to be given to others, except when necessary for the interoperability of the independently created computer program; or

(c) to be used for the development, production or marketing of a computer program substantially similar in its expression, or for any other act which infringes copyright.

3. In accordance with the provisions of the Berne Convention for the protection of Literary and Artistic Works, the provisions of this Article may not be interpreted in such a way as to allow its application to be used in a manner which unreasonably prejudices the right holder's legitimate interests or conflicts with a normal exploitation of the computer program.

Regards,
PeterG
Parent - - By mjlef (***) Date 2011-07-19 14:02

>>Also the evidence that Rybka is a copy of Fruit is ridiculous:


(2) A chess engine's most fundamental algorithm is its search. Rybka uses PVS, which is fundamentally different from Fruit's MTDf.

>>


Nope.  Both Rybka and Fruit use PVS.  I think you might have gotten confused by some early comments by Rajlich where he said he was using MTD(f).

Rybka sometimes chooses moves differently than Fruit because Rybka is faster, some minor tuning of the eval was done and it has more selectivity than Fruit, and these all allow it o search deeper, and so find better moves.
Parent - - By Mec (*) Date 2011-07-19 15:20
Here's an interisting link for you:
http://www.stmintz.com/ccc/index.php?id=469209
And this was posted by a real expert (the programmer of the chess monster Hydra).
It has been mentioned numerous times before that Rybka used MTDf in its earlier versions, and these earlier versions are
exactly the reason why they say Rybka is a Fruit derivative. Which is not true.
It uses different data structures, a different search algorithm, and knows every single evaluation term which is used by Fruit
plus many many more -> which are definitely a result of Mr. & Mrs. Railich's better domain knowlege of chess and couldn't possibly have
originated from weak chess players like Letouzy, Hyatt or whoever else says he wrote Rybka instead of Mr Railich).
So saying a program which uses a different data structure, a different search algorithm plus a different evaluation function is STILL
a copy of some other program is really stupid. Maybe there are some coincidental similarities, but everybody can find such similarities
at any two arbitrary programs when studying them (illegally) for 5 years, like the icga investigators did.
One further issue is that no decompiler on earth can reconstruct only a few hundred lines of c code reliably, because the compiler
usually optimizes, rearranges and even substitutes major parts of the c source code before it's translated to binary code.
So whatever the icga decompiler generated from Rybka 1's executable is nothing more than a fairytale, the actual source code can be
very different than the decompiler's best guess of how the source code could have looked like.
CHECKMATE.
Parent - - By bob (Gold) Date 2011-07-19 15:27
You have no idea what you are talking about.  Fruit was _never_ mtd(f) for the first example in your nonsensical post.  Fruit was and is PVS, just like every other program on the planet, with 1 or 2 exceptions that are no longer active.

Reverse-engineering is not illegal.  In fact, there is specific legal precedent that shows that it is perfectly legal to look inside anything you have on your computer.

Anyone that knows assembly language, and how compilers optimize, can take a disassembled block of code and answer the simple question "is this disassembled code semantically equivalent to this block of C code?"  If you can't, that is your problem.  But many of us can.  Some of us teach assembly language courses where this kind of thing is taught, in fact.  I teach such a course every semester.  If you can't figure it out on your own, come to UAB and sign up for CS330 and you will "see the light" within the first 2-3 months of a semester...
Parent - - By Mec (*) Date 2011-07-19 15:48
[quote]Reverse-engineering is not illegal.[/quote]
Of course it is, you can disassemble whatever you want but you're not allowed to publish what you find.
It's that easy ... It's only the ICGA's major luck that Mr. Railich is too good of a person and thus doesn't sue them
due to copyright infrigement, otherwise this would be a simple auto-win for him at every single court of laws in whatever
country you like.
You like analogies, so what about if I analyze the ingredients of new pharmacological product - which is certainly protected by
copyright laws - in my secret laboratory and then publish whatever details I've found to the media. I'd be sued by the
pharma company immediately and soon be a very poor man,
because no lawyer on earth will be able to defend my OBVIOUS copyright (patent right) infridgement.
What the ICGA's investigators did to Rybka is exactly the same thing, but maybe worse (due to the equally OBVIOUS libel issue).
Well, if even an expert like Chrilly Donninger (the only real competitor of Rybka Cluster is Hydra) says the search algorithms used
by Rybka are different from those of Fruits, I'm pretty sure it's impossible for Rybka to be a copy of Fruit. As far as I know MTDf is really
fundamentally different from PVS. A bitboard representation is also fundamentally different from whatever array-based
structures were used in Fruit. These are so MAJOR and fundamental differences between Rybka and Fruit, that there's by far
more evidence for Rybka NOT being a copy of Fruit, than there is the other way round. Nobody is guilty beyond reasonable doubt,
and in this case the doubts are not only reasonable, they are tremendous. Rybka IS the original work of Mr. Railich, and those 10%
coincidental similarities to any other strong engines won't change this LEGAL FACT.
Parent - By bob (Gold) Date 2011-07-20 04:16
Do you realize that (a) Vas signed an application that allowed the ICGA to investigate any program he participated with.  The agreement even specified that he _must_ provide the source code.  I doubt you will have much luck claiming RE is a violation of any copyright when he had agreed to the rules _prior_ to participating;  (b) Why don't you look at the report to see how much _code_ was published.  Only code that was identical to fruit.  Which means Vas holds no copyright on that code;  (c) strelka/ip* already _supposedly_ (according to Vas) made his source code public.

Your understanding of copyright law is completely clueless...

Your analogy is wrong.  If you duplicate the drug, you would be violating a patent, not a copyright.  If you didn't duplicate it, a chemical formula is not copyrightable.  Again, wrong ideas and answers.
Parent - - By Geomusic (*****) Date 2011-07-20 03:14
I am just learning about board representation using 0x88. Are there some good books or links on this for a noob?
Parent - By bob (Gold) Date 2011-07-20 04:01
If you go to my personal web page, which you can reach at www.cis.uab.edu, click on faculty, then me, then my personal page.  Down near the bottom there is a section of "online papers".  "board representations" is a good place to start.  Includes 0x88 and others, plus bitboards and rotated bitboards.  Have not added magic but should...
Parent - - By Mec (*) Date 2011-07-20 06:13 Edited 2011-07-20 06:20
[quote]"is this disassembled code semantically equivalent to this block of C code?"[/quote]

So you say bitboard operations are semantically equivalent to mailbox operations.
If only you knew that they're translated to totally different opcodes (for a reason, because they're NOT semantically equivalent!) ...
And again, using a mailbox program and 'simply translating' it to an equivalent bitboard program is not as easy as you think.
Because the data structure holding the board representation is so important for a chess program, it is referenced thousands of
times and by so many functions, such that it would be easier to write the bitboard program from scratch instead of detecting those
thousands of occurences where a reference to the mailbox board must be replaced by a semantically similar (NOT equivalent,
that's not even possible) bitboard expression. But there are many more issue why simply translating a mailbox program to bitboard is
impractical: Mailbox is notorious for using totally different incremental updates (compared to bitboards), plus the move generation
(another major part of a chess program) for a mailbox program is fundamentally different from move generation with bitboards.
Today's commercial quality engines are usually able to search on a position to a given depth, it's perfectly easy to let Rybka or
Fruit analyze a position till depth = 15. So basically what this means that IF Rybka (depth = 15) chooses different (stronger) moves than
Fruit (depth = 15), Rybka does so not because it analyzes the position deeper than Fruit (they both did a 15 ply search),
but because Rybka's Eval Function differs greatly from Fruit's. In the early days Rybka was notorious for winning vs. Engines which
search 5 plies of depth deeper than Rybka. I remember that the good old Fruit, which searched to a depth of 16 plies still had no
chance vs. Rybka, which only searched to a depth of 12 or 13 plies. So what I learned from that is that a chess program's playing
strength obviously comes due to its superior Evaluation, and the depth of the search is only a secondary factor (maybe important,
but far less important than Evaluation).
Parent - - By bob (Gold) Date 2011-07-20 22:22 Edited 2011-07-21 04:35
Jeez you are thick-headed.  I did _not_ say "bitboards are semantically equivalent to mailbox."  That statement makes absolutely no sense in any context I can imagine...

Semantic equivalence does not apply to two data structures that are, by definition, different to begin with.  So there is no point in addressing the rest of your nonsense at this point.  Semantic equivalence does apply to two pieces of code that do exactly the same operations, in the same order, in the same way, to produce the same result, even if they are applied to different data structures.
Parent - - By Mec (*) Date 2011-07-21 05:52 Edited 2011-07-21 18:45
Yes, of course I could apply MergeSort to Character Strings or whatever other data type after I've learned how MergeSort is done for Integers.
Software Algorithms - no matter how complicated they are - are NOT subject to copyright,
especially if they're Open Source and everyone can read how they work.

Thus everyone could make his own modified version of the same Algorithm, e.g. using the same Algorithm
with bitboards instead of Mailbox which CLEARLY requires me to write my own code and think for myself:
There's no way I can achieve this by simply Copy & Paste.

One better analogy for you:

Any mediocre chess player who wants to perform better in future tournaments may come to the conclusion, that studying his favourite Opening Moves more deeply will help him.

So for his next tournament he knows e.g. the correct and best sequence of moves for the Ruy Lopez (by having learned them from an Opening Book).

Will this chess player be disqualified by the tournament director once he finds out that the mediocre player had an unfair advantage because he studied the Opening Books  -> NO.

The fact that the current best line of the Ruy Lopez is known 'only' because of the efforts of thousands of other strong chess players (past and present),  and the mediocre chess player did 'nothing more than' 'only' memorizing 'their' variations,

is by no means a reason to ban that player from the tournament.

This is perfectly legal. Of course it's not very 'original' to play a notorious variation of the Ruy Lopez, but only as soon as I do my very first move myself (which hasn't been in the Opening Book) it's definitely my creative work, and if the

move is strong enough plus if I were a Grandmaster I'd perhaps even get a variation named after me. No matter whether the Ruy Lopez existed before.

Moreover: This mediocre chess player of my example, who suddenly has more success (due to his better opening preparation), WON'T need to give his Prize Money to Radjabov either, 'only' because he did 'Radjabovs' variations

(even if he played the moves in the exact same order as Radjabov, but that's a crucial property of ANY algorithm, that you have to write the instructions in the correct order, or otherwise it won't work.

If you say some algorithm found in RE Rybka does semantically the same as a known algorithm from Open Source Fruit, this is the least surprising finding you could've found. It's more what I would expect from 99% of all chess engines,

that they don't call makeMove() before generating at least one. It just doesn't work, but this doesn't imply that they plagiarized anyone because the algorithm is required to be coded in this specific order and not in some other fancy-way.

Furthermore, this mediocre chess player WON'T EVER be retrospectively disqualifyed or asked to pay back any Prize Money - FIVE (!!) years after his successful tournament.

Such a long period of accepting pleas from competitors doesn't exist in any other organisation, which organises tournaments!

Furthermore, I don't know any reasonable chess player who lost a game of chess at a tournament against me and then spent FIVE years of his life with nothing else but finding EVIDENCE that I had an unfair advantage at the tournament, because I learned Radjabovs Variations from the Chess Informant.

But even then - if such an incredibly bad loser DID ever exist in Chess - it surely wasn't him and his fellows who were to decide whether I 'cheated' or not (because I used Opening Preparation and he didn't), but of course some other INDEPENDENT and UNBIASED instance.

Taking a known Algorithm (known, because it's Open Source) and adapting it to different data structures, plus using a different search algorithm, plus improving it in an unprecedented manner (like VR did with Rybka) is by no means the same as doing a 'simple, unoriginal copy' of that Open Source Program.

It requires just as much (if not more) HARD WORK.

You and your ICGA fellows fail to see this completely, and discriminate Mr. Railich and his lifework in an unprecedented and even more so defamatory manner I've never seen before in any other kind of competition.

Well, I hope the analogy of the mediocre chess player is debunking enough and demonstrates how stupid this whole ICGA investigation & life-time(!) ban for a minor tort are.

The primary purpose of this whole process has never been the finding of any evidence that Rybka and Fruit used similar algorithms (now what a surprise! most chess programs DO!), but the real goal and intentions of Hyatt & fellows have always been solely this
one:
To ruin the lifework of the person Vasik Railich (for no other reason than blind hate).

And I've no doubt that this is obvious for a great majority of computer chess enthusiasts who were NOT blinded by Hyatt's & his fellows' hate campaign against VR, have enjoyed using Rybka to help them improve their chess, and WILL of course enjoy Rybka 5 :)

- DEBUNKED -

P.S.: I've noticed that VR is not the first ingenious chess programmer in the history of ICGA who has been treated in such a wicked way and finally came to the conclusion that it's better to develop cluster software, which is 100% private code, thus won't

be disassembled by Hyatt & his fellows, and is therefore safe from being robbed of its secrets. There's hardly any more competence to Hyatt & his fellows than RE the lifework of a few REALLY ingenious chess programmers and then telling everybody that

in fact they wanna have written Rybka and invented its top secret and edge-cutting algorithms (It's only intelligible that VR prefers cluster chess software, because for what real reason should a chess programmer spend many years of his life, programming a strong

chess engine, only to find out that the first and only things Hyatt & his fellows do is dissassembling & stealing your hard work (Ippolit) (As I've mentioned already in a previous answer to the topic starter: The LATTER commited the real crime, even if they

state that it's perfectly legal to RE Rybka (which is not true), its nevertheless the most morally reprehensible Thing they could do to VR's lifework: Rybka. I'm sure to a chess programmer like VR  this feels like they were robbing a child from a father.

CHECKMATE

--> Is the formatting of the text better now? <--
Parent - - By Labyrinth (*****) Date 2011-07-21 10:01
Mec sorry to trouble you but your posts always come out with this wacky formatting. It makes them hard to read, especially with parenthesis and terms that are in capitals.

I think your sentences are getting put onto the next line before they are complete, and also I would use some paragraphs.

Example:

This is a sentence that is going
to be cut off and continued next line for a while and then might even be
cut off again and then continue down here.
Now this is a different subject that could really make use
of a paragraph,
but it doesn't for some unknown reason.

As opposed to:

This is a sentence that is going to be stay on its line until the forum's word wrap applies itself and places the sentence on the next line.

Here is a new paragraph separated by a blank line with the return key, a bit easier to read this way when moving to new ideas. Now is the time for all good men to come to the aid of their country. The quick brown fox jumps over the lazy dog.
Parent - - By Mec (*) Date 2011-07-21 12:13
I'll do my best and use simpler words in the future.
Parent - By Uly (Gold) Date 2011-07-21 16:35
It's not the wording, it's because you are inserting line breaks (hitting the enter key) in the middle of a sentence. You'd like to stop doing it.
Parent - - By bob (Gold) Date 2011-07-21 18:57
One day, when you grow up, you will finally understand the difference between "idea" (which is perfectly acceptable to copy) and "code" (which is not).  Until you become educated enough to grasp that, your statements are going to continue to make no sense to technically savvy people...

But don't let me stop you...
Parent - - By Mec (*) Date 2011-07-21 20:01 Edited 2011-07-21 20:35
Ok, Dear Prof. Hyatt, here's a code snippet of (my) chess program I did ~10 years ago.
Remember, this is CODE


short evalMidgame(rvPosition* Pos, short alpha, short beta){
  unsigned i,
       tpState,
       tpRes,
       tpRes2,
       tpResNW;
  int kiFile, kiRank;
  short tpBonus1, tpBonus2;

  const unsigned t1aCol = GET_PCOLOR(Pos->xtraInfo) & 1u;
  const unsigned lastIncDepth = 2-((Pos->rootDepth) & 1u);

  const unsigned totalPieceCount[NUM_OF_COLORS] = {
      Pos->pTypeCount[WHITE][QUEEN] + Pos->pTypeCount[WHITE][ROOK]
      + Pos->pTypeCount[WHITE][BISHOP] + Pos->pTypeCount[WHITE][KNIGHT],
        Pos->pTypeCount[BLACK][QUEEN] + Pos->pTypeCount[BLACK][ROOK]
      + Pos->pTypeCount[BLACK][BISHOP] + Pos->pTypeCount[BLACK][KNIGHT]
  };
 
  const unsigned tpKingSq[NUM_OF_COLORS] = {
    Pos->PlrPiece[ColSpec[WHITE].fpIdx].loc,
    Pos->PlrPiece[ColSpec[BLACK].fpIdx].loc
  };
 

  short plrRes[NUM_OF_COLORS] = {0,0},
      kingDng[NUM_OF_COLORS] = {0,0},
      kingState[NUM_OF_COLORS] = {0,0};

  /* Look for mate */
  if(Pos->Check.checkCtr)
    if(!findAtLeastOneCheck(Pos, lastIncDepth))
      return -MATE_VALUE;
 
  /* Get horizon penalty */
  tpState = Pos->Board[Pos->finalMove[Pos->currDepth]->destIdx];
  tpBonus1 = getCaptureResult(Pos, Pos->PlrPiece + GET_PID(tpState), GET_PCOLOR(tpState));
  if(tpBonus1 < 0)
    plrRes[t1aCol] += -tpBonus1;

  /* Determine King State */
  if((Pos->pTypeCount[BLACK][QUEEN] && totalPieceCount[BLACK] > Pos->pTypeCount[BLACK][QUEEN])
    || Pos->pTypeCount[BLACK][ROOK] > 1u)
    kingState[WHITE] = KINGSTATE_PASSIVE;
  else
    kingState[WHITE] = KINGSTATE_ACTIVE;

  if((Pos->pTypeCount[WHITE][QUEEN] && totalPieceCount[WHITE] > Pos->pTypeCount[WHITE][QUEEN])
    || Pos->pTypeCount[WHITE][ROOK] > 1u)
    kingState[BLACK] = KINGSTATE_PASSIVE;
  else
    kingState[BLACK] = KINGSTATE_ACTIVE;

  /* Sum up base King Value */
  plrRes[WHITE] += baseKingSquare[kingState[WHITE]][tpKingSq[WHITE]];
  plrRes[BLACK] +=
    baseKingSquare[kingState[BLACK]][MAKE_SQ_IDX(GET_FILE(tpKingSq[BLACK]), NUM_OF_RANKS-GET_RANK(tpKingSq[BLACK])-1u)];

  /* Lazy Eval */
  plrRes[WHITE] += (Pos->pTypeCount[WHITE][QUEEN] * rvPieceValue[QUEEN]
  + Pos->pTypeCount[WHITE][ROOK] * rvPieceValue[ROOK]
  + Pos->pTypeCount[WHITE][BISHOP] * rvPieceValue[BISHOP]
  + Pos->pTypeCount[WHITE][KNIGHT] * rvPieceValue[KNIGHT]
  + Pos->pTypeCount[WHITE][PAWN] * rvPieceValue[PAWN]);

  plrRes[BLACK] += (Pos->pTypeCount[BLACK][QUEEN] * rvPieceValue[QUEEN]
  + Pos->pTypeCount[BLACK][ROOK] * rvPieceValue[ROOK]
  + Pos->pTypeCount[BLACK][BISHOP] * rvPieceValue[BISHOP]
  + Pos->pTypeCount[BLACK][KNIGHT] * rvPieceValue[KNIGHT]
  + Pos->pTypeCount[BLACK][PAWN] * rvPieceValue[PAWN]);
  /* Lazy Eval */
  if((plrRes[t1aCol]-plrRes[t1aCol^1u]) + LAZY_DELTA < alpha)
    return plrRes[t1aCol]-plrRes[t1aCol^1u];

  kiFile = GET_FILE(tpKingSq[BLACK]);
  kiRank = GET_RANK(tpKingSq[BLACK]);

  /* WHITE Pieces */
  for(i = ColSpec[WHITE].fpIdx + 1u; i < ColSpec[BLACK].fpIdx; ++i){
    const rvPiece* curPiece = Pos->PlrPiece + i;
    if(curPiece->loc != INVALID_SQUARE){
      tpState = GET_PTYPE(Pos->Board[curPiece->loc]);

      /* Analyze pawns first ... */
      if(tpState == PAWN){
        /* Todo: PASSED PAWN EVAL !!! */
        tpBonus1 = PAWN_DUO;
        tpBonus2 = PROTECTED_PAWN;
       
        if(!(passedPawnMsk[WHITE][curPiece->loc] & Pos->pawnMsk[BLACK])){
          ++tpBonus1;
          tpBonus1 <<= 1;
          ++tpBonus2;
          tpBonus2 <<= 1;
         
         
          plrRes[WHITE] += (PASSED_PAWN + ((int) GET_RANK(curPiece->loc)));
         
          if(!kingState[BLACK] || !kingState[WHITE]){

            tpRes = qMaxDist(Pos->PlrPiece[ColSpec[WHITE].fpIdx].loc, curPiece->loc);
            tpRes2 = qMaxDist(Pos->PlrPiece[ColSpec[BLACK].fpIdx].loc, curPiece->loc);
           
            if(!((int)(GET_RANK(curPiece->loc) > kiRank || (int)tpRes2 > (int) (7 - GET_RANK(curPiece->loc)))
              && t1aCol == WHITE)){
                if(tpRes <= tpRes2 || totalPieceCount[WHITE])
                  plrRes[WHITE] += (((int) GET_RANK(curPiece->loc)) << 2);

            }
            else
              plrRes[WHITE] += (((int) GET_RANK(curPiece->loc)) << 3);
          }
          tpRes = curPiece->SetOfNeigh[SOUTH];
          if(GET_PTYPE(tpRes) == ROOK)
            plrRes[WHITE] += (GET_PCOLOR(tpRes) ? -ROOK_SUPPORT : (ROOK_SUPPORT + (int)GET_RANK(curPiece->loc)));
        }
       
       
        tpRes = PrecMove[curPiece->loc][EAST];       
        /* Reward pawn duos */
        if((tpRes = rawSq[tpRes]) != INVALID_SQUARE){
          tpRes = Pos->Board[tpRes];
          if(GET_PTYPE(tpRes) == PAWN && GET_PCOLOR(tpRes) == WHITE)
            plrRes[WHITE] += tpBonus1;
        }

        /* Reward protected pawns */
        tpRes = PrecMove[curPiece->loc][S_WEST];
        tpResNW = PrecMove[curPiece->loc][S_EAST];
       
        /* Reward protected pawns */
        if(((tpRes = rawSq[tpRes]) != INVALID_SQUARE) ||
          ((tpRes = rawSq[tpResNW]) != INVALID_SQUARE)){
          tpRes = Pos->Board[tpRes];
          if(GET_PTYPE(tpRes) == PAWN && GET_PCOLOR(tpRes) == WHITE)
              plrRes[WHITE] += tpBonus2;
        }

        /* Reward pawn shield near king */
        if(kingState[WHITE]){
          plrRes[WHITE] += basePawnSquare[WHITE][curPiece->loc];
          if(abs((int)GET_FILE(curPiece->loc)-(int)GET_FILE(tpKingSq[WHITE])) < 2
             && (int) GET_RANK(curPiece->loc) > (int) GET_RANK(tpKingSq[WHITE])){
            tpRes =  GET_RANK(curPiece->loc) - GET_RANK(tpKingSq[WHITE]);
            plrRes[WHITE] += ((tpRes < 3u) ? ((3u-tpRes) << 1u) : 0u);
          }
        }
      }

      /* Rooks, Queens + Bishops */
      else if(tpState != KNIGHT){
        tpResNW = UNKNOWN_DIRECTION;
        if(tpState != BISHOP){


... and so on. It's the first few lines of my eval, and uses a mixture of arrays, bitboards (+ at least one data structure you won't find anywhere else, 100%) as its board representation.

So please show me, how you simply mark the text, copy & paste it to your Bitboard Program, and how 'magically' every reference to the arrays of the example code suddenly references semantically similar bitboard structures.

If you succeed, I will believe your apparent 'evidence' that VR copied the code (these are YOUR own words!) of the Fruit Engine.

You won't succeed because it just doesn't magically convert those hundreds (maybe thousands) of references to the array/bitboard (mixed) representation to plain bitboard data structures.

However, if somebody read the source code and came to the same conclusion that his own evaluation function should consider the same evaluation terms, in the same order (for best results maybe), he would go NUTS by trying to find all those thousands of references to the array structures and 'simply' replacing them with semantically similar (not the same) Bitboard expressions.

Not to mention the infinite possible sources of bugs in case he forgot to replace it at only one occurence in the source code.

He'd have far less trouble and definitely spend less time if he just coded the source code from scratch 'in his own words' (using bitboards, using MTDf or whatever else instead of PVS).

So in the latter case the programmer DID NOT COPY ANY SOURCE CODE, and even if he used the array source code as a reference, at most this could be called copying of ideas - nothing more and perfectly common practice.

In the latter case he has to do just as much work as the publisher of the array-based source code, especially if he used different data structures which occur thousands of times in the source code (and in most cases a 1:1 'translation' of array code to a semantically
equivalent bitboard code isn't possible AT ALL).

So you said it yourself: The copying of ideas is ok. So if this occured in Rybka, it occured in thousands of other chess engines too.

But as long as References to array data structures aren't 'magically' converted to (useful and equivalent) bitboard expressions ...

- AGAIN: This is not a minor difference between two chess engines, this is the most substantial difference. -

It's not like the board representation is used at only a few occassions in the Evaluation function, almost every other major component of the chess engine is coded with a specific Board Representation in mind.

Until now this magic Auto-Translation Array->Bitboard is technically impossible, and doing it manually is NOT the work of a few days (especially if your own engine has several additional features which must be compatible)

I've been doing both, Arrays, Bitboards plus adapting older Array Programs to the latter. It's NOT 'no work at all'. It's always work.

And in case of VR its unquestionable that the overwhelming majority of his Programs is definitely the INTELLECTUAL PROPERTY of VR, and there is no legal base for the ICGA of questioning this legal FACT.

Thus they're most likely in for a major lawsuit (I think that's the reason why VR has not yet talked so much about this because his laywer told him to do so.)

You'll be surprised how easily ICGA will be checkmated by VR at court.
Parent - - By bob (Gold) Date 2011-07-21 21:06
I am not "taking a test" here, so sorry.  I have better things to do with my time.

There are three issues in the "conversion process."

if the mailbox program wants to ask about a specific square, you will find references like board[square].  The bitboard program will likely use something quite close like "PIeceOnSquare(square)" where that is a macro that might, if the bitboard program is Crafty-derived, just use the mailbox board since Crafty has both.  Others would do something similar to this:

contents = (WhitePawns & mask[square]) ? WhitePawn : (WhiteKnights & mask[square]) ? WhiteKnight : (WhiteBishops & mask[square]) ? WhiteBishop : ...etc...

well-known.

If the mailbox program wants to ask a question like "is this pawn passed?" it will have to do something like
passed=1;
for (i=square & 7 -1; i < square & 7 +1; i++)
  for (j = square & 56 + 8; j < 56; j+=8)
    if (board[i+j] == BlackPawn) {passed = 0; break;}

In a bitboard program, it would be much shorter:

passed = !(BlackPawns & white_passed[square]);

I don't know why you have so much trouble understanding this.  The above two pieces of code (to detect passed pawns) are equivalent, when you remove the bitboard/mailbox concept and just ask "what do they do?"  Both determine if any of the squares in front of the white pawn on either an adjacent or same file are occupied by black pawns.  If so, the white pawn on "square" is not passed.

To abstract either of the above, you turn it into that question

Are any of the squares in front of the white pawn on either an adjacent or same file are occupied by black pawns?  If so, the pawn on square is not passed.

By the time you finish, you have no references to mailbox nor to bitboards.  Also the other code is revealing.  The above two pieces of code are actually identical in this context.  But what if one program simply has an 8-bit value with a 1 for each passed pawn, and this value is maintained/updated in MakeMove(), while the other does the test in Evaluate().  That is not the "same thing, done in the same order, in the same way, with the same partial scores."

So anyone that knows how to program and is familiar with both approaches won't have any trouble doing that analysis.  It takes time, but not brains...
Parent - - By Ugh (*****) Date 2011-07-21 21:17
"Are any of the squares in front of the white pawn on either an adjacent or same file are occupied by black pawns?  If so, the pawn on square is not passed.
"


well, I can see how you, as a weak chess player, might see that as an original or novel idea or concept, but are you seriously accusing Vas of plagiarism because he used the this same idea?!
Parent - By bob (Gold) Date 2011-07-21 21:42
Nope.  And you know I was not.  That is _one_ step.  If in evaluating passed pawns, you ask 10 questions, all in the same order, all doing the exact same thing (excepting for board-specific operations) then you begin to get suspicious.  And if you find multiple terms all done with that same approach, you go beyond suspicion.

As far as "I am a weak chess player" I'd suggest that we play some games.  But then you'd want to accuse me of using a computer, so there is no real point.  I've played the game for 50+ years, so I do know something about it.
Parent - - By SR (****) Date 2011-07-21 21:58
Excellent post!

As I wrote elsewhere:

So far the attackers have been very forceful and had the initiative however I don't think it will stay like this. So people have begun to put some defense together and lately there have been some interesting posts attacking  ICGA. See for example the post by mec http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=353232;hl=

I think its possible to make a strong argument in support of Vas position that he did not wrongly omit anything from the entry forms or break any other tournament rules. By a completely reasonable interpretation of clause 2 in the ICGA tournament regulations Rybka was a completely legitimate entry to each of the world championship  where it participated. As Vas explain Rybka uses a different board representation than Fruit and uses a different structure of search routine so Rybka is original and not a derivative. None of the code in Rybka that came from other programs were "game playing".

Now all this can be elaborated much better, and my gut feeling is that it eventually will be clear that the ICGA investigation was almost solely based on a certain narrow minded way of interpreting the regulations. The regulations were really aimed at ruling out multiple entries of similar programs or theft where non original programs  were entered.

I would not be surprised if Vas has a legal case where he could sue ICGA for damages. I think it is entirely reasonably to argue that Vas acted in good faith and had no reason to believe that he broke rule 2. The bottom line is that legally converting part of fruit code to bit board is different from  copying. Also what he did might legally be more like "quoting". And maybe  legally it can be argued that none of the code that was converted from Fruit was "game playing".  A major problem with the ICGA investigation is that it completely force its own interpretation of rule 2. Legally I think it can be demonstrated beyond any reasonable doubt that Rybka was a original program that dominated computer chess for more than 5 years.  From a worms perspective it might look one way, but from the birds perspective its clear Rybka was miles ahead of all other programs and that this essentially was due to new ideas (e.g. different search and different data structures) and that Vas acted in good faith when he submitted the tournament entrance form.
Parent - - By Watchman (***) Date 2011-07-23 18:03

>Excellent post!


Nutty post... but I digress...

So far the attackers have been very forceful
Attackers? you mean those not swept up in this "rybka cult"... those that wish to spend months to years evaluating the body of evidence... individuals, some with no direct connection to ICGA, unpaid, for not letting personal feelings or emotion sway their decision?  Those attackers?

And forceful?... because the ICGA panel investigation is replete with examples of code copying / derivation... forceful like Don Dailey's statement:

“The Rybka code base was without doubt derived directly from other peoples work and this was never revealed, so this is case of taking credit for the work of others and it shows a lack of respect for the other major talents in computer chess as well as the ICGA and organizers of these events."

or

Wylie Garvin's statement:

“My opinion is that Rybka 1.0 beta (Dec 5 2005) has an evaluation that is clearly derived from Fruit 2.1, and all Rybka versions through 2.3 (Feb 2007) continued to have an almost identical structure in their eval. I think the versions of Rybka that competed in the IPCCC in Paderborn in Dec 2005 and the WCCC in Turin in May 2006 were clearly derived from Fruit 2.1 and significant parts of them were not the "original work" of the entering developers, so I think those Rybka entries violated the ICGA Tournament Rules.”

and had the initiative however I don't think it will stay like this.
I think its possible to make a strong argument in support of Vas position that he did not wrongly omit anything from the entry forms or break any other tournament rules.
So where were you "friend" when this investigation was taking place?  You had ample opportunity to join the panel. Surely you have the ability to conduct similar research to what Mark Watkins did...

why not stand up for Vas then?

Certainly with your “background” you would have been admitted to the panel…

By a completely reasonable interpretation of clause 2 in the ICGA tournament regulations Rybka was a completely legitimate entry to each of the world championship  where it participated.
(Note to self: Do not ask Søren Riis for legal advice... be it civil or criminal in nature. Have a beer with him and let him deride and mock you for your lack of mathematical knowledge... to which you can laugh at yourself too... but legal counsel... no... don't go there.)

How is it Søren, that an individual such as myself, with no experience writing a chess engine, someone you consider intellectually inferior to you... how is it a simpleton such as myself could possibly understand what the ICGA means when it had written up AT THE VERY MINIMUM five years ago:

"Each program must be the original work of the entering developers."(emphasis mine)  That seems very simple... even to me... it must be my work... not someone else's work.

"Programming teams whose code is derived from or including game-playing code written by others must name all other authors, or the source of such code, in their submission details."(emphasis mine) 

Again... seems simple enough... if my code is derived from another program... then those details have to be submitted to ICGA.

Can you tell me how you are confused by that?  Or what I do not understand about such simple regs? Or... get this... why even have such regs to begin with?

As Vas explain Rybka uses a different board representation than Fruit and uses a different structure of search routine so Rybka is original and not a derivative. None of the code in Rybka that came from other programs were "game playing".
(A.  This demonstrates an incomplete understanding of "rule no.2". B. {ah… well.. more of that later…})

At any rate...

So Vas tells you "this" and you swallow it... hook... line... and sinker.  Despite what Vas said about Rybka (it's all his work) and how his R1.6.1 was really a Crafty clone, you are going to insist whatever Vas says is "golden".

...that is why the panel would come to conclusions like:  "Rybka versions from 1.0 through 2.3.2a were found to have nearly identical evaluation functions to Fruit 2.1." And that "The likelihood of this happening by chance is approximately 1 in 10,000,000."

Now all this can be elaborated much better, and my gut feeling is that it eventually will be clear that the ICGA investigation was almost solely based on a certain narrow minded way of interpreting the regulations. The regulations were really aimed at ruling out multiple entries of similar programs or theft where non original programs were entered.
Søren, may I point you (just as I did Alan) to a document you should read before posting "gut feelings".  Then you will be in a better position to decide what the ICGA regs are really aimed at.

Herik, H.J. van den (2006). The interpretation of rules: Editorial. ICGA Journal, 29(2), 53-54.

Btw... regarding theft where non original programs were entered.  Just what do you call it, when one person uses another person's code as their "base" code  violating the license agreement? And insists it is (except for a bits and bobs here and there...) it is wholly their work.

I would not be surprised if Vas has a legal case where he could sue ICGA for damages.
No one (in their right mind) wants to be sued... but if I were David Levy, I'd say, "bring it on."

I think it is entirely reasonably to argue that Vas acted in good faith and had no reason to believe that he broke rule 2.
Aha... (again) attends a prestigious U.S. university where apparently plagiarism is never discussed.  Has a father who teaches CS who apparently never spoke a word about plagiarism. Copies opensource Crafty as his code base (top rated program at the time).  Then does the same with Fruit when it becomes opensource (top rated program at the time)... and has that magic 800 Elo increase in one year's time (from R1.6.1 to R1.0beta).

That is called acting in good faith?

Statements like the above (I think it is entirely reasonably to argue…) make me think of the line from “The Green Mile”: "How many years you spend pissing on the toilet seat before someone told you to put it up?"

The bottom line is that legally converting part of fruit code to bit board is different from  copying. Also what he did might legally be more like "quoting".
And you consulted who to come up with this brilliant piece of reasoning?  FSF told you this?

Besides... if he really did "quote" as you say Søren... this is in compliance with the GNU License?

That is your “expert” opinion?

And maybe  legally it can be argued that none of the code that was converted from Fruit was "game playing".
Yeah and maybe it can be argued that same code came from aliens from another galaxy... Even if what you say were true… so what?

A major problem with the ICGA investigation is that it completely force its own interpretation of rule 2.
Wow and it's not like any other sports or game or whatever association does not do that. :roll:  Go read what ICGA is doing Søren... they are making a good faith effort to make it abundantly clear what they expect from their participants.

Legally I think it can be demonstrated beyond any reasonable doubt that Rybka was a original program that dominated computer chess for more than 5 years.
(Reminder to self... see "Note to Self" above.)

Demonstrated how?  By Vas's "good" word? :roll:

From a worms perspective it might look one way, but from the birds perspective its clear Rybka was miles ahead of all other programs and that this essentially was due to new ideas (e.g. different search and different data structures) and that Vas acted in good faith when he submitted the tournament entrance form.
Yeah and I have a Bridge in Brooklyn for sale that you could use to make a small fortune by collecting tolls.

Btw, nice fauna analogy... here's my analogy:

I think Vas got caught with his hand in the cookie jar, and has crumbs all over his face and shirt.

If you wish to believe he's some sort of god because he added a few hundred elo to Fruit... then by all means believe what you want to believe.  Just don't expect everyone else to worship him as you do.  Why not follow Houdart with the same (or more) zeal?  Seems he has exceeded Vas’s own work.  Why not worship him?  (sry I really don't care to hear an answer for that as I know good and well "the why").

I also think your statement: and had the initiative however I don't think it will stay like this. is quite bizarre in light of the fact there were 30+ highly credentialed individuals on the ICGA panel, plus another 5 not listed on the panel who signed the original letter of complaint about Rybka: "As chess programmers we find this overwhelming evidence compelling. We believe Rybka is a Fruit derivative albeit an advanced one."

I tell you what... everyone here pissing and moaning about this... you look so pathetic.  So petty.  So small. So ridiculous!

What is even more disgusting is seeing the likes of someone like Dr. Hyatt (who could easily be considered a father of computer chess) come in here, spend hour after hour attempting to patiently explain what the panel did and why.  He's light-years ahead of all y'all... None of you all even come close as can be seen in so many of the moronic / utterly stupid arguments on display here.  You all are rude...  hurl vulgarities... mock him, try to disparage him, twist what he says... belittle his efforts to educate you... always looking for those "gotcha" moments... attempting to assassinate his character... Mods are COMPLETELY SILENT about this vile treatment.

All in an effort to protect Vas (an upstart who has been exposed as a liar and cheat) and your little cult celebrity worship of him.  What a disgusting display of "humanity". 

I say, "Put up or Shut Up"  Either y'all come up with some very well credentialed programmers... preferably chess engine programmers (good luck with that btw) that can state unequivocally that the ICGA was incorrect when it said: “The “framework” of Rybka 1.0 beta through Rybka 2.3.2a is Fruit.” Make sure that these “experts” are able to clearly refute the body of evidence against Vas / rybka.

And let's make it easy for you... instead of 30+ professionals like on the ICGA panel or the 16 that signed the original letter of complaint... how about finding a half dozen or so. People with 20 to 30 years programming experience or tenured professors in CS... Søren you must know at least one such individual where you work that would put their reputation out on the line for something like this...

Otherwise like I said... time to accept it for what it is... time to shut up about all this.

Oh… btw… what is this business about “As I wrote elsewhere”??? What? You mods here have like a “support group”… you, Jeroen, Lukas, Uly etc… where you can all come together and comfort yourselves because of those “mean ol’ rybka attackers”? How’s that working out for ya? :roll:

This is not some rant... just trying to refute point by point what I consider the biggest load of cockamamy tripe I have seen since some of Alan & Nelson's posts (notwithstanding Mec)... and it is very disappointing for me to see the source of this.
Parent - - By SR (****) Date 2011-07-23 18:43 Edited 2011-07-23 18:53
To quote you: you look so pathetic.  So petty.  So small

I think this is a typical example of what psychologists call  a projection.

(Added: Psychological projection or projection bias is a psychological defense mechanism where a person subconsciously denies his or her own attributes, thoughts, and emotions, which are then ascribed to the outside world, usually to other people.)

Or in laymans terms: What the subject says applies to the subject himself

More quotes from your post:

just trying to refute point by point what I consider the biggest load of cockamamy tripe I have seen

That is your “expert” opinion?
Parent - By Watchman (***) Date 2011-07-23 23:50 Edited 2011-07-23 23:54

>I think this is a typical example of what psychologists call  a projection.
>Or in laymans terms: What the subject says applies to the subject himself


Or in Pee-Wee Herman terms: “I know you are… but what am I?”

Can we stick to the points I made without being so overly (and overtly) sensitive? Like…

Where were you when the ICGA panel was doing its investigation? Or…

Why not you be a part of an “investigative panel” now and assemble a “crack team” of CS people to refute all this ICGA “stuff”.  So instead of your Pee-Wee Herman reply, I get something substantive that helps sway me (not just me of course) to the “wow ICGA really appears to goofed on this one”.

I acknowledge you have a mountain of evidence to overcome, but that should not be too difficult for one so astute and learned.

Or…

You explain why you think it is in good faith to copy an open source program, enter it into a tourney… “start over again” when a new “stronger” engine goes open source, claim that as your own and sell it to the public and enter it into competitions where they ask you to enter your “original work”.

Or the differences between what the Lion++ 1.5 Team did and what Vas did (oh oh! I know the answer! Pick me! Pick me! Has to do with TELLING THE TRUTH).

I made a number of valid points… pick one. And you can forgo the clumsy insults (“or in laymans (sic) terms”).

> just trying to refute point by point what I consider the biggest load of cockamamy tripe I have seen


>That is your “expert” opinion?


Hmmm… you are right… if you wish my expert opinion… I should think more carefully before testifying… but then this is just a “forum”… not a court of law…

How about… “one of the biggest loads of cockamamy tripe”… that work better for you?

Edit:

Or the point I made re:

Mods are COMPLETELY SILENT about this vile treatment (of Bob Hyatt)... just one more point for ya to consider.
Parent - - By AWRIST (****) Date 2011-07-24 06:40
Mec, you are introducing much too many chess aspects into the debate. Didnt you know that most programmers in computerchess have no clue of chess? Those 14 are the proof, of course the "secretariat" too.
Parent - - By Mark (****) Date 2011-07-24 12:22

> Didnt you know that most programmers in computerchess have no clue of chess?


Huh?  Give these guys some credit, please.

Also, it's clear that a good programmer that's an average chess player could develop a much stronger program than an excellent chess player that's an average programmer.
Parent - By AWRIST (****) Date 2011-07-24 18:46
No doubt about it. But grant me a bit understanding, actually I must shoot everything that moves.:razz:
Parent - - By bob (Gold) Date 2011-07-19 15:31
I think that horse left the barn when Strelka was published...
Parent - - By siam (**) Date 2011-07-19 18:52
Dear Dr. Hyatt

Again a very remarkable point of view:

Illegal acquired evidence -as i would call RE of copyrighted software and than distributed this openly- will never hold it in any court. Nothing to do with whatever was publish with Strelka, because Rybka is the subject in the case.

Just came to my mind:

All is fair in war and love they say and now i am starting to think that you must or love Vas or see him as an enemy.

Regards
Parent - By bob (Gold) Date 2011-07-20 04:04
You are simply wrong.  RE has already been called legal.  However, when Vas signed the registration form for the ICGA tournaments, he _agreed_ that his code could be investigated and actually agreed to supply the source.  Be difficult to call RE'ing a free version of a chess engine, when he has already claimed that Strelka and then ip* had done that and are already public.  Too many holes in your argument to really think about it much more..

And no, I only see him as one of several that got caught breaking ICGA rules.  Nothing more, nothing less...
Parent - - By Jury Osipov (**) Date 2011-07-20 05:21
Where did the idea that there is a RE code of Rybka?
Strelka was born from Fruit with the inclusion of the code chunks and tables from Rybka. Ippo is very different from Rybka3 code and is also not a result of RE of Rybka.
There are only claims of Vas, which do not correspond to reality.
Parent - - By Graham Banks (*****) Date 2011-07-20 05:25

> Ippo is very different from Rybka3 code and is also not a result of RE of Rybka


Really? So how about telling everybody the real story behind Ippo and its "authors".
Parent - - By tano-urayoan (****) Date 2011-07-20 05:26
Well that is also Richard Vida hypothesis.
Parent - By Graham Banks (*****) Date 2011-07-20 05:30

> Well that is also Richard Vida hypothesis.


Still doesn't answer the question I asked Jury though.
Parent - - By Jury Osipov (**) Date 2011-07-20 05:53
I compared the code of Rybka3 and Ippo. They are very different.
RE is a purely mechanical process. After RE the differences are minimal.
Parent - - By Graham Banks (*****) Date 2011-07-20 06:14

> I compared the code of Rybka3 and Ippo. They are very different.
> RE is a purely mechanical process. After RE the differences are minimal.


So assuming that you're an honourable man, what can you tell us about the Ippo author/authors? Are you involved?

Cheers,
Graham.
Up Topic Rybka Support & Discussion / Rybka Support / Is it illegal to read the source of a re engineered program?
1 2 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill