Você está na página 1de 19

INDICE GENERAL

CAPITULO 1......................................................................................................... 2
QUE ES UN ALGORITMO GENETICO?..............................................................2
Problemtica.................................................................................................... 3
CAPITULO 2......................................................................................................... 4
ALGORITMO GENETICO SIMPLE........................................................................4
Evolucin de los Algoritmos Genticos Simples...............................................5
GEN Y CROMOSOMAS...................................................................................... 6
CAPITULO 3......................................................................................................... 6
SELECCIN....................................................................................................... 6
CRUCE.............................................................................................................. 8
MUTACION........................................................................................................ 9
CONCLUSION....................................................................................................... 9
ALGORITMO DE COMPRESION DE DATOS..........................................................10
RESUMEN.......................................................................................................... 11
CAPITULO 1....................................................................................................... 12
1.

Introduccin............................................................................................. 12

2.

Teora....................................................................................................... 13

3.

Algoritmo................................................................................................. 13

CAPITULO 2....................................................................................................... 14
APLICACIN.................................................................................................... 14
Conclusin........................................................................................................ 14

CAPITULO 1
QUE ES UN ALGORITMO GENETICO?
El algoritmo gentico es una tcnica de bsqueda basada en la teora de
la
Evolucin de Darwin, que ha cobrado tremenda popularidad en todo el
mundo durante
los ltimos aos. En los ltimos aos, la comunidad cientfica
internacional ha
Mostrado un creciente inters en una nueva tcnica de bsqueda
basada en la teora de
la evolucin y que se conoce como el algoritmo gentico. Esta tcnica se
basa en los
Mecanismos de seleccin que utiliza la naturaleza, de acuerdo a los
cuales los
individuos ms aptos de una poblacin son los que sobreviven, al
adaptarse ms
fcilmente a los cambios que se producen en su entorno.
Un investigador de la Universidad de Michigan llamado John Holland era
consciente de la importancia de la seleccin natural, y a fines de los 60s
desarroll una tcnica que permiti incorporarla a un programa. Su
objetivo era
lograr que las computadoras aprendieran por s mismas. A la tcnica que
invent
Holland se le llam originalmente "planes reproductivos", pero se hizo
popular bajo
el nombre "algoritmo gentico" tras la publicacin de su libro en 1975.
Los Algoritmos Genticos (AGs) son mtodos adaptativos que pueden
usarse
para resolver problemas de bsqueda y optimizacin. Estn basados en
el proceso
gentico de los organismos vivos. A lo largo de las generaciones, las
poblaciones
evolucionan en la naturaleza de acorde con los principios de la seleccin
natural
y la supervivencia de los ms fuertes, postulados por Darwin. Por
imitacin de
este proceso, los Algoritmos Genticos son capaces de ir creando
soluciones para
problemas del mundo real. La evolucin de dichas soluciones hacia
valores ptimos
del problema depende en buena medida de una adecuada codificacin
de las mismas.
Consiste en una funcin matemtica o una rutina de software que toma

como entradas a los ejemplares y retorna como salidas cules de ellos


deben
generar descendencia para la nueva generacin. Es una tcnica de
programacin
que imita a la evolucin biolgica como estrategia para resolver
problemas. Es
una serie de pasos organizados que describe el proceso que se debe
seguir, para
dar solucin a un problema especfico. En los aos 1970, de la mano de
John
Henry Holland, surgi una de las lneas ms prometedoras de la
inteligencia
artificial, la de los algoritmos genticos. Son llamados as porque se
inspiran en
la evolucin biolgica y su base gentico-molecular. Estos algoritmos
hacen
evolucionar una poblacin de individuos sometindola a acciones
aleatorias
semejantes a las que actan en la evolucin biolgica (mutaciones y
recombinaciones genticas), as como tambin a una Seleccin de
acuerdo con
algn criterio, en funcin del cual se decide cules son los individuos
ms
adaptados, que sobreviven, y cules los menos aptos, que son
descartados.
Son mtodos adaptativo usados en la bsqueda de optimizacin de
parmetros basados en la reproduccin sexual y en el principio de la
supervivencia del ms apto. Estos son algoritmos de bsquedas basadas
en la
mecnica de seleccin natural y de la gentica natural. Para alcanzar la
solucin de un problema se parte de un conjunto inicial de individuos,
llamados
poblacin, generado de manera aleatoria. Cada uno de estos individuos
representa una posible solucin al problema.
Problemtica
En la naturaleza los individuos de una poblacin compiten entre s en la
bsqueda de recursos tales como comida, agua y refugio. Incluso los
miembros de
una misma especie compiten a menudo en la bsqueda de un
compaero. Aquellos
individuos que tienen ms xito en sobrevivir y en atraer compaeros
tienen mayor

