Niklas Fiekas
Niklas Fiekas
Awesome, sounds good! The data was a sample from https://database.lichess.org/. The tools and scripts are linked in the "Ordering moves" section of https://lichess.org/blog/Wqa7GiAAAOIpBLoY/developer-update-275-improved-game-compression.
The legal moves in any position are first sorted based on an ordering heuristic. Then the word to encode is the index in the list of ordered moves. If the...
Nice work! And sorry, looks like a major part was missing from the Rust version after all. What were the overall results in terms of average bytes per game or...
It's a slight regression, with the status quo being 37.03 bytes per game. There must be a subtle mistake somewhere. Will review more closely, soon.
Or arithmetic coding. Not sure in advance which will perform best. I would expect any of these to gain about half a bit per move.
We might need a separate one, then, since we're not touching clock compression here.
When the compressor writes bits to a byte array, the final byte may not be fully used, but the database can only store whole bytes. Without doing something about that,...
For this particular scheme, the decoder would look at the last bit of the last byte. It would then pop bits off the end, until finding a different bit value.
More relevant work: https://github.com/JadenStrudwick/cgn-cli
Until the upstream issue is solved, #16170 could be used to disable WYSIWYG mode on a blog post without the issue.