Tema 3: Caminos y distancias

Documentos relacionados
PROYECTOS DE FORMACIÓN, EMPLEO E INSERCIÓN

Propuesta inicial de Plantilla

ZONAS DE TRABAJO SOCIAL

Actividad SEVILLA ACTIVA SAU 2015

Propuesta inicial de Plantilla - Educación Permanente

SERVICIO DE PROYECTOS Y OBRAS SECCIÓN TÉCNICA DE VÍAS CICLISTAS EVALUACIÓN SEVICI - AÑO 2012

Son varios los parámetros que pueden caracterizar la situación socioeconómica de una zona. A continuación se analizan algunos de ellos.

DIRECCIÓN GENERAL DE TRÁFICO DEL MINISTERIO DEL INTERIOR

RED PROVINCIAL DE CARRETERAS DE ANDALUCÍA

BOPA PARLAMENTO DE ANDALUCÍA. 8 de febrero de 2010 VIII Legislatura Núm. 393 SUMARIO CONTROL DE LA ACCIÓN DEL GOBIERNO Y DE LA ADMINISTRACIÓN

MOCIÓN CONTRA EL CIERRE DE LOS JUZGADOS, LA PRIVATIZACIÓN DE LOS REGISTROS CIVILES Y POR EL ACCESO A UNA JUSTICIA DE CALIDAD, UNIVERSAL Y GRATUITA

1PfjPEUaJbIgUnhSMa8qeQ==

Real Federación Andaluza de Fútbol

CIENCIAS SOCIALES. CÓDIGO NOMBRE CENTRO LOCALIDAD C.C. Híspalis (Geografía e Historia)(MAÑANA) Sevilla

Centros de Educación Formal dependientes de la Delegación Provincial de Educación

BICICLETA Y TRANSPORTE PÚBLICO

1º.- CABRA A las Horas 2º.- LUCENA DE CÓRDOBA º.- JAÉN º.- ALMERIA º.- MALAGA º.- MALAGA LA CALETA º.

Mayor calidad de fresas por su color y su composición

MUNICIPIO OBRA PRESUPUESTO

Sevilla MUNICIPIO: AGUADULCE LOCALIDAD: AGUADULCE CÓDIGO CENTRO

T.M. ALANÍS T.M. SAN NICOLÁS DEL PUERTO. 1 1-a. 61-a e. 60-e T.M. LAS NAVAS DE LA CONCEPCIÓN e T.M. CONSTANTINA 19 LA BREÑA

CENTRO SALUD VIRGEN DE LA ESTRELLA II C/ JESUS Y MARÍA, S/N CORIA DEL RÍO SEVILLA CONSULTORIO LOCAL CORIPE C/ CONSTITUCION, Nº 50

provincia de sevilla 300 Paisajes de la Huerta y el Regadío Tradicional 1] Inventario andaluz de huertas y regadíos tradicionales

SIERRA SUR A 21 DE ENERO DEL NOTA DE PRENSA.- LIGAS COMARCALES DE LA TEMPORADA

SEVILLA 7ª CONVOCATORIA TIPO DE PROYECTO

ADSL A Fondo 1ª Revista dedicada exclusivamente al ADSL

Oferta de plazas en prácticas para 4º de Grado en Educación Primaria. Mención Lengua Extranjera-Inglés

Teoría de Grafos Introducción Grafos isomorfos

Instituto Andaluz del Patrimonio Histórico CONSEJERÍA DE CULTURA

Número 192. JUNTA DE ANDALUCÍA: Consejería de Economía, Innovación, Ciencia y Empleo: Delegación Territorial en Sevilla: Instalación eléctrica...

PLAN DE COHESIÓN SOCIAL E IGUALDAD ( )

Menéndez y Pelayo, Sevilla Tlf.: Fax:

Centros Por Mesa Electoral

NOMBRE LOCALIDAD PROVINCIA AL RELENTE SEVILLA SEVILLA ALSOLANO SEVILLA SEVILLA ARRABAL DE SAN ROQUE SEVILLA SEVILLA

Resultados del Plan de Optimización Energético Municipal correspondientes a 49 municipios de la Provincia de Sevilla POE 04.

Tema 4: Redes y flujos