probabilidad de generar un gran nmero de descendientes. Por el


contrario individuos
poco dotados producirn un menor nmero de descendientes.
Esto significa que los genes de los individuos mejor adaptados se
propagarn
en sucesivas generaciones hacia un nmero de individuos creciente. La
combinacin
de buenas caractersticas provenientes de diferentes ancestros, puede a
veces producir
descendientes "superindividuos", cuya adaptacin es mucho mayor que
la de
cualquiera de sus ancestros. De esta manera, las especies evolucionan
logrando unas
caractersticas cada vez mejor adaptadas al entorno en el que viven.
Los Algoritmos Genticos usan una analoga directa con el
comportamiento
natural. Trabajan con una poblacin de individuos, cada uno de los
cuales representa
una solucin factible a un problema dado. A cada individuo se le asigna
un valor
puntuacin, relacionado con la bondad de dicha solucin. En la
naturaleza esto
equivaldra al grado de efectividad de un organismo para competir por
unos
determinados recursos. Cuanto mayor sea la adaptacin de un individuo
al problema,
mayor ser la probabilidad de que el mismo sea seleccionado para
reproducirse,
cruzando su material gentico con otro individuo seleccionado de igual
forma. Este
cruce producir nuevos individuos. descendientes de los anteriores . los
cuales
comparten algunas de las caractersticas de sus padres. Cuanto menor
sea la
adaptacin de un individuo, menor ser la probabilidad de que dicho
individuo sea
seleccionado para la reproduccin, y por tanto de que su material
gentico se
propague en sucesivas generaciones.
De esta manera se produce una nueva poblacin de posibles soluciones,
la
cual reemplaza a la anterior y verifica la interesante propiedad de que
contiene una
mayor proporcin de buenas caractersticas en comparacin con la
poblacin anterior.

As a lo largo de las generaciones las buenas caractersticas se propagan


a travs de la
poblacin. Favoreciendo el cruce de los individuos mejor adaptados, van
siendo
exploradas las reas ms prometedoras del espacio de bsqueda. Si el
Algoritmo
Gentico ha sido bien diseado, la, poblacin converger hacia una
solucin ptima
del problema.

CAPITULO 2
ALGORITMO GENETICO SIMPLE
El Algoritmo Gentico Simple, tambin denominado Cannico, se
necesita una
codificacin o representacin del problema, que resulte adecuada al
mismo. Adems
se requiere una funcin de ajuste o adaptacin al problema, la cual
asigna un nmero
real a cada posible solucin codificada. Durante la ejecucin del
algoritmo, los padres
deben ser seleccionados para la reproduccin, a continuacin dichos
padres
seleccionados se cruzarn generando dos hijos, sobre cada uno de los
cuales actuar
un operador de mutacin. El resultado de la combinacin de las
anteriores funciones
ser un conjunto de individuos (posibles soluciones al problema), los
cuales en la
evolucin del Algoritmo Gentico formarn parte de la siguiente
poblacin.
Algoritmo Simple
BEGIN /* Algoritmo Gentico Simple */
Generar una poblacin inicial y computar la funcin
de evaluacin de cada individuo
WHILE NOT Terminado DO
BEGIN /* Producir nueva generacin */
FOR Tamaopoblacin/2 DO
BEGIN /*Ciclo Reproductivo */

Seleccionar dos individuos de la anterior generacin, para el cruce


