Entropia. X94098


Statement
 

pdf   zip   main.R

html

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) = −
 
x ∈ X
 p(x) logb p(x).     (1)

En el nostre cas, substitïm la probabilitat p(x) d’un element xX per la freqüència dins del vector v. D’aquesta manera, la fórmula que cal calcular és:

H(X) = −
 
x ∈ 1:N
 
freq(x,v)
N
 log2 (
freq(x,v)
N
).     (2)

on freq(x,v) és la freqüència del nombre x al vector V.

Per a calcular el logaritme en base 2 en R podeu fer servir la funció log2(x).

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.R 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.

Public test cases
  • Input

    4
    1 2 3 4
    
    

    Output

    2 
    
  • Input

    8
    1 1 1 1 4 4 5 5
    
    

    Output

    1.5 
    
  • Information
    Author
    Jaume Baixeries
    Language
    Catalan
    Official solutions
    R
    User solutions
    R