Author: José Carlos
Date: 11:54:47 11/28/03
Go up one level in this thread
On November 28, 2003 at 13:32:32, Michel Langeveld wrote: >On November 28, 2003 at 13:04:51, José Carlos wrote: > >> If I was requested to show my source code in a tournament, would I be allowed >>to: >> >> - Say I wrote it in assembly and provide the exe's asm file? >> - Remove all the comments? >> - Obfuscate the code by eliminating spaces and blank lines, changing variable >>names (u64AllPieces to a, u64WhitePieces to b, etc...), changing function names >>to something different (GenerateCaptures to GenerateChecks, Quiesce to >>EvaluateRooks, etc...), any other obfuscation technique? >> - Add some files with non used code, for example from my Othello program, with >>a #define that is not defined (#if define(PLAY_FAST)...)? >> - Remove some unimportant code (printfs for console mode, ...)? >> - ... >> >> Any of these changes would not change a bit how the program plays, and the >>program would comile just fine and show the same behaviour of the inspected exe. >> My question: is there any rule against that? And if so, how can it be proven? >> >> José C. > >Don't forget that you have to explain the code in a convincing way and have to >prove that you are the author and not someone else. I haven't read such a rule anywhere. AFAIK, Fritz Reul was asked to send the source code by email, in the begining of that issue. I saw no mention to explaining how it works. I would find it terrible if I came up with a new algorithm or a new way of representing information much better than anything known and I would have not only to show it but to explain how it works! Absolutlely unfair for competition. >So have fun explaining in a convincinly way obfuscated files, source combined >with a othello program or disassembly output. Even if I had to explain obfuscated code or asm output, I could invent any explanation I want and nobody would be able to say whether I'm lying or not, unless with a long and careful analisys, which again is not in any rule I've read. >I think they also want that the source you provide ... is also if you compile it >the executable that is used in the tournament. Unless you have a dual processor >program everything is verifiable and replayable probably. No problem here; obfuscated code compiles and runs just fine. Useless coded protected by false #defines wouldn't hurt at all... >You try to be smart ... that's good ... but don't forget the people in the chess >scene and also a human juri are not that stupid too. :-) No. I don't try to be smart. I'm just asking how is it ruled and what would happen if someone acts this way. >Nullmover is all from scratch and yes I can explain all the lines of code ... >the ways I tried it ... the ways that don't work and the ways that works. Also I >can tell you the order of how I implemented items, what items took really long >and what items are easy to make. The only foreign part I use is the egtb.cpp >with the permission of Eugene Namilov. And yes, no way I can explain all of his >code 100% Same for me. I wrote Averno and Anubis from scratch. Dann Corbit has had my souces several times to compile faster binaries. I got nothing to hide. I would probably show Averno's source code without much problem, as it's pretty standard chess code, but not Anubis. I've created some heuristics and search tricks I don't want anyone else to get for free, because it's been a very hard task and it's my right to keep it for me. I have some code in both that comes from Crafty, I admit. The random number generator and EGTB's access (only in Averno), but I asked permission to Bob and Eugene and got the permission from them, as well as the population count from AMD's optimization guide, which is free code AFAIK. My question os only out of curiosity. José C.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.