Введение

Проблема «змеи в коробке» в теории графов и информатике связана с поиском определённого типа пути по рёбрам гиперкуба. Этот путь начинается в одной вершине и проходит по рёбрам к максимально возможному числу вершин. После достижения новой вершины, предыдущая вершина и все её соседи должны быть помечены как недоступные для использования. Путь не должен проходить через вершину, которая была помечена как недоступная. Иными словами, змея — это связный открытый путь в гиперкубе, где каждая вершина, соединённая с путём, за исключением головы (начала) и хвоста (конца), имеет ровно два соседа, которые также находятся на змее. Голова и хвост имеют только по одному соседу на змее. Правило генерации змеи заключается в том, что вершина в гиперкубе может быть посещена, если она соединена с текущей вершиной и не является соседом какой-либо ранее посещённой вершины на змее, кроме текущей. В терминологии теории графов это называется нахождением максимально возможного индуцированного пути в гиперкубе; это можно рассматривать как частный случай задачи изоморфизма индуцированных подграфов. Существует аналогичная задача поиска длинных индуцированных циклов в гиперкубах, называемая проблемой «катушки в коробке». Проблема «змеи в коробке» была впервые описана, что было мотивировано теорией кодов, исправляющих ошибки. Вершины решения задачи «змея» или «катушка в коробке» могут использоваться в качестве кода Грея, способного обнаруживать однобитовые ошибки. Такие коды находят применение в электротехнике, теории кодирования и топологиях компьютерных сетей. В этих приложениях важно разработать максимально длинный код для заданной размерности гиперкуба. Чем длиннее код, тем эффективнее его возможности. Поиск самой длинной змеи или катушки становится особенно сложным с увеличением числа измерений, а пространство поиска испытывает серьёзный комбинаторный взрыв. Некоторые методы определения верхней и нижней границ для задачи «змея в коробке» включают доказательства с использованием дискретной математики и теории графов, полный перебор пространства поиска и эвристический поиск с использованием эволюционных методов.