TilinGNN: Learning to Tile with Self-Supervised Graph Neural Network
  We introduce the first neural optimization framework to solve a classical
instance of the tiling problem. Namely, we seek a non-periodic tiling of an
arbitrary 2D shape using one or more types of tiles: the tiles maximally fill
the shape's interior without overlaps or holes. To start, we reformulate tiling
as a graph problem by modeling candidate tile locations in the target shape as
graph nodes and connectivity between tile locations as edges. Further, we build
a graph convolutional neural network, coined TilinGNN, to progressively
propagate and aggregate features over graph edges and predict tile placements.
TilinGNN is trained by maximizing the tiling coverage on target shapes, while
avoiding overlaps and holes between the tiles. Importantly, our network is
self-supervised, as we articulate these criteria as loss terms defined on the
network outputs, without the need of ground-truth tiling solutions. After
training, the runtime of TilinGNN is roughly linear to the number of candidate
tile locations, significantly outperforming traditional combinatorial search.
We conducted various experiments on a variety of shapes to showcase the speed
and versatility of TilinGNN. We also present comparisons to alternative methods
and manual solutions, robustness analysis, and ablation studies to demonstrate
the quality of our approach.
