SlideShare uma empresa Scribd logo
1 de 18
CODIGO HUFFMAN
• Carlos Infante
• Keidys Manzanilla
• Kevim Medina
• Enderson Tirado
• Luis Diaz
En ciencias de la computación y teoría, la codificación Huffman es
un algoritmo usado para compresión de datos. El término se refiere al uso de una
tabla de códigos de longitud variable para codificar un determinado símbolo
(como puede ser un carácter en un archivo), donde la tabla ha sido rellenada de
una manera específica basándose en la probabilidad estimada de aparición de cada
posible valor de dicho símbolo.
ALGORITMO DEL
CODIGO
HUFFMAN
1
La codificación Huffman usa un método específico para elegir la representación de
cada símbolo, que da lugar a un código prefijo que representa los caracteres más
comunes usando las cadenas de bits más cortas, y viceversa. Huffman fue capaz de
diseñar el método de compresión más eficiente de este tipo: ninguna
representación alternativa de un conjunto de símbolos de entrada produce una
salida media más pequeña cuando las frecuencias de los símbolos coinciden con las
usadas para crear el código.
ALGORITMO DEL
CODIGO
HUFFMAN
2
Consiste en la creación de un árbol binario en el que se
etiquetan los nodos hoja con los caracteres, junto a sus
frecuencias, y de forma consecutiva se van uniendo cada
pareja de nodos que menos frecuencia sumen, pasando a
crear un nuevo nodo intermedio etiquetado con dicha
suma. Se procede a realizar esta acción hasta que no
quedan nodos hoja por unir a ningún nodo superior, y se ha
formado el árbol binario.
TECNICA
BASICA
3
TECNICA
BASICA
4
Un árbol binario es una estructura de datos no lineal en la que
cada nodo puede apuntar a uno o máximo a dos nodos.
Se caracteriza porque tienen un vértice principal y de él se
desprende dos ramas. La rama izquierda y la rama derecha a las
que también se les conoce como subárboles.
Nodo: Un árbol binario es un conjunto de elementos cada uno de
los cuales se denomina nodo. Un árbol Binario puede tener cero
nodos y este caso se dice que está vacío.
Tiene como finalidad el poder determinar un codigo binario de manera optima y eficaz aplicando
asi la creacion de un arbol binario para poder determinar el mismo realizándolo de arriba hasta
abajo creando el arbol con la suma de cada frecuencia que ya se definió .
El objetivo de construir códigos de Huffman es el de la compresión de datos, es decir, expresar de
una manera distinta (más corta, obviamente) la misma información.
Las frecuencias utilizadas pueden ser genéricas en el dominio de la aplicación que se basan en el
promedio pre-calculado, o pueden ser las frecuencias encontradas en el texto que se va a
comprimir (esta variante requiere que la tabla de frecuencias se registre junto con el texto
comprimido; hay varias implementaciones que adoptan los trucos para registrar estas tablas de
manera eficiente). La codificación Huffman es óptima cuando la probabilidad de cada símbolo de
entrada es una potencia negativa de dos
FINALIDAD
ALGORITMO
5
FRECUENCIAS
6
Estas frecuencias se pueden interpretar mediante la aplicación ya sea de un nombre o
un valor por el hecho que cada característica u valor tienen una determinada
frecuencia, la cual mediante a esta se realizaría la aplicación del algoritmo de
huffman para su debía ejecución en el desarrollo de su valor binario.
LIMITACIONES
Podemos mostrar que para una fuente, la entropía de Shannon la
longitud promedio de una palabra de código obtenida por la
codificación de Huffman satisface:
4
Esta relación muestra que la
codificación de Huffman se
acerca a la entropía de la fuente
y es decir al código óptimo, pero
esto de hecho puede resultar
bastante poco interesante en el
caso en que la entropía de la
fuente es fuerte, y donde una
sobrecarga de 1 bit se vuelve
significativo.
Una solución a este
problema es trabajar con
bloques de símbolos.
Luego mostramos que
podemos acercarnos a la
entropía:
Ver:
• LZ77 y LZ78
• Predicción Por Reconocimiento
Parcial
• Ponderación De Contextos
ALCANCES
El algoritmo de Huffman, también llamado código de Huffman, es un
algoritmo utilizado para el cifrado de datos por medio de la
frecuencia de aparición de caracteres y su clasificación en un árbol
binario. A través de la frecuencia de aparición de caracteres en
determinada cadena, el algoritmo de Huffman calcula los pesos del
conjunto de símbolos y los coloca en un árbol binario. El
ordenamiento de los caracteres se balancea de forma que los
caracteres más solicitados, son los que contienen menor cantidad.
5
ALCANCES .
Un código es un conjunto de ceros y unos usados para representar mensajes de
acuerdo a cierta regla preestablecida. Esta regla es lo que se llama método o función
de codificación.
La información se codifica para ser transmitida.
El conjunto total de símbolos que se transmite es llamado alfabeto. La codificación
es usada considerablemente durante la transmisión, conservación y procesamiento de
la información y es imprescindible para lograr la adaptación óptima de la fuente de
información con el canal de comunicación. Este tratamiento que se le da a la
información se ocupa, entre otras cosas, de eliminar la redundancia. La forma en la
cual se codifican los mensajes es arbitraria. Existen muchos métodos de codificación.
La codificación permite convertir símbolos de un alfabeto de un lenguaje dado en un
símbolo de otro sistema de representación, como números o secuencia de pulsos
eléctricos de un sistema electrónico.
5
ALCANCES
.
5
Cree un nodo de hoja para cada personaje y agréguelo a la cola de prioridad.
2. Mientras haya más de un nodo en la cola:
Quite los dos nodos de la prioridad más alta (la frecuencia más baja) de la cola.
Cree un nuevo nodo interno con estos dos nodos como hijos y una frecuencia igual a la suma de
las frecuencias de ambos nodos.
Agregue el nuevo nodo a la cola de prioridad.
3. El nodo restante es el nodo raíz y el árbol está completo.
Considere un texto que consta de sólo 'A', 'B', 'C', 'D', y 'E' caracteres y sus frecuencias
son 15, 7, 6, 6, 5, respectivamente. Las siguientes figuras ilustran los pasos seguidos por el
algoritmo:
CONSTRUCCION
DEL ARBOL
6
Se consideran los nodos estipulados en el ejercicio para
su debida elaboración del árbol binario mediante el
código Huffman
7
15 7
SE SUMAN LOS NODOS CON MENOR
VALOR(FRECUENCIA) PARA ASI DAR UNA SUMA
DE 11 CON EL NODO “D” Y “E”
11
8
SE REALIZA LA CREACION DE OTRO NODO INTERNO QUE
SERIA DE VALOR 13 POR LOS VALORES DE “B” Y “C”
QUEDANDO ASI EL VALOR DE “A”
9
LA SUMATORIA DE AMBOS NODOS INTERNOS A LA
HORA DE DESARROLLAR ELARBOL MEDIANTE EL
ALGORITMO HUFFMAN DARIA UN TOTAL DE 24
COMO VALOR POR LOS VALORES DE “B”, “C”, “D”, “E”
PARAASI DAR DICHO VALOR
10
COMO RESULTANTE DE LAS FRECUENCIAS
ESTIPULADAS ANTERIORMENTE EL NODO PRINCIPAL
QUEDARIA CON EL VALOR DE 39 AL INCORPORARSE
EL VALOR DE “A” PARA LA CREACION DELARBOL.
11
APLICANDO EL CODIGO HUFFMAN
QUEDARIA ELARBOL DE LA SIGUIENTE
MANERA:
EN LA RAMA IZQUIERDA SE AÑADERIA EL
VALOR DE “0” Y EL DERECHO DE “1” PARA
SU RESPECTIVAAPLICACION
12