Recientemente Foro-Tecnigrama ha elaborado un informe sobre la vivienda. concretamente sobre la corona metropolitana de la ciudad.

Actualización de la Red de Carreteras de Andalucía

ISABEL SANTANA FALCÓN

BOLETÍN OFICIAL DEL ESTADO MINISTERIO DE FOMENTO

Información para la Web de la C.T.D. del PDEEA Ámbito de Iniciación.

Gozadera FM 11 / 2016 Estudio de audiencia de radio

ÍNDICE. INNOVACIÓN Y DESARROLLO 1. FORMACIÓN 1.1 Proempleo III... 4

BASES DE LA CUARTA CONVOCATORIA PREMIO CINCO NUEVES DE LA FUNDACIÓN COBRE LAS CRUCES PARA EL AÑO 2014

Un GRAFO O GRAFO NO ORIENTADO es una terna G = {V, A,ϕ } conv

Análisis de Algoritmos Teoría de grafos

CENTRO PROVINCIAL DE DROGODEPENDENCIAS DE SEVILLA

Federación de Peñas Sevillistas

Municipios andaluces con suministro de gas natural. (Situación a )

LANTEJUELA (2 CAMPOS DE FÚTBOL-7)

Red de distribución y municipios andaluces en disposición de ser suministrados con gas

Red de distribución y municipios andaluces en disposición de ser suministrados con gas

1. GRAFOS : CONCEPTOS BASICOS

RELACIÓN DE CENTROS BILINGÜES. SERVICIO DE INSPECCIÓN DE SEVILLA. CURSO

CIRCUITO PROVINCIAL NATACIÓN DE VERANO NORMATIVA GENERAL A FECHA DE 27/06/2017 (Susceptible de modificación)

ANEXO I. UGETISTAS REPRESALIADOS

Algoritmos para determinar Caminos Mínimos en Grafos

Resultados obtenidos

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30

1.- AGS SUR DE SEVILLA Fecha visita (orden)

Los indicadores de este programa han sido los siguientes:

La Orden APA/2442/2006, de 27 de julio, establece las medidas específicas de protección en relación con la influenza aviar.

Propuesta inicial de Plantilla - E.O.E.

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

MANUAL DE LA TDT PARA LAS ADMINISTRACIONES LOCALES

Informe sobre el Perfil del Alumnado de Nuevo Ingreso del Título Oficial de Grado en Trabajo Social

La población de Sevilla

Tema 1: Introducción a la Teoría de Grafos

ELECCIONES A LA ASAMBLEA GENERAL DE LA FAC

JORNADAS EUROPEAS DE PATRIMONIO PATRIMONIO Y NATURALEZA: UN PAISAJE DE POSIBILIDADES

Comunidad Autónoma de Andalucía

Acerca del Algoritmo de Dijkstra

OFERTA. 2) La oferta de tutores de Alemán será informada en breve.

LAS CIENCIAS DE LA PLANIFICACIÓN

Gas Natural Andalucía

REUNIÓN CON EL S.I.E. DE SEVILLA. ENSEÑANZAS DE EDUCACIÓN PERMANENTE 12 / 07 / 2012

Municipios andaluces con suministro de gas natural. (Datos a finales de diciembre de 2013)

II FERIA DE FLAMENCO Y MODA

Segundo paso: por el camino del acompañamiento

Municipios andaluces con suministro de gas natural. (Diciembre 2012)

Excelentísimo Ayuntamiento de Cazalla de la Sierra Sevilla N.R.E.L

DIPUTACIÓN PROVINCIAL DE SEVILLA

ARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

Bienvenida. Estimadas Compañeras y Compañeros:

Grafos. Amalia Duch Brown Octubre de 2007

SEVILLA Servicios Dentales 2015

CONSEJERÍA DE ECONOMÍA, INNOVACIÓN Y CIENCIA. Página núm. 20 BOJA núm. 114 Sevilla, 11 de junio 2010

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

SUBVENCIONES PFOEA PFOEA: 2015

Se solicita a los representantes de las empresas que reflejen sus datos de contacto antes de abandonar la sala.

RESUMEN POR LOCALIDADES DEL PASO DE PCPI A FPB PROPUESTO POR LAS DELEGACIONES TERRITORIALES

Teoría de grafos y optimización en redes

Unidad 2: Problemas de camino mínimo

