#!/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))