
1. Introdução
Existem muitas publicações sobre Habr nas quais o conceito de entropia é considerado, aqui estão apenas algumas delas [1]. As publicações foram recebidas positivamente pelos leitores e despertaram grande interesse. É suficiente dar a definição de entropia dada pelo autor da publicação [1]: “entropia é quanta informação você não conhece sobre o sistema”. Publicações sobre o fenômeno do caos em Habr também são suficientes [6–9]. No entanto, a relação de entropia e caos em ambos os grupos de publicações não foi considerada.
Isso se deve ao fato de que diferentes áreas do conhecimento distinguem diferentes tipos de medidas de caos:
- informativo;
- termodinâmico;
- diferencial;
- cultural.
As medidas de caos também são descritas levando em consideração sua especificidade, mesmo em uma dessas áreas é bastante difícil.
Tentando simplificar ao máximo a tarefa, decidi considerar a relação entre entropia informacional e caos usando o exemplo da semelhança das regiões de passagem da ordem ao caos nos diagramas na forma de mapeamentos de pontos e nos gráficos do coeficiente de entropia para essas regiões.
O que veio disso você aprenderá olhando sob o gato.
Os mecanismos de transição da ordem para o caos
Uma análise dos mecanismos de transição da ordem para o caos em sistemas reais e vários modelos revelou a universalidade de relativamente poucos cenários de transição para o caos. A transição para o caos pode ser representada na forma de um diagrama de bifurcação (o termo “bifurcação” é usado para denotar rearranjos qualitativos do sistema com o surgimento de um novo modo de comportamento).
A entrada do sistema no modo imprevisível é descrita por uma cascata de bifurcações após uma após a outra. A cascata de bifurcações leva sequencialmente a uma escolha entre duas soluções, depois quatro e assim por diante, o sistema começa a oscilar em um modo caótico e turbulento de duplicar sequencialmente o número de valores possíveis.
Consideramos as bifurcações da duplicação de períodos e o aparecimento do caos nos mapeamentos de pontos. Display é uma função que mostra a dependência dos seguintes valores dos parâmetros do sistema em relação aos valores anteriores:
xn+1=f(xn)= lambdaxn(1−xn)Considere também a segunda função comumente usada:
xn+1=f(xn)= lambda cdotxn cdot(1−x2n)Usando mapeamentos de pontos, os objetos são estudados não com 
contínuo, mas com tempo discreto . Após a transição para a tela, a dimensão do sistema em estudo pode diminuir.
Ao alterar o parâmetro externo \ lambda, os mapeamentos de pontos exibem um comportamento bastante complicado, que se torna caótico com \ lambda suficientemente grande. O caos é uma recessão muito rápida de trajetórias no espaço de fase.
A bifurcação é uma reestruturação qualitativa do filme. Os valores do parâmetro de controle no qual ocorrem as bifurcações são chamados de valores críticos ou de bifurcação.
Para criar os diagramas, usaremos as duas listagens a seguir:
No. 1. Para função: 
xn+1=f(xn)= lambdaxn(1−xn)No. 2. Para função 
xn+1=f(xn)= lambda cdotxn cdot(1−x2n)Avaliar o impacto da natureza da função logística em valores críticos 
 lambda considere diagramas com uma função 
xn+1=f(xn)= lambdaxn(1−xn) Para fazer isso, usaremos a listagem nº 1:
Para 0 <\ lambda <1 para 
 lambda=$0,9 e x0 = 0,47, obtemos o diagrama:

Nesse caso, o mapa possui um único ponto fixo 
x∗=0que é sustentável.
At 
1< lambda<3 para 
 lambda=$2, x0 = 0,7, obtemos o diagrama:

No segmento [0, 1], outro ponto fixo fixo aparece 
x∗1=1−1/ lambdaAt 
1< lambda<3 para 
 lambda=$2, e x0 = 0,01, obtemos o diagrama:

Ponto fixo 
x∗=0 perde estabilidade.
At 
3< lambda<3,45 para 
 lambda=$3,4 e x0 = 0,7, obtemos o diagrama:

O mapeamento sofre uma bifurcação: ponto fixo 
x∗1 torna-se instável e um ciclo duplo é exibido.
At 
3,45< lambda<4,0 para 
 lambda=$3,5e x0 = 0,2, obtemos o diagrama:

Ao passar um parâmetro 
 lambda através do valor 
 lambda=3,45 , Um ciclo de duas vezes se torna quatro vezes e além.
No valor final 
 lambda=4 o sistema possui ciclos instáveis de todos os pedidos possíveis:

Avaliar o impacto da natureza da função logística em valores críticos 
 lambda considere diagramas com uma função 
