Está en la página 1de 6

Instituto Politcnico Nacional

Escuela Superior de Ingeniera


Mecnica y Elctrica

Prctica 1
Cantidad de informacin

Materia
Teora de la informacin y codificacin

Profesor:
Guzmn Rodrguez Jos Eduardo

Grupo:
7CX3

Equipo:
Cadena Garfias Luis Arturo
Soto Meja Roberto Edher
Zarza Pineda Carlos Alfredo
Introduccin
En esta prctica se calcular la probabilidad de los caracteres y la cantidad de informacin que hay en un
archivo de texto.

Objetivo
El alumno identifica como calcular la cantidad de informacin de un archivo de texto.

Fundamentacin terica
En lo que se refiere a la cantidad de informacin, el valor ms alto se le asigna al mensaje que menos
probabilidades tiene de ser recibido. Si se sabe con certeza que un mensaje va a ser recibido, su
cantidad de informacin es 0. Si, por ejemplo, se lanza una moneda al aire, el mensaje conjunto cara o
cruz que describe el resultado, no tiene cantidad de informacin. Sin embargo, los dos mensajes por
separado cara o cruz tienen probabilidades iguales de valor un medio. Para relacionar la cantidad de
informacin (I) con la probabilidad, Shannon present la siguiente frmula:
I = log2(1/p)
Donde p es la probabilidad del mensaje que se transmite y log2 es el logaritmo de 1/p en base 2. (log2 de
un nmero dado X es el exponente Y al que tiene que ser elevado el nmero 2 para obtener dicho
nmero X. Por ejemplo, log2 de 8 = 3, porque 23 = 8). Utilizando esta frmula, obtenemos que los
mensajes cara y cruz tienen una cantidad de informacin de log22 = 1.
La cantidad de informacin de un mensaje puede ser entendida como el nmero de smbolos posibles
que representan el mensaje.

Desarrollo
Se desarrollar un programa en Matlab, capaz de cargar un archivo de texto y verificar la probabilidad en
que aparecen los caracteres adems de que se calcular la cantidad de informacin.
Primer mdulo del cdigo
clc
clear
letras='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
contador(1:54)=0;
Probabilidad(1:54)=0;
I(1:54)=0;
Texto=fopen('Apellidos.txt','rt');
texto=fscanf(Texto,'%c');
fclose(Texto);
texto=strrep(texto,' ','');

En esta parte del cdigo declaramos la variable letras como una cadena que contiene el abecedario tanto
en maysculas como minsculas, que son las letras que se revisaran en el documento. Tambin en este
fragmento de cdigo abrimos nuestro documento de texto y lo guardamos en una cadena, quitndole los
espacios antes de hacer esto.
for i=1:1:length(texto)
for j=1:1:length(letras)
if texto(i)==letras(j)
contador(j)=contador(j)+1;
end
end
end

Aqu buscamos las letras que tiene el documento y se va a ir sumando a su propio contador, segn sea la
letra que encontr en la cadena.

ITotal=0;
for i=1:1:length(letras)
if contador(i)>0
Probabilidad(i)=contador(i)/length(texto);
I(i)=log2(1/Probabilidad(i));
ITotal=ceil(I(i))+ITotal;
end
end


En este mdulo calculamos la probabilidad y al mismo tiempo la informacin de cada smbolo y la
cantidad de informacin total del documento.

for i=1:1:length(letras)
if contador(i)>0
Mostrar=strcat(letras(i),strcat('=',num2str(contador(i))));
disp(Mostrar);
end
end

Mostrar=strcat('Total de Informacin',strcat('=',strcat(num2str(ITotal))),' Bits');
disp(Mostrar);

Por ltimo, aqu solo mostramos los resultados obtenidos.


Resultados

Al cargar un archivo de texto con las palabras Vargas Lopez nos dio como resultado lo siguiente:














Ahora cargaremos un archivo de texto con 20 palabras para calcular la informacin. Los resultados
fueron los siguientes


El texto ingresado fue:

Practica Cantidad de informacion Materia Teoria de la informacion y codificacion Equipo Cadena Garfias
Luis Arturo Soto Mejia Roberto Edher Zarza Pineda Carlos Alfredo.














Problemas

(a) Calcular la cantidad de informacin (en bits) que contiene la palabra codificacin.

Pc=3/8 Ic=log2(1/Pc)=2 bits
Po=1/8 Io= log2(1/Po)=3 bits
Pd=1/8 Id= log2(1/Pd)=3 bits
Pi=2/8 Ii= log2(1/Pi)=2 bits
Pf=1/8 If= log2(1/Pf)=3 bits
Pa=1/8 Ia= log2(1/Pa)=3 bits
P=1/8 I= log2(1/P)=3 bits
Pn=1/8 In= log2(1/Pn)=3 bits

ITotal=22 Bits



(b) Calcular la cantidad de informacin (en bits) que contiene la palabra informtica.

Pi=2/10 Ii=log2(1/ Pi)=3 bits
Pn=1/10 In= log2(1/ Pn)=4 bits
Pf=1/10 If= log2(1/ Pf)=4 bits
Po=1/10 Io= log2(1/Po)=4 bits
Pr=1/10 Ir= log2(1/Pr)=4 bits
Pm=1/10 Im= log2(1/Pm)=4 bits
P=1/10 I= log2(1/P)=4 bits
Pt=1/10 It= log2(1/Pt)=4 bits
Pc=1/10 Ic= log2(1/Pc)=4 bits
Pa=1/10 Ia= log2(1/Pa)=4 bits

ITotal=39 Bits












Conclusiones

Cadena Garfias Luis Arturo
En esta prctica pudimos aprender no solo el uso de nuevas funciones de matlab que es la enseanza
colateral de esta prctica, si no aprender a codificar un texto fuente mediante ecuaciones determinar la
cantidad de bits que cuentan en el texto haciendo la sumatoria total del mismo, en el mismo programa
pudimos nota las veces que se repite un smbolo en el cdigo fuente, mientras ms se repita un smbolo
menor ser su valor en bits, ser representado por menos bits a la par mientras menos se repita el
smbolo en la fuente su codificacin en bits ser mayor.

Soto Meja Roberto Edher
Medir la informacin de un documento de texto nos sirve para saber que smbolos se repiten en l y as
resumir esta informacin, que en si lo que se estara aplicando es el concepto de compresin, ya que
para las letras que se repitan ms veces se les asignar una cantidad menor de bits para su codificacin
y es donde se ver el ahorro de tamao.
Los smbolos que necesitaran siempre ms bits son los que se encuentren una sola vez en la
informacin.

Zarza Pineda Carlos Alfredo
En mi parecer, la entropa nos sirve para analizar la seal, como se est codificando, y como la recibe el
receptor. Al momento de codificar, el receptor puede recibir los mismos datos pero si tanto el emisor
como el receptor no tienen la misma armona, la misma comunicacin, puede interpretar los datos de
manera diferente.





Bibliografa

http://stel.ub.edu/labfon/sites/

También podría gustarte