Category Archives: combinatorics

Virtual species suffice

Over six years ago, I wrote a post explaining how virtual species are defined. Ever since then (time flies!) I’ve been meaning to write a follow-up post explaining a bit more about virtual species and how they actually suffice to … Continue reading

Posted in combinatorics | Tagged , | 22 Comments

Adventures in enumerating balanced brackets

Since I’ve been coaching my school’s ACM ICPC programming team, I’ve been spending a bit of time solving programming contest problems, partly to stay sharp and be able to coach them better, but also just for fun. I recently solved … Continue reading

Posted in combinatorics, haskell | Tagged , , , | 2 Comments

The generic-random library, part 1: simple generic Arbitrary instances

In a previous post I pointed out that we know all the theory to make nice, principled, practical random generators for recursive algebraic data types; someone just needed to step up and do the work. Well, Li-yao Xia took up … Continue reading

Posted in combinatorics, haskell | Tagged , , , | 3 Comments

Eastman maximal comma-free codes in Haskell

This past January I watched a video of Don Knuth’s most recent annual Christmas lecture. Typically his Christmas lectures have been about trees, but breaking with tradition, he gave this lecture about comma-free codes, and presented an implementation of an … Continue reading

Posted in combinatorics, haskell | Tagged , , , | Leave a comment

Boltzmann sampling for generic Arbitrary instances

tl;dr: I know how to generate random instances of data types in a generic way, and even have some old code that already does all the hard work, but won’t have time to polish and package it until this summer. … Continue reading

Posted in combinatorics, haskell, math, species | Tagged , , , , , | 14 Comments

The Species of Bracelets

Summary: The species package now has support for bracelets, i.e. equivalence classes of lists up to rotation and reversal. I show some examples of their use and then explain the (very interesting!) mathematics behind their implementation. I recently released a … Continue reading

Posted in combinatorics, haskell, math, species | Tagged , , | 5 Comments

Crystal Ball Connection Patterns via Species and Generating Functions

A couple weeks ago, Denise posted Puzzle: Crystal Ball Connection Patterns on her blog, Let’s Play Math. I had fun playing with it and thought I would demonstrate how to apply some high-powered combinatorial techniques to it (probably not what … Continue reading

Posted in combinatorics, haskell, math, species | Tagged , , , , , | 1 Comment