This site produces shapes on a grid. You can click on the grid to form whatever shape you want. When you create shapes, it measures the number of adjacencies between the squares.

This shape has size 4, with 5 adjacencies

The goal is to find the shape that has the most adjacencies for a particular size. We call this an optimal shape. As an example, for shapes of size 12 (made up of 12 squares) the optimal shape has 30 adjacencies.

This shape has size 12, and 29 adjencies (not optimal)

This shape has size 12, and 30 adjencies (optimal)

This site has various algorithms that try to find the optimal shape for a particular size. If you type a number into the input field and press "solve", the algorithm produces various shapes of this size which are optimal, i.e. have the largest possible number of adjacencies.