Вопрос

Когда обрезка перестанет быть эффективным в первом поиде в глубине? Я работал над эффективным методом для решения проблемы N-Queens, и я впервые смотрю на обрезку. Я реализовал его для первых двух рядов, но когда он перестанет быть эффективным? Как далеко я должен обрезать?

Это было полезно?

Решение

Проблема N-Queens обычно рекурсивна. Реализация обрезки на одной глубине должна означать реализацию его на любой глубине.

Ответ будет зависеть от того, какого урезания вы делаете. Если вы обрезаете для симметричных движений, то он не стоит обрезать, когда стоимость проверки - это больше, чем стоимость оценки целого ветвления раз, вероятность филиала является симметричной. Для проблемы N-Queens Symmetry, вероятно, не очень плодотворной метод обрезки после первых двух рядов.

Другие советы

Однажды я увидел цитату, касающуюся этого, «заносятся рано; слишком часто». И другой, «не делай ничего глупо; не делай ничего дважды».

Я думаю, что сумма обрезки, который вы делаете, должны быть определены вашими целями для проблемы, или ваши границы на N.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top