CPC H04L 9/0643 (2013.01) | 8 Claims |
1. A computer-implemented method executed in a processor for constructing a minimal perfect hash function mapping with optimized efficiency in storing and accessing data in a digital database, the method comprising:
selecting a set H of k hash functions over a set Y of n keys, each of the keys representing an element of data having greater bit size, the hash functions being disparately indexed one relative to the other;
building a bipartite graph defining a plurality of edges mapping the set Y of keys to respective hash values generated according to different combinations of keys and hash functions from the set H of hash functions, wherein each edge extending between a key and a hash value of the bipartite graph has a weight defined by the index of a hash function from the set H associated with said edge;
selectively determining a combination of the weighted edges to collectively form a minimal weight perfect matching of the keys to exclusive ones of the hash values in the bipartite graph, the hash value exclusively matched to each key replicating a minimal perfect hash function (MPHF) index of the key for accessing data stored in the digital database associated therewith; and
generating a satisfiability filter based on the minimal weight perfect matching in the bipartite graph, the satisfiability filter reducing the data stored in the digital database for identifying the MPHF indices of the keys responsive to a query down to a bit vector having a predetermined sequence of single bit values;
wherein a build time to form a MPHF mapping and a query time for accessing data associated with the elements stored in the digital database are thereby minimized.
|