Некоторые способы оптимизации системы подбора слов в кроссвордах:
- Определение последовательности заполнения слов. habr.com Можно генерировать слова в зависимости от их длины. habr.com Чем длиннее слово, тем больше у него пересечений и тем труднее найти слово для установки. habr.com Самые короткие слова, длиной в 2 или 3 буквы, будут иметь минимальное количество пересечений и их максимально удобно подбирать на завершающем этапе генерации. habr.com
- Использование правил, которые уменьшают количество ошибок установки слов. habr.com Например, можно не ставить мягкий или твёрдый знак в клетку, с которой начинается слово. habr.com
- Обдуманное обрезание некоторых вариантов перебора, имеющих минимальную вероятность успеха. habr.com Лучше программа за минимально возможное время выдаст отрицательный результат, чем будет заниматься подбором столько времени, что будут превышены все мыслимые границы. habr.com
- Запрет на установку слов с буквами, частота применения которых в словах-пересечениях минимальна. habr.com Это решение отбрасывает некоторое количество букв русского алфавита, повышая шанс сгенерировать сложные участки из слов с чаще используемыми буквами. habr.com
Для облегчения процесса решения кроссвордов также можно использовать специализированные словари, поисковики анаграмм и тезаурусы. www.dhgate.com