Hawker & Integer
Я тут подумал, как алгоритм поиска кратчайшего пути можно применить для решения задачи распределения ресурсов. У тебя, кстати, был когда-нибудь опыт с чем-то подобным?
Да, я пытался представить задачу распределения ресурсов в виде кратчайшего пути. Я сопоставляю каждое состояние ресурса узлу, каждое действие по распределению – ребру, и потом запускаю алгоритм Дейкстры или Беллмана-Форда, чтобы найти последовательность с минимальной стоимостью. Главное – чтобы граф не разрастался слишком сильно, иначе алгоритм не будет работать в реальном времени; тогда взрыв состояний сводит все на нет. Работает неплохо, когда ограничения линейные, но как только появляются нелинейные взаимодействия, граф становится слишком густым. Тем не менее, это интересное упражнение – свести комбинаторную задачу к хорошо изученной алгоритмической структуре.
Звучит неплохо. Следи за объёмом пространства состояний – отсекай невыполнимые ветви на ранних этапах. Если возникнут нелинейные члены, попробуй линеаризовать или ограничить их, чтобы граф оставался разреженным. Так ты сохраняешь производительность в реальном времени, при этом используя основной алгоритм поиска кратчайшего пути.
Отличный план – подрежь, пока не застрял, и линеаризуй только там, где это действительно важно. Так граф останется управляемым, а время работы — предсказуемым.
Звучит как верное решение. Держись основной линейной структуры, безжалостно выкидывай всё лишнее и добавляй нелинейные элементы только если это действительно необходимо. Следи за компактностью модели и предсказуемостью алгоритма.
Точно. Держи основу чистой, безжалостно обрезай всё лишнее, и добавляй нелинейные элементы только когда без них никак. Так и точность сохранится, и скорость не страдает.