https://github.com/brocbyte/entropy-compressed-rs-dict
https://github.com/brocbyte/entropy-compressed-rs-dict
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/brocbyte/entropy-compressed-rs-dict
- Owner: brocbyte
- Created: 2021-10-20T04:27:37.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-10-20T12:34:54.000Z (over 4 years ago)
- Last Synced: 2025-02-23T15:13:29.338Z (over 1 year ago)
- Language: Python
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Practical Entropy-Compressed Rank/Select Dictionary
У меня есть ощущение, что это очень важно, посмотрим.
B - bitvector, |B| = n
__rank(x, S)__ - number of ones in B[0, x]
__select(i, S)__ - the position of the i-th one from left in B
nH0(S) = mlog(n/m) + (n-m)log(n/(n-m)) - "zero-th order empirical entropy" - просто посчитали число единиц (m), прикинули вероятности как отношения #(1)/n и #(2)/n
Kак вывод, они хранят enumerativeCodes, rank-directories для LB, SB и указатели на SLB в явном виде + такая же таблица, как у Jacobson'а. Итого расход по памяти как в Якобсоне, только доп поинтеры (n/(log(n)^2)) для SLB, но зато хранится не оригинальный битмап, а nH0.
## Source
https://arxiv.org/pdf/cs/0610001.pdf
[2] T. Cover. Enumerative source encoding.