Guillermo Resines - Jorge Garcia Losa

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Guillermo Resines - Jorge Garcia Losa - Presentation Transcript

    1. Funciones de dispersión
    2. Objetivos
      • Ha de ser una función sencilla, y por tanto rápida
      • Distribuir uniformemente los elementos en el espacio de almacenamiento
      • Evitar la aparición de colisiones
      • Para dos claves similares debe de generar posiciones muy distantes
    3. Función de dispersión para claves cadena
      • Sumar los ASCII de la cadena y hacer el mod con el tamaño de la tabla.
      • Inconveniente con un tamaño de tabla grande los elementos quedan situados en la parte superior de la tabla
      • Sumar los primeros K caracteres de la clave y multiplicarlos por 27,
      • Inconveniente k = longitud de la cadena, para garantizar una buena distribución por lo que no es viable
    4. Regla de Horner
      • La Regla de Horner calcula una función polinómica de la forma:
      • Utiliza un desplazamiento de 32 para realizar un mayor desplazamiento que en las funciones de dispersión de las claves cadena
    5. Regla de Horner (II)
      • Se realiza el mod en cada iteracción para evitar el desbordamiento, que hace el cálculo más costoso
      • int aux = 0;
      • for (int i = 0; i < clave.length() && i < 20; i++) {
      • aux *= 32;
      • aux += clave.charAt(i);
      • aux %= tamTabla;
      • }
    6. Función de dispersión CRC
      • Es una función de dispersión para un flujo binario de datos
      • Están basados en los algoritmos de redundancia cíclica usados para la detección de errores
      • La teoría del CRC consiste en que dado una trama de k bits, el transmisor genera además una secuencia de n bits (donde k>n), denominada FCS (Frame Check Sequence), de tal manera que la trama resultante, de n + k bits, sea divisible por algún número predeterminado. El receptor hará la operación inversa, es decir, dividirá la trama recibida por este número y si el resto es cero, es indicativo de que no hay errores
    7. Función de dispersión CRC (II)
      • M. Es la trama Original de Datos. Es de k bits longitud. F. El FCS resultante al aplicarlo a M. De n bits longitud. T. La unión de M +F. Es de k+n bits de longitud. P. El polinomio CRC de N-Bits. La principal idea del algoritmo CRC, es que el FCS generado permita que la división de T/P de cómo residuo o. Una trama de k bits se puede representar por un polinomio de grado k -1, donde los coeficientes del polinomio son los bits de la trama. Donde sk = 0 si el bit de la posición k es 0 y sk =1 si el bit vale 1.
    8. Función de dispersión CRC (III)
      • A continuación se debe definir el número de bits L de que constará el FCS. Con este dato, se genera un polinomio generador G(x) de grado L, para que de esta forma el resto sea de grado L – 1. Este polinomio es el que se empleará para dividir el polinomio resultante del contenido de la trama.
    9. Función de dispersión CRC (IV)
      • Los polinomios generadores más usados son:
        • CRC-12: x12 + x11 + x3 + x2 + x1 + 1. Usado para transmitir flujos de 6 bits, junto a otros 12 de redundancia.
        • CRC-16o CRC-CCITT: x16 + x15 + x2 + 1. Para flujos de 8 bits, con 16 de redundancia.
        • CRC-32: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1. Da una protección extra sobre la que dan los CRC de 16 bits
    10. Función de dispersión CRC (V)
      • Ejemplo de uso:
        • Supongamos que se quiere enviar la secuencia de bits 11100110 y emplear un CRC de 4 bits. Por ello el polinomio generador ha de ser de grado 4 y supongamos que es: G(x) = x4 + x3 + 1 Para calcular los 4 bits del CRC, primero transformaremos la secuencia de bits a enviar en el polinomio correspondiente, en este caso será:
    11. Función de dispersión CRC (VI)
        • M(x) = x7 + x6 + x5 + x2 +x Ahora el CRC es el resto de la división M(x) · x4 / G(x), y en este caso será x2 + x Por tanto el resto siempre tiene un grado inferior al del polinomio generador. El CRC estará compuesto por los coeficientes del polinomio resto resultante, es decir, en este caso será la secuencia 0110.

    + edi.dsaedi.dsa, 3 years ago

    custom

    1998 views, 0 favs, 0 embeds more stats

    Tablas Hash.Funciones de dispersion.

    More Info

    © All Rights Reserved

    Go to text version
    • Total Views 1998
      • 1998 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 45
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as innappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel