正規表現で圧縮等するRANS使ってみた
面白そうなものが公開されていたので使ってみた記録。あんまりよくわかってないのですがRANSは正規表現を使ってデータ圧縮するためのもので、指定された正規表現が表現できるすべてのパターンを文字数が短い順に並べた時にその順番でindexつけて対応させて圧縮するみたいな感じかな。
正規表現を使ってデータ圧縮等するツールを作りました | sw@mac
実際に使ってみたがそんな感じになってた↓
% ./bin/rans '[afx][abg]' --text 'aa' 0 % ./bin/rans '[afx][abg]' --text 'ab' 1 % ./bin/rans '[afx][abg]' --text 'ag' 2
以下インストール手順、1世代古いさくらVPS(CentOS)にいれてみた。
GNU MP入れる
sudo yum install gmp-devel gmp
google gflags入れる
wget http://gflags.googlecode.com/files/gflags-2.0.tar.gz cd ./gflags-2.0 ./configure --prefix=/usr/local make sudo make install
RANS入れる
git clone https://github.com/sinya8282/RANS cd ./RANS make
試しに使ってみる
% ./bin/rans '[a-z]+' --text 'a' 0 % ./bin/rans '[a-z]+' --text 'aiueo' 629500 % ./bin/rans '[a-z]+' --text 'A' invalid text: text is not acceptable.