Entropía da información

Na teoría da información a **entropía**, tamén chamada **entropía da información** e **entropía** de Shannon (en honra a Claude E. Shannon), mide a incerteza dunha fonte de información.

A entropía tamén se pode considerar como a cantidade de información media que conteñen os símbolos usados. Os símbolos con menor probabilidade son os que achegan maior información; por exemplo, se se considerase como sistema de símbolos as palabras nun texto, palabras frecuentes como «que», «o», «a» achegan pouca información, mentres que palabras menos frecuentes como «corren», «neno», «can» achegan máis información. Se dun texto dado se borra un «que», seguramente non afectará á comprensión e sobreentenderase, non sendo así se se borra a palabra «neno» do mesmo texto orixinal. Cando todos os símbolos son igualmente probables (distribución de probabilidade plana), todos achegan información relevante e a entropía é máxima.

O concepto entropía emprégase en termodinámica, mecánica estatística e teoría da información. En todos os casos a entropía concíbese como unha «medida da desorde» ou a «peculiaridade de certas combinacións». A entropía pode ser considerada como unha medida da incerteza e da información necesaria para, en calquera proceso, poder acoutar, reducir ou eliminar a incerteza. O concepto de información e o de entropía están basicamente relacionados entre si, aínda que se precisaron anos de desenvolvemento da mecánica estatística e da teoría da información antes de que isto fose percibido.

