問題タブ [murmurhash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - murmurhash3 を使用して整数と文字列の入力をハッシュする方法
文字列と整数の入力のハッシュ値を取得しようとしています。murmurhash3 を使用すると、文字列に対しては実行できますが、整数に対しては実行できません。
次のエラーを返します。
次のようにバイトに変換できます。
しかし、入力が文字列の場合、エラーメッセージが表示されます
整数を文字列に変換せずにこれを克服するにはどうすればよいですか?
hash - 任意の int で 32 ビット一様分布を一様分布に変換します
D~U([0:2^N-1]
サンプルが整数の包括的整数範囲 [ 0
, 2^N-1
]の数値を生成する離散一様分布を考えると、サンプルが整数一様分布を持つようなN
関数が必要です。convert
d~D
convert(d, m)
Dc~U([0:m])
考え:
- 分布が連続的であれば、これは簡単です。数値の無限表現を切り取るだけで、均一性が維持されます。
- すべての数値に対してこれを行い、均一性を維持する方法は考えられません。
- 同点条件でリロールすることはできますが、アルゴリズムを定式化することはできません。
私が最終的に望むのは、正確な 32 ビットの数値ではなく、カスタム範囲 ( ) でつぶやくハッシュです。m