Motivazione
L'altro giorno, stavo viaggiando per la città con i mezzi pubblici e ho creato un interessante problema grafico che modella il problema di trovare la connessione più breve tra due luoghi.
Conosciamo tutti il classico "Problema del percorso più breve": dato un grafico diretto con le estremità dei bordi e due vertici , trova il percorso più breve tra e (ovvero il percorso che minimizza la lunghezza totale del bordo). Supponendo lunghezze dei bordi non negative, esistono vari algoritmi e il problema è semplice.w e ∈ R + 0 ,s , t ∈ V s t
Questo è un buon modello per il caso che stiamo camminando, per esempio. I vertici sono crocevia nella nostra rete di strade e ogni bordo ha una lunghezza fissa, ad esempio in metri. Un'altra possibile interpretazione dei pesi dei è il tempo che ci impiega per passare da uno dei suoi vertici all'altro. Questa è l'interpretazione che mi interessa ora.
Problema
Ora voglio modellare la seguente situazione. Voglio viaggiare dal punto A al punto B in una città con i mezzi pubblici e ridurre al minimo i tempi . La rete di trasporto pubblico può essere facilmente modellata come un grafico diretto come ci si aspetterebbe. La parte interessante sono i contrappesi (quel modello di tempo) - i trasporti pubblici (autobus, ad esempio) partono solo in determinati intervalli, che sono diversi per ogni fermata (vertice nel grafico). In altre parole: i pesi dei bordi non sono costanti, cambiano in base al tempo in cui vogliamo utilizzare il bordo.
Come modellare questa situazione: Abbiamo un diretto grafo ed un bordo peso funzione che prende il tempo come argomento e restituisce il tempo necessario per utilizzare il limite nel nostro percorso. Ad esempio, se il bus dal vertice al vertice parte at e ci vuole tempo e arriviamo al vertice at , allora è il peso del bordo. Chiaramente, .
È leggermente complicato definire il peso totale del percorso, ma possiamo farlo in modo ricorsivo. Lascia che sia un percorso diretto. Se allora . Altrimenti, , dove è il sotto-percorso di senza . Questa è una definizione naturale corrispondente alla situazione del mondo reale.
Ora possiamo studiare il problema sotto vari presupposti sulla funzione . Il presupposto naturale è che modella "in attesa di time".
Se la funzione "si comporta bene" potrebbe essere possibile ridurre questo problema al problema del percorso più breve classico. Ma potremmo chiederci cosa succede quando le funzioni del peso si scatenano. E se abbandonassimo il presupposto di aspettare?
Domande
Le mie domande sono le seguenti.
- Questo problema è stato posto prima? Sembra un po 'naturale.
- C'è qualche ricerca al riguardo? Mi sembra che ci siano vari sottoproblemi da chiedere e studiare, principalmente per quanto riguarda le proprietà della funzione peso.
- Possiamo ridurre questo problema (eventualmente sotto alcuni presupposti) al classico problema del percorso più breve?