Grafos. Algoritmos y Estructuras de Datos III

Introducción a la Teoría de Grafos

MEMORIA DE LA RED PROVINCIAL DE ATENCIÓN A LAS DROGODEPENDENCIAS Y ADICCIONES

Movimientos poblacionales en la ciudad de Sevilla en la última década

Gas Natural Andalucía Actividad de distribución de gas. 4 de febrero de 2014

Tema: Algoritmos para la ruta más corta en un Grafo.

10º Congreso Nacional del Medio Ambiente (Conama 10)

Transcripción:

Distancia en grafos. Algoritmo de Moore. Tema 3: Caminos y distancias Distancia en grafos ponderados. Algoritmo de Dijkstra. Centro y mediana de grafo. Digrafos de Actividad. Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa Cáceres Sansaloni Algoritmo del camino crítico

Definición: n: Sea G un grafo no trivial y u y v una pareja de vértices de G, la distancia, d G (u,v) (o d(u,v)) entre u y v es la longitud del u-v camino más corto en G, si tal camino existe. Si G no contiene un camino u-v, entonces d(u,v)= La función distancia en un grafo G es una métrica, es decir, una aplicación V(G)xV(G) ö Ù + Que verifica las siguientes propiedades: d(u,v) 0 y d(u,v)=0 u=v d(u,v) = d(v,u) u,v V(G) d(u,v) d(u,w) + d(w,v) u,v,w V(G) Sea D un digrafo, la distancia dirigida distancia dirigida d D (u,v) (o d(u,v)) del vértice u al vértice v de D es la longitud del camino más corto dirigido u-v si existe ese camino y en otro caso es

Algoritmo de Moore Utiliza un procedimiento de búsqueda en anchura de modo que los vértices son visitados en igual orden que el algoritmo BFS, pero asigna otras etiquetas. Encuentra la d(u,v) para una pareja de vértices u y v (distintos) de G así como un camino mínimo u-v, si existe P.- [Inicialmente, cada vértice w u es etiquetado con la etiqueta l(w)= y a u le asignamos la etiqueta l(u)=0. La cola Q contiene los vértices etiquetados cuyos vértices adyacentes deben ser todavía etiquetados. Inicialmente, Q contiene sólo al vértice u] Para cada vértice w u, sea l(w) ô Además, l(u) ô 0, Q ô {u} P.- Si Q, entonces eliminar un vértice x de Q; en otro caso, parar, no hay camino u-v. 3

P3.- [Sea PADRE(y), el padre de y en el árbol de búsqueda en anchura. Para cada vértice y adyacente con x y todavía etiquetado con, asignar x a PADRE(y), reemplazar la etiqueta l(y), por el valor finito l(x)+ y añadir el vértice y a la cola Q] Para cada vértice y adyacente a x / l(y)=, PADRE(y) x, l(y) l(x)+ QôQ+{y} P4.- Si l(v)=, entonces volver al paso P; en otro caso, ir al P5. P5.- [Este paso encuentra un u-v camino mínimo] 5..- k l(v) y u k v 5..- Si k 0, entonces u k- PADRE(u k ) en otro caso ir al paso 5.4. 5.3.- k k- e ir al paso 5.. 5.4.- Retorna u 0,u,,u k =v, un camino mínimo u-v 4

Notas: Este algoritmo no etiqueta todos los vértices, sólo los que están a menor distancia que d(u,v). Se puede modificar para que nos calcule la distancia de un vértice u de G a todos los demás (pero no da el camino mínimo). 5

Algoritmo de Moore (modificado) [Encontrar d(u,v) para un vértice fijo u de G y cualquier vértice v de G] P.- Para cada vértice v u, sea l(v) Sea l(u) 0 y añadir u a la cola, Q {u} P.- Si Q, entonces eliminar el primer vértice x de Q e ir al Paso 4. P3.- Si Q=, entonces retornar los pares (v, l(v)) para todos los vértices v de G. FIN P4.- Para cada vértice y adyacente a x, tal que l(y) = l(y) l(x)+, Q Q + {y} y volver al paso. Cuando el algoritmo termina la etiqueta de cada vértice es la distancia desde el vértice fijo u 6

