HIBF 1.0.0-rc.1
|
MinHash sketches design to be used for Locality sensitive hashing. More...
#include <hibf/sketch/minhashes.hpp>
Public Member Functions | |
void | fill_incomplete_sketches (std::span< uint64_t > const &more_smallest_values) |
Adds more minhash values to an existing but incomplete table. | |
bool | is_valid () const |
Checks whether the minHash table is completely filled. | |
Constructors, destructor and assignment | |
minhashes ()=default | |
Defaulted. | |
minhashes (minhashes const &)=default | |
Defaulted. | |
minhashes & | operator= (minhashes const &)=default |
Defaulted. | |
minhashes (minhashes &&)=default | |
Defaulted. | |
minhashes & | operator= (minhashes &&)=default |
Defaulted. | |
~minhashes ()=default | |
minhashes (std::vector< uint64_t > const &smallest_values) | |
construct from a vector of the smallest values in a set (sorted ascending). | |
Static Public Member Functions | |
static void | push_to_heap_if_smaller (uint64_t const value, std::vector< uint64_t > &heap) |
Pushes value to the heap if it is smaller than the current largest element. | |
Public Attributes | |
std::vector< std::vector< uint64_t > > | table {} |
A table of sketches. For LSH we need multiple sketches, stored in a table. | |
Static Public Attributes | |
static constexpr size_t | num_sketches {16} |
...00001111 | |
static constexpr uint64_t | register_id_mask {15} |
static constexpr size_t | sketch_size {40} |
Friends | |
class | cereal::access |
MinHash sketches design to be used for Locality sensitive hashing.
The partitioned HIBF as well as the Fast Layout need minHash sketches for a locality sentive hashing algorithm that improves the user bin distribution.
The sketches are specifically designed for this purpose:
The minhashes
struct keeps a table of several original MinHash sketches to be used for repeated iterations of LSH.
|
default |
Defaulted.