SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
UNIVERSIDAD DE ORIENTE
NÚCLEO ANZOÁTEGUI
ESCUELA DE INGENIERÍA
DEPARTAMENTO DE COMPUTACIÓN Y SISTEMAS
ANALISIS Y DISEÑO DE ALGORITMOS
CICLOS DE INSTRUCCIONES
Profesora: Integrantes:
Julima Anato Eulises Brazon
Josue Baez
Codificación de Huffman
Nombre Apellido
La codificación de Huffman es un algoritmo utilizado para la compresión de datos
que nos permite representar una información con la mínima cantidad de bits
necesarios, según la cantidad de caracteres presentes y la frecuencia con la que
estos se repiten.
El codificador Huffman crea una estructura arbórea ordenada con todos los
símbolos y la frecuencia con que aparecen. Las ramas se construyen en forma
recursiva comenzando con los símbolos menos frecuentes.
Ojo hay que acomodar esto
Codificación de Huffman- Antecedentes
Nombre Apellido
Techinfo explica la codificación HuffmanLa compresión de datos tiene una historia anterior a la
informática física. El código Morse, por ejemplo, comprime la información asignando códigos más
cortos a los caracteres que son estadísticamente comunes en el idioma inglés (como las letras “e”
y “t”). La codificación de Huffman surgió como resultado de un proyecto de clase en el MIT de su
entonces estudiante, David Huffman.
En 1951, Huffman estaba tomando una clase con Robert Fano, quien (con la ayuda de un
ingeniero y matemático llamado Claude Shannon) inventó un esquema de eficiencia conocido
como codificación Shannon-Fano. Cuando Fano le dio a su clase la oportunidad de escribir un
trabajo final o tomar un examen final, Huffman eligió el trabajo final, que buscaba encontrar un
método de codificTechinfo explica la codificación HuffmanLa compresión de datos tiene una
historia anterior a la informática física. El código Morse, por ejemplo, comprime la información
asignando códigos más cortos a los caracteres que son estadísticamente comunes en el idioma
inglés (como las letras “e” y “t”). La codificación de Huffman surgió como resultado de un
proyecto de clase en el MIT de su entonces estudiante, David Huffman.En 1951, Huffman estaba
tomando una clase con Robert Fano, quien (con la ayuda de un ingeniero y matemático llamado
Claude Shannon) inventó un esquema de eficiencia conocido como codificación Shannon-Fano.
Cuando Fano le dio a su clase la oportunidad de escribir un trabajo final o tomar un examen final,
Huffman eligió el trabajo final, que buscaba encontrar un método de codificación binaria
eficiente. Esto resultó en la codificación de Huffman, que en la década de 1970 se había
convertido en un algoritmo de codificación digital prominente.ación binaria eficiente. Esto
resultó en la codificación de Huffman, que en la década de 1970 se había convertido en un
algoritmo de codificación digital prominente..
Esquema algorítmico
Nombre Apellido
Se listan la frecuencia de los
caracteres de menor a mayor
Se localizan los dos valores mas
pequeños,pu y pv
Se eliminan pu y pv de la lista L
Se insertan en L el valor pu+ pv de
forma que siga ordenado de menor
a mayor.
numero de
elementos de
la nueva lista L
es distinto de 2
Sea T(L) Una arborescencia
binaria con vértice V0 y dos
vértices de grado de entrada
1 que etiquetamos con los
valores de la ultima lista L.
. Se reemplaza el vértice
cuya etiqueta sea la suma
de dos valores, pu + pv por
un árbol dirigido con raíz
binario cuya raíz sea dicho
vértice y los otros dos .
Las etiquetas del
árbol dirigido con
raíz generado
coincidide con
los valores de
entrada de datos
Si
No
Fin
Si
No
Esquema algorítmico
Nombre Apellido
Paso 1: Se listan las frecuencias de menar a mayor L
Paso 2. Se localizan los dos valores más pequeños de la lista, pu y pv
Se eliminan de la lista L
Se insertan en L el valor pu + pv de forma que siga siendo una lista de
números creciente.
Si el numero de elementos de la nueva lista L es distinto de 2
ir al PASO 2
Paso 3. Sea T(L) Una arborescencia binaria con vértice V0 y dos vértices de frado de
entrada 1 que etiquetamos con los valores de la ultima lista L.
Paso 4. Se reemplaza el vértice cuya etiqueta sea la suma de dos valores, pu + pv por
un árbol dirigido con raíz binario cuya raíz sea dicho vértice y los otros dos
vértices tengan como etiquetas los valores pu y pv.
Ir a pasa 4 hasta que las etiquetas del árbol dirigido con raíz generado coincidid con los
valores de entrada de datos
.
Codificación de Huffman
Ejemplo
Caracteres “x”, “y”,“ * ”,“+”,“(”,“)”
Código 1: x➜01 y➜10 *➜101 +➜0 ) ➜11 (➜00
Código 2: x➜1110 y➜1111 *➜110 +➜10 ) ➜01 (➜00
Significado?
Código 1: 00010101110101 00 01 0 10 11 101 01
( x + y ) * X
0 00 10 101 11 01 01
+ ( y * ) x x
Código 2: 001110101111011101110 00 1110 10 1111 01 110 1110
( x + y ) * X
Eulises Brazon
Codificación de Huffman
Obtención del código prefijo+
1. Se construye un árbol dirigido con raíz binario donde:
1. el arco de salida izquierdo de cada vértice esta etiquetado con 0
2. El arco de salida derecho de cada vértice esta etiquetado con 1
2. Los vértices de grado de salida 0 (hijos) están etiquetados con caracteres
Ejemplo: 0
0 0
0
0
1
1
1
1
1
( ) +
*
x y
Eulises Brazon
Codificación de Huffman
Obtencion del mejor código prefijo asociando a los símbolos “x”, “y”,“*”,“+”,“(”,“)”.
Las frecuencia con que estos aparecen vienen reflejadas en la tabla siguiente
10, 10, 15, 20, 20, 25
15, 20, 20, 20, 25
20, 20, 25, 35
25, 35, 40
46, 60
0
0 0
0
0
1
1
1
1
1
( ) +
*
x y
Caracteres x y * + ( )
Frecuencia 10 10 15 25 20 20
10 10
15
25
20
20
Eulises Brazon
Aplicaciones de la Codificación de Huffman
Esta compresión no se limita únicamente a
archivo, ya que la codificación de Huffman
sirve como base par multiples técnicas y
formatos de Compresión, como la compresión
de imagen, que delimitan aquellas áreas
donde un mismo color se repite
constantemente y en conjunto con la
codificación de huffman se logra reducir su
tamaño, pero conservando la calidad de
imagen.
La codificación Huffmann permite la
compresión de archivos, después de asignar
códigos Huffmann a cada carácter en un
archivo, estos caracteres deben reemplazarse
con códigos Huffmann equivalentes en el
archivo comprimido.
Eulises Brazon

Más contenido relacionado

Similar a Presentacion Foro eulises brazon Josue Baez (12)

Algoritmos compresión Cubi-Romero-Toledo
Algoritmos compresión Cubi-Romero-ToledoAlgoritmos compresión Cubi-Romero-Toledo
Algoritmos compresión Cubi-Romero-Toledo
 
teoria dddddddddddddddddddddddde grupos (3).pptx
teoria dddddddddddddddddddddddde grupos (3).pptxteoria dddddddddddddddddddddddde grupos (3).pptx
teoria dddddddddddddddddddddddde grupos (3).pptx
 
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1 (1).pptx
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1 (1).pptxCE143 - S06 Compresión de datos y ecuaciones en diferencias_c1 (1).pptx
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1 (1).pptx
 
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1.pptx
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1.pptxCE143 - S06 Compresión de datos y ecuaciones en diferencias_c1.pptx
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1.pptx
 
Grafos 9.2 2016
Grafos 9.2 2016Grafos 9.2 2016
Grafos 9.2 2016
 
Grafos 9.2_2016
Grafos 9.2_2016Grafos 9.2_2016
Grafos 9.2_2016
 
Grafos 9.2 2016
Grafos 9.2 2016Grafos 9.2 2016
Grafos 9.2 2016
 
calculo integral
calculo integralcalculo integral
calculo integral
 
Mandala grupos y codigos
Mandala grupos y codigosMandala grupos y codigos
Mandala grupos y codigos
 
Apuntes compiladores
Apuntes compiladoresApuntes compiladores
Apuntes compiladores
 
La logica proposicional
La logica proposicionalLa logica proposicional
La logica proposicional
 
Huffman
HuffmanHuffman
Huffman
 

Presentacion Foro eulises brazon Josue Baez

  • 1. UNIVERSIDAD DE ORIENTE NÚCLEO ANZOÁTEGUI ESCUELA DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN Y SISTEMAS ANALISIS Y DISEÑO DE ALGORITMOS CICLOS DE INSTRUCCIONES Profesora: Integrantes: Julima Anato Eulises Brazon Josue Baez
  • 2. Codificación de Huffman Nombre Apellido La codificación de Huffman es un algoritmo utilizado para la compresión de datos que nos permite representar una información con la mínima cantidad de bits necesarios, según la cantidad de caracteres presentes y la frecuencia con la que estos se repiten. El codificador Huffman crea una estructura arbórea ordenada con todos los símbolos y la frecuencia con que aparecen. Las ramas se construyen en forma recursiva comenzando con los símbolos menos frecuentes. Ojo hay que acomodar esto
  • 3. Codificación de Huffman- Antecedentes Nombre Apellido Techinfo explica la codificación HuffmanLa compresión de datos tiene una historia anterior a la informática física. El código Morse, por ejemplo, comprime la información asignando códigos más cortos a los caracteres que son estadísticamente comunes en el idioma inglés (como las letras “e” y “t”). La codificación de Huffman surgió como resultado de un proyecto de clase en el MIT de su entonces estudiante, David Huffman. En 1951, Huffman estaba tomando una clase con Robert Fano, quien (con la ayuda de un ingeniero y matemático llamado Claude Shannon) inventó un esquema de eficiencia conocido como codificación Shannon-Fano. Cuando Fano le dio a su clase la oportunidad de escribir un trabajo final o tomar un examen final, Huffman eligió el trabajo final, que buscaba encontrar un método de codificTechinfo explica la codificación HuffmanLa compresión de datos tiene una historia anterior a la informática física. El código Morse, por ejemplo, comprime la información asignando códigos más cortos a los caracteres que son estadísticamente comunes en el idioma inglés (como las letras “e” y “t”). La codificación de Huffman surgió como resultado de un proyecto de clase en el MIT de su entonces estudiante, David Huffman.En 1951, Huffman estaba tomando una clase con Robert Fano, quien (con la ayuda de un ingeniero y matemático llamado Claude Shannon) inventó un esquema de eficiencia conocido como codificación Shannon-Fano. Cuando Fano le dio a su clase la oportunidad de escribir un trabajo final o tomar un examen final, Huffman eligió el trabajo final, que buscaba encontrar un método de codificación binaria eficiente. Esto resultó en la codificación de Huffman, que en la década de 1970 se había convertido en un algoritmo de codificación digital prominente.ación binaria eficiente. Esto resultó en la codificación de Huffman, que en la década de 1970 se había convertido en un algoritmo de codificación digital prominente..
  • 4. Esquema algorítmico Nombre Apellido Se listan la frecuencia de los caracteres de menor a mayor Se localizan los dos valores mas pequeños,pu y pv Se eliminan pu y pv de la lista L Se insertan en L el valor pu+ pv de forma que siga ordenado de menor a mayor. numero de elementos de la nueva lista L es distinto de 2 Sea T(L) Una arborescencia binaria con vértice V0 y dos vértices de grado de entrada 1 que etiquetamos con los valores de la ultima lista L. . Se reemplaza el vértice cuya etiqueta sea la suma de dos valores, pu + pv por un árbol dirigido con raíz binario cuya raíz sea dicho vértice y los otros dos . Las etiquetas del árbol dirigido con raíz generado coincidide con los valores de entrada de datos Si No Fin Si No
  • 5. Esquema algorítmico Nombre Apellido Paso 1: Se listan las frecuencias de menar a mayor L Paso 2. Se localizan los dos valores más pequeños de la lista, pu y pv Se eliminan de la lista L Se insertan en L el valor pu + pv de forma que siga siendo una lista de números creciente. Si el numero de elementos de la nueva lista L es distinto de 2 ir al PASO 2 Paso 3. Sea T(L) Una arborescencia binaria con vértice V0 y dos vértices de frado de entrada 1 que etiquetamos con los valores de la ultima lista L. Paso 4. Se reemplaza el vértice cuya etiqueta sea la suma de dos valores, pu + pv por un árbol dirigido con raíz binario cuya raíz sea dicho vértice y los otros dos vértices tengan como etiquetas los valores pu y pv. Ir a pasa 4 hasta que las etiquetas del árbol dirigido con raíz generado coincidid con los valores de entrada de datos .
  • 6. Codificación de Huffman Ejemplo Caracteres “x”, “y”,“ * ”,“+”,“(”,“)” Código 1: x➜01 y➜10 *➜101 +➜0 ) ➜11 (➜00 Código 2: x➜1110 y➜1111 *➜110 +➜10 ) ➜01 (➜00 Significado? Código 1: 00010101110101 00 01 0 10 11 101 01 ( x + y ) * X 0 00 10 101 11 01 01 + ( y * ) x x Código 2: 001110101111011101110 00 1110 10 1111 01 110 1110 ( x + y ) * X Eulises Brazon
  • 7. Codificación de Huffman Obtención del código prefijo+ 1. Se construye un árbol dirigido con raíz binario donde: 1. el arco de salida izquierdo de cada vértice esta etiquetado con 0 2. El arco de salida derecho de cada vértice esta etiquetado con 1 2. Los vértices de grado de salida 0 (hijos) están etiquetados con caracteres Ejemplo: 0 0 0 0 0 1 1 1 1 1 ( ) + * x y Eulises Brazon
  • 8. Codificación de Huffman Obtencion del mejor código prefijo asociando a los símbolos “x”, “y”,“*”,“+”,“(”,“)”. Las frecuencia con que estos aparecen vienen reflejadas en la tabla siguiente 10, 10, 15, 20, 20, 25 15, 20, 20, 20, 25 20, 20, 25, 35 25, 35, 40 46, 60 0 0 0 0 0 1 1 1 1 1 ( ) + * x y Caracteres x y * + ( ) Frecuencia 10 10 15 25 20 20 10 10 15 25 20 20 Eulises Brazon
  • 9. Aplicaciones de la Codificación de Huffman Esta compresión no se limita únicamente a archivo, ya que la codificación de Huffman sirve como base par multiples técnicas y formatos de Compresión, como la compresión de imagen, que delimitan aquellas áreas donde un mismo color se repite constantemente y en conjunto con la codificación de huffman se logra reducir su tamaño, pero conservando la calidad de imagen. La codificación Huffmann permite la compresión de archivos, después de asignar códigos Huffmann a cada carácter en un archivo, estos caracteres deben reemplazarse con códigos Huffmann equivalentes en el archivo comprimido. Eulises Brazon