Algoritmo para construir un árbol de expansión mínima

Anuncio
Algoritmo para construir un árbol de expansión mínima
1. Se selecciona cualquier nodo de forma arbitraria y se conecta con el nodo más
cercano.
2. Se identifica que nodo desconectado es más cercano a cualquier nodo conectado
y se conecta.
3. Se repite el paso anterior hasta que todos los nodos se conecten
Algoritmo Ruta en aumento, para encontrar el flujo máximo
1. Identificar una ruta en aumento encontrando alguna ruta dirigida de la fuente al
destino en la red residual tal que cada arista en esta ruta tenga una capacidad
residual estrictamente positiva. ( Si no existe ninguna ruta en aumento, el flujo
de la red ya tiene un patrón óptimo)
2. Identificar las capacidades residuales c* de las aristas de esta ruta en aumento
encontrando la capacidad residual mínima de las aristas en la ruta. Incrementar
el flujo de la ruta en c*.
3. Decrementar en c* la capacidad residual de cada arista en la ruta. Incrementar en
c* la capacidad residual de cada arista en la dirección opuesta a la ruta en
aumento.
4. Regresar al paso 1.
Procedure Dijkstra (G: grafica simple y conexo con todos los pesos positivos)
{G tiene vértices 0=v0, v1, …, vn=T y pesos w(vi, vj), donde w(vi, vj), = si {vi, vj} no es
una arista de G}
for i:=1 to n
L(vi):= 
L(a):=0
S:= {los valores iniciales de las etiquetas se asignan de modo que la etiqueta de a es 0
y todas las demás etiquetas son  y S es el conjunto vacío}
while z  S
begin
u:= vértice con L(v) mínima entre los vértices que no están en S
S := S  {u}
for todos los vértices v que no están en S
if L(u) + w(u,v) < L(v) then L(v) := L(u) + w(u,v)
{esto añade a S un vértice con etiqueta mínima y actualiza las etiquetas de los vértices
que no están en S}
end {L(z) = longitud del camino más corto entre a y z}
Universidad del Valle de México – Campus Hermosillo
Matemáticas Discretas y Algorítmicas
Tarea: Teoría de Gráficas
Construir árboles de expansión mínima para las siguientes gráficas
1.
2.
3.
Descargar