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
| System | Port | Version |
|---|---|---|
| DragonFly | textproc/p5-Algorithm-RabinKarp | 0.41_2 |
| FreeBSD | textproc/p5-Algorithm-RabinKarp | 0.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.