Feu la funció entropia(V)
tal que,
donat un vector V
,
que conté nombres naturals, en torni l’entropia de Shannon.
L’entropia de Shannon per a un conjunt X es calcula amb la fórmula:
H(X) = − |
| p(x) logb p(x). (1) |
En el nostre cas, substitïm la probabilitat p(x)
d’un element x ∈ X
per la freqüència dins del vector v
.
D’aquesta manera, la fórmula que cal calcular és:
H(X) = − |
|
| log2 ( |
| ). (2) |
on freq(x,v) és la freqüència del nombre x
al vector V
.
Per a calcular el logaritme en base 2 en python
podeu fer servir
la funció math.log2(x)
. Abans, però, caldrà que afegiu
import math
a la vostra solució.
Observació
Només cal que enviïs el fitxer amb la funció (i les funcions auxiliars que hagis fet)
que et demanem i prou.
El fitxer main.py
et pot servir per a fer la teva solució, però no cal que n’enviïs
el contingut.
Entrada
Un vector V
de naturals.
Sortida
L’entropia de Shannon de V
.
Input
1 2 3 4
Output
2.0
Input
1 1 1 1 4 4 5 5
Output
1.5