問題タブ [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.

0 投票する
1 に答える
4024 参照

c++ - C++ MurmurHash3 : 整数をハッシュする方法

整数キー値で MurmurHash3_x86_128() を呼び出す方法について混乱していますか、それとも可能ですか? murmurhash3 コードはhttps://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cppにあります。メソッドの定義を以下に示します。

len を 1 として整数値をハッシュしています。それは正しいですか、それとも間違っていますか?

0 投票する
1 に答える
1675 参照

java - グーグルグアバからMurmur3で長い一意のIDを生成する

現時点では、クライアント側で long 型の一意の識別子を生成しようとしています。親が既に識別子として UUID を持っている親子関係があります。long 型の Child-Id を計算するための Parent-UUID を検討したいと思います。

私は現時点でこの実装を持っています:

このアイデアについてどう思いますか?どんな提案でも大歓迎です。

私はすでにこの質問を読みました: UUID を使用して一意の Long を生成する方法

0 投票する
0 に答える
428 参照

hash - MAD 圧縮方式の値は?

Cormen の各レベルでユニバーサル ハッシュを使用して、完璧なハッシュ手法を実装しようとしています。具体的には、圧縮方法を使用します(少なくとも、ここに問題があると思います)。

私は文字列に取り組んでおり、短い文字列 (8 から 150 の間) だと思います。そのために、64 ビット キーを使用して、Murmur3/2、xxhash、FNV1、Cityhash、および Spookyhash を使用した一連のハッシュ関数があります (これらのspookyhash のようなハッシュ関数では下位 64 ビットを取得しています)、問題は、9 つ​​のバケットに 3 つの一意の文字列 (10 文字のうちの 2 つと 11 文字のうちの 1 つ) しかない衝突が存在することです。

そのためにコーメンのハッシュ圧縮方法を使用しています。

h_ab(k) = ((ak+b)mod p) mod m

a = 3p = 4294967291 (最大の32 ビット素数)、b = 5およびm = 9 (m_j は n_j の 2 乗であるため) を使用します。「k」として、ハッシュ関数によって返されたハッシュ値を使用しています(つぶやきなど)。

たとえば、murmur2 (64 ビット バージョン) のようなハッシュ関数を使用している場合、p番号は最大の 64 素数である必要がありますか? そのようにして、つぶやきが返す可能性のあるすべてのハッシュをカバーしていますね。

他にどのハッシュ圧縮手法 (除算以外) が存在し、推奨しますか?

参考文献、ヒント、本、論文、ヘルプは大歓迎です。ばかげた質問で申し訳ありませんが、私はハッシュ関数とハッシュテーブルの初心者です。

前もって感謝します。