Cammini di costo minimo Flashcards

1
Q

Definisci il problema del cammino minimo da r a t su un grafo orientato e pesato G = (N, A) dove ad ogni arco è associato un costo cij

A

Per ogni cammino P in G il costo C(P) è dato dalla somma dei costi degli archi che lo costituiscono. Il problema del cammino minimo vuole minimizzare il costo di ciascuno dei cammini che dalla radice vanno agli altri nodi.

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

Il problema dei cammini minimi può essere inferiormente illimitato?

A

Sì, succede quando nel grafo esiste un ciclo di costo negativo.

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

Esprimi il problema dei cammini minimi in termini di alberi.

A

Il problema SPT (Shortest Path Tree) consiste nel determinare in G un albero dei cammini minimi.

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

Nel problema dell’albero di cammini minimi, cosa rappresenta il vettore d?

A

E’ un vettore di etichette di nodi, d, che rappresenta il costo del cammino nell’albero dalla radice ad ogni singolo nodo.

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

Come trovare il vettore d nel problema dei cammini minimi?

A

Si può trovare facilmente attraverso una procedura di visita dell’albero a partire dalla radice.

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

Quali sono le condizioni di Bellman?

A

di + cij >= dj, per ogni nodo del grafo.

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

Se il vettore di etichette dei nodi verifica le condizioni di Bellman,

A

allora di è una valutazione inferiore del costo del cammino minimo da r a i.

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

T è un albero dei cammini minimi di radice r se e solo se…

A

il suo d verifica le condizioni di Bellman

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

Quali sono i passi dell’algoritmo SPT?

A

Mediante una visita del grafo si determina un albero di copertura radicato in r, e le relative etichette d.
Si controlla se esiste un arco (i, j) nel grafo originale che non soddisfa le condizioni di Bellman. Se esiste, si inserisce l’arco, nell’albero. Se non esiste abbiamo dimostrato che l’albero è ottimo.

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

L’algoritmo SPT è un algoritmo di…

A

ricerca locale

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

In quali modi si può implementare l’algoritmo SPT?

A

Q può essere implementato come coda di priorità o come lista.

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

Cosa è una coda di priorità?

A

E’ un insieme in cui ogni elemento ha associato uun valore (chiave) e la scelta dell’elemento da estrarre avviene sulla base di questo valore.

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

Cosa vuol dire quando Q è implementato come una lista?

A

In una lista, la scelta dell’elemento da estrarre dipende dalla posizione dell’elemento nella lista.

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

Come si implementa SPT con Q coda di priorità?

A

La chiave di priorità è il vettore delle etichette d, e la priorità cresce al decrescere di di.

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

SPT.S

A

SPT.S è la versione di SPT in cui ad ogni iterazione si estrae da Q l’elemento di etichetta minima. S sta per shortest first, e viene implementato con coda di priorità.

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

L’algoritmo SPT.S, a code di priorità, o algoritmo di Dijkstra…

A

ha un funzionamento per cui ogni nodo verrà inserito in Q al più una volta, purché non ci siano costi negativi. Pertanto ha complessità polinomiale.

17
Q

L’algoritmo di Dijkstra, o SPT.S, a coda di priorità ha complessità esponenziale…

A

solo se ci sono archi di costo negativo.

18
Q

Gli algoritmi SPT in cui Q viene implementato come una lista sono detti SPT.L. In questi algoritmi…

A

L’inserimento può avvenire in testa o in coda, ma la rimozione può avvenire solo in testa.

19
Q

Quali tipi di liste ci sono?

A

fila (FIFO), o queue, l’inserzione avviene in coda e la rimozione in testa.
pila (LIFO), o stack, l’inserzione e la rimozione vengono effettuate in testa.
deque, lista a doppio ingresso.