Skip to content
Snippets Groups Projects
example.py 1.08 KiB
#!/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))