1 research outputs found

    Algoritmos de espaço quase ótimo para hashing perfeito

    No full text
    Exportado OPUSMade available in DSpace on 2019-08-11T19:35:31Z (GMT). No. of bitstreams: 2 fabianocupertinobotelho.pdf: 1520340 bytes, checksum: 23cee87f299f204700cccc80e79ad031 (MD5) fabianocupertinobotelho.pdf: 1520340 bytes, checksum: 23cee87f299f204700cccc80e79ad031 (MD5) Previous issue date: 29Uma função hash perfeita (FHP) h : S ? [0, m - 1] para um conjunto de chaves S ? U de tamanho n, onde m = n e U é um universo de chaves, é uma função injetora que mapeia as chaves de S para valores únicos. Uma função hash perfeita mínima (FHPM) é uma FHP com m = n, o menor intervalo possível. Funções hash perfeitas mínimas são amplamente utilizadas para armazenamento eficiente e recuperação rápida de itens de conjuntos estáticos, como palavras em linguagem natural, palavras reservadas em linguagens de programação ou sistemas interativos, URLs (universal resource locations) em máquinas de busca, ou conjuntos de itens em técnicas de mineração de dados. Nesta tese nós apresentamos um algoritmo de hashing perfeito altamente escalável e de espço quase ótimo. A avaliação de uma FHP sobre um dado elemento de S requer tempo constante, e a fase dominante no algoritmo de construção consiste da ordenação de n fingerprints de O(log n) bits em tempo O(n). A utilização de espaço depende da relação entre m e n. Para m = n a utilização de espaço está dentro do intervalo 2,62n à 3,3n bits, dependendo das constantes envolvidas nas fases de construção e avaliação. Para m = 1,23n a utilização de espaço está dentro do intervalo 1,95n à 2,7n bits. Em todos os casos, isto está distante por um pequeno fator constante do mínimo teórico de aproximadamente 1,44n bits para FHPMs e 0,89n bits para FHPs, uma coisa que nãofoi alcançada por algoritmos anteriores, exceto assintóticamente para valores de n muito grandes. Esta pequena utilização de espaço permitiu o uso de FHPMs em aplicações para as quais elas não eram úteis no passado.Nós demonstramos a escalabilidade do nosso algoritmo ao construir uma FHPM para um conjunto de 1,024 bilhões de URLs da World Wide Web de tamanho médio igual a 64 caracteres em aproximadamente 50 minutos, usando um PC comodite. Nós também apresentamos uma implementação paralela do algoritmo, a qual gera uma FHPM para o mesmo conjunto de URLs, usando um cluster de 14 computadores, em aproximadamente 4 minutos, alcançando um speedup quase linear. Além disso, para 14,336 bilhões de números inteiros de 16 bytes gerados aleatoriamente e distribuídos entre as 14 máquinas participantes, o algoritmo gera uma FHPM em aproximadamente 50 minutos, com uma degradação de desempenho de 20%.A perfect hash function (PHF) h : S [0, m 1] for a key set S U of size n, where m n and U is a key universe, is an injective function that maps the keys of S to unique values. A minimal perfect hash function (MPHF) is a PHF with m = n, the smallest possible range. Minimal perfect hash functions are widely used for memory efficient storage and fast retrieval of items from static sets, such as words in natural languages, reserved words in programming languages or interactive systems, universal resource locations (URLs) in web search engines, or item sets in data mining techniques. In this thesis we present a simple, highly scalable and near-space optimal perfect hashing algorithm. Evaluation of a PHF on a given element of S requires constant time, and thedominating phase in the construction algorithm consists of sorting n fingerprints of O(log n) bits in O(n) time. The space usage depends on the relation between m and n. For m = n the space usage is in the range 2.62n to 3.3n bits, depending on the constants involved in the construction and in the evaluation phases. For m = 1.23n the space usage is in the range 1.95n to 2.7n bits. In all cases, this is within a small constant factor from the information theoretical minimum of approximately 1.44n bits for MPHFs and 0.89n bits for PHFs, something that has not been achieved by previous algorithms, except asymptotically for very large n. This small space usage opens up the use of MPHFs to applications forwhich they were not useful in the past. We demonstrate the scalability of our algorithm by constructing an MPHF for a set of 1.024 billion URLs from the World Wide Web of average length 64 characters in approximately 50 minutes, using a commodity PC. We also present a distributed and parallel implementation of the algorithm, which generates an MPHF for the same URL set, using a 14 computer cluster, in approximately 4 minutes, achieving an almost linear speedup.Also, for 14.336 billion 16-byte random integers distributed among the 14 participating machines, the algorithm outputs an MPHF in approximately 50 minutes, with a performance degradation of 20%
    corecore