Re: Functionality of programs not protected by copyright
Posted: Mon May 14, 2012 1:10 pm
As you've indicated, this then turns on what "all the same" evaluation features means, but I will attempt to elucidate my comment a bit more.syzygy wrote:You can't write a program identical to Fruit without writing an evaluation function that gives identical results, i.e. that has all the same evaluation features.
Suppose we took the Fruit evaluator as a black box, and by input/output testing, replicate its functionality. Noting that 50 appears thrice (at least) as a value, would there be any reason for these not to be combined into some conjunctive feature like BlockedBishopOrRook_OrTrappedBishopOn6th?
Similarly, why should these 4 parameters
Code: Select all
static const int KnightMobOpening = 4;
static const int KnightMobEndgame = 4;
static const int RookMobOpening = 2;
static const int RookMobEndgame = 4;
Code: Select all
static const int KnightMobOpening = 4;
static const int RookMobOpening = 2;
static const int KnightOrRookMobEndgame = 4;
Code: Select all
static const int KnightMobAllPhases = 4;
static const int RookMobOpening = 2;
static const int RookMobEndgame = 4;
One could presumably choose a different basis (replace X and Y by X-Y and X+Y, etc.) -- however, I would say that there is fairly naturally a preferred basis [falling under efficiency considerations though, which should be distinguished from functionality]. And I would also concur that (reasonably) replicating the Fruit functionality requires a highly similar feature set, just not one that is "all the same".