MCOM1_U3_A2_MAFP



Comments



Description

Computación IUnidad 3. Redes Actividad 2. Teoremas y algoritmos de flujo Presenta: Maritza Finkenthal Investiga sobre los siguientes temas: a. Algoritmo de Ford-Fulkerson. i. Descripción. El algoritmo de Ford-Fulkerson propone buscar caminos en los que se pueda aumentar el flujo, hasta que se alcance el flujo máximo. Es aplicable a los Flujos maximales. La idea es encontrar una ruta de penetración con un flujo positivo neto que una los nodos origen y destino. Su nombre viene dado por sus creadores, L. R. Ford, Jr. y D. R. Fulkerson. Considérese cualquier camino dirigido del origen al destino en la red de flujos. Sea x la mínima de las capacidades de las aristas no usadas en el camino. Es posible incrementar el flujo de la red al menos en x, incrementando el flujo de las aristas del camino en dicho monto. De esta forma se obtiene el primer intento de flujo en la red. Luego debemos encontrar otro camino, incrementar el flujo en el camino, y continuar hasta que todos los caminos del origen al destino tengan al menos una arista llena (el flujo usa toda la capacidad de la arista). Las siguientes figuras ilustran el funcionamiento de esta estrategia sobre el grafo de ejemplo. La secuencia de ilustraciones va de izquierda a derecha Aunque esta estrategia calcula el flujo máximo en varios casos, también falla en muchos otros. Para mejorar el algoritmo de tal manera de que siempre encuentre el flujo máximo, se debe considerar una manera más general de incrementar el flujo de origen a destino a través del grafo no dirigido subyacente. Las aristas de cualquier camino del origen al destino avanzan o retroceden. Las aristas que avanzan van con el flujo y las que retroceden van en sentido contrario al flujo. Ahora bien, para cada camino que no tenga aristas llenas que avancen ni aristas vacías (flujo cero) que retrocedan, podemos incrementar la cantidad de flujo en la red incrementando el flujo en las aristas que avanzan y decrementándo lo en las aristas que retroceden. La cantidad en la que el flujo puede ser incrementado está limitada por la mínima capacidad que no haya sido usada en las aristas que avanzan y los flujos de las aristas que retroceden. Las siguientes figuras ilustran el funcionamiento de esta última estrategia en un nuevo grafo de ejemplo. La secuencia de ilustraciones va de izquierda a derecha y de arriba hacia abajo. 1 return f. En resumen: Se comienza con flujo nulo en todas partes. para un grafo con V nodos y A aristas con capacidades enteras positivas. la red residual : inducida por f es Gf=(V. Se comienza con f(u. Cuando las capacidades son valores enteros. • Capacidad residual : es la capacidad adicional de flujo que un arco puede llevar: cf(u. así que la terminación es finita. Luego se incrementa el flujo a lo largo de cualquier camino de origen a destino que no tenga aristas llenas que avancen o aristas vacías que retrocedan.s. con Ef={(u. Más aún. • Este método es iterativo. el cual es un camino desde la fuente al resumidero que puede conducir más flujo.v)>0} 2 .Ef). pero usando la arista 2-1 que va en dirección contraria al flujo. Ahora tratemos el camino 0 -1-2-3. Este proceso describe la base para el algoritmo clásico de Ford-Fulkerson (aumenting-path method) para problemas de flujo máximo en redes.v)f(u.v) VxV: Cf(u.E) y un flujo f. Teoremas y algoritmos de flujo Presenta: Maritza Finkenthal Hasta este punto no se han tomado en cuenta las aristas en retroceso y se tiene un flujo cuyo valor es 6. sin importar como se escojan los caminos. el algoritmo ejecuta un máximo de V*A iteraciones para encontrar el flujo máximo. Método Algoritmo de Ford-Fulkerson • Este método depende de tres ideas importantes: Camino de aumento y red residual. while (existe un camino de aumento p) do aumentar el flujo f a lo largo de p.v) • Dado una red de flujo G=(v.Computación I Unidad 3. • En cada iteración se incrementa el valor del flujo buscando un camino de aumento. Ford-Kulkerson_method(G. el flujo se incrementa en al menos una unidad en cada iteración.t) inicializar flujo f a 0. Aquí se obtiene un flujo de 7. En este momento ya no hay más caminos que no tengan aristas llenas que avancen o aristas vacías que retrocedan y el algoritmo culmina su ejecución. Se continúa hasta que no haya más caminos como estos en la red.v)= c(u. que es el flujo máximo de esta red.v) =0 para cada par de nodos. Redes Actividad 2. • Se repite el proceso previo hasta no encontrar un camino de aumento. Obsérvese que se le resto valor al flujo que retrocede para agregárselo a los que avanzan. Este método siempre encuentra el flujo máximo. http://flujomaximo. Pseudocódigo Es un lenguaje artificial e informal que ayuda a los programadores a desarrollar algoritmos. aunque no es realmente in verdadero lenguaje de computadora. Un programa ejecutado en Pseudocódigo puede ser fácilmente convertido en un programa en C++. Teoremas y algoritmos de flujo Presenta: Maritza Finkenthal ii.Computación I Unidad 3. es cómodo y amable con el usuario. No se ejecutan en las computadoras más bien sirven para ayudar al programadora razonar un programa antes de intentar escribirlo en algún lenguaje. si es que está bien elaborado.wikispaces.com. El Pseudocódigo es similar al lenguaje cotidiano. Por ejemplo supongamos que la nota para aprobar un examen es de 60.co/media/users/33/1657103/files/616703/dalgoritmosalgoej emplos-100528064701-phpapp01.org/pagina_c/algo. El enunciado en Pseudocódigo sería: Si calificación >= 60 entonces Mostrar "Aprobado" FinSi El mismo enunciado se puede escribir en C++ como: if ( calif >= 60 ) cout << "Aprobado".omijal.pdf 3 .bligoo. Redes Actividad 2.com/Algoritmo+de+Ford-Fulkerson http://www.html http://algoritmoyseudocodigoyaac.
Copyright © 2021 DOKUMEN.SITE Inc.