問題タブ [rabin]

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 投票する
2 に答える
5422 参照

java - Rabinハッシュ関数-JavaでのFAST実装

JavaでのRabinハッシュ関数の実装を探しています。誰かが高速ライブラリを推奨できますか?


更新:ここでライブラリをテストしました。

2GHzプロセッサで1mmのランダムURLをハッシュするのに約2200msかかります。

これは確かに私のニーズには十分ですが、モネントを取得したら別のライブラリをテストし、結果をここに投稿します。

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

.net - .NETを使用したRabinフィンガープリント

.NETを使用したrabinフィンガープリントの実装はありますか?

0 投票する
2 に答える
2874 参照

algorithm - Rabinの最近傍(最も近い点のペア)アルゴリズム?

そこで、マイケル・ラビンによるアルゴリズムの詳細を見つけようとしています。このアルゴリズムは、O(n)時間で2Dの点のセットが与えられた場合に最近傍を見つけます。何らかの理由で、グーグル検索は完全に私を失敗させています。私が見つけた最高の(そして唯一の)説明はここにあります:http://rjlipton.wordpress.com/2009/03/01/rabin-flips-a-coin/

誰かがこれについて何か知っているか、主題に関する本や論文をどこで見つけるかを知っているなら(できればオンラインで!)、私はあなたが量り込んでくれて本当に感謝しています。

0 投票する
3 に答える
504 参照

algorithm - このハッシュ/キャッシング/バージョニングアルゴリズムの名前は何ですか?

私は数週間前のプレゼンテーションでそれを見て、それを実装しようとしましたが、失敗し、それを忘れました。しかし今、私はそれがどのように機能するか知りたいです=)

これは、データを効率的に転送/保存する方法です。それはどんな言語でも機能します。これは(私が思うに)それがすることです:

非常に大きなファイルが1つあります(たとえば、Webサイトのjavascriptコレクション全体)。

  1. 48バイトのブロックに分割します
  2. 48バイトのすべてのブロックをハッシュします(例:MD5)
  3. 0x00で終わるハッシュ上のブロックのリストを分割します
  4. 大きなブロック(> = 1ハッシュ)は異なるサイズになります。非常に大きいものもあれば、非常に小さいものもあります。
  5. それらのハッシュの間にブロックを接着します(ここでも、実際のデータのサイズが大きく異なります)
  6. それらのブロックをハッシュする
  7. これで、大きなファイルの現在のバージョンを表すハッシュのリストができました。

大きなファイルでコードの一部が変更された場合、変更されるハッシュは1つまたは2つだけであるという考え方です。新しいファイルを使用すると、上記のすべての手順を実行し、実際に変更された部分(ブロック、ハッシュで識別可能)のみをアップロード/ダウンロードします。変更されたコードの量とそのコードを囲むブロックのサイズに応じて、4つを超えるブロックをダウンロードする必要はありません。(ファイル全体ではなく)通信のもう一方の端は、元のブロック(同じアルゴリズム、同じ機能)を新しいブロックに置き換えます。

おなじみですか?彼らは名前について言及しましたが、何も見つかりませんでした。私がそれを構築しようとしたとき、それはうまくいきませんでした。なぜなら、正確に48バイトを変更しないと[1]、その変更後のすべてのハッシュが異なるからです[2]。

誰かが名前を知っているなら:素晴らしい。誰かがそれを説明することができれば:完璧です!

更新
私はそれが含まれていたプレゼンテーションを見つけました。それは新製品「サイロ」で言及されました(そして使用されました) :http: //research.microsoft.com/apps/pubs/default.aspx?id = 131524関連:http: //channel9.msdn.com/Events/MIX/MIX11/RES04(つまり、実際にはMicrosoftの調査でした!きちんと!)

最初のリンクから:

Silo対応のページは、このローカルストレージをLBFSスタイルのチャンクストアとして使用します。

2番目のリンク(ビデオ)では、良いものはで始まり6:30ます。今、私はそれを二度見ました...私はまだそれを理解していません=)

キーワードはとDelta encodingですRabin fingerprints

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

java - Madcreator Rabinfingerprint コマンドライン vs Java/scala プログラム

Madcreator の Rabinfingerprint Java ライブラリを scala プログラムhttps://github.com/themadcreator/rabinfingerprintで使用しています。

コマンド ラインを使用して、53 度の既約多項式を生成します。

次に、ファイルのフィンガープリントを作成します。

私が抱えている問題は、コードを使用して、同じ入力が与えられたときに同じ出力を生成することです。

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

python - Pythonでのミラーラビン素数テストの最適化/修正

これが私のコードです:

私が理解しているように、このテストは非常に大きな数を処理できるはずですが、私のスクリプトは 50034901 のような数で動かなくなります。どこかでエラー/重大な非効率性を犯したと思います - 私のスクリプトは小さな数でも機能するためです.