(probabilidad de
seleccin proporcional a la funcin de evaluacin del individuo) Cruzar
con cierta
probabilidad los dos individuos obteniendo dos descendientes Mutar los
dos
descendientes con cierta probabilidad Computar la funcin de
evaluacin de los dos
descendientes mutados
Insertar los dos descendientes mutados en la nueva generacin
END
IF la poblacin ha convergido THEN
Terminado:= TRUE
END
END
Evolucin de los Algoritmos Genticos Simples
Se supone que los individuos (posibles soluciones del problema), pueden
representarse como un con junto de parmetros (que denominaremos
genes), los
cuales agrupados forman una ristra de valores (a menudo referida como
cromosoma).
Si bien el alfabeto utilizado para representar los individuos no debe
necesariamente
estar constituido por el 0 y 1 buena parte de la teora en la que se
fundamentan los
Algoritmos Genticos utiliza dicho alfabeto. En trminos biolgicos, el
conjunto de
parmetros representando un cromosoma particular se denomina
fenotipo. El fenotipo
contiene la informacin requerida para construir un organismo, el cual
se refiere
como genotipo. Los mismos trminos se utilizan en el campo de los
Algoritmos
Genticos. La adaptacin al problema de un individuo depende de la
evaluacin del genotipo.
Esta ltima puede inferirse a partir del fenotipo, es decir puede ser
computada a partir del cromosoma, usando la funcin de evaluacin.
La funcin de adaptacin debe ser diseada para cada problema de
manera
especfica. Dado un cromosoma particular, la funcin de adaptacin le
asigna un
nmero real, que se supone refleja el nivel de adaptacin al problema
del individuo
representado por el cromosoma. Durante la fase reproductiva se
seleccionan los

individuos de la poblacin para cruzarse y producir descendientes, que


constituirn,
una vez mutados, la siguiente generacin de individuos. La seleccin de
padres se
efectuar al azar usando un procedimiento que favorezca a los individuos
mejor
adaptados, ya que a cada individuo se le asigna una probabilidad de ser
seleccionado
que es proporcional a su funcin de adaptacin.
Este procedimiento se dice que est basado en la ruleta sesgada. Segn
dicho
esquema, los individuos bien adaptados se escogern probablemente
varias veces por
generacin, mientras que los pobremente adaptados al problema, no se
escogern ms
que de vez en cuando. Una vez seleccionados dos padres, sus
cromosomas se
combinan, utilizando habitualmente los operadores de cruce y nutacin.
Las formas
bsicas de dichos operadores se describen a continuacin. El operador
de cruce, coge
dos padres seleccionados y corta sus ristras de cromosomas en una
posicin escogida
al azar, para producir dos subristras iniciales y dos subristrasnales.
Ambos
descendientes heredan genes de cada uno de los padres. Este operador
se conoce
como operador de cruce basado en un punto. Habitualmente el operador
de cruce no
se aplica a todos los pares de individuos que han sido seleccionados
para emparejarse,
sino que se aplica de manera aleatoria, normalmente con una
probabilidad
comprendida entre 0.5 y 1.0. En el caso en que el operador de cruce no
se aplique, la
descendencia se obtiene simplemente duplicando los padres.
El operador de mutacin se aplica a cada hijo de manera individual, y
consiste en
la alteracin aleatoria (normalmente con probabilidad pequea) de cada
gen
componente del cromosoma. Si bien puede en principio pensarse que el
operador de
cruce es ms importante que el operador de mutacin, ya que
proporciona una
exploracin rpida del espacio de bsqueda, este ltimo asegura que
ningn punto del

espacio de bsqueda tenga probabilidad cero de ser examinado, y es de


capital
importancia para asegurar la convergencia de los Algoritmos Genticos.
GEN Y CROMOSOMAS
Se refiere a un candidato a solucin del problema, que a menudo se
codifica
como una cadena de bits.Individuos de la poblacin cromosomas
representados por
un conjunto de parmetros -genes- utilizando un cierto alfabeto -{0, 1}-.
Funcin de adaptacin para cada cromosoma devuelve un nmero real,
que se
supone es proporcional a la adaptacin del individuo al
problema.Cualquier solucin
potencial a un problema puede ser presentada dando valores a una serie
de
parmetros. El conjunto de parmetros (genes en la terminologa de
algoritmos
Genticos) se codifica en una cadena de valores denominada
cromosomas. El
conjunto de parmetros representados por un cromosoma particular
recibe el nombre
de genotipo. El genotipo contiene la informacin necesaria para la
construccin del
organismo, es decir, la solucin real al problema, denominada fenotipo.
Desde los primeros trabajos de Jhon Holland la codificacin suele
hacerse
mediante valores binario. Se asigna un determinado nmero de bit a
cada parmetro y
se realiza un discretizacion de la variable representa da por cada gen. El
nmero de
bits asignados depender del grado de ajuste que se desee alcanzar.
Evidentemente
no todos los parmetros tienen porque estar codificados con el mismo
nmero de
bits.Cada uno de los bits pertenecientes a un gen suele recibir el nombre
de alelo.
La siguiente figura muestra un ejemplo de un individuo binario que
codifica 3
parmetros.
Sin embargo tambin pueden existir representaciones que codifiquen
directamente cada parmetro con un valor entero, real o en punto
flotante

