Counting, modular counting and graph homomorphisms
Keywords: computational complexity
computational counting
evolutionary dynamics
graph homomorphisms

A homomorphism from a graph G to a graph H is a function from V (G) to V (H) that preserves edges. Many combinatorial structures that arise in mathematics and in computer science can be represented naturally as graph homomorphisms and as weighted sums of graph homomorphisms. In this thesis we study the complexity of various problems related to graph homomorphisms.
We first study the problem #kHomsToH of counting the homomorphisms from an input graph to a fixed undirected graph H modulo an integer k. A characteristic feature of counting modulo k is that the objects to be counted can be grouped in sets of size k and, thus, cancel out. These cancellations make wider classes of instances tractable than exact (non-modular) counting and, furthermore, the value of the modulus can affect the tractability of a problem. Modular counting provides a rich setting for studying the structure of homomorphism problems. In this case, the structure of the graph H has a large influence on the complexity of the problem. We show the following results.
• When p is a prime and H is an asymmetric three, then #pHomsToH is either polynomial-time computable or #p P-complete.
• When H is a graph that has no cycles that share edges, then #2HomsToH is either polynomial-time computable or #2 P-complete.
• When H is a graph that contains no 4-cycles, then #2HomsToH is either polynomial-time computable or #2 P-complete.
These types of results in computational complexity are known as dichotomy theorems. Dichotomy theorems give a complete characterisation of the complexity of a problem, depending on the values of its parameter, by showing that a problem is either tractable or hard, and that there are no values of the parameter for which the problem has intermediate complexity. Our results on #2HomsToH partially confirm a conjecture of Faben and Jerrum that was previously known to hold for trees.
We also study a counting problem related to matrix partitions of a graph, a generalisation of graph homomorphisms. Given a symmetric D × D matrix M over {0, 1, &ast;}, an M-partition of a graph G is a partition of the vertices of G into D parts which are associated with the rows of M. The vertices of G are mapped in such a way that no edge of G is mapped to a 0 in M and no non-edge of G is mapped to a 1 in M. In a list M-partition of a graph G, for every vertex 𝑣 of G we are also given a list of allowable parts. A list M-partition of a graph G is an M-partition of G that respects the given lists.
There has been quite a bit of work on determining for which matrices M computations involving list M-partitions are tractable. We focus on the problem of counting list M-partitions, given a graph G and given a list for each vertex of G. We identify a certain set of "tractable" matrices M. We give an algorithm that counts list M-partitions in polynomial time for every (fixed) matrix M in this set. Furthermore, we give an explicit characterisation of the dichotomy theorem — counting list M-partitions is tractable (in FP) if the matrix M has a structure called a derectangularising sequence. If M has no derectangularising sequence, we show that counting list M-partitions is #𝖯-hard. Finally, we show that the meta-problem of determining whether a given matrix has a derectangularising sequence is 𝖭𝖯-complete.
Finally we study the Moran process on directed graphs. The Moran process, as studied by Lieberman, Hauert and Nowak, is a stochastic process modelling the spread of genetic mutations in populations. The process has an underlying graph in which vertices correspond to individuals. Initially, one individual (chosen uniformly at random) possesses a mutation, with fitness r &GT; 1. All other individuals have fitness 1. At each step of the discrete-time process, an individual is chosen with probability proportional to its fitness, and its state (mutant or non-mutant) is passed on to an out-neighbour which is chosen uniformly at random. If the underlying graph is strongly connected then the process will eventually reach fixation, in which all individuals are mutants, or extinction, in which no individuals are mutants. An infinite family of directed graphs is said to be strongly amplifying if, for every r &GT; 1, the extinction probability tends to 0 as the number of vertices increases. Strong amplification is a rather surprising property — it means that in such graphs, the fixation probability of a uniformly-placed initial mutant tends to 1 even though the initial mutant only has a fixed selective advantage of r &GT; 1 (independent of n). Strong amplifiers have received quite a bit of attention, and Lieberman et al. proposed two potentially strongly-amplifying families —one of them called superstars. Heuristic arguments have been published, arguing that there are infinite families of superstars that are strongly amplifying. In this thesis we explore the amplification limits of superstars by proving a rigorous upper bound for the fixation probability of the Moran process on superstars.