This research aims to shed light on three fundamental questions: (1) How do small-scale interactions combine to produce complex large-scale structure? (2) What kinds of computational tasks can be performed in a distributed system with no central control over timing? (3) What kinds of algebraic invariants can help distinguish between nonisomorphic graphs? Abelian networks tie these three questions together: From a dynamical point of view, an abelian network is a cellular automaton that produces complex patterns using local rules. From a computational point of view, an abelian network yields the same output regardless of the timing of events at its individual nodes. And from an algebraic point of view, an abelian network associates an invariant, in the form of an abelian group or commutative algebra, to its underlying graph.
What can a network of computers reliably accomplish if each computer in the network runs at a different and unpredictable speed? Answering this question would bring us closer to understanding complex networks like the brain, the economy and the internet. A related question asks what kinds of patterns can arise from simple interacting components in a situation where the order of interactions does not matter. A better understanding of pattern formation would aid in engineering desired large-scale outcomes by modifying only small-scale features of a system. This kind of problem arises, for example, in designing a road network to minimize traffic delays and in using nanotechnology to engineer stronger materials.