CAPITULO 3
SELECCIN
Los algoritmos de seleccin sern los encargados de escoger que
individuos van a disponer de oportunidades de reproducirse o no. Puesto
que se
trata de imitar lo que ocurre en la naturaleza, se ha de otorgar un mayor
nmero de oportunidades de reproduccin a los individuos ms aptos.
Por lo
tanto la seleccin de un individuo estar relacionada con su valor de
ajuste. No
se debe sin embargo eliminar por completo las opciones de reproduccin
de los
individuos menos aptos, pues en pocas generaciones de la poblacin se
volvera
homognea. Una opcin bastante comn consiste en seleccionar el
primero de los
individuos participantes Mtodos de seleccin
Un algoritmo gentico puede utilizar muchas tcnicas diferentes para
seleccionar a los individuos que deben copiarse hacia la siguiente
generacin,
pero abajo se listan algunos de los ms comunes. Algunos de estos
mtodos son
mutuamente exclusivos, pero otros pueden utilizarse en combinacin,
algo que se
hace a menudo.
Seleccin elitista: se garantiza la seleccin de los miembros ms aptos
de cada
generacin. (La mayora de los AGs no utilizan elitismo puro, sino que
usan
una forma modificada por la que el individuo mejor, o algunos de los
mejores,
8
son copiados hacia la siguiente generacin en caso de que no surja nada
mejor).
Seleccin proporcional a la aptitud: los individuos ms aptos tienen ms
probabilidad de ser seleccionados, pero no la certeza.
Seleccin por rueda de ruleta: una forma de seleccin proporcional a la
aptitud en la que la probabilidad de que un individuo sea seleccionado
es
proporcional a la diferencia entre su aptitud y la de sus competidores.
(Conceptualmente, esto puede representarse como un juego de ruleta
-cada
individuo obtiene una seccin de la ruleta, pero los ms aptos obtienen
secciones mayores que las de los menos aptos. Luego la ruleta se hace
girar, y

en cada vez se elige al individuo que ``posea'' la seccin en la que se


pare la
ruleta).
Seleccin escalada: al incrementarse la aptitud media de la poblacin,
la
fuerza de la presin selectiva tambin aumenta y la funcin de aptitud
se hace
ms discriminadora. Este mtodo puede ser til para seleccionar ms
tarde,
cuando todos los individuos tengan una aptitud relativamente alta y slo
les
distingan pequeas diferencias en la aptitud.
Seleccin por torneo: se eligen subgrupos de individuos de la poblacin,
y los
miembros de cada subgrupo compiten entre ellos. Slo se elige a un
individuo
de cada subgrupo para la reproduccin.
Seleccin por rango: a cada individuo de la poblacin se le asigna un
rango
numrico basado en su aptitud, y la seleccin se basa en este ranking,
en lugar
de las diferencias absolutas en aptitud. La ventaja de este mtodo es
que
puede evitar que individuos muy aptos ganen dominancia al principio a
expensas de los menos aptos, lo que reducira la diversidad gentica de
la
poblacin y podra obstaculizar la bsqueda de una solucin aceptable.

Seleccin generacional: la descendencia de los individuos


seleccionados en
cada generacin se convierte en toda la siguiente generacin. No se
conservan
individuos entre las generaciones.
Seleccin por estado estacionario: la descendencia de los individuos
seleccionados en cada generacin vuelven al acervo gentico
preexistente,
reemplazando a algunos de los miembros menos aptos de la siguiente
generacin. Se conservan algunos individuos entre generaciones.
Seleccin jerrquica: los individuos atraviesan mltiples rondas de
seleccin
en cada generacin. Las evaluaciones de los primeros niveles son ms
rpidas
y menos discriminatorias, mientras que los que sobreviven hasta niveles
ms
altos son evaluados ms rigurosamente. La ventaja de este mtodo es
que

reduce el tiempo total de clculo al utilizar una evaluacin ms rpida y