xn+1=f(xn)= lambda cdotxn cdot(1−x2n) , para isso, usaremos a listagem nº 2.
At 
0< lambda<=1,0 para 
 lambda=0,5 e x0 = 0,2:

O mapeamento possui um único ponto fixo 
x∗=0 que é sustentável.
At 
1< lambda<=1.998... para 
 lambda=$1, e x0 = 0,55:

Ponto 
x∗=0 perde a estabilidade, um novo ponto estável aparece 
x∗1At 
1,99< lambda<=2,235... para 
 lambda=US$2, e x0 = 0,2:

Bifurcação da duplicação do período ocorre, um ciclo de 2 vezes aparece. Aumento adicional 
 lambda leva a uma cascata de períodos de duplicação de bifurcações.
At 
2,235< lambda2.5980... para 
 lambda=2,287 e x0 = 0,2:

Aumentar 
 lambda levou a uma cascata de período dobrando bifurcações.
At 
 lambda=2,59 o sistema possui ciclos instáveis de todos os períodos possíveis:
 Como foi mostrado nos diagramas, com um aumento na ordem da função logística, o intervalo de mudanças  lambda diminui.
Como foi mostrado nos diagramas, com um aumento na ordem da função logística, o intervalo de mudanças  lambda diminui.Usando diagramas, traçamos o caminho do pedido ao caos, enquanto definimos os valores 
 lambda para diferentes funções logísticas. Resta responder à pergunta: como medir o caos? A resposta para alguns dos tipos de caos listados no início do artigo é conhecida
- entropia é uma medida do caos. Esta resposta pode ser totalmente atribuída ao caos da informação, no entanto, que entropia é aplicada aqui e como comparar com o valor numérico já considerado 
 lambda - Tentarei responder a essa pergunta na próxima parte do artigo.
Entropia de informação e coeficiente de entropia
Consideraremos a entropia binária de informações para eventos aleatórios independentes. 
x c 
n possíveis estados distribuídos com probabilidades 
pi(i=1,..,n) . A entropia binária de informações é calculada pela fórmula:
H(x)=− sumni=1pi cdotlog2(pi)Esse valor também é chamado de entropia média da mensagem. Valor 
Hi=−log2(pi) chamada entropia privada, caracterizando apenas o 
i- ésimo estado. No caso geral, a base do logaritmo na definição de entropia pode ser maior que 1; sua escolha determina a unidade de medida da entropia.
Usaremos logaritmos decimais nos quais a entropia e as informações são medidas em bits. A quantidade de informações em bits será calculada corretamente quando, por exemplo, variáveis 
X e 
 Delta será substituído nas expressões correspondentes por entropia, não importa em qual, mas sempre nas mesmas unidades. De fato:
q=H(x)−H( Delta)=log10 left(X2−X1 right)−log10(2 Delta)=log10( fracX2−X12 Delta)onde X e 
 Delta deve estar nas mesmas unidades.
Uma estimativa do valor da entropia de uma variável aleatória a partir de dados experimentais é encontrada em um histograma da seguinte relação:
 Deltae= frac12eH(x)= fracd2 prodmi=1( fracnni) fracnin= fracdn210− frac1n summi=1nilog10(ni)onde: 
d –Largura de cada coluna do histograma; 
m - número de colunas; 
n quantidade total de dados; 
ni - quantidade de dados em 
i essa coluna.
O coeficiente de entropia é determinado a partir da razão:
ke= frac Deltae sigmaonde: 
 sigma desvio padrão.
Entropia da informação como uma medida do caos
Para analisar os fenômenos do caos da informação usando o coeficiente de entropia, primeiro criamos um diagrama de ramificações para a função 
xn+1=f(xn)= lambdaxn(1−xn) com a aplicação de áreas de transição obtidas durante a construção de histogramas:
Diagrama de ramificação import matplotlib.pyplot as plt import matplotlib.pyplot as plt from numpy import* N=1000 y=[] y.append(0.5) for r in arange(3.58,3.9,0.0001): for n in arange(1,N,1): y.append(round(r*y[n-1]*(1-y[n-1]),4)) y=y[N-250:N] x=[r ]*250 plt.plot( x,y, color='black', linestyle=' ', marker='.', markersize=1) plt.figure(1) plt.title("   3,6<= $\lambda$ <=3,9") plt.xlabel("r") plt.ylabel("$\lambda$ ") plt.axvline(x=3.63,color='black',linestyle='--') plt.axvline(x=3.74,color='black',linestyle='--') plt.axvline(x=3.83,color='black',linestyle='--') plt.axvline(x=3.9,color='black',linestyle='--') plt.show() 
 Temos:

Traçamos o coeficiente de entropia para as mesmas áreas 
 lambda :
