Shortest Path Problem Flashcards

1
Q

Definisci lo Shortest Path Problem

A

Nel Spp bisogna trovare dato un nodo sorgente s il percorso di lunghezza (costo) minimo da s verso tutti gli altri nodi della rete.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Come definiamo la lunghezza dello SP?

A

La lunghezza del percorso è definita come la somma del costo degli archi che lo compongono

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Esplicita la formulazione LP dello SP

A

Lo Sp ha la seguente formulazione di LP:
Xij= numero di volte in cui l’arco è selezionato nel sp
fun obbiettivo = min Sum {(i,j) in A } xij * cij
vincoli:
outflow - inflow = n-1 se i=s
-1 se i appartiene ad N \ s

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quali sono le assunzioni nello SP?

A

1) La lunghezza degli archi deve essere intera
2) Deve esistere almeno un percorso da s verso gli altri nodi (almeno una soluzione ammissibile)
3) La rete non contiene cicli con costi negativi
4) La rete è orientanta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quanto spazio è necessario per memorizzare gli SP?

A

Sono necessarie n-1 locazioni. Questo perchè un quasliasi Sp da S verso un nodo i, conterrà come sottopercorso sq uno shortest path da s a q.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quando uno percorso P orientanto da s a K è uno shortest path?

A

Un percorso P diretto da s a k è uno sp solo e soltanto se d(j)=d(i)+cij qualcunque (i,j) in P

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Cosa sono le distance labels?

A

Le distance label mantengono al loro interno un limite superiore sulla distanza più breve da S.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quali sono le categorie di algoritmi per lo SP?

A

Label Setting e Label Correcting, i quali differiscono per come vengono gestite le distance label, nel primo caso ogni label è assegnata come permanente ad ogni step, nel secondo invece le label vengono tenute temporarnee fino al raggiungimento della distanza minima.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Cos’è un ordine topologico?

A

I nodi di un grafo si definiscono ordinati topologicamente se i nodi sono disposti in modo tale che ogni nodo viene prima di tutti i nodi collegati ai suoi archi uscenti . (i,j) con i

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quando una rete è aciclica?

A

Quando possiede i nodi ordinati in ordine topologico

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quali algoritmi per l SPP sfruttano l’ordine topologico

A

Reaching e Pulling method

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Algoritmo di Dijsktra

A

L’algo di dijsktra è un algoritmo LS che può essere adottato su reti senza costi negativi.
Consta di 3 passi:
1) Node selection: si seleziona un nodo temporaneo con distanza minima.
2) Si rende il nodo permanente
3)Distance Update: si aggiornando le distance label dei nodi raggiunti dal nuovo nodo markato

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Correttezza di dijkstra

A

La correttezza del algo di dijstra si basa sul fatto che ad ogni passo selezionamo un nodo etichettato come temporaneo ma che in realtà è gia ottimo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Condizioni di ottimialità del SPP in LP

A

La condizione di ottimalità del SPP è equivalente all ‘ammissibilità del problema duale degli SPPs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Generic Label Correcting Algorithm

A

Nel generic LC inizializziamo d(s) a 0 tutti le altre label sono temporanee e uguali a infinito. Ad ogni passo si seleziona un nodo per cui d(j) < d(i)+cij, si aggiorna la distance label e si rende permanente. L’algoritmo termina quando nessun nodo viola la condizione di ottimalità. Ha complessità psuedopolinomiale

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Come si verifica l’esistenza di cicli negativi?

A

Due modi:
1) Se la distance label di un nodo diviene minore di -n*c
c’è un ciclo negativo
2)Inizia una ricerca da un nodo nella soluzione corrente e marka i nodi raggiunti durante la ricerca. Se uno controlla un nodo gia markato, vi è un ciclo negativo, perchè nellla soluzione corrente cij^d<=0.

17
Q

Advanced Label Correcting

A

Manteniamo una LISTA in cui sono contenuti i nodi i cui archi accessibili dalla lista delle adiacenze potrebbero violare la condizione di ottimalità.Se la lista è vuota la soluzione è ottima. Altrimenti si scorre la lista per selezioanre gli archi che violano la condizione , si rimuovere il nodo dalla lista e si aggiornano le distance labels.