menos selectiva para eliminar a la mayora de los individuos que se
muestran
poco o nada prometedores, y sometiendo a una evaluacin de aptitud
ms
rigurosa y computacionalmente ms costosa slo a los que sobreviven a
esta
prueba inicial.
CRUCE
Se trata de una reproduccin de tipo sexual. Se genera una
descendencia a partir
del mismo nmero de individuo (generalmente 2) de la generacin
anterior. Una vez
seleccionados los individuos, estos son recombinados para reproducir la
descenda
que ese insertara en la siguiente generacin. Es una estrategia de
reproduccin sexual,
su importancia para la transicin entre generaciones es elevada puesto
que las tasas de
cruce con las que se suele trabajar rondan el 90%.
La idea principal del cruce es que si se toman dos individuos
correctamente
adaptados al medio y se obtiene descendencia que comparta genes de
ambos, existe la
posibilidad de lo que lo genes heredado sean precisamente causantes de
la bondad de
los padres. Al compartir las caractersticas buenas de dos individuos, las
descendencias, o al menos parte de ellas, debera tener una bondad
mayor que cada
uno de los padres por separados. Existen varios tipos de cruce:
Cruce de 1 punto: una vez seleccionados dos individuos se cortan sus
cromosomas por un punto seleccionado aleatoriamente para generar
segmentos diferenciado en cada uno de ellos. La cabeza y la cola. Se
10
intercambia las colas entre los dos individuos para generar nuevos
descendientes. De esta manera ambos descendientes heredan
informacin
gentica de los padres, tal como aparece en la siguiente figura.
Cruce de 2 puntos: se trata de una generalizacin del cruce de un
punto.
En vez de cortar por un nico punto los cromosomas de los padres, se
realizan dos cortes. Deber tenerse en cuenta que ninguno de estos
puntos

de corte coincidan con el extremo de los cromosomas para garantiza


que
se originen 3 segmentos. Para generar la descendencia se escoge el
segmento central de uno de los padres y los segmentos laterales del
otro
padre:
Cruce Uniforme: completamente distinta a las tcnicas anteriores.
Cada
gen de la descendencia tiene las mismas probabilidades de pertenecer a
uno u otro padre. La tcnica implica la generacin de una mscara de
cruce con valores binarios. Si en una de las posiciones de mascara hay
un
1, el gen situado en esa posicin en uno de los descendientes se copia
del
primer padre. Si por el contrario hay un 0 el gen se copia del segundo
padre. Para reproducir el segundo descendiente se intercambian los
papeles de los padres, o bien se intercambian la interpretacin de los
unos
y los ceros de la mscara de cruce. La descendencia contiene una
mezcla
de genes de los 2 padres.
MUTACION
Una vez que la seleccin ha elegido a los individuos aptos, stos deben
ser
alterados aleatoriamente con la esperanza de mejorar su aptitud para la
siguiente generacin. Existen dos estrategias bsicas para llevar esto a
cabo. La
primera y ms sencilla se llama mutacin. Al igual que una mutacin en
los seres
vivos cambia un gen por otro, una mutacin en un algoritmo gentico
tambin
causa pequeas alteraciones en puntos concretos del cdigo de un
individuo.
Se define mutacin como una variacin de las informaciones contenidas
en el
cdigo gentico -habitualmente, un cambio de un gen a otro producido
por algn
factor exterior al algoritmo gentico. La mutacin de un individuo
provoca que
algunos de sus genes, generalmente uno solo, vari su valor de forma
aleatoria. La
mutacin generalmente suele utilizar de manera conjunta con el
operador de cruce.
Primeramente se seleccionan los individuos de la poblacin para generar
el cruce. Si

el cruce es exitosos entonces uno de los descendientes, o ambos, se


muta con cierta
probabilidad pm. Se imita de esta manera el comportamiento que se da
en la
naturaleza, pues cuando se genera la descendencia siempre se produce
algn tipo de
error, por lo general sin mayor transcendencia.

