입력
M두 개의 공백으로 구분 된 정수 행으로 표시되는 행렬 입니다. 수는 최대 20 것이다 라인 당 정수의 숫자 각 라인은 정수의 동일한 수를 가지는 각 정수이어야 -1 또는 1 M따라서 것이다 2의해 n여기서 n두 줄의 각각의 정수 개수이다.
코드는 완전한 프로그램이어야합니다. 표준으로 또는 파일에서 입력을 받아들입니다 (선택). 표준 입력, 파일 또는 단순히 매개 변수로 입력을 승인 할 수 있습니다. 그러나 후자를 사용하는 경우 코드가 어떻게 작동 해야하는지에 대한 명확한 예를 제공하고 코드가 완전한 프로그램이어야하며 M입력에 행렬 이 표시되는 방법을 기억하십시오 . 다시 말해, 일부 구문 분석을 수행해야 할 가능성이 있습니다.
산출
이진 샤논 엔트로피 분포의 M*x요소가 어디에서 x균일 독립적 {-1,1}로부터 선택된다. x인 n차원의 열 벡터.
이산 확률 분포의 엔트로피는
- sum p_i log_2(p_i)
이 경우 가능한 고유 한 p_i확률입니다 .iM*x
예와 유용한 힌트
실례로 매트릭스 M를
-1 1
-1 -1
이제 2^2가능한 모든 다른 벡터를 x봅니다. 각각에 대해 M*x모든 결과를 계산 하여 배열 (2 요소 벡터의 4 요소 배열)에 넣습니다. 4 개의 벡터 각각에 대해 그것이 발생할 확률은이지만 1/2^2 = 1/4, 각각의 고유 한 결과 벡터 M*x가 발생 하는 횟수에만 관심이 있으므로 동일한 고유 벡터로 이어지는 구성의 개별 확률을 요약합니다. 다시 말해, 가능한 고유 M*x벡터는 조사중인 분포의 결과를 설명하며, 각 결과의 확률을 구성해야합니다 (구체적으로는 항상의 배수로 1/2^2또는 1/2^n일반적으로 정수임 ). 엔트로피를 계산합니다.
일반적으로 가능한 결과에 n따라 "모두 다른"(이 경우 에는 in 값이 있고 각 값 은 동일 함 )에서 "모두 동일"(이 경우 단일 결과 및 ).MM*xnip_ip_i1/2^np_1 = 1
구체적으로, 위의 2x2행렬에 M대해 가능한 4 가지 구성 ( [+-1; +-1]) 을 곱하면 각 결과 벡터가 다르다는 것을 알 수 있습니다. 따라서이 경우에는 네 가지 결과가 있으며 결과적으로 p_1 = p_2 = p_3 = p_4 = 1/2^2 = 1/4. log_2(1/4) = -2우리는 다음을 기억합니다 .
- sum p_i log_2(p_i) = -(4*(-2)/4) = 2
따라서이 행렬의 최종 출력은 2입니다.
테스트 사례
입력:
-1 -1
-1 -1
산출:
1.5
입력:
-1 -1 -1 -1
-1 -1 -1 -1
산출:
2.03063906223
입력:
-1 -1 -1 1
1 -1 -1 -1
산출:
3
x무엇입니까? 2. 질문을 독립적으로 만들기 위해 이항 Shannon Shannon 엔트로피는Mx어떻게 정의되어 있습니까?