ランダムなビットを設定してビットマップを生成できるビットマップ圧縮アルゴリズムを探していますが、ビットマップが RAM で使用するスペースの量が心配です。
1073741824 ビット (約 10 億ビット) を保存する圧縮されていないビットマップには、約 128 MB のスペースが必要ですが、それほど多くのスペースはありません。できるだけ少ないスペース(RAM)でこれを行いたいと思います。
WAH、EWAHなど(まだ論文を注意深く読んでいません)を他の人で見ましたが、それらはストリーム圧縮であり、ビットマップの圧縮形式でビットをランダムに設定する(作成中)ことは不可能です(非常に高価な操作)。 100 番目、200 番目、300 番目を設定したい場合は機能しますが、100 番目、200 番目、105 番目、3000 番目、1999 番目を設定する必要がある場合、それは不可能です。
どのビットが設定され、どのビットが設定されていないかという情報は、私の場合、すべてのビットに対してランダムにしか取得できません。昇順に。
これは正しいですか、代替手段はありますか?
概要: ビットをランダムに設定しながら圧縮ビットマップを作成するアルゴリズム。エントロピー/パターン情報はありません。配布は何でも構いません。
目的: メモリを節約するための最適なアルゴリズム。ランダムなビットを設定することにより、ビットマップの作成中にビットマップが使用するメモリを削減します。