Para digrafos, basta cambiar las palabras adyacente con por adyacente desde. Complejidad: O(q) Del P al P4 cada arista se visita como máximo dos veces (una para cada vértice), luego el cálculo d(u,v) requiere O(q). En P5, como la longitud de un camino cualquiera en G es menor o igual que mín{p-,q}, el cálculo del camino mínimo requiere O(mín{p,q}) La complejidad del algoritmo es O(q). 7

Distancia en grafos ponderados v 5 v 5 v 3 5 v 4 5 0 0 0 5 h 30 v 0 a 5 5 v 6 5 0 0 v 0 7 v 8 0 0 Para ir de h (Hospital) a a (lugar del accidente) Cuál será el camino más corto? 5 0 0 v 9 5 v 0 5 v v 8

Distancia en grafos ponderados v 5 v 5 v 3 5 v 4 5 0 0 0 5 h 30 v 0 a 5 5 v 6 5 0 0 v 0 7 v 8 0 0 Para ir de h (Hospital) a a (lugar del accidente) Cuál será el camino más corto? 5 0 0 v 9 5 v 0 5 v v 9

Algoritmo de Dijkstra [Para determinar la distancia desde un vértice u 0 a cualquier vértice del grafo G=(V,E) ponderado] P.- [Inicializar las etiquetas de todos los vértices (v e G, v u 0,l(v)= ; l(u 0 )=0). Inicializar un contador i a 0. El conjunto S contiene solamente a u 0 (vértices de G cuya distancia desde u 0 ha sido calculada) y el complementario S = V-{u 0 }]. i 0, S {u 0 }, S V-{u 0 } l(u 0 ) 0, l(v) para cada v V-{u 0 } si p=, entonces FIN; si no, CONTINUAR 0

P.- [En este _ paso se actualizan, si fuera necesario, las etiquetas de los vértices de S adyacentes con u i. Además, para cada vértice v al que se le cambie la etiqueta l(v) se le asigna u i a PADRE(v)]. _ Para cada v S tal que u i v E(G) se procede como sigue: si l(v) l(u i )+w(u i,v) entonces CONTINUAR si no, l(v) l(u i )+w(u i,v) y PADRE(v) u i _ P3.- [En este paso se determina el nuevo vértice u i+ de S, para el que se va a encontrar la distancia desde u 0, d(u 0,u i+ )] _ Hallar m=min{l(v)/v S} _ Seleccionar un vértice v j S cumpliendo l(v j )=m Retornar m como distancia de u 0 a v j y u i+ v j

P4.- [En este paso aumenta el conjunto S de vértices de _ G cuya distancia a u 0 ya haya sido calculada y, consecuentemente, disminuye S] S S {u i+ } S S-{u i+ } P5.- [En este paso se actualiza la variable inicial i y determina si el algoritmo ha finalizado] i ô i+ si i=p-, entonces FIN si no ir al P http://profesores.elo.utfsm.cl/~agv/elo30/animation/dijkstra/dijkstra_applet.html http://neo.lcc.uma.es/evirtual/cdd/applets/distancia%0corta/example.html http://www.dma.fi.upm.es/gregorio/grafos/cammin/inicio/inicio.htm

v v v 3 5 v 4 4 6 3 7 9 0 v 3 4 v 7 8 5 v8 v 6 7 5 6 7 v v 9 0 v 8 v 3 4 5 9 6 0 v 3 v 4 v 5 8 v 6 Camino mínimo de v 5 a v 6 3

Ejercicios v v v 4 3 5 v 6 u 4 0 4 3 3 5 v 5 v 6 v 7 3 v 8 a) Usar el algoritmo de Dijkstra para determinar d(u 0,v) para cada v de G en el grafo ponderado G de la figura y determinar un camino mínimo u 0 -v 3. b) Repetir para el grafo H obtenido de G borrando los pesos de las aristas. Usar Moore y Dijkstra. 4

Haciendo uso del algoritmo de Dijkstra calcular d(u 0,v i ) para i=,,,8 en el grafo G adjunto y determinar un camino mínimo u 0 -v 5. v u 0 5 6 3 v 3 v 6 9 4 v 7 8 4 v 5 7 v 3 v 8 v 4 5

3 3 v 6 3 6 v 7 v 8 4 v 5 3 7 5 v 5 v 5 v 4 v 3 7 El grafo ponderado de la figura modela un barrio o urbanización, donde cada arista corresponde a una calle y cada vértice a una intersección de calles. Los pesos de las calles corresponden al tiempo (medio) de recorrido de cada sección de calle (obsérvese que la calle v 8 v 3 pasa bajo la v 5 v 4 por medio de un túnel). Cuál es el tiempo medio de recorrido más corto de v a v i para i=,,8? Encuéntrese la ruta más rápida desde v a v 3. 6

Teorema: Sea G=(V,E) un (p,q)-grafo ponderado. El algoritmo de Dijkstra calcula la distancia desde un vértice fijado u 0 a cualquier otro vértice de G. Es decir, cuando el algoritmo termina l(v)=d(u 0,v) v V Además, si l(v) y v u 0, entonces u 0 =w 0,w,w,,w k =v es un camino mínimo u 0 -v, donde w i- =PADRE(w i ) para i k Demostración: Suponemos G conexo. Procederemos por inducción completa sobre i para demostrar que l(v)=d(u 0,v) para cualquier v S i ={u 0,u,,u i } para i=0 es evidente Suponemos que es cierto para cualquier i (0 i p-) Y lo demostraremos para i+; veremos que l(u i+ )=d(u 0,u i+ ) 7

Por Dijkstra, se sabe que u_ i+ es un vértice tal que l(u i+ )=min{l(v)/ v S i } _ l(u i+ )=min{l(u)+w(u,v) / u S i, v S i, uv _ E(G)}= (H.I) min{d(u 0,u)+w(u,v) / u S i, v S i, uv E(G)} dicho mínimo se consigue para v=u i+ por lo que l(u i+ )=d(u 0,u)+w(u,u i+ )=d(u 0,u i+ ) La segunda parte, sea v V(G) tal que l(v) y v u 0, al finalizar se tiene que l(v)=l(v )+w(v,v) donde PADRE(v)=v luego v es el penúltimo vértice en algún camino mínimo u 0 -v. Continuando de esa forma encontramos una secuencia de vértices u 0 =v n,v n-, v,v donde PADRE(v i )=v i+ para i n- 8

Complejidad: O(p ) El mayor consumo se realiza en los pasos P y P3. En P cada arista de G se visita como máximo una vez. Como G tiene q aristas, la complejidad de P es O(q). _ En P3, se determina la mínima etiqueta _ de los elementos de S cada vez, esto puede hacerse _ con S - comparaciones. Si G tiene orden p, entonces S <p y P3 se realiza como máximo p- veces, por lo que este paso es de O(p ). Como q p(p-)/. El algoritmo requiere O(p ) 9

La excentricidad e(v) de un vértice v de G es la distancia de v al vértice más alejado de él. Es decir, e(v)=max{d(v,u) / u V(G)} Si G es conexo, se definen radio y diámetro de G como la menor y la mayor de sus excentricidades, respectivamente. Es decir, rad(g)=min{e(v) / v V(G)} diam(g)=max{e(v) / v V(G)} El centro de G, C(G), es el subgrafo inducido por los vértices cuya excentricidad sea la mínima del grafo, es decir rad(g). Propiedades Sea G un grafo. Entonces, rad(g) diam(g) rad(g) Cualquier grafo es el centro de algún grafo conexo. Cualquier grafo ponderado G es el centro de algún grafo ponderado G'. 0

Distancia, d(v), de un vértice v en un grafo G, ponderado o no, se define como la suma de sus distancias a todos los vértices del grafo; es decir, d(v)= d(v,u) d(v) = w i d(v, v i ) u V(G) i p La mediana de G, M(G), es el subgrafo inducido por los vértices que tienen mínima distancia. El centro y la mediana de un grafo no son necesariamente iguales y pueden ser, incluso, disjuntos. Los algoritmos de Moore y Dijkstra pueden modificarse fácilmente para determinar:

* La excentricidad de cada vértice. (Se halla la distancia de un vértice a cada uno de los demás y se selecciona la mayor. Se puede repetir para cada vértice). * La distancia de cada vértice. (Se halla la distancia de un vértice a cada uno de los demás y se suman todas estas distancias). * El radio y el diámetro. (Una vez calculadas las excentricidades, se seleccionan la menor y la mayor). * El centro. (Conocido el radio, se seleccionan los vértices cuya excentricidad sea dicho radio y las correspondientes aristas). * La mediana. (Una vez halladas las distancias de cada vértice, se seleccionan los vértices que tengan menor distancia y las correspondientes aristas).

