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.
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.