Академический Документы
Профессиональный Документы
Культура Документы
l(e)
Un camino m nimo C 0 entre u y v es un camino entre u y v tal que l(C 0 ) = m n{l(C )|C es un camino entre u y v }. Puede haber varios caminos m nimos.
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7
3 1
1 4
2 4 1 3 6 7 -2
3 1
1 4
2 4 1 3 6 7 -2
3 1
1 4
2 4 1 3 6 7 -2
3 1
1 4
2 4 1 3 6 7 -2
3 1
1 4
2 4 1 3 6 7 -2
3 1
1 4
Ya no actualizar (6)! a
Algoritmo de Dijkstra
Lema: Dado un grafo orientado G con pesos positivo en las aristas, al nalizar la iteracin k el algoritmo de Dijkstra determina o el camino m nimo entre el nodo v y los nodos de Sk (donde Sk conjunto S al nalizar la iteracin k). o
Teorema: Dado un grafo orientado G con pesos positivo en las aristas, el algoritmo de Dijkstra determina el camino m nimo entre el nodo v y el resto de los nodos de G .
2 4 1 3 6 7 -2
3 1
1 4
2 4 1 3 6 7 -2
3 1
1 4
Cul es la complejidad del algoritmo de Ford? a Qu pasa si aplicamos Ford a un grafo no orientado? e
Cul es la complejidad del algoritmo de Ford? a Qu pasa si aplicamos Ford a un grafo no orientado? e Mejora del clculo de a
Cul es la complejidad del algoritmo de Ford? a Qu pasa si aplicamos Ford a un grafo no orientado? e Mejora del clculo de a Cmo podemos modicar el algoritmo de Ford para detectar o si hay circuitos de longitud negativa?
Algoritmos matriciales
Sea G = ({1, . . . , n}, X ) un digrafo y l : X R una funcin de o longitud/peso para las aristas de G . Denimos las siguientes matrices: L R nn , donde los elementos 0 lij = l(i j) lij de L se denen como: si i = j si i j X si i j X /
dij =
Algoritmos matriciales
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 2 3 -2 3 4 1 4 4 2 3 0 4 3 2 0 4 4 3 2 1 0
3. D = Ln
Asumimos que el grafo es orientado y que no hay circuitos de longitud negativa. L0 := L para k desde 1 a n hacer para i desde 1 a n hacer para j desde 1 a n hacer k1 k n(l k1 k1 lij := m ij , lik + lkj ) n para n para n para retornar Ln
4 1
4 1
4 1
4 1
Lk+1 = m k , Lk n(Li,j i,k+1 + Lk k+1,j ) i,j Asumimos que el grafo es orientado. Detecta si hay circuitos de longitud negativa.
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 2 3 -2 3 4 1 4 4 2 3 0 4 3 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 2 3 -2 3 4 1 4 4
k=1 2 3 0 4 3 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 2 3 -2 3 4 1 4 4
k=1 2 3 0 4 3 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 2 3 -2 3 4 1 4 4
k=1 2 3 0 4 3 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 2 3 -2 3 4 1 4 4
k=2 2 3 0 4 3 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 2 3 -2 3 4 1 4 4
k=2 2 3 0 4 3 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 2 3 -2 3 4 1 4 4
k=2 2 3 0 1 4 3 5 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 2 3 -2 3 4 1 4 4
k=2 2 3 0 1 4 3 5 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 0 3 -2 3 4 1 4 4
k=3 2 3 0 1 4 3 5 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 0 3 -2 3 4 1 4 4
k=3 2 3 0 1 4 3 5 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 0 3 -2 3 4 1 4 4 2
k=3 2 3 0 1 4 3 5 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 0 3 -2 3 4 1 4 4 2
k=3 2 3 0 1 4 3 5 2 0 4 4 3 2 1 0
3 1 3 -2 2 2 2 4 L= 2 1 1 0 2 0 3 -2 3 4 1 4 4 2
k=4 2 3 0 1 4 3 5 2 0 4 4 3 2 1 0