TGViewer
Go in Action Go in Action @go_in_action · 4.11K subscribers
Post #4675 924
Генерация кроссвордов: «достаточно хорошее» решение NP-полной задачи

Генерация кроссвордов — NP-полная задача. Каждая ячейка, в которой пересекаются два слова, создаёт ограничение, которому должны удовлетворять оба слова, и эти ограничения перемножаются в сетке, приводя к комбинаторному взрыву. Эффективного алгоритма, гарантирующего решение, не существует, но вооружившись подходящими эвристиками, можно создать нечто, работающее на удивление хорошо.

В конце 2021 года, уже сильно после начала локдауна, моя одержимость кроссвордом газеты The New York Times превратилась в хобби-проект. Я хотел написать приложение с кроссвордами, понял, что мне нужны сами кроссворды, попробовал сочинять их вручную, осознал унылость этого процесса и задался вопросом: можно ли генерировать их алгоритмически? В этом году я наконец-то выпустил Crosswarped для iOS и Android — игру в кроссворды, созданную на основе генератора, описываемого в этой статье.


Читать: https://habr.com/ru/articles/980182/

#ru

@go_in_action | Другие наши каналы
More from @go_in_action
  1. Sep 16, 2026Разница между Go-разработчиком с зарплатой в 100–200 тысяч и 500 тысяч не в количестве нап…
  2. Mar 31, 2026Улучшаем Dockerfile: от примитивной базы к multi-stage-решению Dockerfile можно составить…
  3. Mar 30, 2026Полнотекстовый поиск на Go без Elasticsearch: Bleve как альтернатива Когда в проекте возни…
  4. Mar 5, 2026Победителями премии Тпрогер 🐀становятся... Здесь играет барабанная дробь и интригующая му…
  5. Jan 27, 2026Я решил написать ухудшенный UUID по ничтожнейшим из причин Вчера я баловался с проектом AP…
  6. Jan 27, 2026Go рухнул с 7 на 16 место в TIOBE: пора ли российским компаниям пересмотреть технологическ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →