Решение LinkedIn Queens с помощью Haskell=news.ycombinator.com=

Решение LinkedIn Queens с помощью Haskell ( imiron.io )

croisillon 50 минут назад | [–]
связанный:

– с SMT (11 дней назад, 47 комментариев) https://news.ycombinator.com/item?id=44259476

– с APL (10 дней назад, 1 комментарий) https://news.ycombinator.com/item?id=44273489 и (8 дней назад, 20 комментариев) https://news.ycombinator.com/item?id=44275900

– с MiniZinc (1 день назад, 0 комментариев) https://news.ycombinator.com/item?id=44353731

agnishom 45 минут назад | | [–]
– с SAT (27 дней назад, 1 комментарий) https://news.ycombinator.com/item?id=44115866
codethief 46 минут назад | | [–]
Напоминает мне эту классику: https://aphyr.com/posts/342-typing-the-technical-interview
LandR 57 минут назад | [–]
Кто-нибудь знает какие-либо алгоритмы для генерации этих игровых полей?

Что позволит создавать сложные доски?

mzl 4 минуты назад | | [–]
Обычно нужна подпрограмма, которая может сказать вам 1) имеет ли проблема решение, и 2) является ли решение уникальным (обычное требование для таких головоломок). Используя такую модель в качестве подпрограммы, можно выполнить эвристический поиск для постепенного создания головоломок. Если выбранная вами технология решателя может обрабатывать количественные проблемы, ее можно использовать для объединения этих двух проблем в одну, но это гораздо сложнее.

Если базовый решатель, который у вас есть, — это система, которая может работать в различных конфигурациях с различными уровнями рассуждений и предположений, а также отчет о необходимом количестве поиска, если таковой имеется, это может быть очень полезным для измерения сложности. В Sudoku as a Constraint problem ( https://citeseerx.ist.psu.edu/document?doi=4f069d85116ab6b4c… ) Хельмут Симонис протестировал множество головоломок судоку 9×9 против различных уровней распространения и предварительной обработки в качестве способа измерения сложности головоломок судоку, классифицируя их по уровню рассуждений, необходимого для решения без поиска. Модель MiniZinc для LinkedIn Queens ( https://news.ycombinator.com/item?id=44353731 ) можно использовать с различными решателями и уровнями распространения в качестве такой подпрограммы.

Теперь, для создания головоломок на уровне производства, например, как это делает King для Candy Crush, проблемы и требования еще сложнее. Я слышал презентацию, где они говорили об обучении нейронных сетей играть как люди-тестеры, то есть не оптимальная игра, а самая человеческая игра, чтобы проверить уровень сложности головоломок.

CJefferson 48 минут назад | | [–]
Это сложная проблема по ряду причин 🙂

1) Не так уж сложно создать задачу хотя бы с одним решением (просто сначала положите ферзей, а затем вытяните ящики), но не существует хорошего способа создания уровней с уникальными решениями.

2) Как только вы этого достигнете, будет трудно предсказать, насколько сложным будет уровень, и тогда будет трудно сделать уровни проще/сложнее.

Я как раз сейчас изучаю эту тему (ну, я делаю все виды головоломок на основе сетки, но это пример). Алгоритм пытается делать «хорошие» уровни, но есть большая вероятность, что в итоге получится что-то бесполезное, что нам придется выбросить, а затем попробовать снова.

Легко создавать уровни, которые являются тривиальными, и столь же легко создавать уровни, которые находятся далеко за пределами человеческих возможностей, но попадание в зону «сложных, но решаемых для человека» — вот где возникает большая часть трудностей.

Мне, наверное, стоит попробовать написать человекочитаемую версию того, как я это делаю. Это включает в себя кучу кода Rust, так что я могу затронуть целую кучу модных тем!


Рассмотрите возможность подачи заявки на набор в YC на осень 2025 года! Заявки принимаются до 4 августа

Source: news.ycombinator.com

Leave a Reply

Your email address will not be published. Required fields are marked *