  We introduce a new problem in the domain of mobile robots, which we term
dispersion. In this problem, $n$ robots are placed in an $n$ node graph
arbitrarily and must coordinate with each other to reach a final configuration
such that exactly one robot is at each node. We study this problem through the
lenses of minimizing the memory required by each robot and of minimizing the
number of rounds required to achieve dispersion.
  Dispersion is of interest due to its relationship to the problems of
scattering on a graph, exploration using mobile robots, and load balancing on a
graph. Additionally, dispersion has an immediate real world application due to
its relationship to the problem of recharging electric cars, as each car can be
considered a robot and recharging stations and the roads connecting them nodes
and edges of a graph respectively. Since recharging is a costly affair relative
to traveling, we want to distribute these cars amongst the various available
recharge points where communication should be limited to car-to-car
interactions.
  We provide lower bounds on both the memory required for robots to achieve
dispersion and the minimum running time to achieve dispersion on any type of
graph. We then analyze the trade-offs between time and memory for various types
of graphs. We provide time optimal and memory optimal algorithms for several
types of graphs and show the power of a little memory in terms of running time.
