I still think this argument could use some additional bolstering, but I will rebut what I think it is the main contention.Rebel wrote:Have thought about this line of reasoning as well. Goes a bit far don't you think?
Imagine all the work involved, first getting familiar with the Fruit source code understanding the in's and out's before even dare to change a thing would take how much time? Then the supposed Mail-box to Bit-board conversion and all the testing involved, how much time? Then all the supposed obfuscations (100=3200) among them the PST's (import the calculated Fruit numbers into Rybka) on top of that adding an extra hiding element, the 3399 obfuscation. During the process adding 100 elo points. Loads of testing of course. All of that in 5½ months? I am counting from the release of Fruit 2.1 sources (17.06.2005) and the release of Rybka 1.0 beta (4.12.2005) The 5½ month being the best case scenario because nobody knows if Vas downloaded the Fruit sources on 17.6.2005 and nobody knows when Vas had his supposed eureka moment, "yes, this is good stuff, I am going to use Fruit as the base for my own engine".
Firstly, as "100 elo" was bolded (in green) in the original, I should first point out that the number might be closer to 75 Elo (see this evidence, where the number is 68), though I'll stick with 100 for the sake of argument. Further, Fabien gained around 50-60 Elo from mid-June to mid-August via tuning. With this in mind, here is an enumeration of gaining 100 Elo in 5.5 months -- I've tried to overestimate every time constraint:
Looking at Fruit, quitting job, etc., 1.5 months Bitboard conversion, 20-25 Elo from general speed improvement, 2-4 weeks (including removing/improving various Fruit development/debugging code] Material table 20-25 Elo, 1-2 days to plug in pre-existing work Search ideas 20-25 Elo, 1-2 weeks for the "beyond AEL" pruning, also might have had the idea previously maybe another 1-2 weeks to get rid of Fruit history pruning, reshape its search, etc. Tuning eval 50 Elo, 2 months [note that various other development can be done during this time, if it is sufficiently automated] Bugs introduced, -20 Elo
I will deal with the specifics (file-by-file) of "bitboard conversion" in a later post below (if my "time-wasting" budget for the day does not over-run by then).
I dabbled in writing a computer chess program when I was in Bristol, in 2007. It was (surprise!) a bitboard program with a lot of Fruit influence. It took me less than 5.5 months (working part-time) to get something decent working, though I can't say I was necessarily that interested in tooling around to gain Elo [it did take me more than a week to chase down a hashing bug at one point -- I had to instrument I/O for all accesses, trace them, etc.].Rebel wrote:It's one thing to say you can do all that in just 5.5 months than actually doing it. Following your profile you are not chess programmer or the document must be incomplete. Are you?
I might in reply ask about your commensurate qualifications in estimating the time necessary to take an existing codebase (not necessarily chess or open-source) and modify according it to one's needs?
I don't quite follow this statement. I think the contention is that Rajlich didn't write his "own" bug-free(?!) stuff for at least some of Rybka 1.0 Beta parts, but rather borrowed/modified them from Fruit.Rebel wrote:I mean this, it's one thing to understand existing code, writing your own bug-free stuff is something entirely different. So it makes me wonder how you can judge the 5½ month issue on its merit.