  It is well-known that a finite graph can be viewed, in many respects, as a
discrete analogue of a Riemann surface. In this paper, we pursue this analogy
further in the context of linear equivalence of divisors. In particular, we
formulate and prove a graph-theoretic analogue of the classical Riemann-Roch
theorem. We also prove several results, analogous to classical facts about
Riemann surfaces, concerning the Abel-Jacobi map from a graph to its Jacobian.
As an application of our results, we characterize the existence or
non-existence of a winning strategy for a certain chip-firing game played on
the vertices of a graph.