CONCLUSION
De todo lo anteriormente dicho se puede decir que la principal ventaja
de los
algoritmos genticos radica en su sencillez. Se requiere poca
informacin sobre el
espacio de bsqueda ya que se trabaja sobre un conjunto de soluciones
o parmetros
codificados (hiptesis o individuos). Se busca una solucin por
aproximacin de la
poblacin, en lugar de una aproximacin punto a punto. Con un control
adecuado
podemos mejorar la aptitud promedio de la poblacin, obteniendo
nuevos y mejores
individuos y, por lo tanto, mejores soluciones.
Se consigue un equilibrio entre la eficacia y la eficiencia. Este equilibrio
es
configurable mediante los parmetros y operaciones usados en el
algoritmo. As, por
ejemplo, bajando el valor del umbral conseguiremos una rpida solucin
a cambio de
perder en calidad. Si aumentamos dicho valor, tendremos una mejor
solucin a
cambio de un mayor tiempo consumido en la bsqueda. Es decir,
obtenemos una
buena relacin entre la calidad de la solucin y el costo.
La programacin mediante algoritmos genticos suponen un nuevo
enfoque
que permite abarcar todas aquellas reas de aplicacin donde no
sepamos cmo resolver un problema.

ALGORITMO DE COMPRESION DE DATOS

RESUMEN
Esta disertacin sobre el artculo de compresin de datos, en cuyo caso se
aplicar una tcnica para la compresin sin prdida de datos, la tcnica en
cuestin est presente A. David Huffman. Este artculo en cuestin, se
presentauna breve introduccin a la compresin de datos que
muestra un ejemplo de cmo la compresin se produce en un ejemplo
prctico utilizando la tcnica dealgoritmo de compresin de Huffman.

CAPITULO 1
1. Introduccin
La compresin de datos es el acto de reducir el espacio ocupado por los
datos en un dispositivo particular. Esta operacin se realiza a travs de
varios algoritmos de compresin, reduciendo la cantidad de bytes para
representar un hecho, ya que esta es una imagen, texto o un archivo
(archivo).
Compresin de datos destinado tambin para eliminar la redundancia,
basado en la premisa de que muchos datos contiene informacin
redundante que puede o necesita estar dispuesta en forma alguna. Esta
forma es a travs de una norma, cdigo de llamada o de un protocolo
que cuando se elimina a continuacin, los bits redundantes de
informacin a fin de disminuir su tamao en los archivos. Un ejemplo es
la cadena "AAAAA", que ocupa 5 bytes, podra ser representado por la
cadena "5A", que ocupa dos bytes, el ahorro de 67% de espacio.
Adems de eliminar redundancias, los datos son comprimidos por varias
razones. Entre las ms conocidas son la gestin del espacio en los
dispositivos de almacenamiento como discos duros, o la realizacin de
ganancia (el tiempo) est emitiendo.
Aunque pueden parecer sinnimos, la compresin de la compresin y los
datos son procesos diferentes. La compresin reduce el nmero de bits
que representan algunos datos, mientras que la compresin sirve para
unir datos que no estn unidos. Un ejemplo clsico de la compresin de
datos es la desfragmentacin de los discos duros.
Hay varias formas de clasificar la compresin de datos, los ms comunes
son: prdida de datos y sin prdida de datos, se dice que un mtodo de
compresin sin prdidas (lossless) a los datos obtenidos tras la
aplicacin de la tcnica son idnticos a los datos
original. Estos mtodos son tiles para los datos que se obtienen por
medios digitales, un ejemplo de estos tipos de datos son: hojas de
clculo, programas, entre otros textos, donde la prdida de una parte de
estos datos hace que la recta final de la problemtica o totalmente intil.

Sin embargo, hay situaciones en las que la prdida de datos es


aceptable, si los sonidos e imgenes, por ejemplo, podramos comprimir
con prdidas en algunos detalles que puedan ser percibidas por los ojos
y odos humanos en estos casos la prdida de datos es aceptable, por lo
que estos casos, los datos obtenidos despus de la compresin no son
idnticos a los originales como "perdido" informacin irrelevante,
entonces se dice que este mtodo es la compresin con prdida
(lossy). En este artculo se discuten las tcnicas para una compresin sin
prdida de datos, en este caso se utiliz un algoritmo desarrollado por
David A.Huffman, dar una breve explicacin de la teora detrs del
algoritmo, se muestra el propio algoritmo, se presenta el algoritmo que
se aplica a las situaciones y, finalmente, poner en prctica un ejemplo
prctico utilizando la tcnica de Huffman.

