BSD Ports

textproc/p5-Algorithm-RabinKarp 0.41_2 DragonFly

Rabin-Karp streaming hash

System
DragonFly
Repository
DPorts
Maintainer
[email protected] (as in FreeBSD)
License
ART10, GPLv1+
Categories
perl5, textproc
Package size
12.4 KiB, 25.4 KiB installed

Description

This is an implementation of Rabin and Karp's streaming hash, as described in "Winnowing: Local Algorithms for Document Fingerprinting" by Schleimer, Wilkerson, and Aiken. Following the suggestion of Schleimer, I am using their second equation:

$H[ $c[2..$k + 1] ] = (( $H[ $c[1..$k] ] - $c[1] ** $k ) + $c[$k+1] ) * $k

The results of this hash encodes information about the next k values in the stream (hense k-gram.) This means for any given stream of length n integer values (or characters), you will get back n - k + 1 hash values.

For best results, you will want to create a code generator that filters your data to remove all unnecessary information. For example, in a large english document, you should probably remove all white space, as well as removing all capitalization.

In the other systems

SystemPortVersion
DragonFlytextproc/p5-Algorithm-RabinKarp0.41_2
FreeBSDtextproc/p5-Algorithm-RabinKarp0.41_2

Install

Binary package:

pkg install p5-Algorithm-RabinKarp

From DPorts:

cd /usr/dports/textproc/p5-Algorithm-RabinKarp && make install clean

Dependencies

Run dependencies 1

No port depends on this one.