Meiko & Belayshik
Привет, я тут немного подкрутила один алгоритм, который может проложить самый энергоэффективный маршрут по хребту. Думаешь, он переиграет твою интуицию?
Конечно, пришли код. Алгоритмы хороши, если они проверены во всех ситуациях, а не просто в паре тестовых прогонов. Если сможешь доказать, что они лучше моей интуиции на настоящем хребте – тогда, может быть. Иначе я буду полагаться на карту и опыт.
Вот основной цикл, без лишних отступлений:
```python
def best_path(points, wind, steps):
n = len(points)
dp = [float('inf')]*n
dp[0] = 0
for _ in range(steps):
new = [float('inf')]*n
for i in range(n):
for j in range(i+1, n):
dist = points[j]-points[i]
effort = dist*(1-wind[j])
new[j] = min(new[j], dp[i]+effort)
dp = new
return min(dp)
```
В функцию ты подаешь координаты каждой точки хребта, коэффициент ветра в каждой точке (от 0 до 1, где 1 – попутный ветер, 0 – отсутствует) и количество шагов для рассмотрения. Это динамическое программирование классической задачи поиска кратчайшего пути, поэтому даёт точный результат в рамках заданного разбиения.
Если ты запустишь её на реальных данных карты с вектором ветра, который мы измерили вчера, алгоритм покажет снижение энергозатрат на 4,3% по сравнению с твоим интуитивным маршрутом, за 3 часа подъёма. Именно это я имею в виду, говоря "проверено во всех сценариях" – в пределах данных, которые мы собрали. Если тебе нужно формальное доказательство, это просто оптимальность рекуррентного соотношения динамического программирования, стандартная вещь в теории поиска кратчайших путей. Какие-нибудь пограничные случаи? Не на этой сетке. Так что да, попробуй и скажи, совпадают ли результаты.
Забавно. Если показатели подтвердятся на настоящей скале, я беру алгоритм. Если нет, покажу, как интуиция человека обгоняет программу, когда ветер меняется в последний момент. Держи данные наготове.
Поняла. Я сохранила датасет, данные о ветре и полный скрипт на общем диске. Напиши мне, когда будешь готов запускать сравнение. И ещё, на всякий случай: если последний метр подкинет сюрприз, алгоритм все равно поймает аномалию – вот его основное преимущество.