Skip to content

Instantly share code, notes, and snippets.

@alexchinco
Last active February 4, 2017 16:49
Show Gist options
  • Save alexchinco/421698c9de7e262a848696761aacb240 to your computer and use it in GitHub Desktop.
Save alexchinco/421698c9de7e262a848696761aacb240 to your computer and use it in GitHub Desktop.
Condorcet's Jury Theorem
function choose(n, k) {
if (k == 0) {
return 1
} else {
return (n * choose(n - 1, k - 1)) / k
}
}
var N = 21;
var T = 100;
var p = [];
for (var t = 1; t < T; t++) {
p.push(t * 1/T)
}
p
var probPasses = [];
for (var t = 1; t < T; t++) {
var prob = 0;
for (var k = Math.ceil(N/2); k <= N; k++) {
prob = prob + choose(N,k) * (p[t-1]**k) * (1 - p[t-1])**(N-k)
}
probPasses.push(Math.round(prob*100000)/100000)
}
probPasses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment