Этот вопрос связан с this one, он был получен из оптимизации пути по множеству точек. Ситуация здесь такова: объект перемещается по выделенному пути, содержащему список двумерных точек. (Возможно больше Ds, но поскольку каждый поворот технически 2D, это будет решаться для двух измерений.) В каждой точке этот объект может изменить свою скорость вектором, максимальная длина которого предварительно определена (назначена точке). Скорость в конце пути не имеет значения. Вопрос в том, как определить минимальное время, потраченное на путешествие по этому пути? Есть ли эффективный алгоритм для этой задачи? Жадный алгоритм может в конечном итоге заставить объект замедлить сканирование в случае специально подготовленных данных или даже не сделать объект способным перейти к следующей назначенной точке. Алгоритм обратного жадности также ошибочен с той же ошибкой, что не всегда удобно достигать конца с максимальной скоростью.Свести к минимуму время, затрачиваемое при проезде по указанному пути
Пример: Точечный вектор: {(0,0), (0,1), (1,1), (2,2)}
и максимальная длина - {2.0, 2.0, 3.0}
. Точка перемещается, например, в (0,sqrt(2))
от p1 до p2, затем в (sqrt(2),0)
от p2 до p3 и с (s,s)
с любой максимальной скоростью s
от p3 до p4. И это может быть субоптимальное решение, скажем, вы замедляетесь на 0,01 от p1 до p2, что позволяет ускорить переход от p2 к p3, а затем к другому tad в p3-p4, причем возможное общее время меньше, чем это набор скоростей.
Как вы знаете, что общие повороты в 3D эффективно 2D? как насчет полу спиралей и т. д.? –
@willywonkadailyblah Эта задача не заботится о циклах, и любой один поворот может быть интерпретирован как 2D, используя двумерную плоскость, содержащую все три точки и две линии между предыдущей, текущей и следующей точками. Таким образом, использование более чем двух измерений здесь бессмысленно, а точнее расширенная задача может использовать столько измерений, сколько необходимо. – Vesper
Я не имею в виду циклы, я имею в виду формы поворотов, которые не могут быть представлены как плоская кривая, например. часть спирали –