## Relación coa entropía termodinámica 
A entropía da teoría da información está estreitamente relacionada coa entropía termodinámica. Na termodinámica estúdase un sistema de partículas cuxos estados *X* (usualmente posición e velocidade) teñen unha certa distribución de probabilidade, podendo ocupar varios microestados posibles (equivalentes aos símbolos na teoría da información). A entropía termodinámica é igual á entropía da teoría da información desa distribución (medida usando o logaritmo neperiano) multiplicada pola constante de Boltzmann *k*, a cal permite pasar de nats (unidade semellante ao bit) a *J*/*K*. Cando todos os microestados son igualmente probables, a entropía termodinámica toma a forma *k* log(*N*). Nun sistema illado, a interacción entre as partículas tende a aumentar a súa dispersión, afectando as súas posicións e as súas velocidades, o que causa que a entropía da distribución aumente co tempo até chegar a un certo máximo (cando o mesmo sistema é o máis homoxéneo e desorganizado posible); o que se denomina Segunda Lei da Termodinámica. A diferenza entre a cantidade de entropía que ten un sistema e o máximo que pode chegar a ter denomínase neguentropía, e representa a cantidade de organización interna que ten o sistema. A partir desta última pódese definir a enerxía libre de Gibbs, que indica a enerxía que pode liberar o sistema ao aumentar a entropía até o seu máximo e pode ser transformada en traballo (enerxía mecánica útil) usando unha máquina ideal de Carnot. Cando un sistema recibe un fluxo de calor, as velocidades das partículas aumentan, o que dispersa a distribución e fai aumentar así a entropía. Así, o fluxo de calor produce un fluxo de entropía na mesma dirección.

## Concepto intuitivo 
[miniatura|Entropía da información nun [ensaio de Bernoulli *X* (experimento aleatorio en que *X* pode tomar os valores 0 ou 1). A entropía depende da probabilidade P(*X*=1) de que *X* tome o valor 1. Cando P(*X*=1)=0.5, todos os resultados posibles son igualmente probables, polo que o resultado é pouco predicible e a entropía é máxima.]]
O concepto básico de entropía en teoría da información ten moito que ver coa incerteza que existe en calquera experimento ou sinal aleatorio. É tamén a cantidade de «ruído» ou «desorde» que contén ou libera un sistema. Desta forma, poderemos falar da cantidade de información que leva un sinal.

Como exemplo, considérese un texto escrito en galego, codificado como unha cadea de letras, espazos e signos de puntuación (o noso sinal será unha cadea de caracteres). Xa que, estatisticamente, algúns caracteres non son moi comúns (por exemplo, «w»), mentres outros si o son (como o «a»), a cadea de caracteres non será tan "aleatoria" como podería chegar a ser. Obviamente, non se pode predicir con exactitude cal será o seguinte carácter na cadea, e iso faríaa aparentemente aleatoria. Pero é a entropía a encargada de medir precisamente esa aleatoriedad, e foi presentada por Shannon no seu artigo de 1948, *A Mathematical Theory of Communication* ("Unha teoría matemática da comunicación", en inglés).

Shannon ofrece unha definición de entropía que satisfai as seguintes afirmacións:
* A medida de información debe ser proporcional (linear continua). É dicir, o cambio pequeno nunha das probabilidades de aparición dun dos elementos do sinal debe cambiar pouco a entropía.
* Se todos os elementos do sinal son equiprobables (igual de probables) á hora de aparecer, entón a entropía será máxima.
Exemplos de máxima entropía:
supóñase que estamos esperando dun texto, por exemplo un cable cunha mensaxe. En devandito cable só se reciben as letras en minúscula do *a* até o *z*, entón se a mensaxe que nos chega é "qalmnbphijcdgketrsfuvxyzwño" o cal posúe unha lonxitude de 27 caracteres, pódese dicir que esta mensaxe chega a nós coa máxima entropía (ou desorde posible); xa que é pouco probable que se poida prognosticar a entrada de caracteres, pois estes non se repiten nin están ordenados nunha forma predicible.

## Definición formal 
Supóñase que un evento (variable aleatoria) ten un grao de indeterminación inicial igual a k (i.e. existen k estados posibles) e supóñanse todos os estados equiprobables. Entón a probabilidade de que se dea unha desas combinacións será p=1/k. Entón pódese representar a expresión c_i como:
{{ecuación|
c_i= \log_2(k)= \log_2[1/(1/k)]= \log_2(1/p) = \underbrace{\log_2(1)}_{= 0}-\log_2(p) =- \log_2(p)
||left}}

Se agora cada un dos k estados ten unha probabilidade p_i, entón a entropía virá dada pola suma ponderada da cantidade de información:
{{ecuación|
H=-p_1 \log_2(p_1)-p_2 \log_2(p_2)-....-p_k \log_2(p_k)=- \sum_{i=1}^{k}p_i \log_2(p_i)
||left}}

Polo tanto, a entropía dunha mensaxe X, denotada por H(X), é o valor medio ponderado da cantidade de información dos diversos estados da mensaxe:
{{ecuación|
H(X)=- \sum_{i}p(x_i) \log_2 p(x_i)
||left}}
que representa unha medida da incerteza media sobre unha variable aleatoria e polo tanto da cantidade de información.

### Exemplos 
* A entropía dunha mensaxe *M* de lonxitude 1 carácter que emprega o conxunto de caracteres ASCII, supondo unha equiprobabilidade nos 256 caracteres ASCII, será:
:H(M)= \log_2(256)=8
* Supóñase que o número de estados dunha mensaxe é igual a 3, *M*1, *M*2 e *M*3 onde a probabilidade de *M*1 é 50&nbsp;%, a de *M*2 25&nbsp;% e a de *M*3 25&nbsp;%. Polo tanto, a entropía da información é:

### Información mutua 
A entropía pode verse como caso especial da información mutua. A información mutua de dúas variables aleatorias, denotado por *I*(*X*;*Y*), é unha cantidade que mide a dependencia mutua das dúas variables; é dicir, mide a redución da incerteza (entropía) dunha variable aleatoria, *X*, debido ao coñecemento do valor doutra variable aleatoria, *Y*. Da definición pódese concluír que, se *X* e *Y* son iguais, entón *I*(*X*;*X*)=*H*(*X*).

## Propiedades 
A entropía ten as seguintes propiedades:
# A entropía é non negativa. Isto é evidente xa que ao ser p_i unha probabilidade entón 0 . Entón, pódese dicir que  \log_2p_i \le 0 e polo tanto  -\log_2 p_i \ge 0.
#  H \le \log_a (n), é dicir, a entropía *H* está limitada superiormente (cando é máxima) e non supón perda de información.
# Dado un proceso con posibles resultados {A1,..,An} con probabilidades relativas p1,...,pn, a función H(p_1,\dots, p_n)\, é máxima no caso de que p_1 = \dots = p_n = 1/n\,. O resultado é intuitivo xa que se ten a maior incerteza da mensaxe, cando os valores posibles da variable son equiprobables.
# Dado un proceso con posibles resultados {A1,..,An} con probabilidades relativas p1,...,pn, a función H(p_1,\dots, p_n)\, é nula no caso de que p_i = 0 para todo i, agás para unha clase, tal que: p_j = 1. De forma intuitiva pódese pensar que cando un ou máis estados teñen unha probabilidade alta, diminúe significativamente a entropía porque, como é lóxico, existe unha menor incerteza respecto á mensaxe que se recibirá.

## Codificador óptimo 
Un codificador óptimo é aquel que emprega o mínimo número de bits para codificar unha mensaxe. Un codificador óptimo usará códigos curtos para codificar mensaxes frecuentes e deixará os códigos de maior lonxitude para aquelas mensaxes que sexan menos frecuentes. Desta forma optimízase o rendemento da canle ou zona de almacenamento e o sistema é eficiente en termos do número de bits para representar a mensaxe.

Por exemplo, o código Morse aprovéitase deste principio para optimizar o número de caracteres para transmitir a partir do estudo das letras máis frecuentes do alfabeto inglés. Aínda que o código Morse non é un codificador óptimo, asigna ás letras máis frecuente códigos máis curtos. Outro exemplo sería o algoritmo de Huffman de codificación que serve para compactar información. Este método baséase no codificador óptimo. Para iso o primeiro que fai é percorrer toda a información para atopar a frecuencia dos caracteres e logo a partir desta información busca o codificador óptimo por medio de árbores binarios. Algunhas técnicas de compresión como LZW ou deflación non usan probabilidades dos símbolos illados, senón que usan as probabilidades conxuntas de pequenas secuencias de símbolos para codificar a mensaxe, polo que poden lograr un nivel de compresión maior.

Pódese construír un codificador óptimo baseándose na entropía dunha variable aleatoria de información *X*. En efecto, a entropía dá o número medio de bits (se se usan logaritmos de base 2) necesarios para codificar a mensaxe a través dun codificador óptimo e polo tanto determínase o límite máximo ao que se pode comprimir unha mensaxe usando un enfoque símbolo a símbolo sen ningunha perda de información (demostrado analiticamente por Shannon), o límite de compresión (en bits) é igual á entropía multiplicada pola lonxitude da mensaxe. Reescribindo a ecuación de cálculo da entropía chégase a que:
:H(X) = -\sum_{i}p(x_i) \log_2 p(x_i) = \sum_{i}-p(x_i)\log_2p(x_i) = \sum_{i}p(x_i)[log_2(1)-\log_2(p(x_i))] = \sum_{x}p(x) \log_2(1/p(x))

Polo tanto, a información (que se atopa definida en bits, dado que a base do logaritmo é 2) que achega un determinado valor ou símbolo  x_i \,\! dunha variable aleatoria discreta  X \,\! defínese como:
{{ecuación|
 I(x_i) = \log_2{\frac{1}{p(x_i)}}=-\log_2{p(x_i)}
||left}}
Esta expresión representa o número necesario de bits para codificar a mensaxe *X* no codificador óptimo e polo tanto a entropía tamén se pode considerar como unha medida da información media contida en cada símbolo da mensaxe.

### Exemplo 
Supóñase que o número de estados dunha mensaxe é igual a 3 *M*1, *M*2 e *M*3 onde a probabilidade de *M*1 é 50&nbsp;%, a de *M*2 25&nbsp;% e a de *M*3 25&nbsp;%.
:Para *M*1 tense que \log_2 [1/p(M_1)]=\log_2 2= 1 
:Para *M*2 tense que \log_2 [1/p(M_2)]=\log_2 4= 2 
:Para *M*3 tense que \log_2 [1/p(M_3)]=\log_2 4= 2 
  
Polo tanto, no codificador óptimo para transmitir *M*1 fará falta un bit e para *M*2 e *M*3 será necesario contar con dous bits. Por exemplo, poderíase codificar *M*1 con "0", *M*2 con "10" e  *M*3 con "11". Usando este convenio para codificar a mensaxe *M*1*M*2*M*1*M*1*M*3*M*1*M*2*M*3 usaríase "010001101011" e polo tanto 12 bits.

O valor da entropía sería:
:H(X)= 1/2 \log_2(2)+1/4 \log_2(4) + 1/4 \log_2(4)=1,5

Polo tanto, o codificador óptimo necesita de media 1,5 bits para codificar calquera valor de *X*.

## Entropía condicional 
Supóñase que no canto de ter unha única variable aleatoria *X*, existe outra variable *Y* dependentes entre si, é dicir o coñecemento dunha (por exemplo, *Y*) entrega información sobre a outra (por exemplo, *X*). Desde o punto de vista da entropía da información podemos dicir que a información de *Y* diminuirá a incerteza de *X*. Polo tanto, pódese dicir que a entropía de *X* será condicional a *Y*, e polo tanto:
{{ecuación|
H(X,Y)=-\sum_{x,y} p(x,y) \log_2 p(x,y)
||left}}

Como polo teorema de Bayes tense que p(*x*,*y*)=p(*y*)p(*x*|*y*) onde p(*x*|*y*) é a probabilidade de que se dea un estado de *X* coñecida *Y*, podemos dicir:
{{ecuación|
H(X|Y)=-\sum_{y} p(y) \sum_{x} p(x|y) \log_2 p(x|y)
||left}}

### Aplicación en criptoanálise 
O concepto de entropía condicional é moi interesante no campo do criptoanálise. Proporciona unha ferramenta para avaliar o grao de seguridade dos sistemas. Por exemplo, para un sistema de cifrado hai dúas entropías condicionais interesantes:
Supóñase
* Unha mensaxe 'M1 é sometido a un proceso de cifrado usando a clave K1 obtendo E(K1,M1)=C1.
* P_C(K) representan a probabilidade condicional da clave *K* dado o criptograma recibido *C*. Ás veces tamén se denota por P(K|C).
* P_C(M) representan a probabilidade condicional da mensaxe *M* dado o criptograma recibido *C*. Ás veces tamén se denota por P(M|C).

Entón:
* Pódese calcular a entropía do coñecemento da clave unha vez coñecido o texto cifrado, e polo tanto medir a equivocación da mensaxe (en inglés, *message equivocation*), H_C(K), tamén denotada por H(K|C), mediante a fórmula:
{{ecuación|
::H_C(K)=- \sum_{E,K} P(E,K) \log_{P_E}(K)=- \sum_{E} P(E) \sum_{K} P_E(K) \log_{P_E}(K)
||left}}
: A primeira igualdade é pola definición da entropía condicional e a segunda por aplicación do teorema de Bayes. 
: Obsérvese que se H_C(K)=0 significa que se poderá romper o cifrado pois xa non hai incerteza. Esta anulación introduce o concepto de distancia de unicidade.
* Pódese calcular a entropía do coñecemento da mensaxe unha vez coñecido o texto cifrado, e polo tanto medir a equivocación da clave (en inglés, *key equivocation*), H_C(M), tamén denotada por H(M|C), mediante a fórmula:
{{ecuación|
::H_C(M)=- \sum_{E,M} P(E,M) \log_{P_E}(M)=- \sum_{E} P(E) \sum_{M} P_E(M) \log_{P_E}(M)
||left}}
: A primeira igualdade é pola definición da entropía condicional e a segunda por aplicación do teorema de Bayes.

#### Exemplo 
Supóñase unha variable *X* con catro estados: x_1, x_2, x_3, x_4 todos equiprobables e polo tanto p(x_i)=1/4.

Existe ademais outra variable *Y* con tres estados; y_1, y_2, y_3  con probabilidades p(y_1)=1/2 e p(y_2)=p(y_3)=1/4.
Coñécense, ademais, as seguintes dependencias:
: Se Y=y_1 entón os posibles valores de *x* son x_1,x_2,x_3,x_4
: Se Y=y_2 entón os posibles valores de *x* son x_2,x_3
: Se Y=y_3 entón os posibles valores de *x* son x_3,x_4
  
Aplicando as fórmulas tense:
:H(X)=2
:H(Y)=1,5
:H(X/Y)=1,5
Neste caso o coñecemento da dependencia de *X* respecto de *Y* reduce a entropía de *X* de 2 a 1,5.

## Entropía dun proceso estocástico 
Un proceso estocástico \{X_i\} é unha secuencia indexada de variables aleatorias. En xeral, pode haber dependencias entre as variables aleatorias. Para estudar a probabilidade de certo conxunto de valores adóitase adoptar o seguinte convenio:
:Pr[(X_1,X_2,...,X_n)=(x_1,x_2,...,x_n)]=p(x_1,x_2,...,x_n)

Sexa \{X_i\}_{i=1,..n} un proceso estocástico de *n* variables aleatorias, e sexa  A^n o conxunto das posibles combinacións de valores de \{X_i\}_{i=1,..n}. Defínese a entropía do proceso estocástico, tamén chamada entropía do *n*-grama e denotado por H_n, como:
:H_n=H(X_1,...,X_n)= \sum_{s \in A^n} -P((X_1,...,X_n)=s) \log P((X_1,...,X_n)=s)

### Cociente de entropía 
O cociente de entropía dunha secuencia de *n* variables aleatorias (proceso estocástico) caracteriza a taxa de crecemento da entropía da secuencia co crecemento de *n*.

O cociente de entropía dun proceso estocástico \{X_i\} vén definida pola ecuación:
{{ecuación|
H(X)=\lim_{n \to \infty} \dfrac{1}{n} H(X_1,...,X_n)
||left}}
sempre que devandito límite exista.

## Notas 
## Véxase tamén 
### Bibliografía 
* Jorge Ramió Aguirre, *Aplicaciones criptográficas*. Libro guía da materia de Seguridade Informática. Escola Universitaria de Informática. Universidade Politécnica de Madrid. Xaneiro 1998.
### Outros artigos 
* Entropía cruzada
* Perplexidade
### Ligazóns externas 
* Unha teoría matemática da comunicación  (en inglés)
* Calculadora da entropía de Shannon (en inglés)
* Calculadora da entropía de Shannon para ficheiros (en inglés)