Entrada
Uma matriz Mrepresentada como duas linhas de números inteiros separados por espaço. Cada linha terá o mesmo número de números inteiros e cada número inteiro será -1 ou 1. O número de números inteiros por linha será no máximo 20. Mserá, portanto 2, nonde né o número de números inteiros em cada uma das duas linhas.
Seu código deve ser um programa completo. e aceite a entrada no padrão em ou a partir de um arquivo (que é sua escolha). Você pode aceitar entrada de entrada padrão, de um arquivo ou simplesmente como um parâmetro. No entanto, se você fizer o último, dê um exemplo explícito de como seu código deve funcionar e lembre-se de que ele deve ser um programa completo e como a matriz Mserá representada na entrada. Em outras palavras, é provável que você precise fazer uma análise.
Resultado
A entropia binária de Shannon da distribuição de M*xonde os elementos de xsão escolhidos de maneira uniforme e independente de {-1,1}. xé um nvetor de coluna tridimensional.
A entropia de uma distribuição de probabilidade discreta é
- sum p_i log_2(p_i)
Nesse caso, p_ié a probabilidade do ith único possível M*x.
Exemplo e dicas úteis
Como exemplo trabalhado, deixe a matriz Mser
-1 1
-1 -1
Agora observe todos os 2^2diferentes vetores possíveis x. Para cada um, calculamos M*xe colocamos todos os resultados em uma matriz (uma matriz de 4 elementos de vetores de 2 componentes). Embora para cada um dos quatro vetores a probabilidade de ocorrência seja 1/2^2 = 1/4, estamos interessados apenas no número de vezes que cada vetor resultante exclusivoM*x ocorre e, portanto, resumimos as probabilidades individuais das configurações que levam aos mesmos vetores únicos. Em outras palavras, os possíveis M*xvetores exclusivos descrevem os resultados da distribuição que estamos investigando e precisamos determinar a probabilidade de cada um desses resultados (que, por construção, sempre será um múltiplo inteiro de 1/2^2, ou 1/2^nem geral) para calcular a entropia.
No ncaso geral , dependendo Mdos possíveis resultados de M*xpode variar de "todos diferentes" (neste caso, temos nvalores de iin p_ie cada um p_ié igual a 1/2^n) a "todos iguais" (neste caso, existe uma única possibilidade resultado e p_1 = 1).
Especificamente, para a 2x2matriz acima M, podemos descobrir, multiplicando-a pelas quatro configurações possíveis ( [+-1; +-1]), que cada vetor resultante é diferente. Portanto, neste caso, existem quatro resultados e, consequentemente p_1 = p_2 = p_3 = p_4 = 1/2^2 = 1/4. Lembrando que log_2(1/4) = -2temos:
- sum p_i log_2(p_i) = -(4*(-2)/4) = 2
Portanto, a saída final para esta matriz é 2.
Casos de teste
Entrada:
-1 -1
-1 -1
Resultado:
1.5
Entrada:
-1 -1 -1 -1
-1 -1 -1 -1
Resultado:
2.03063906223
Entrada:
-1 -1 -1 1
1 -1 -1 -1
Resultado:
3
x? 2. No interesse de tornar a questão independente, como éMxdefinida a entropia binária de Shannon ?