(14-05-2026, 11:32 PM)oshfdk wrote: You are not allowed to view links. Register or Login to view.(14-05-2026, 09:19 PM)Mauro wrote: You are not allowed to view links. Register or Login to view.Coverage gets quite good: ~100%. Nbits_tokens is 488975, and Nbits_tokens/Coverage is 490014, quite good values. Loop-Lay was slightly better, at Nbits = 486946 and Nbits/Coverage = 487859. The best grammar I ever found (unpublished in detail, just posted in a thread) improves a little more:
Does the number of allowed loops affect Nbits in any way? Assuming the same slot assignments achieve 95% coverage for 4 loops and 100% coverage for 5 loops, is it possible for the Nbits score to be worse for the second grammar?
The lower the coverage the lower Nbits will be, because less tokens are encoded. That's why now I don't use the raw Nbits as a metric, rather Nbits/Coverage. Ie. if you look at one of the tables of my post above (2 repetitions Model C):
Quote:Grammar name: PROVA Voynich Ninja Labyrinthinesecurity, max repeats = 2
....
Word types coverage (excluding word types with rare characters): 0,4767848
Total number of bits required (all [encodable] tokens): 350486
Nbits_tokens/Coverage metric: 735103,093436505
This grammar has a low coverage, ~47%, so it encodes only a part of the text and, indeed, it has a very low Nbits (328908). But Nbits/Coverage is 735103, much higher i.e. than the 481947 of my 'best' grammar.
Or, in other words: the original Nbits metric is okay when comparing grammars with a similar coverage (as I did in my article, Nbits/Coverage was just in a footnote), but one needs Nbits/Coverage (or some analogous formula) in the more general case, where the coverage changes. And, in effect, better always use Nbits/Coverage. Sorry for the confusion!

