Re:A maximally-dense encoding for n-choose-k (2013)
by mota7 on Friday May 20, 2022 @08:16PM
(#31454119)
Nuts, you are correct that it isn't optimal.
It's not quite as simple as just 2 bits per digit, because the last digit can only be large if the earlier digits are small.
This makes the worst case is (1,2,6) which encodes as 48, for 5.58 bits.
Oh, you are correct that the first number has only 4 possible choices. But what about the second number? It can't be 1 (already picked) and 6 (ordering requirement), but other numbers are open to pick. The third number is no different, it can't be 1 and 2 (already picked) but otherwise all other numbers are allowed. The resulting N would be 4, 4 and 4, i.e. 6 bits.
Maybe it helps to see the fuller picture:
Ideally (and necessarily) the last column should be 24 for all possible cases, but your algorithm can go anywhere from 4 (2 bits) to 64 (6 bits).