  If a collection of identical particles is poured into a container, different
shapes will fill to different densities. But what is the shape that fills a
container as close as possible to a pre-specified, desired density? We
demonstrate a solution to this inverse-packing problem by framing it in the
context of artificial evolution. By representing shapes as bonded spheres, we
show how shapes may be mutated, simulated, and selected to produce particularly
dense or loose packing aggregates, both with and without friction. Moreover, we
show how motifs emerge linking these shapes together. The result is a set of
design rules that function as an effective solution to the inverse packing
problem for given packing procedures and boundary conditions. Finally, we show
that these results are verified by experiments on 3D-printed prototypes used to
make packings in the real world.
