Периодически смотрю разные каналы в ютубчике про головоломки. Заинтересовало видео чувака, где он решает гексагональные (шестиугольные) пятнашки:
Очень необычная реализация классической игры, но не понравилось, что сами треугольные детали никак не фиксируются и при перемещении постоянно норовят повернуться, что затрудняет сборку.
Решил написать несложную програмку, чтобы можно было играть, не отвлекаясь на досадный люфт деталей, тем более совсем недавно изучал шестиугольные матрицы. Собственно результат:
Скачать, если кому интересно, можно здесь.
Писал на паскале в Delphi. Единственно, что пришлось изучить проблему решаемости - как оказалось, для гексагональных пятнашек стандартная теория решаемости, основанная на количестве беспорядков в перестановках не работает. Я пробовал подсчитывать четность таких беспорядков для гарантированно решаемых случаев - оказалось, что она может быть как четной, так и нечетной.
Экспериментальным путем вывел закономерность - при замене попарно местами четных и нечетных блоков, матрица приходит к решаемому варианту. Однако это не точно, и нуждается в подтверждении. У меня, к сожалению, нет соответствующих знаний в теории числе и групп, поэтому, если есть математики, хотелось бы узнать их мнение.