Moderator: Andres Valverde
the weight for Nf6 is 0%. The way I understand this is that my book should had never make this move if the weight is 0%. So, how is this possible?
If you want to set the probability of a move to a mathematical zero, the SCID should have removed it from the book. That is a very obvious solution, and I still have not heard a good argument why that would not be possible.
The alternative is to force a host of book-using programs to all change their operation, just to mask a bug in a single program... And that sounds like a very bad idea.
Michel wrote:Deleting and inserting moves is cumbersome and very error prone (how would you remember which moves can be "reinserted")....
If the problem is that the format specs are at fault, change the specs.
just to mask a bug in a single program...
H.G.Muller wrote:Writing 2^-16 where you mean 0 is a bug. Airplanes have crashed because of less...
The Polyglot standard, for no discernable reason, seems to require that to give a move zero weight, you should delete it. Now if you take that standard seriously (I wouldn't, but that is another matter), it should do as it prescribes. So if I ask for zero weight, and SCID does not delete the move from the book, it should be considered a bug.
I cannot suger-coat that in any way, no matter how offensive it may be.
Michel wrote:Deleting a move when you want to temporarily disable it is not a good option.
Scid did the closest thing to zero weight permitted by the spec (as indicated by ASSERTS in the PG source).
This is not a bug. It works nearly perfectly. For it to be completely perfect it needs a minuscule modification of the mapping
weights->probabilities (which is not formally specified yet anyway). A few lines of C code are sufficient, far less than what is required to use PG books at all.
You are asking Scid to violate the spec. That would be a bug.
Where, actually, is this original standard described?
IMO the accidental behavior of a particular implementation is not automatically suitable as standard. A standard for general use should obey much higher requirements of logic, ease of use, predictable behavior, etc. While for an implementation the only requirement is that it works.
Polyglot saw no reason to make it work correctly for weight = 0, because at that time the only producer of books in Polyglot-format books was Polyglot itself. It did not allow book tuning, and its algorithm for making books out of collections of PGN games never would lead to a weight of zero, so there was no need to make Polyglot work correctly for such weights. Hece the weight>0, in stead of weight>=0 assert bug was without consequences.
But for a standard the Polyglot behavior (crashing on logical and perfectly reasonable input) is not acceptable. You are trying to elevate a bug to the status of standard, and that is always a bad idea.
Michel wrote:You seem to be posting under my name now (and deleting my posts).
And can you please stop calling everyone else's code bugs.
Return to Winboard and related Topics
Users browsing this forum: No registered users and 13 guests