2. Teora
La compilacin de compresin de Huffman es un procedimiento que
utiliza smbolos probabilismos de eventos en el conjunto de datos que se
comprimen para determinar los cdigos de longitud variable para cada
smbolo. Fue desarrollado en 1952 por David A. Huffman, que era
entonces un estudiante de doctorado en el MIT, fue publicado en el
artculo "Un mtodo para la construccin de cdigos de redundancia
mnima."
Un rbol binario completo, llamado un rbol de Huffman est diseado
de forma recursiva de la unin de los dos smbolos de la menor
posibilidad, que se suman en los smbolos secundarios y estos smbolos
en el conjunto de smbolos reemplazados secundarias. El proceso
termina cuando todos los smbolos son smbolos unidos auxiliares,
formando un rbol binario. El rbol est atravesado entonces, la
asignacin de valores binarios 1 o 0 para cada borde, y los cdigos se
generan a partir de esta ruta.
Este mtodo de compresin, un menor nmero de bits se asignan a los
smbolos que son ms a menudo y ms bits a los smbolos que aparecen
menos. As, el tamao de bits de caracteres codificados es
diferente. Codificacin de Huffman es un ejemplo de una tcnica
estadstica de codificacin que se refiere al uso de un cdigo corto
comn para representar los smbolos y los cdigos largos para
representar los smbolos poco comunes. Este es el principio - _, y as
sucesivamente. Vamos a utilizar un ejemplo para mostrar cmo funciona
la codificacin Huffman. Supongamos que tenemos un archivo que
contiene 1000 caracteres, que son e, t, x, z. La probabilidad de que
ocurra, y T, X y Z son 0,8, 0,16, 0,02 y 0,02, respectivamente. En un

mtodo de codificacin habitual necesitan dos bits para cada uno de los
cuatro caracteres. Por lo tanto, tenemos que 2000 bits para representar
el archivo. Uso de la codificacin
3. Algoritmo
Para dar paso a cdigos binarios ms frecuentes de menor longitud, se
construye un rbol binario basado en probabilidades de ocurrencia
de cada smbolo. En este rbol las hojas representan los smbolos de los
datos,integrados con sus probabilidades de
ocurrencia relacionados. Los mediadoresque representan la suma de las
probabilidades de ocurrencia de todos lossmbolos que se
encuentran en sus ramas y raz ve la suma de la probabilidad detodos
los smbolos en el conjunto de datos. El
mtodo comienza por colocar dosmenor probabilidad de smbolos que
luego se unen a un nodo que es la suma delas probabilidades
asignadas. Este nuevo nodo es tratada como una hoja del rbol, es
decir, un smbolo del alfabeto, y en comparacin con los otros en funcin
de su probabilidad. El procedimiento se repite hasta que todos
lossmbolos estn unidos bajo el nodo raz.
Cada borde est unido a un rbol de dgitos binarios (0 o 1). El cdigo
correspondiente a cada smbolo se encuentra entonces subir al rbol
y tomando nota de las cifras de las aristas recorridas desde la raz
hasta la hoja quecorresponde al smbolo que desee.
Carcter tabla de frecuencias

CAPITULO 2
APLICACIN

Aplicando el algoritmo de Huffman se utiliza para los casos que no


quieren que la prdida de datos, por lo que es muy til para los datos
que se obtienen directamente por medios digitales, tales como texto,
programas informticos,hojas de clculo, etc., Donde la
prdida mnima los datos conduce a la falta de funcionamiento o
hacer lo ininteligible de datos. Un texto con cartas intercambiadas por
ejemplo, una hoja de clculo con la falta o inexacta, o un programa
de ordenador con comandos vlidos son cosas que no queremos y puede
causar contratiempos. Algunas de las imgenes y los

sonidos que sereproducen con precisin, como imgenes y


grabaciones de las habilidades, las huellas dactilares, etc.
Conclusin
Este artculo trata de la compresin de datos, mostrando una breve
introduccinsobre el tema, se presentan las tcnicas utilizadas para
la compresin sin prdidade datos, se presenta la teora detrs de esta
tcnica, se presentan algunos de los casos en los que se
puede utilizar esta tcnica y la por lo que presentamos un ejemplo
prctico del algoritmo de compresin que se trate con un archivo de
textoy presentar al algoritmo de Huffman y llevar a cabo una breve
revisin sobre el resultado. As hemos visto la aplicacin de algunas
tcnicas de compresin, en este caso, David A. Huffman, ms conocida
como Huffman, era importante poner en prctica el mismo, como hemos
visto en la prctica cmo funciona el algoritmode hecho, se observa
el pensamiento emprico detrs del algoritmo que nos dauna
base mayor en nuestros estudios sobre las estructuras de datos y cmo
funciona el pensamiento detrs de una implementacin.

Você também pode gostar