Некоторые алгоритмы для генерации новых комбинаций полимино:
Индуктивные алгоритмы. en.wikipedia.org Каждое полимино размером n + 1 получается путём добавления квадрата к полимино размера n. en.wikipedia.org Для этого используют список полимино размера n: квадраты добавляют рядом с каждым полимино в каждой возможной позиции, а результирующее полимино размера n + 1 добавляют в список, если оно не является дубликатом уже найденного. en.wikipedia.org
Алгоритмы матрицы переноса (TMA). en.wikipedia.org Эти алгоритмы фиксируют ширину и подсчитывают полимино, которые помещаются в прямоугольники такой ширины. en.wikipedia.org Поскольку несколько полимино могут соответствовать одной границе, такой подход быстрее, чем генерация каждого полимино отдельно. en.wikipedia.org Однако у TMA есть недостаток: он использует экспоненциальный объём памяти, его сложнее программировать, чем другие методы, и в настоящее время его нельзя использовать для подсчёта свободных полимино. en.wikipedia.org
Алгоритм для задачи замощения. github.com Этот алгоритм пытается последовательно поместить полимино одно за другим в таблицу. github.com Если на каком-то этапе поставить полимино не удаётся, возвращаются на предыдущий этап и пытаются там поставить полимино в другое положение, затем идут дальше (или возвращаются ещё на один этап назад) и так далее. github.com
Примеры полезных ответов Поиска с Алисой на вопросы из разных сфер. Вопросы сгенерированы нейросетью YandexGPT для актуальных тем, которые определяются на базе обобщённых запросов к Поиску с Алисой.