We designed a feedback system that separates the problem of making a tiling in two smaller tasks. The first one would create shapes, and the second one would try to make tilings with them, asking the first one for more shapes when the ones it had couldn't tile. We called the components of the system Shaper and Tiler.
The Shaper would take a shape as input and start generating new shapes with it, sending the more suitable ones to the Tiler. To narrow the scope of the project we decided searching only for simply connected polygons and periodic tilings. This way, the Tiler would take a set of simply connected polygons, and use the 17 crystallographic groups to arrange them in configurations that could potentially tile the plane periodically.
The modularity of our design allows a later expansion of the Shaper or the Tiler with new rules that could deal with other scenarios, like searching for non-periodic tilings with pentagonal symmetry, for example.