Mais conteúdo relacionado

Mais procurados

codificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarcodificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarthejp
 
Compresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIICompresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIIAndy Juan Sarango Veliz
 
Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Francisco Apablaza
 
Lecture 2 intro. a telecom y modelos de canal
Lecture 2  intro. a telecom y modelos de canalLecture 2  intro. a telecom y modelos de canal
Lecture 2 intro. a telecom y modelos de canalnica2009
 
Conversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaConversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaDiego Seminario
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionAlieth Guevara
 
Codigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIICodigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIIAndy Juan Sarango Veliz
 
Trab. Multiplexacion
Trab. MultiplexacionTrab. Multiplexacion
Trab. MultiplexacionDiego Lucero
 
Lecture 4 teoría de la información
Lecture 4 teoría de la informaciónLecture 4 teoría de la información
Lecture 4 teoría de la informaciónnica2009
 
9.4 escenario de la convergencia ip
9.4 escenario de la convergencia ip9.4 escenario de la convergencia ip
9.4 escenario de la convergencia ipEdison Coimbra G.
 
Modulación ask
Modulación ask Modulación ask
Modulación ask David Inati
 
Capacidad de un canal
Capacidad de un canalCapacidad de un canal
Capacidad de un canalarquitectura5
 

Mais procurados (20)

codificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarcodificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolar
 
Compresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones IIICompresion de Datos - Telecomunicaciones III
Compresion de Datos - Telecomunicaciones III
 
Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2
 
Lecture 2 intro. a telecom y modelos de canal
Lecture 2  intro. a telecom y modelos de canalLecture 2  intro. a telecom y modelos de canal
Lecture 2 intro. a telecom y modelos de canal
 
Conversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaConversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversa
 
Modulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicionModulación por desplazamiento de fase (psk) exposicion
Modulación por desplazamiento de fase (psk) exposicion
 
Codigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIICodigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones III
 
Trab. Multiplexacion
Trab. MultiplexacionTrab. Multiplexacion
Trab. Multiplexacion
 
Plan de numeracion
Plan de numeracionPlan de numeracion
Plan de numeracion
 
Lecture 4 teoría de la información
Lecture 4 teoría de la informaciónLecture 4 teoría de la información
Lecture 4 teoría de la información
 
Tema 1 canales en comunicaciones digitales
Tema 1   canales en comunicaciones digitalesTema 1   canales en comunicaciones digitales
Tema 1 canales en comunicaciones digitales
 
CI19. Presentación 7. MIMO
CI19. Presentación 7. MIMOCI19. Presentación 7. MIMO
CI19. Presentación 7. MIMO
 
Mezcladores
MezcladoresMezcladores
Mezcladores
 
Códigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de DatosCódigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de Datos
 
Hamming y CRC
Hamming y CRCHamming y CRC
Hamming y CRC
 
9.4 escenario de la convergencia ip
9.4 escenario de la convergencia ip9.4 escenario de la convergencia ip
9.4 escenario de la convergencia ip
 
PDH
PDHPDH
PDH
 
Modulación ask
Modulación ask Modulación ask
Modulación ask
 
Capacidad de un canal
Capacidad de un canalCapacidad de un canal
Capacidad de un canal
 
Guia ASK, PSK y FSK
Guia ASK, PSK y FSKGuia ASK, PSK y FSK
Guia ASK, PSK y FSK
 

Semelhante a CODIGO HUFFMAN-1.pptx (20)

Algoritmos compresión Cubi-Romero-Toledo
Algoritmos compresión Cubi-Romero-ToledoAlgoritmos compresión Cubi-Romero-Toledo
Algoritmos compresión Cubi-Romero-Toledo
 
Codificacion HUFFMAN en matlab
Codificacion HUFFMAN en matlabCodificacion HUFFMAN en matlab
Codificacion HUFFMAN en matlab
 
Hpcs conf poster
Hpcs conf posterHpcs conf poster
Hpcs conf poster
 
Teoría de códigos saira isaac
Teoría de códigos   saira isaacTeoría de códigos   saira isaac
Teoría de códigos saira isaac
 
Algoritmos de compresión
Algoritmos de compresiónAlgoritmos de compresión
Algoritmos de compresión
 
Algoritmo de compresión de huffman
Algoritmo de compresión de huffmanAlgoritmo de compresión de huffman
Algoritmo de compresión de huffman
 
Teoria de la informacion
Teoria de la informacionTeoria de la informacion
Teoria de la informacion
 
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
 
6 Codificación de fuente.ppsx
6 Codificación de fuente.ppsx6 Codificación de fuente.ppsx
6 Codificación de fuente.ppsx
 
Expo 1
Expo 1Expo 1
Expo 1
 
Lecture 3 codificación fuente
Lecture 3 codificación fuenteLecture 3 codificación fuente
Lecture 3 codificación fuente
 
13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes
 
Presentacion Foro eulises brazon Josue Baez
Presentacion Foro eulises brazon  Josue Baez Presentacion Foro eulises brazon  Josue Baez
Presentacion Foro eulises brazon Josue Baez
 
Entropia
EntropiaEntropia
Entropia
 