O gráfico para o coeficiente de entropia import matplotlib.pyplot as plt from numpy import* data_k=[] m='auto' for p in arange(3.58,3.9,0.0001): q=[round(p,2)] M=zeros([1001,1]) for j in arange(0,1,1): M[0,j]=0.5 for j in arange(0,1,1): for i in arange(1,1001,1): M[i,j]=q[j]*M[i-1,j]*(1-M[i-1,j]) a=[] for i in arange(0,1001,1): a.append(M[i,0]) n=len(a) z=histogram(a, bins=m) if type(m) is str: m=len(z[0]) y=z[0] d=z[1][1]-z[1][0] h=0.5*d*n*10**(-sum([w*log10(w) for w in y if w!=0])/n) ke=round(h/std(a),3) data_k.append(ke) plt.title("  ke  3,6<= $\lambda$ <=3,9") plt.plot(arange(3.58,3.9,0.0001),data_k) plt.xlabel("$\lambda$ ") plt.ylabel("ke") plt.axvline(x=3.63,color='black',linestyle='--') plt.axvline(x=3.74,color='black',linestyle='--') plt.axvline(x=3.83,color='black',linestyle='--') plt.axvline(x=3.9,color='black',linestyle='--') plt.grid() plt.show() 
 Temos:

Comparando o diagrama e o gráfico, vemos uma exibição idêntica das regiões no diagrama e no gráfico para o coeficiente de entropia para a função 
xn+1=f(xn)= lambdaxn(1−xn) .
Para uma análise mais aprofundada dos fenômenos do caos da informação usando o coeficiente de entropia, criamos um diagrama de ramificações para a função logística: 
xn+1=f(xn)= lambda cdotxn cdot(1−x2n) com a aplicação de áreas de transição:
Diagrama de ramificação import matplotlib.pyplot as plt from numpy import* N=1000 y=[] y.append(0.5) for r in arange(2.25,2.56,0.0001): for n in arange(1,N,1): y.append(round(r*y[n-1]*(1-(y[n-1])**2),4)) y=y[N-250:N] x=[r ]*250 plt.plot( x,y, color='black', linestyle=' ', marker='.', markersize=1) plt.figure(1) plt.title("   2.25<=$\lambda$ <=2.56") plt.xlabel("$\lambda$ ") plt.ylabel("y") plt.axvline(x=2.34,color='black',linestyle='--') plt.axvline(x=2.39,color='black',linestyle='--') plt.axvline(x=2.45,color='black',linestyle='--') plt.axvline(x=2.49,color='black',linestyle='--') plt.axvline(x=2.56,color='black',linestyle='--') plt.show() 
 Temos:

Traçamos o coeficiente de entropia para as mesmas áreas 
 lambda :
Gráfico de coeficiente de entropia import matplotlib.pyplot as plt from numpy import* data_k=[] m='auto' for p in arange(2.25,2.56,0.0001): q=[round(p,2)] M=zeros([1001,1]) for j in arange(0,1,1): M[0,j]=0.5 for j in arange(0,1,1): for i in arange(1,1001,1): M[i,j]=q[j]*M[i-1,j]*(1-(M[i-1,j])**2) a=[] for i in arange(0,1001,1): a.append(M[i,0]) n=len(a) z=histogram(a, bins=m) if type(m) is str: m=len(z[0]) y=z[0] d=z[1][1]-z[1][0] h=0.5*d*n*10**(-sum([w*log10(w) for w in y if w!=0])/n) ke=round(h/std(a),3) data_k.append(ke) plt.figure(2) plt.title("  ke  2.25<= $\lambda$ <=2.56") plt.plot(arange(2.25,2.56,0.0001),data_k) plt.xlabel("$\lambda$ ") plt.ylabel("ke") plt.axvline(x=2.34,color='black',linestyle='--') plt.axvline(x=2.39,color='black',linestyle='--') plt.axvline(x=2.45,color='black',linestyle='--') plt.axvline(x=2.49,color='black',linestyle='--') plt.axvline(x=2.56,color='black',linestyle='--') plt.grid() plt.show() 
 Temos:

Comparando o diagrama e o gráfico, vemos uma exibição idêntica das regiões no diagrama e no gráfico para o coeficiente de entropia para a função 
xn+1=f(xn)= lambda cdotxn cdot(1−x2n)Conclusões:
O problema educacional é resolvido no artigo: a entropia informacional é uma medida do caos, e a resposta dessa pergunta é afirmativamente dada por Python.
Referências
- Entropia? É fácil!
- Introdução ao conceito de entropia e suas múltiplas faces.
- Árvores de entropia e decisão.
- Um tratado sobre entropia.
- Entropia e WinRAR.
- Modelos matemáticos do caos.
- Um pouco sobre o caos e como criá-lo.
- Um olhar crítico sobre o atrator Lorenz. 
 
- Geradores de caos em FPGA.