In graph theory, a Pfaffian orientation of an undirected graph assigns a direction to each edge, so that certain cycles (the "even central cycles") have an odd number of edges in each direction. When a graph has a Pfaffian orientation, the orientation can be used to count the perfect matchings of the graph. This is the main idea behind the FKT algorithm for counting perfect matchings in planar graphs, which always have Pfaffian orientations. More generally, every graph that does not have the utility graph as a graph minor has a Pfaffian orientation, but does not, nor do infinitely many other minimal non-Pfaffian graphs.