CapaEnlaceDatos2.pptx
CapaEnlaceDatos2.pptxCapaEnlaceDatos2.pptx
CapaEnlaceDatos2.pptx
 
Teoriadelainformacion
TeoriadelainformacionTeoriadelainformacion
Teoriadelainformacion
 
Capa de enlace.
Capa de enlace.Capa de enlace.
Capa de enlace.
 
Código Huffman
Código HuffmanCódigo Huffman
Código Huffman
 

Último

clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosMARGARITAMARIAFERNAN1
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSMANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSRicardo Chegwin
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJOJimyAMoran
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfOmarPadillaGarcia
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upnDayronCernaYupanquiy
 
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASPRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASejcelisgiron
 
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsutti0808
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaAndreBarrientos3
 

Último (20)

clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSMANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURASPRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
PRESENTACION NOM-009-STPS-TRABAJOS EN ALTURAS
 
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptxsigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
sigof.sisfoh.gob.pe_consulta_hogares_ULE_busqueda_print.php (1).pptx
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 

CODIGO HUFFMAN-1.pptx

  • 1. CODIGO HUFFMAN • Carlos Infante • Keidys Manzanilla • Kevim Medina • Enderson Tirado • Luis Diaz
  • 2. En ciencias de la computación y teoría, la codificación Huffman es un algoritmo usado para compresión de datos. El término se refiere al uso de una tabla de códigos de longitud variable para codificar un determinado símbolo (como puede ser un carácter en un archivo), donde la tabla ha sido rellenada de una manera específica basándose en la probabilidad estimada de aparición de cada posible valor de dicho símbolo. ALGORITMO DEL CODIGO HUFFMAN 1
  • 3. La codificación Huffman usa un método específico para elegir la representación de cada símbolo, que da lugar a un código prefijo que representa los caracteres más comunes usando las cadenas de bits más cortas, y viceversa. Huffman fue capaz de diseñar el método de compresión más eficiente de este tipo: ninguna representación alternativa de un conjunto de símbolos de entrada produce una salida media más pequeña cuando las frecuencias de los símbolos coinciden con las usadas para crear el código. ALGORITMO DEL CODIGO HUFFMAN 2
  • 4. Consiste en la creación de un árbol binario en el que se etiquetan los nodos hoja con los caracteres, junto a sus frecuencias, y de forma consecutiva se van uniendo cada pareja de nodos que menos frecuencia sumen, pasando a crear un nuevo nodo intermedio etiquetado con dicha suma. Se procede a realizar esta acción hasta que no quedan nodos hoja por unir a ningún nodo superior, y se ha formado el árbol binario. TECNICA BASICA 3
  • 5. TECNICA BASICA 4 Un árbol binario es una estructura de datos no lineal en la que cada nodo puede apuntar a uno o máximo a dos nodos. Se caracteriza porque tienen un vértice principal y de él se desprende dos ramas. La rama izquierda y la rama derecha a las que también se les conoce como subárboles. Nodo: Un árbol binario es un conjunto de elementos cada uno de los cuales se denomina nodo. Un árbol Binario puede tener cero nodos y este caso se dice que está vacío.
  • 6. Tiene como finalidad el poder determinar un codigo binario de manera optima y eficaz aplicando asi la creacion de un arbol binario para poder determinar el mismo realizándolo de arriba hasta abajo creando el arbol con la suma de cada frecuencia que ya se definió . El objetivo de construir códigos de Huffman es el de la compresión de datos, es decir, expresar de una manera distinta (más corta, obviamente) la misma información. Las frecuencias utilizadas pueden ser genéricas en el dominio de la aplicación que se basan en el promedio pre-calculado, o pueden ser las frecuencias encontradas en el texto que se va a comprimir (esta variante requiere que la tabla de frecuencias se registre junto con el texto comprimido; hay varias implementaciones que adoptan los trucos para registrar estas tablas de manera eficiente). La codificación Huffman es óptima cuando la probabilidad de cada símbolo de entrada es una potencia negativa de dos FINALIDAD ALGORITMO 5
  • 7. FRECUENCIAS 6 Estas frecuencias se pueden interpretar mediante la aplicación ya sea de un nombre o un valor por el hecho que cada característica u valor tienen una determinada frecuencia, la cual mediante a esta se realizaría la aplicación del algoritmo de huffman para su debía ejecución en el desarrollo de su valor binario.
  • 8. LIMITACIONES Podemos mostrar que para una fuente, la entropía de Shannon la longitud promedio de una palabra de código obtenida por la codificación de Huffman satisface: 4 Esta relación muestra que la codificación de Huffman se acerca a la entropía de la fuente y es decir al código óptimo, pero esto de hecho puede resultar bastante poco interesante en el caso en que la entropía de la fuente es fuerte, y donde una sobrecarga de 1 bit se vuelve significativo. Una solución a este problema es trabajar con bloques de símbolos. Luego mostramos que podemos acercarnos a la entropía: Ver: • LZ77 y LZ78 • Predicción Por Reconocimiento Parcial • Ponderación De Contextos
  • 9. ALCANCES El algoritmo de Huffman, también llamado código de Huffman, es un algoritmo utilizado para el cifrado de datos por medio de la frecuencia de aparición de caracteres y su clasificación en un árbol binario. A través de la frecuencia de aparición de caracteres en determinada cadena, el algoritmo de Huffman calcula los pesos del conjunto de símbolos y los coloca en un árbol binario. El ordenamiento de los caracteres se balancea de forma que los caracteres más solicitados, son los que contienen menor cantidad. 5
  • 10. ALCANCES . Un código es un conjunto de ceros y unos usados para representar mensajes de acuerdo a cierta regla preestablecida. Esta regla es lo que se llama método o función de codificación. La información se codifica para ser transmitida. El conjunto total de símbolos que se transmite es llamado alfabeto. La codificación es usada considerablemente durante la transmisión, conservación y procesamiento de la información y es imprescindible para lograr la adaptación óptima de la fuente de información con el canal de comunicación. Este tratamiento que se le da a la información se ocupa, entre otras cosas, de eliminar la redundancia. La forma en la cual se codifican los mensajes es arbitraria. Existen muchos métodos de codificación. La codificación permite convertir símbolos de un alfabeto de un lenguaje dado en un símbolo de otro sistema de representación, como números o secuencia de pulsos eléctricos de un sistema electrónico. 5
  • 12. Cree un nodo de hoja para cada personaje y agréguelo a la cola de prioridad. 2. Mientras haya más de un nodo en la cola: Quite los dos nodos de la prioridad más alta (la frecuencia más baja) de la cola. Cree un nuevo nodo interno con estos dos nodos como hijos y una frecuencia igual a la suma de las frecuencias de ambos nodos. Agregue el nuevo nodo a la cola de prioridad. 3. El nodo restante es el nodo raíz y el árbol está completo. Considere un texto que consta de sólo 'A', 'B', 'C', 'D', y 'E' caracteres y sus frecuencias son 15, 7, 6, 6, 5, respectivamente. Las siguientes figuras ilustran los pasos seguidos por el algoritmo: CONSTRUCCION DEL ARBOL 6
  • 13. Se consideran los nodos estipulados en el ejercicio para su debida elaboración del árbol binario mediante el código Huffman 7
  • 14. 15 7 SE SUMAN LOS NODOS CON MENOR VALOR(FRECUENCIA) PARA ASI DAR UNA SUMA DE 11 CON EL NODO “D” Y “E” 11 8
  • 15. SE REALIZA LA CREACION DE OTRO NODO INTERNO QUE SERIA DE VALOR 13 POR LOS VALORES DE “B” Y “C” QUEDANDO ASI EL VALOR DE “A” 9
  • 16. LA SUMATORIA DE AMBOS NODOS INTERNOS A LA HORA DE DESARROLLAR ELARBOL MEDIANTE EL ALGORITMO HUFFMAN DARIA UN TOTAL DE 24 COMO VALOR POR LOS VALORES DE “B”, “C”, “D”, “E” PARAASI DAR DICHO VALOR 10
  • 17. COMO RESULTANTE DE LAS FRECUENCIAS ESTIPULADAS ANTERIORMENTE EL NODO PRINCIPAL QUEDARIA CON EL VALOR DE 39 AL INCORPORARSE EL VALOR DE “A” PARA LA CREACION DELARBOL. 11
  • 18. APLICANDO EL CODIGO HUFFMAN QUEDARIA ELARBOL DE LA SIGUIENTE MANERA: EN LA RAMA IZQUIERDA SE AÑADERIA EL VALOR DE “0” Y EL DERECHO DE “1” PARA SU RESPECTIVAAPLICACION 12