*** empty log message ***
This commit is contained in:
parent
7d742eaeab
commit
797b6c0123
|
@ -18,23 +18,19 @@ a localiza\c{c}\~oes inutilizadas na tabela e tempo para resolver colis\~oes qua
|
||||||
chaves s\~ao mapeadas para a mesma localiza\c{c}\~ao na tabela.
|
chaves s\~ao mapeadas para a mesma localiza\c{c}\~ao na tabela.
|
||||||
|
|
||||||
|
|
||||||
For {\em static sets} of keys it is possible to compute a function
|
Para {\em conjuntos est\'aticos} de chaves \'e poss\'{\i}vel computar uma fun\c{c}\~ao
|
||||||
to find any key in a table in one probe; such hash functions are called
|
para encontrar qualquer chave na tabela em uma \'unica tentativa; tais fun\c{c}\~oes
|
||||||
\textit{perfect}.
|
s\~ao chamadas de \textit{perfeitas}.
|
||||||
Given a set of keys~$S$, we shall say that a hash function~$h:U\to M$ is a
|
Dado um conjunto de chaves $S$, dizemos que uma fun\c{c}\~ao hash $h:U\to M$ \'e uma
|
||||||
\textit{perfect hash function} for~$S$ if~$h$ is an injection on~$S$,
|
\textit{fun\c{c}\~ao hash perfeita} (FHP) para $S$ se $h$ \'e injetora para $S$,
|
||||||
that is, there are no \textit{collisions} among the keys in~$S$: if~$x$
|
isto \'e, n\~ao h\'a {\em colis\~oes} entre as chaves em $S$: se $x$
|
||||||
and~$y$ are in~$S$ and~$x\neq y$, then~$h(x)\neq h(y)$.
|
e $y$ est\~ao em $S$ e $x\neq y$, ent\~ao $h(x)\neq h(y)$.
|
||||||
Figure~\ref{fig:minimalperfecthash-ph-mph}(a) illustrates a perfect hash
|
A Figura~\ref{fig:minimalperfecthash-ph-mph}(a) ilustra uma fun\c{c}\~ao hash perfeita.
|
||||||
function.
|
Se $m=n$, isto \'e, a tabela \'e do mesmo tamanho de $S$,
|
||||||
Since no collisions occur, each key can be retrieved from the table
|
ent\~ao $h$ \'e uma \textit{fun\c{c}\~ao hash perfeita m\'{\i}nima} (FHPM).
|
||||||
with a single probe.
|
A Figura~\ref{fig:minimalperfecthash-ph-mph}(b) ilustra uma
|
||||||
If~$m=n$, that is, the table has the same size as~$S$,
|
fun\c{c}\~ao hash perfeita m\'{\i}nima.
|
||||||
then~$h$ is a \textit{minimal perfect hash function} for~$S$.
|
FHPMs podem evitar totalmente o problema de desperd\'{\i}cio de espa\c{c}o e tempo.
|
||||||
Figure~\ref{fig:minimalperfecthash-ph-mph}(b) illustrates
|
|
||||||
a~minimal perfect hash function.
|
|
||||||
Minimal perfect hash functions totally avoid the problem of wasted
|
|
||||||
space and time.
|
|
||||||
|
|
||||||
% For two-column wide figures use
|
% For two-column wide figures use
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
|
@ -47,12 +43,13 @@ space and time.
|
||||||
\label{fig:minimalperfecthash-ph-mph}
|
\label{fig:minimalperfecthash-ph-mph}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
A efici\^encia dos algoritmos ser\'a medida atrav\'es das seguintes m\'etricas:
|
A aplicabilidade pr\'atica das FHPMs e consequentemente dos algoritmos utilizados para ger\'a-las est\'a diretamente relacionada com as seguintes m\'etricas:
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Quantidade de tempo gasto para encontrar uma fun\c{c}\~ao hash perfeita m\'{\i}nima $h$.
|
\item Quantidade de tempo gasto para encontrar uma FHPM $h$.
|
||||||
\item Quantidade de tempo necess\'ario para avaliar ou computar $h$.
|
|
||||||
\item Quantidade de mem\'oria exigida para armazenar a descri\c{c}\~ao da fun\c{c}\~ao $h$.
|
|
||||||
\item Quantidade de mem\'oria exigida para encontrar $h$.
|
\item Quantidade de mem\'oria exigida para encontrar $h$.
|
||||||
\item Escalabilidade dos algoritmos a medida que o conjunto de chaves cresce.
|
\item Quantidade de tempo necess\'ario para avaliar ou computar $h$ para uma dada chave.
|
||||||
|
\item Quantidade de mem\'oria exigida para armazenar a descri\c{c}\~ao da fun\c{c}\~ao $h$.
|
||||||
|
\item Escalabilidade dos algoritmos com o crescimento de $S$.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
|
Neste artigo apresentamos ...
|
|
@ -23,10 +23,12 @@ As fun\c{c}\~oes geradas necessitam de $O(n \log(n) + \log(\log(u)))$ bits para
|
||||||
A complexidade de caso m\'edio dos algoritmos para gerar as fun\c{c}\~oes \'e
|
A complexidade de caso m\'edio dos algoritmos para gerar as fun\c{c}\~oes \'e
|
||||||
$O(n\log(n) \log( \log (u)))$ e a de pior caso \'e $O(n^3\log(n) \log(\log(u)))$.
|
$O(n\log(n) \log( \log (u)))$ e a de pior caso \'e $O(n^3\log(n) \log(\log(u)))$.
|
||||||
A complexidade de avalia\c{c}\~ao das fun\c{c}\~oes \'e $O(\log(n) + \log(\log(u)))$.
|
A complexidade de avalia\c{c}\~ao das fun\c{c}\~oes \'e $O(\log(n) + \log(\log(u)))$.
|
||||||
*Falar do limite inferiors para descrever um FHP Mehlhorn~\cite{m84}*
|
|
||||||
Assim, os algoritmos n\~ao geram fun\c{c}\~oes que podem ser avaliadas com complexidade
|
Assim, os algoritmos n\~ao geram fun\c{c}\~oes que podem ser avaliadas com complexidade
|
||||||
de tempo $O(1)$, est\~ao distantes a um fator de $\log n$ da complexidade \'otima para descrever
|
de tempo $O(1)$, est\~ao distantes a um fator de $\log n$ da complexidade \'otima para descrever
|
||||||
FHPs e FHPMs e n\~ao geram as fun\c{c}\~oes com complexidade linear.
|
FHPs e FHPMs (Mehlhorn mostra em~\cite{m84}
|
||||||
|
que para armazenar uma FHP s\~ao necess\'arios no m\'{\i}nimo
|
||||||
|
$\Omega(n^2/(2\ln 2) m + \log\log u)$ bits), e n\~ao geram as
|
||||||
|
fun\c{c}\~oes com complexidade linear.
|
||||||
Al\'em disso, o universo $U$ das chaves \'e restrito a n\'umeros inteiros, o que pode
|
Al\'em disso, o universo $U$ das chaves \'e restrito a n\'umeros inteiros, o que pode
|
||||||
limitar a utiliza\c{c}\~ao na pr\'atica.
|
limitar a utiliza\c{c}\~ao na pr\'atica.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue