Мотивація
Днями я подорожував містом на громадському транспорті і склав цікаву графічну проблему, яка моделює проблему пошуку найкоротшого часу зв’язку між двома місцями.
Всі ми знаємо класичну "Найкоротшу задачу шляху": Дано спрямований графік з довжинами ребер w e ∈ R + 0 , і дві вершини s , t ∈ V , знайдіть найкоротший шлях між s і t (тобто шлях, мінімізуючи загальну довжину ребра). Якщо припустити негативні довжини ребер, існують різні алгоритми, і проблема проста.
Це гарна модель для випадку, по якому ми ходимо, наприклад. Вершини є перехрестями в нашій мережі доріг, і кожен край має фіксовану довжину - наприклад, у метрах. Інша можлива інтерпретація ребрових ваг це час , що вона приймає нас , щоб перейти від однієї з його вершин до іншого. Це інтерпретація, яка мене зараз цікавить.
Проблема
Зараз я хочу моделювати таку ситуацію. Я хочу подорожувати з пункту А до пункту В у місті на громадському транспорті та скоротити час . Мережу громадського транспорту можна легко моделювати як орієнтований графік, як можна було б очікувати. Цікавою частиною є обважнювачі (цей модельний час) - громадський транспорт (наприклад, автобуси) виїжджає лише через певні проміжки часу, які відрізняються для кожної зупинки (вершина у графі). Іншими словами - ваги кромки не є постійними, вони змінюються залежно від часу, у який ми хочемо використовувати край.
Як моделювати цю ситуацію: У нас є орієнтований граф і від краю ваги функції ш : Е × R + 0 → R + 0 , що займає час в якості аргументу і повертає час , який потрібен , щоб використовувати край на нашому шляху. Наприклад, якщо шина від вершини v до вершини u залишає при t = 10 і це займає 5 разів, і ми приходимо до вершини v при t = 8 , тоді - вага краю. Зрозуміло, w ( v u , 10 ) = 5 .
Визначити загальну вагу шляху трохи непросто, але ми можемо це робити рекурсивно. Нехай - спрямований шлях. Якщо k = 1, то w ( P ) = 0 . Інакше w ( P ) = w ( P ′ ) + w ( v k - 1 v k , w ( P ′ ) ), де - підпункт P без v k . Це природне визначення, що відповідає ситуації в реальному світі.
Тепер ми можемо вивчити задачу за різними припущеннями щодо функції . Природним припущенням є w ( e , t ) ≤ w ( e , t + Δ ) + Δ для всіх e ∈ E , Δ ≥ 0 , що моделює "очікування на Δ час".
Якщо функція "поводиться добре", можливо, можна звести цю проблему до класичної проблеми найкоротшого шляху. Але ми могли б запитати, що відбувається, коли вагові функції погіршуються А що, якщо ми відкинемо припущення про очікування?
Запитання
Мої запитання такі.
- Чи задавали цю проблему раніше? Це здається якось природним.
- Чи є якісь дослідження з цього приводу? Мені здається, що існують різні підпроблеми, які потрібно запитати та вивчати - головним чином щодо властивостей вагової функції.
- Чи можемо ми звести цю проблему (можливо, за деякими припущеннями) до класичної проблеми найкоротшого шляху?