В игре защиты башни у вас есть сетка NxM с началом, финишем и рядом стен.
Враги берут кратчайший путь от начала до конца, не проходя через какие-либо стены (они обычно не привязаны к сетке, но, ради простоты, скажем, что они есть. В любом случае они не могут двигаться по диагональным "отверстиям" ")
Задача (по крайней мере, для этого вопроса) состоит в том, чтобы разместить до K дополнительные стены, чтобы максимизировать путь, который должны принять враги. Например, для K = 14
Моя интуиция подсказывает мне, что эта проблема NP-hard, если (как я надеюсь) мы обобщаем это, чтобы включить путевые точки, которые необходимо посетить, прежде чем перейти к финишу и, возможно, также без путевых точек.
Но, существуют ли приличные эвристики там для почти оптимальных решений?
[Изменить] Я разместил связанный с ним вопрос здесь.