Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env python
from entropy import entropy
fair_coin = { "heads": 0.5, "tails": 0.5 }
two_coins = { "HH": 0.25, "HT": 0.25, "TH": 0.25, "TT": 0.25 }
fair_die = { 1: 1/6, 2: 1/6, 3: 1/6, 4: 1/6, 5: 1/6, 6: 1/6 }
unfair_die = { 1: 1/5, 2: 1/10, 3: 1/10, 4: 1/10, 5: 1/10, 6: 2/5 }
print("Entropy of a fair coin:", entropy(fair_coin))
print("Entropy of two fair coins:", entropy(two_coins))
print("Entropy of a fair six-sided die:", entropy(fair_die))
print("Entropy of an unfair six-sided die:", entropy(unfair_die))
from letters import file2prob, letters
print("Entropy of the uniform alphabet:",
entropy({ c: 1/len(letters) for c in letters }))
probs = file2prob("republic.txt")
lines = []
for i in range(6):
line = []
for j in range(5):
try:
letter = letters[i*5+j]
except IndexError:
continue
line.append("%s %.04f" % (letter, probs[letter]))
lines.append(" ".join(line))
print("#+begin_src")
print("\n".join(lines))
print("#+end_src")
print("Entropy of letters in Plato's Republic:", entropy(probs))