Teorema: Sea T un árbol de orden p 3, y sea T el árbol que resulta de eliminar de T los vértices finales. Entonces C(T) = C(T ) Algoritmo (Para determinar el centro de un árbol T) P.- Hacer T T P.- Si T @ K o T @ K, entonces retorna C(T) = T y FIN en otro caso, ir al paso P3 P3.- Eliminar los vértices de grado en T para obtener T Hacer T T y volver al paso P Teorema: El centro de cualquier árbol es isomorfo a K o K 3

Localizar el mejor emplazamiento para un centro de emergencias del 06 y uno de tráfico de la Guardia Civil. Ambos centros, deberán dar servicio a toda la provincia de Sevilla. Las poblaciones a considerar serán el listado que aparece en el plan provincial de servicios sociales 003 editado por el Área de Asuntos Sociales de la Diputación de Sevilla. Consideramos dos parámetros iniciales: población de cada pueblo* calidad de las vías de comunicación Autopista/autovía: Carretera de orden: Carretera de orden: 3 Carretera de 3 orden: 4 *Datos obtenidos de la Diputación provincial para poblaciones de menos de 0000 habitantes, el resto de datos de la Web de la Junta de Andalucía. 4

Aguadulce 970 Carrión de los Cés. 39 Espartinas 559 Alanís de la Sierra 04 Casariche 544 Estepa 889 Alcalá de Guadaira 5835 CastilBlanco de los A 4548 Fuentes de And. 7440 Alcalá del Río 900 Castilleja de Guz. 74 Gelves 638 Alcolea del Río 343 Castilleja de la Cue. 6408 Gerena 5550 Algamitas 39 Castilleja del Campo 630 Gilena 3885 Almadén de la Plata 746 Cazalla de la Sierra 586 Gines 05 Almensilla 344 Constantina 743 Guadalcanal 983 Arahal 8468 Coria del Río 488 Guillena 849 Aznalcázar 3549 Dos Hermanas 038 Herrera 6075 Aznalcollar 5859 Écija 37900 Huevar 34 Badolatosa 375 El Castillo de las G. 643 Isla Mayor 606 Benacazón 5045 El Cuervo 7704 La Algaba 967 Bollullos de la M. 5078 El Garrobo 7059 La Campana 588 Bormujos 044 El Madroño 384 La Lantejuela 366 Brenes 069 El Pedroso 373 La Luisiana 5446 Burguillos 3585 El Real de la Jara 79 La Rinconada 9759 Camas 509 El Ronquillo 40 Las Cabezas de S.J. 5678 Cantillana 9030 El Rubio 3705 Las Navas de la Co. 894 Cañada Rosal 409 El Saucejo 435 Lebrija 4450 Carmona 593 El Viso del Alcor 6303 Lora de Estepa 786 5

Lora del Río 8768 Pedrera 506 Sevilla 7044 Los Corrales 408 Peñaflor 3930 Tocina 8905 Los Palacios y Villaf. 3346 Pilas 448 Tomares 8538 Mairena del Alcor 6894 Pruna 334 Umbrete 4989 Mairena del Aljaraf. 363 Puebla de Cazalla 0646 Utrera 45947 Marchena 79 Puebla de los Infantes 3394 Valencina de la Co 688 Marinaleda 647 Puebla del Río 0648 Villaverde del Río 653 Martín de la Jara 77 Roda de Andalucía 408 Villamanrique de la 379 Morón de la Fronte. 7786 San Juan de Aznalf. 007 Villanueva de San J 498 Osuna 7 San Nicolás del Puerto 704 Villanueva del Río 5377 Palomares del Río 3973 Sanlúcar la Mayor 070 Paradas 6979 Santiponce 73 6

