联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame > hashgames

Simhash算法及javHASH GAME - Online Skill Game ET 300a实现

发布时间:2025-06-28 12:57:38  点击量:

  HASH GAME - Online Skill Game GET 300

Simhash算法及javHASH GAME - Online Skill Game GET 300a实现

  这个算法的几何意义非常明了。它首先将每一个特征映射为f维空间的一个向量,这个映射规则具体是怎样并不重要,只要对很多不同的特征来说,它们对所对应的向量是均匀随机分布的,并且对相同的特征来说对应的向量是唯一的就行。比如一个特征的4位hash签名的二进制表示为1010,则这个特征对应的4维向量就是(1, -1, 1, -1)T,即hash签名的*一位为1,映射到的向量的对应位就为1,否则为-1。然后将一个文档中所包含的各个特征对应的向量加权求和,加权的系数等于该特征的权重。得到的和向量即表征了这个文档,我们可以用向量之间的夹角来衡量对应文档之间的相似度。最后为了得到一个f位的签名,需要进一步将其压缩,如果和向量的*一维大于0,则最终签名的对应位为1,否则为0。这样的压缩相当于只留下了和向量所在的象限这个信息,而64位的签名可以表示多达264个象限,因此只保存所在象限的信息也足够表征一个文档了。

  传统的hash算法只负责将原始容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。产生的两个签名,如果相等,说明原始容在一定概率下是相等的;如果不相等,除了说明原始容不相等外,不再提供任何信息,因为即使原始容只相差一个字节,所产生的签名也很可能差别极大。从这个意义上来说,要设计一个hash算法,对相似的容产生的签名也相近,是更为艰难的任务,因为它的签名值除了提供原始容是否相等的信息外,还能额外提供不相等的原始容的差异程度的信息。而Google的simhash算法产生的签名,可以满足上述要求。出人意料,这个算法并不深奥,其思想是非常清澈美妙的。

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: