Supporting code for this blog post. All you need is python3 and make. To run the approaches and compare results:
makeTo experiment with a different tileset size (default is 20):
make -B NTILES=10To use a different dictionary (default is /usr/share/dict/words):
make -B DICT=/usr/share/dict/british-englishTo see the actual wordlist formed by an approach's optimal tileset:
cat subtractive/results2