Ippolit and derivatives will never be favorably accepted.
Re: Ippolit and derivatives will never be favorably accepted
When "scientists" determine what data is part of a test and what data is to be excluded, they are not interested in true knowledge but have already determined an outcome. We have seen this in other areas recently. Data is not "good" or "bad" but just data. Let humans interpret results with whatever biases or prejudices they bring, and voice their opinions thereupon. But excluding data is not true learning.
Re: Ippolit and derivatives will never be favorably accepted
BB,
You obviously care about your work and statements. You probably invested a lot of time and effort in preparing the document that was posted here.
Creating an engine must take a lot more effort than examining one.
If we look at the creators of Ippolit from a psychological perspective, why would someone go through all the trouble of creating an original chess engine, make it publicly available and then ignore the clone accusations?.
Anyone else would defend his work and utilize any legal mechanisms to not only disprove the accusations but also start legal action against the accusers.
Interesting how this author(s) remained anonymous and decided not to sue Vasik Rajlich and others.
You obviously care about your work and statements. You probably invested a lot of time and effort in preparing the document that was posted here.
Creating an engine must take a lot more effort than examining one.
If we look at the creators of Ippolit from a psychological perspective, why would someone go through all the trouble of creating an original chess engine, make it publicly available and then ignore the clone accusations?.
Anyone else would defend his work and utilize any legal mechanisms to not only disprove the accusations but also start legal action against the accusers.
Interesting how this author(s) remained anonymous and decided not to sue Vasik Rajlich and others.
- kingliveson
- Posts: 1388
- Joined: Thu Jun 10, 2010 1:22 am
- Real Name: Franklin Titus
- Location: 28°32'1"N 81°22'33"W
Re: Ippolit and derivatives will never be favorably accepted
Vas has Rybka 3 source code. Ok if we take at face value his word -- may be not the same source as the released executable. But he has Rybka 3 source code and could debunk or dismiss whatever he sees not to be accurate about the report and analysis. Fact is, the secret is out. A peculiar or rather interesting exchange:BB+ wrote:I hate to write in this thread (which seems to degenerated into conspiracy theories), but as the quotation was here:
This can be made more precise. I find little (if any) evidence of "code" copying, but an abundance of recycling of ideas. Most of the latter seem to involve at least some modification of the idea, though by stretching the colloquial impress of "identical" or "copied", a case could be made for the use of such verbiage.NH >> But practically nothing is identical or appears to be copied
VR > Really?
As an example, both Rybka and IPPOLIT have a "positional gain" table for moves (herein noncaptures, for simplicity). I don't know who else (if anyone) did so before them. As the crudest level, Rybka indexes it as [piece7][move] and IPPOLIT as [piece16][move]. Not a big deal. Rybka replaces the current table value when it is exceeded by a given eval, and decrements it by one if the given eval is more than 20 less than the current table value. IPPOLIT replaces it when exceeded, and else decrements it (no margin of 20). Rybka has this table as signed 8-bit entries, and there is some mechanism to prevent overflow in extreme situations (or maybe not -- on reappraisal, I think the overflow control might only be in the other posgain-like tables, which are not in IPPOLIT, and whose purpose in Rybka seems to be with controlling lazy eval). IPPOLIT has these as 16-bit entries, and overflow control is not used. Rybka starts these values (upon startup or newgame) from some huge array that makes little sense (to me at least -- for instance, it seems not just to be the static value of the move). IPPOLIT starts all these values as zero (which also doesn't seem that trenchant to me).
It seems impossible to say that IPPOLIT didn't "copy" the idea here. Whether the idea is "identical" is a different question. Certainly the "code" wasn't copied in a strict sense (and I find it hard to distinguish whether it "started as Rybka code", in whatever sense). So we have at least 3 standards of discussion that could be indicated here.
Function WhiteEval 0x479610:About the only (slightly) odd thing I find with IPP_ENG.c is that it manages to use "else if" and a triparite splitting, rather than a bipartite one (note that the first comparison to "itog" could be with "<=", though maybe that would mean an extra memory-write in the off-chance that the table posgain and the curr posgain are the same):Code: Select all
[...] 0x0047c61b: mov 0xe8(%rsp),%rcx # to-square 0x0047c623: mov 0x2cab20(%r13,%rcx,4),%eax # piece moved, 0x6acb20 is the board 0x0047c62f: mov 0x1859a8(%r13,%rax,4),%ebx # map it via the piece7 table 0x0047c63a: shl $0xc,%ebx # shift by 12 for [piece7] 0x0047c640: add 0xa4(%rsp),%ebx # add [move] 0x0047c62b: mov 0xffffffffffffffac(%rbp),%r10d # previous poseval [from move stack] 0x0047c637: sub %r8d,%r10d # subtract the curr poseval [r8d] 0x0047c647: test %r9d,%r9d # if non cap, jump [we jump] 0x0047c64a: je 0x47c687 # note: r13 is just 0x400000rip 0x0047c687: movslq %ebx,%r8 # extend to 64-bit for lookup 0x0047c68a: movzbl 0x2fe470(%r8,%r13,1),%edx # lookup in posgain table 0x0047c693: cmp %dl,%r10b # compare tablebyte to posgain 0x0047c696: jle 0x47c6a2 # if posgain is bigger 0x0047c698: mov %r10b,0x2fe470(%r8,%r13,1) # replace the table value 0x0047c6a0: jmp 0x47c6bb # and jump to end 0x0047c6a2: movsbl %dl,%ecx # if posgain is smaller 0x0047c6a5: movsbl %r10b,%eax # sign-extend everything 0x0047c6a9: sub $0x14,%ecx # subtract 20 from table-value 0x0047c6ac: cmp %ecx,%eax # and if it is still bigger than curr posgain 0x0047c6ae: jge 0x47c6bb 0x0047c6b0: sub $0x1,%dl # then subtract 1 0x0047c6b3: mov %dl,0x2fe470(%r8,%r13,1) # and store in posgain table 0x0047c6bb: [...]
Code: Select all
sh = position_fixed.square[((move) & 077)]; d = move & 07777; itog = ((tower_dynamics - 1)->positional) - tower_dynamics->positional; if (increment_maximal[sh][d] < itog) increment_maximal[sh][d] = itog; else if (increment_maximal[sh][d] > itog) increment_maximal[sh][d]--;
As "finally we have" seems obvious, is the dispute with: "solid", "objective", "ample", "technical", "evidence", or "to the contrary"? Or maybe the implied word "clone"? If VR is merely saying that he has alternative evidence (either technical or elsewise) that IPPOLIT is in fact a clone, so be it, but if he saying that NH's statement errs in content, an elaboration would be of use.NH >> and finally we have solid, objective and ample technical evidence to the contrary [to the claim that IPPOLIT is a clone].
VR > I can assure you that you don't.
Nelson wrote:my integrity compels me to conclude that you simply cannot dismiss a rival as a clone without evidence
Vasik wrote: Maybe this is a valid point. I feel like the anonymity of the program gives me the right to do this. If a real author stepped forward, obviously I would never make an accusatory statement without careful documentation.
PAWN : Knight >> Bishop >> Rook >>Queen
-
- Posts: 33
- Joined: Thu Jun 10, 2010 4:41 pm
- Real Name: Chan Rasjid
Re: Ippolit and derivatives will never be favorably accepted
I think BB's comment here about positional gains tables for non-captures is rather unfavourable for Ippolit. As many have suspected in the past, the Ippolit author very likely reversed engineered Rybka 3.
Rasjid.
Rasjid.
-
- Posts: 33
- Joined: Thu Jun 10, 2010 4:41 pm
- Real Name: Chan Rasjid
Re: Ippolit and derivatives will never be favorably accepted
I don't know much about how acceptable reversed engineering is. What I know is those who is at the top within a certain niche industry would not be flattered having others peeking into its secret and then destroying their money and livelihood.kingliveson wrote:Chan Rasjid wrote:The problem is the sources and the method which we use to obtain something and contribute for the benefit of a community at large. That the end and the intention of an act is right does not mean the act is not questionable.kingliveson wrote: ...
Working on premises that Rybka is a legal and legitimate program; an engineer obtains a Rybka binary being a scientist interested in advancement of computer chess -- disassembles it, uses ideas found combined with new ones to produce a stronger program, and then releases the source to the community. We are not talking about code copying line for line, but rather expression of ideas which is legal.
Rasjid
Not unless they didn't pay for the version of software in which these knowledge were obtained. RE is legitimate form of discovery -- yesterday, today, and tomorrow. By the way, you didn't respond to the first part of my comment:
It would be silly for me to say Rybka "cloned" Fruit. Rybka took code line for line, modified procedures, and in some cases expressed the same ideas differently. Rybka source is then closed and the binaries were distributed for sale. Fruit being GPL is the problem. GPL does not allow mixing closed-source with open-source. So how does one justify "cloning anything from open source is wholly accepted?"
Lets imagine the early Japanese auto makers dismantled the American autos and examined all screws, nuts and bolts. They could learn very fast, and as long as they are careful and skirt around patents infringement, they save a lot in not reinventing the wheel. When they start pushing their cars into the markets, no one would have felt the result and impact of reverse engineering. This could be peculiar to auto manufacturing, and maybe to many other heavier industries, which are dependent on many other aspects to be successful and RE do not give a huge advantage. Well in the case of RE of a chess engine, as we all know too well, the impact could be an overnight sensation and an immediate hit on the pockets of Master Vasik Rajlich.
We can view RE as acceptable for all times. As long as Vasik did not take out patents on any algorithm, it is just unfortunate someone came out with Ippolit. The other view is RE is closer to stealing.
My answer to the second part as is the same as what I wrote in reply to Bensstoker earlier.
Rasjid
Re: Ippolit and derivatives will never be favorably accepted
When you say "them" I think you give too much credit to Ippolit. This is an original idea of Rybka that is copied to other engines.BB+ wrote: ...I don't know who else (if anyone) did so before them.
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
- Contact:
Re: Ippolit and derivatives will never be favorably accepted
If you don't know, read up: http://www.chillingeffects.org/reverse/faq.cgiChan Rasjid wrote:I don't know much about how acceptable reversed engineering is. What I know is those who is at the top within a certain niche industry would not be flattered having others peeking into its secret and then destroying their money and livelihood.
Lets imagine the early Japanese auto makers dismantled the American autos and examined all screws, nuts and bolts. They could learn very fast, and as long as they are careful and skirt around patents infringement, they save a lot in not reinventing the wheel. When they start pushing their cars into the markets, no one would have felt the result and impact of reverse engineering. This could be peculiar to auto manufacturing, and maybe to many other heavier industries, which are dependent on many other aspects to be successful and RE do not give a huge advantage. Well in the case of RE of a chess engine, as we all know too well, the impact could be an overnight sensation and an immediate hit on the pockets of Master Vasik Rajlich.
We can view RE as acceptable for all times. As long as Vasik did not take out patents on any algorithm, it is just unfortunate someone came out with Ippolit. The other view is RE is closer to stealing.
My answer to the second part as is the same as what I wrote in reply to Bensstoker earlier.
Rasjid
Your initial premise seems to be, though: even if it's legal, even if it's ethical and SOP throughout the commercial world, it's still somehow "wrong". Under what conditions, legal, ethical, can you imagine it being "ok"? Let's say, for the sake of argument, that the Ippo authors DID RE Rybka 3 to find out how it works, but didn't copy any code verbatim, that they used the knowledge discovered via RE as the basis for their own creation, loosely modelled after Rykba.
Jeremy
Re: Ippolit and derivatives will never be favorably accepted
Maybe the Ippo authors are unethical even if its legal but then is Vas unethical because of the "fruit deal" ?
If ippo authors are known will the engine be accepted into rating lists?
Can the ones who run official rating lists answer this now?
If ippo authors are known will the engine be accepted into rating lists?
Can the ones who run official rating lists answer this now?
-
- Site Admin
- Posts: 1226
- Joined: Wed Jun 09, 2010 7:49 am
- Real Name: Jeremy Bernstein
- Location: Berlin, Germany
- Contact:
Re: Ippolit and derivatives will never be favorably accepted
This is kind of a clear case of two wrongs not making a right. I would personally leave the Fruit issue out of the equation, which is complicated enough without introducing the extra question of "does re-opening closed open source constitute a legitimate guerilla coding action legally/ethically?" Although that is certainly an interesting topic, it merits its own thread.Charles wrote:Maybe the Ippo authors are unethical even if its legal but then is Vas unethical because of the "fruit deal" ?
If ippo authors are known will the engine be accepted into rating lists?
Can the ones who run official rating lists answer this now?
-
- Posts: 33
- Joined: Thu Jun 10, 2010 4:41 pm
- Real Name: Chan Rasjid
Re: Ippolit and derivatives will never be favorably accepted
This is what I got from your link:Jeremy Bernstein wrote:If you don't know, read up: http://www.chillingeffects.org/reverse/faq.cgiChan Rasjid wrote:I don't know much about how acceptable reversed engineering is. What I know is those who is at the top within a certain niche industry would not be flattered having others peeking into its secret and then destroying their money and livelihood.
Lets imagine the early Japanese auto makers dismantled the American autos and examined all screws, nuts and bolts. They could learn very fast, and as long as they are careful and skirt around patents infringement, they save a lot in not reinventing the wheel. When they start pushing their cars into the markets, no one would have felt the result and impact of reverse engineering. This could be peculiar to auto manufacturing, and maybe to many other heavier industries, which are dependent on many other aspects to be successful and RE do not give a huge advantage. Well in the case of RE of a chess engine, as we all know too well, the impact could be an overnight sensation and an immediate hit on the pockets of Master Vasik Rajlich.
We can view RE as acceptable for all times. As long as Vasik did not take out patents on any algorithm, it is just unfortunate someone came out with Ippolit. The other view is RE is closer to stealing.
My answer to the second part as is the same as what I wrote in reply to Bensstoker earlier.
Rasjid
Your initial premise seems to be, though: even if it's legal, even if it's ethical and SOP throughout the commercial world, it's still somehow "wrong". Under what conditions, legal, ethical, can you imagine it being "ok"? Let's say, for the sake of argument, that the Ippo authors DID RE Rybka 3 to find out how it works, but didn't copy any code verbatim, that they used the knowledge discovered via RE as the basis for their own creation, loosely modelled after Rykba.
Jeremy
Question: Is reverse engineering legal?
Answer: Reverse engineering has long been held a legitimate form of discovery in both legislation and court opinions. The Supreme Court has confronted the issue of reverse engineering in mechanical technologies several times, upholding it under the principles that it is an important method of the dissemination of ideas and that it encourages innovation in the marketplace.
....
The law regarding reverse engineering in the computer software and hardware context is less clear, but has been described by many courts as an important part of software development.
...
I don't think I have a satisfactory answer to the question you posed. It is the very bone of contention that split up CCC with the camp of Graham, Conkie, Macraken, Ansari who takes the view that RE of Rybka 3 is stealing, ..., etc, ... poor Vasik.
My own view about the RE of Rybka is this. What Zach and BB did is more in the spirit of discovery and I don't think many have objections. But I have some inclination towards the anti Ippolit camp when it comes to RE by the Ippolit author and disseminating a public chess program. There never was the question of copying by Ippolit of Rybka's code.
Why is the reverse engineering of Rybka 3 to produce Ippolit and releasing it to the public domain leaning towards the unethical as I view it? Maybe... it is a chess engine... and therefore unethical...
Best Regards,
Rasjid.