Экспериментальный прототип

Программа 3 для разрезания на 2–6 равных частей

Фиксируем одну стартовую клетку базовой части. Для каждой другой части перебираем движение, переводящее стартовую клетку в её копию. Затем ищем покрытие исходной фигуры пакетами соответствующих клеток.

Ограничения прототипа: до 36 клеток; до 3 000 000 наборов движений; до 2 000 000 узлов поиска покрытий; первые 50 решений. Для 5–6 частей лучше начинать с небольших и симметричных фигур.
A B C D E F
Математические подробности

Пусть частей \(k\). Переименуем их так, чтобы фиксированная клетка исходной фигуры лежала в части \(A\). Для каждой из остальных частей выбирается движение \(T_i\), переводящее \(A\) в эту часть.

Линейная часть движения имеет 8 вариантов. После выбора образа фиксированной клетки перенос определяется однозначно. Поэтому грубое число наборов движений имеет порядок (8n)^(k−1), а не (8n²)^(k−1).

Для фиксированного набора движений каждая клетка \(x\) базовой части задаёт пакет \(\{x,T_2(x),\ldots,T_k(x)\}\). Нужно выбрать непересекающиеся пакеты, покрывающие всю исходную фигуру.