我想寫一些代碼,將做「模糊散列」。那就是:我需要幾個輸入來哈希到相同的輸出,以便我可以快速輕鬆地進行搜索等。如果A散列爲1,C散列爲1,那麼發現A相當於C將是微不足道的。故意散列衝突
設計這樣的哈希函數似乎很難,所以我想知道是否有人有CMPH經驗或GPERF並可以引導我創建一個可以產生這個散列函數的函數。
在此先感謝! 斯特凡
@Ben
在這種情況下,布爾型的矩陣,但我可以很容易收拾他們進入64個整數。輸入中的旋轉,翻譯等無關緊要,需要清理。因此:
000
111
000
是相當於
111
000
000
和
001
001
001
(簡化)
@Kinopiko
我最好的選擇迄今爲止是要確定一些所以rt「典型」表示和設計代碼,當變換達到這樣的表示時(例如......封裝底部的所有位)終止。但這很慢,我正在尋找更好的方法。我的數據集很大。
@Jason
這兩個不會哈希到相同的值。
000
010
000
000
011
000
如果您正在尋找對摘要進行搜索,也許您應該尋找索引算法而不是散列函數。什麼類型的數據是你散列的,什麼是典型的搜索? –
這取決於你的數據。到目前爲止,你有什麼? – 2009-11-05 16:20:28
你在尋找類似布盧姆過濾器的東西嗎? http://en.wikipedia.org/wiki/Bloom_filter – Hasturkun