Modelización del problema Grafo conexo ponderado y no dirigido. Vértices: poblaciones del listado anterior. Aristas: Tramos de carreteras que unan poblaciones adyacentes. Ponderación : población media entre los vértices de las aristas. Ponderación : distancia entre las poblaciones (en kilómetros). Ponderación 3: tiempo medio en recorrer las aristas. Nota: con la ponderación, como Dijkstra calcula caminos mínimos, de aplicarse directamente evitaría las ciudades con mayor población, así, para transformar valores altos en valores más pequeños, se restan los datos de una constante mayor que todos los ellos. Ejemplo: Lebrija- El Cuervo Población de Lebrija: 4450 Población de El Cuervo: 7704 Valor de la arista: ((800.000-4450)+(800.000-7704))/=78393 7

Nota: para la ponderación 3, se usan los datos kms y el tipo de vía. Hay que tener en cuenta que no siempre se circula por la misma vía, por lo que habrá que tener en cuenta los kms que se hacen por cada vía. Para calcular el tipovia habrá que calcular el porcentaje del trayecto que se realiza por cada tipo de vía y sumarlos. Ejemplo: La Campana-La Luisiana Recorrido total: Kms Recorrido vía tipo : Kms Recorrido vía tipo 4: 9 Kms tipovia:=(/)*+(9/)*4=.8 La velocidad media de recorrido dependerá del tipovia, vías tipo -- 0kms/h vías tipo -- 00kms/h vías tipo 3 -- 80kms/h vías tipo 4 -- 70kms/h y se calcula la velocidad media exacta. 8

Centro de tráfico de la Guardia Civil, buscamos beneficiar a la mayor cantidad de gente posible, por lo que debe situarse cerca de donde haya más concentración de gente posible, por lo que se debe calcular la mediana del grafo. El 06, deseamos primar la velocidad de actuación, es decir, que pueda desplazarse de forma rápida a cualquier punto de la provincia sin perjudicar ningún punto en particular, lo que buscamos es el centro del grafo. Resultados obtenidos: Pond : Vértices de la mediana Sevilla Vértices del centro Carmona Pond : Vértices de la mediana Sevilla Vértices del centro Mairena del Alcor Pond 3: Vértices de la mediana Sevilla Vértices del centro El Viso del Alcor 9

Digrafos de actividad. Algoritmo de caminos críticos Problema: Establecer una secuenciación de las tareas de un proyecto. Modelo del problema: Modelamos la situación mediante un digrafo acíclico, D. Vértices: vértice etiquetado por S (vértice de comienzo) vértice etiquetado por T (vértice final) resto vértices, las actividades a desarrollar 30

Arcos: S está dirigido hacia un vértice v V(G) si la actividad v puede comenzar antes de que cualquier otra actividad esté completada. w V(G) está dirigido hacia Tsi ninguna actividad necesita que w sea completada antes que comience la actividad. un vértice x está dirigido hacia otro vértice y, si y sólo si no necesita que ninguna actividad esté realizada entre la finalización de x y el comienzo de y. t(w), indica el tiempo requerido para completar la actividad w. Se establece t(s) = t(t) = 0. Al digrafo construido se le llama digrafo de actividad del proyecto 3

Ejemplo: Supongamos que queremos renovar un aula magna. La sala necesita nuevas alfombras, asientos, paredes nuevas, pizarra y pintar las paredes. En la tabla siguiente, junto con las actividades damos el tiempo estimado en terminarlas: ACTIVIDAD L; Poner nuevas alfombras I; Instalar nuevos asientos P; Pintar paredes A; Colocar paredes nuevas R; Cambiar pizarra TIEMPO (h) 8 0 0 5 3

Digrafo de actividad L 8 I 0 S 0 5 A 0 T R 0 P Tiempo estimado en realizar el proyecto completo. 5 horas 33

Si v,v,v 3,, v k es un camino en el digrafo de actividad D, entonces la longitud tiempo del camino es k t(v i ) i= En el digrafo anterior, el camino S,A,P,T tiene una longitud-tiempo de 5h 34

Camino crítico Un camino crítico en un digrafo de actividad es un camino más largo en unidades de tiempo. Teorema: Sea D el digrafo de actividad asociado con un proyecto dado. Entonces, la longitud-tiempo de un camino crítico en D es igual al mínimo tiempo necesario para completar el proyecto. Ejemplo: Supongamos que queremos hacer un trabajo en el jardín de una casa. El proyecto puede ser descrito por las siguientes actividades: 35

