Skip to content

Instantly share code, notes, and snippets.

@jfarid27
Created May 31, 2015 00:07
Show Gist options
  • Save jfarid27/5e7866a387be1e569e44 to your computer and use it in GitHub Desktop.
Save jfarid27/5e7866a387be1e569e44 to your computer and use it in GitHub Desktop.
Entropy computer
var generate = Math.random
var nsteps = 10000000
var holds = {}
for (var i = 0; i < nsteps; i++){
holds[generate()] = holds[generate()] ? holds[generate()] + 1 : 1
}
var ent = 0
var values = Object.keys(holds)
for (value in values){
ent += values[value]/nsteps * Math.log(values[value]/nsteps) /
Math.log(2)
}
console.log(ent)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment