That is not so rare for chess programs. To name a few programmers who have done so that I know, but there must be many more:kingliveson wrote:Strelka was claimed to be a clone of Rybka (rightly so to a certain extent), and I have analyzed both the sources of Strelka 2.0 and Fruit 2.1; I have my own belief of what happened. As for the reason that comment is funny, many programmers will read that statement and find it funny because it is rare for a developer to re-write an application from scratch.Peter Skinner wrote:Why?kingliveson wrote:This makes me laugh out loud, seriously.Peter Skinner wrote: Can someone give me 100% proof that the current version of Rybka has any code left from Fruit?
Do I believe previous versions of Rybka contained Fruit? Yes.
Peter
Many programs have started with a code base from TCP then went on to re-write the code to make it their own.
While Rybka in my mind contained Fruit code in the earlier versions, I am 100% confident that there wouldn't be any today.
Peter
Taken from Wikipedia:Code: Select all
Motivation 1. When the source code to be able to extend an existing program is not available. 2. When the source code is available under an incompatible license. 3. When the code cannot be adapted to a new target platform. 4. When the existing code has become too difficult to handle and extend. 5. When the task of debugging the existing code seems too complicated. 6. When the programmer finds it difficult to understand the source code.
Tord Romstad has written several programs, I know of Gothmog, Scatha for hexagonal chess, Viper, Glaurung.
Harm-Geert Muller has written Usurpator, Micro-Max, Joker, HaKiQi for Chinese Chess.
Peter Fendrich wrote Terra and Alaric.
From Robert Hyatt I know Cray Blitz for Cray supercomputers in Fortran and Crafty in C.
As far as I know all these programs were rewritten from scratch, of course incorporating experiences of previous programs or there would not be much point. Chessprograms are not so large that developing something from the ground up is much more time than trying an evolutionary approach, for programmers who have done so before.
I do not see why it would be impossible to do the same with Rybka 1.0.
That being said I don't think that Vas ever stated that his new versions were totally rewritten. Parts of eval and search yes, but not complete rewrites. I also have not heard much about similarities between Ippolit/Robbolito viz. datastructures etc. compared with other programs but I believe that has to do with deliberate obfuscation.