ACTIVIDAD C: Limpiar la tierra L: Abonar el terreno I: Instalar un sistema de goteo subterráneo P: Plantar el césped D: Enlosar el camino R: Plantar árboles F: Colocar una valla y una cancela TIEMPO (días) 3 3 D 3 F S 0 3 C L 0 T I P R 36

Dias 3 4 5 6 7 8 9 0 C L Actividades I P D R F 37

Algoritmo Asignamos una etiqueta l(v) a cada vértice v del digrafo D. Al final del algoritmo, l(v) es la mayor longitudtiempo de un camino S-v. Inicialmente, solo a S se le asigna la etiqueta 0. Cualquier otro vértice v ( S) será etiquetado sólo después de que cada vértice adyacente hacia v haya sido etiquetado. l(v) = max {l(u) + t(v) / (u,v) E(D)} PADRE(v) es el vértice w para el que l(v) = l(w) + t(v). w es un vértice que precede a v en un camino de máxima longitud-tiempo S-v en D. El etiquetado termina cuando el vértice final T ha sido etiquetado. Las etiquetas Padre permiten construir un camino crítico de D 38

Algoritmo (camino crítico) [Determinar un camino crítico en un digrafo de actividad D con vértice de inicio S y vértice final T. La variable t(v) es el tiempo empleado en completar la tarea v.] P.- [Este paso inicializa una variable n(v) para δ e (v) para cada vértice v S de D. La variable n(v) será usada para contar el número de vértices adyacentes hacia v que aún no hayan sido etiquetados.] Para cada vértice v S, sea n(v) ôδ e (v) P.- [Inicializamos una cola Q] QôØ 39

P3.- [Etiquetar l(s) y actualiza n(v) para todos los vértices v adyacentes desde S. Los vértices v para los que n(v)=0 son añadidos a la cola Q, que contiene a vértices que están preparados para ser etiquetados.] P3..- l(s) 0 P3..- Para los vértices v de D tal que (S,v) E(D) hacer n(v) n(v) - ; PADRE(v) S ; Q Q» {v} P4.- [Este paso elimina un vértice w de Q, determina PADRE(w), actualiza n(v) para todos los vértices v adyacentes desde w y añade a la cola Q aquellos vértices v para los cuales n(v)=0.] P4..- Eliminar el vértice w de Q; l(w) max {l(u) + t(w) /(u,w) E(D)} P4..- Sea u un vértice tal que l(w) = l(u ) + t(w) entonces, PADRE(w) u P4.3- Para cada vértice v tal que (w,v) E(D) n(v) n(v) -, Si n(v) = 0, entonces Q Q» {v} 40

P5.- [Este paso determina si T ha sido etiquetado] Si T ha sido etiquetado, entonces continuar; en caso contrario volver al paso P4 P6.- [Este paso encuentra un camino crítico en D] P6..- P: T = v 0 P6..- k 0 P6.3.- [Sea determinado P: v k,v k-,,v,v 0, donde v i = PADRE(v i- ) para i k. Entonces este paso determina si P es ya un camino crítico. Si aún no se ha encontrado un camino crítico, entonces este paso extiende a P] Si v k =S, entonces retornar P y l(t). FIN en otro caso, v k+ ô PARENT(v k ) y P: v k+,v k,,v,v 0 P6.4.- k k+ y volver al paso P6.3 Complejidad del algoritmo O(q) 4

Aplicar el algoritmo al siguiente grafo A D 4 G S 0 3 E J 0 T B F 5 H n(a) n(b) n(j) n(d) n(e) n(f) n(g) n(h) n(t) Q v = vértice etiquetado ( l(v), Padre(v) ) - - 4

n(a) n(b) n(j) n(d) n(e) n(f) n(g) n(h) n(t) Q v = vértice etiquetado ( l(v), Padre(v) ) 43

n(a) n(b) n(j) n(d) n(e) n(f) n(g) n(h) n(t) Q v = vértice etiquetado ( l(v), Padre(v) ) 0 0 A B S (0,-) 0 B D A (, S) 0 0 D J F B (,S) J F D (4, A) F J (5,A) 0 0 E H F (3,B) 0 H G E (6,J) G H (8,F) 0 T G (0, E) T (0,G) De las etiquetas se determina el cam. crítico P: S,A,J,E,G,T 44