Pareamientos y Envolvente

Embed Size (px)

DESCRIPTION

Pareamientos y Envolvente

Citation preview

8. PAREAMIENTO8.1. DEFINICIN

Es un mtodo por el cual se establece generalmente un grafo bipartito de forma que para cada elemento del grupo de vrtices A le pertenezca un nico elemento del grupo de vrtices B, matemticamente se expresa como un grafo G = (V, A) en donde el subconjunto de aristas A en el que ningn par de aristas es incidente sobre el mismo vrtice de V. Si se desea encontrar la seleccin con el mximo nmero de aristas es un pareamiento maximal y un pareamiento completo todo vrtice es un punto final de alguna arista en ella.

8.2. APLICACIONES Y ALGORITMOS

Se usa el pareamiento de grafos para distribuir los elementos de un grupo A para los elemento de un grupo B de forma que no hayan repeticiones en la asignacin (la asignacin de profesores a unos ciertos cursos por ejemplo). Un algoritmo consiste en generar todos los pareamientos y luego se marca uno que se tenga el mayor nmero de aristas. Pero este algoritmo presenta una complejidad de tipo exponencial.

Los algoritmos de mayor eficiencia manejan una tcnica llamada caminos aumentados que consiste en los caminos tengan una longitud impar se suprimen las aristas que estn en un vrtice ya seleccionado y despus se aaden las aristas que no estaban en el vrtice dicho poniendo un grafo en donde las aristas estn en solo uno de los dos subconjuntos (o exclusiva, CA). Teniendo en cuenta que existe un pareamiento maximal si y solo si, no existe un camino aumentado relativo al grafo pareado; su procedimiento es el siguiente:1) Iniciar un conjunto C como vaco.2) Encontrar un camino aumentado relativo a C y reemplazar C por CA.3) Repetir el paso 2) hasta que ya no existan ms caminos aumentados, en donde C es el pareamiento maximal.

Para buscar el camino aumentado de debe empezar por un vrtices que posea una arista sin parear hacia otro vrtice, este se debe direccionar a una arista pareada y esta a su vez a un vrtice con arista no pareada y as sucesivamente hasta encontrar un punto en donde no se pueda seguir este orden o hasta formar ciclos o circuitos en el camino.Ejemplo: Se tiene el siguiente grafo con un pareamiento

Figura 94. Ejemplo de un grafo para hallar el pareamiento maximal.Se inicia buscando el camino aumentado, iniciando con el vrtice 2 y tomando su arista que conecta a 4 para cumplir que la primera arista no debe ser pareada.

Figura 95. Paso 1 del camino aumentado.El siguiente punto debe ser pareado luego se toma la arista {4, 1}

Figura 96. Paso 2 del camino aumentado.Luego se toma otra arista la cual se toma {1, 6} puesto que las dems forman circuitos, al tomar esta arista no pueden tener ms aristas puesto que las dems forman ciclos o estn pareadas; finalmente se obtiene el siguiente camino Figura 97. Paso 3 del camino aumentado.Se procede a realizar CA, obteniendo el siguiente grafo

Figura 98. Grafo actual.Se vuelve a buscar el camino aumentado, iniciando con el vrtice 3 y tomando su arista que conecta a 4 para cumplir que la primera arista no debe ser pareada

Figura 99. Paso 1 del camino aumentado.El siguiente punto debe ser pareado luego se toma la arista {4, 2}

Figura 100. Paso 2 del camino aumentado.Luego se toma otra arista la cual se toma {2, 5} puesto que las dems forman circuitos, al tomar esta arista no pueden tener ms aristas puesto que las dems forman ciclos o estn pareadas; finalmente se obtiene el siguiente camino

Figura 101. Paso 3 del camino aumentado.Se procede a realizar CA, obteniendo el siguiente grafo

Figura 102. Grafo actual.Nuevamente se busca el camino aumentado, iniciando con el vrtice 1 y tomando su arista que conecta a 4 para cumplir que la primera arista no debe ser pareada

Figura 103. Paso 1 del camino aumentado.El siguiente punto debe ser pareado luego se toma la arista {4, 3} Figura 104. Paso 2 del camino aumentado.Luego se toma otra arista la cual se toma {3, 6} puesto que las dems forman circuitos, al tomar esta arista no pueden tener ms aristas puesto que las dems forman ciclos o estn pareadas; finalmente se obtiene el siguiente camino

Figura 105. Paso 3 del camino aumentado.Se procede a realizar CA, obteniendo el siguiente grafo

Figura 106. Grafo actual.Nuevamente se busca el camino aumentado, iniciando con el vrtice 3 y tomando su arista que conecta a 4 para cumplir que la primera arista no debe ser pareada

Figura 107. Paso 1 del camino aumentado.El siguiente punto debe ser pareado luego se toma la arista {4, 1} Figura 108. Paso 2 del camino aumentado.Luego se toma otra arista la cual se toma {1, 5} puesto que las dems forman circuitos, al tomar esta arista no pueden tener ms aristas puesto que las dems forman ciclos o estn pareadas; finalmente se obtiene el siguiente camino Figura 109. Paso 3 del camino aumentado.Se procede a realizar CA, obteniendo el siguiente grafo

Figura 110. Grafo actual.Al buscar el camino aumentado se observa que ya no es posible por lo que se define que se ha encontrado el pareamiento maximal del grafo.

9. ENVOLVENTES9.1. DEFINICIN

Un conjunto C del plano afn es convexo si dados dos puntos cualesquiera p y q de c, del segmento que une p y q est contenido en C

Segmento: [p,q] = (1-t)p+tq, tE[0,1]

Figura 111. Grafo convexo y no convexo La envolvente convexa de un conjunto de puntos p es el mejor conjunto convexo que contiene a dichos puntos (es decir, la interseccin de todos los conjuntos convexos en los que p est contenido)

La envolvente convexa de un conjunto de puntos P es el menor conjunto convexo que contiene a dichos puntos.

Figura 112. Envolvente convexa de un conjunto de puntos P

Un subconjunto A de puntos del plano se dice que es convexo si para cualesquiera dos puntos de A, el segmento que los une est contenido en A.

Dado B, un subconjunto de puntos del plano. Se llama Cierre Convexo (tambin conocido como Envolvente Convexa o Convex Hull) al menor conjunto convexo del plano que contiene a B.

Figura 113. Cierre convexo

De forma intuitiva sera como si en cada punto de B clavramos una pa y las roderamos por una cinta elstica estirada. Cuando la cinta se contrayera, sta tomara la forma del cierre convexo.

Aunque usualmente se mencionan refirindose a la misma cosa, es interesante puntualizar la diferencia entre Cierre Convexo y Envolvente Convexa. Cuando hablamos de Cierre Convexo nos estamos refiriendo a una regin cerrada que incluye todos los puntos del interior del conjunto, mientras que cuando hablamos de Envolvente Convexa hablamos de la frontera de esa regin.

Se denominan puntos extremos a los vrtices de la envolvente convexa.

9.2. PLANTEAMIENTO DEL PROBLEMA

El problema de calcular el cierre convexo se puede dividir en dos frentes:

Dado un conjunto de puntos del plano, encontrar aquellos que sean vrtices del cierre convexo. Dado un conjunto de puntos del plano, encontrar una descripcin de la frontera del cierre, es decir, encontrar el polgono que forma la envolvente convexa.

En los algoritmos que se van a mostrar responderemos a dicho problema de un modo intermedio. Por un lado la salida sern los vrtices del cierre convexo, pero por otro lado, dichos vrtices estarn ordenados, de forma que sea sencillo construir el polgono.

9.3. APLICACIONES Y ALGORITMOS

9.3.1. Algoritmo 1

Entrada: P Salida: Q (Vrtices ordenados)

Paso 1: Tomar todas las parejas de puntos de P Paso 2: Para cada pareja (Pi,Pj) Si todos los dems puntos de P estn en D(Pi,Pj) y no hay mas puntos de P en el segmento [Pi,Pj], SE ALMACENA (Pi,Pj) En caso contrario se pasa a la pareja siguiente.Paso 3: Extraer ordenadamente los vrtices Si estn todos alineados, escoger el de un extremo (orden lexicogrfico) y partir de el parta hallar los dems. En caso contrario empezar por uno cualquiera y hacer (q1,q2) (q2,q3) (q3,q4) Extraer q1,q2,q3,q4

9.3.2. Bsquedas de Aristas:

Notas Previas: Toda recta divide al plano en dos semiplanos. Dado S un conjunto de puntos, y r una recta que pasa por uno de esos puntos, dicha recta se llama RECTA SOPORTE si deja al resto de puntos de S en uno de los semiplanos.

Descripcin del Algoritmo: Para cada pareja de puntos de S se comprueba si la recta que pasa por la arista que los une es soporte. En el caso de serlo, los puntos origen y final de dicha arista formarn parte del conjunto de vrtices de la envolvente convexa (puntos extremos).

Complejidad del algoritmo:

Para identificar si una arista est contenida en una recta soporte: O(N^3) Para obtener los puntos extremos a partir de las aristas : O(N^3)

9.3.3. Eliminacin De Los Puntos Interiores

Notas Previas

Un punto de un conjunto S de puntos es interior al cierre convexo si y slo si es interior al tringulo cuyos vrtices son puntos de S, y no es l mismo un vrtice de dicho tringulo.

Descripcin Del Algoritmo

Para cada tres puntos del conjunto S se descartan los que sean interiores al tringulo formado por ellos.

Los puntos que quedan tras este proceso son vrtices de la envolvente convexa.

Para formar las aristas que constituyen la envolvente convexa basta con ordenarlos angularmente respecto a un punto interior a ellos (calculando la orientacin del tringulo formado por ambos vrtices y el punto interior alrededor del cual se est realizando la ordenacin)

Complejidad Del Algoritmo Formar los tringulos, comprobar y eliminar los puntos interiores: O(N^4) Ordenar los puntos mediante divide y vencers: O(N.LogN)

9.3.4. Algoritmo De Jarvis (Envoltura Del Regalo)

Notas Previas

La idea intuitiva del algoritmo consiste en imaginar una recta que se desplaza desde menos infinito hacia arriba hasta tocar un punto del conjunto de puntos. Luego, dicha recta va rodeando la nube de puntos en sentido positivo, girando en cada vrtice hasta tocar el siguiente, de modo que al final la envuelve por completo.

Descripcin Del Algoritmo

1. Dado el conjunto de puntos S, tomamos el punto P que tenga menor ordenada y mayor abcisa. y trazamos una recta r que pase por P y sea paralela al eje de abcisas.1. Para cada punto de S trazar lineas que los unan con P. El prximo vrtice del cierre convexo ser el punto Q que forme el mnimo ngulo respecto a la recta r anterior. 1. Si Q no es el punto de partida, Repetir 2 tomando P=Q y r como la recta formada por P y Q.

Complejidad Del Algoritmo

Encontrar el punto de menor ordenada: O(N) Encontrar el menor ngulo: O(N^2)

9.3.5. Algoritmo Quickhull

Notas Previas

Dado un conjunto S de puntos y una arista que forma parte del cierre convexo de dicho conjunto, el punto de S que forma un tringulo de rea mxima con dicha arista es un punto extremo. Si dicha rea no es nica el punto ser el que maximice el ngulo del tringulo.

Descripcin Del Algoritmo

1. Formar la arista extrema tomando dos puntos P y Q de menor abcisa 1. Encontrar el punto H de modo que el tringulo HPQ tenga rea mxima. 1. Guardar H como vrtice de la envolvente convexa. 1. Descartar los puntos dentro del tringulo HPQ 1. Si el segmento PH tiene puntos a su izquierda, repetir recursivamente desde 2 con PH y los puntos que caen en l o a su izquierda 1. Si el segmento HQ tiene puntos a su izquierda, repetir recursivamente desde 2 con HQ y los puntos que caen en l o a su izquierda.

Complejidad Del Algoritmo En el peor caso es de orden: O(N^2) En el mejor caso, cuando los puntos estn distribuidos uniformemente en el plano, es de orden: O(N.logN)

9.3.6. Algoritmo Incremental

Descripcin Del Algoritmo

1. Ordenar los N puntos de menor a mayor abcisa.Llamaremos p(n) al punto situado en la posicin nLlamaremos P(n) al cierre convexo de los n primeros puntos 1. Definimos P(1) := p(1) 1. Para i desde 2 a N 1. A partir de p(i-1) recorrer los vrtices de P(i-1) en sentido positivo hasta encontrar uno de modo que la recta formada por l y p(i) dejen a la izquierda a todos los vrtices de P(i-1). Dicho vrtice se llama vrtice soporte superior. Unirlo con p(i) 1. A partir de p(i-1) recorrer los vrtices de P(i-1) en sentido negativo hasta encontrar uno de modo que la recta formada por l y p(i) dejen a la izquierda a todos los vrtices de P(i-1). Dicho vrtice se llama vrtice soporte superior. Unirlo con p(i) 1. Aadir p(i) al cierre y eliminar los vrtices de P(i-1) desde el vrtice soporte inferior hasta el superior

Complejidad Del Algoritmo

Ordenar los puntos: O(N.LogN) Realizar el Bucle: O(N)

9.3.7. ALGORITMO DE GRAHAM (SCAN DE GRAHAM)

Notas Previas

Este algoritmo surgi a finales de los 60, cuando en los laboratorios Bell se necesitaba calcular el cierre convexo de unos 10.000 puntos, y con uno de los algoritmos de por entonces, de O(N^2) resultaba demasiado lento. Entonces Graham lo solucion con el presente algoritmo.

Descripcin Del Algoritmo

1. Hallar un punto q interior al cierre convexo1. Ordenar los N puntos angularmente en sentido positivo alrededor de l.Llamaremos p(n) al punto situado en la posicin n1. (Scan) Recorrer la lista ordenada de puntos hasta que se llegue al punto de partida

Examinar tripletas de puntos consecutivos [p(i-1),p(i),p(i+1)]

1. Si la tripleta es un giro a la izquierda se avanza un vrtice y se comprueba [p(i),p(i+1),p(i+2)] 1. Si la tripleta no es un giro a la izquierda, entonces p(i) no es un vrtice, ya que es interior a [q,p(i-1),p(i+1)]. 1. 1. Eliminar p(i) 1. Comprobar la Tripleta [p(i-2),p(i-1),p(i+1)]

1. Los puntos que queden son los vrtices de la envolvente convexa.

Complejidad Del Algoritmo

Encontrar punto Interior: O(N) Ordenar los puntos alrededor del interior: O(N.logN) Encontrar el vrtice donde iniciar el scan de Graham: O(N) Scan de Graham: O(N)

9.3.8. Algoritmo De Andrew

Notas Previas

Es una variacin del Scan de Graham, donde cambia la forma de preordenar los puntos.

Descripcin Del Algoritmo

1. Determinar los puntos de mayor y menos abcisa en la nube de puntos y trazar una recta que pase por ellos.1. Con los puntos que quedan por encima de la recta

1. Ordenarlos de mayor a menor 1. Aplicar el Scan de Graham a dichos puntos 1. Se obtiene una linea poligonal (cierre superior)

1. Con los puntos que quedan por debajo de la recta

1. Ordenarlos de menor a mayor 1. Aplicar el Scan de Graham a dichos puntos 1. Se obtiene una linea poligonal (cierre inferior)

1. Concatenar el cierre superior y el cierre inferior

Complejidad Del Algoritmo

Ordenar los puntos: O(N.LogN) Repartir los puntos encima y debajo de la recta: O(N) Aplicar Scan a ambos conjuntos de puntos: O(N) Concatenar los cierres: O(N)

9.3.9. Divide Y Vencers Con Preordenacin

Notas Previas

La idea de la tcnica divide y vencers es dividir un problema en subproblemas del mismo tipo y aproximadamente todos ellos del mismo tamao, resolver los subproblemas recursivamente y, finalmente, combinar la solucin de los subproblemas para dar una solucin al problema original. La recursin finaliza cuando el problema es pequeo y la solucin es fcil de construir directamente.

Descripcin Del Algoritmo

Ordenar el conjunto de puntos S de menor a mayor abcisa.

Cierre de S

1. Si slo hay un punto, ese punto es el cierre

Si no

1. Dividir S por la mitad obteniendo los conjuntos S1 y S2 1. Calcular el cierre de la mitad izquierda S1 obteniendo P1 1. Calcular el cierre de la mitad derecha S2 obteniendo P2 1. Mezclar los cierres P1 y P2 para obtener P, el cierre de S.

Esta Mezcla se realiza de la siguiente forma:

1. Se une el vrtice ms a la derecha de P1 con el ms a la izquierda de P2.Este segmento se va desplazando hacia abajo, recorriendo P1 en sentido positivo y P2 en sentido negativo alternativamente, hasta que todos los puntos de S queden por encima. Puente Inferior.

1. Se une el vrtice ms a la derecha de P1 con el ms a la izquierda de P2.Este segmento se va desplazando hacia arriba, recorriendo P1 en sentido negativo y P2 en sentido positivo alternativamente, hasta que todos los puntos de S queden por debajo. Puente Superior

9.3.10. Divide Y Vencers Genrico

Notas Previas

Este mtodo es una variacin del algoritmo Divide y Vencers con Preordenacin. Para su ejecucin se necesitar conocer el concepto de Recta Soporte y el algoritmo Scan de Graham

Descripcin Del Algoritmo

Sea S el conjunto de puntos, ordenados de forma arbitraria

Cierre de S 1. Si hay un punto en S, entonces ese punto es el cierre convexoSi hay dos puntos en S, entonces el cierre convexo es el segmento que los une. Si hay tres puntos en S, entonces el cierre es el tringulo formado por ellos

Si hay ms de tres puntos

1. Dividir S en dos subconjuntos S1 y S2 segn ese orden arbitrario1. Calcular el cierre de S1 obteniendo P11. Calcular el cierre de S2 obteniendo P21. Mezclar los cierres P1 y P2 para obtener P, el cierre de S.

Esta Mezcla se realiza de la siguiente forma:

1. Obtener un punto p interno a P11. Si p es interno a P2:

1. Mezclar los vrtices de P1 y P2 obteniendo P12 1. Aplicar Scan de Graham a P12 para obtener el cierre P

1. Si p es externo a P2:

1. Hallar las rectas soporte de p respecto a P2 1. Los vrtices entre las rectas se descartan 1. El resto de vrtices se mezclan con P2 obteniendo P12 1. Aplicar Scan de Graham a P12 para obtener el cierre P

9.3.11. Aproximacin Inferior

Notas Previas

Este algoritmo da un mtodo aproximado para calcular el cierre convexo de una nube de puntos. Se llama Aproximacin inferior porque el cierre que nos dar es un subconjunto del cierre exacto, es decir, habr puntos que caigan fuera del cierre aproximado.

Descripcin Del Algoritmo

1. Encontrar los puntos Xmin y Xmax con mayor y menor abcisa. 1. Dividir el espacio que hay entre Xmin y Xmax en K franjas verticales de igual anchura. 1. Para cada franja, incluyendo las franjas de los extremos escoger los puntos de mayor y menor ordenada (Hay K+2 franjas y 2k+4 puntos). 1. Aplicar un algoritmo conocido para calcular el cierre convexo de los puntos obtenidos. Se recomienda usar Andrew, ya que los puntos estn casi ordenados por la abcisa, faltara ordenar los dos puntos de cada franja.

Nota: Se puede demostrar que la distancia mxima entre un punto fuera del cierre aproximado y dicho cierre es (Xmax-Xmin)/K. Luego a mayor valor de K mejor ser la aproximacin.

Figura 113. Aproximacin inferior

Complejidad Del Algoritmo

Bsqueda de Xmin y Xmax: O(N) Dividir el espacio en franjas y asignar los 2 puntos a cada una: O(N) Ordenar la muestra: O(K) Aplicar Andrew: O(K)

9.3.12. Aproximacin Superior

Notas Previas

Este algoritmo da un mtodo aproximado para calcular el cierre convexo de una nube de puntos. Se llama Aproximacin superior porque el cierre que nos dar contiene al cierre exacto.

Descripcin Del Algoritmo

1. Encontrar los puntos Xmin y Xmax con mayor y menor abcisa. 1. Dividir el espacio que hay entre Xmin y Xmax en K franjas verticales de igual anchura. 1. Para cada franja, escoger los puntos de mayor y menor ordenada y proyectarlos sobre las lneas verticales que delimitan dicha franja. El par de proyecciones que se genera en cada caso sern los nuevos puntos a considerar (Hay como mucho 4K+4 puntos). 1. Aplicar un algoritmo conocido para calcular el cierre convexo de los puntos obtenidos. Se recomienda usar Andrew por estar los puntos ordenados.

Nota: Se puede demostrar que la distancia mxima entre un punto del cierre aproximado y otro del cierre reales (Xmax-Xmin)/K. Luego a mayor valor de K mejor ser la aproximacin.

Figura 114. Aproximacin superior

Complejidad Del Algoritmo

Bsqueda de Xmin y Xmax: O(N) Dividir el espacio en franjas y asignar los 2 puntos a cada una: O(N) Obtener los puntos mediante las proyecciones: O(K) Aplicar Andrew: O(K)

CONCLUSIONES

De lo anterior se puede concluir que: Las operaciones entre grafos sirven en gran manera para poder crear nuevos grafos a partir de los elementos de los originales. Con estas operaciones problemas de diversos campos como la sntesis de circuitos secuenciales, contadores o sistemas de aperturas son utilizadas con el fin de resolverlas con las menores de las dificultades. Usando las operaciones podemos obtener caminos de sistema de autobuses cuando se tienen varias opciones para un destino. En la arquitectura de redes estas operaciones ayudaran para poder relacionar ms de un sistema de redes con el fin de proveer la comunicacin de la manera ms eficaz en todos los nodos. Un rbol binario se define como un conjunto finito de elementos llamados nodos. Se puede usar terminologa de relaciones familiares para descubrir las relaciones entre los nodos de un rbol Un rbol puede ser implementado fcilmente en una computadora. Lo que tiene que ver con los rboles: Entre las cosas que podemos mencionar se encuentra la raz, los nodos de un rbol y la diferencia entre nodos sucesores y nodos terminales, como se muestran en el contenido del trabajo. Los arboles de expansin son demasiados tiles cuando se representa un costo para transportarse de un nodo en otro, ejemplo el sistema de redes elctricos, donde para viajar de un punto a otro hay un costo de voltaje. Si el costo para viajar de un nodo a otro no es de energa sino de tiempo as como el sistema de redes de comunicacin el tema de arboles de expansin es muy til ya que uno desea que una maquina se conecte con otra en el menor tiempo posible. Los arboles de expansin son tiles cuando se trata de viajas de comercio, esto se debe para hallar la ruta optima para llegar al destino con facilidad. Un conjunto de corte de vrtices U en un grafo G, es un conjunto de vrtices de G, tal que G-U no es conexo o trivial. Similarmente, un conjunto de corte de aristas F es un conjunto de aristas tal que G-F no es conexo. Si los vrtices de una componente conexa a un grafo se divide en dos subconjuntos, de manera que cada dos vrtices en cada subconjunto estn conectados por un paseo que slo atraviesa vrtices en tal subconjunto, entonces el conjunto de aristas que una los vrtices de los dos subconjuntos es un conjunto de corte. Una arista de corte o puente, es una arista anloga a un vrtice de corte; es decir, una que al eliminarla incrementa el nmero de componentes conexos del grafo. Un grafo es biconectado si entre cada par de vrtices del grafo existen al menos dos caminos disjuntos en vrtices. La coloracin de grafos sirve para cuando a cada compilador o nodo se le quiere agregar una labor en particular, con este tema sera muy sencillo crear la asignacin. La telefona mvil utiliza la coloracin de grafos en varios aspectos como por ejemplo en poder darle mayor soporte a ciertos nodos que son de una demanda ms abundante que otros. Un conjunto C del plano afn es convexo si dados dos puntos cualesquiera p y q de c, del segmento que une p y q est contenido en C La envolvente convexa de un conjunto de puntos p es el mejor conjunto convexo que contiene a dichos puntos Un punto de un conjunto S de puntos es interior al cierre convexo si y slo si es interior al tringulo cuyos vrtices son puntos de S, y no es l mismo un vrtice de dicho tringulo. La idea de la tcnica divide y vencers es dividir un problema en subproblemas del mismo tipo y aproximadamente todos ellos del mismo tamao, resolver los subproblemas recursivamente y, finalmente, combinar la solucin de los subproblemas para dar una solucin al problema original.

BIBLIOGRAFA

CAIR, Osvaldo; GUARDATI, Silvia. Estructuras de datos. 3 ed. Mxico D.F. Mc Graw Hill. AHO, J. ULLMAN, J. HOPCROFT, J. Estructuras de datos y algoritmos. Addison Wesley. GRIMALDI, Ralph P. Matemticas discretas y combinatorias. 3 Ed. 1994, Addison Wesley. ROSEN, Kenneth H. Matemticas discretas y sus aplicaciones. 5 Ed. 2004, Mc Graw Hill http://www.ual.es/~fbeltran/envolvente/ http://www.ma3.upc.edu/users/pelayo/research/producto%20fuerte.pdf http://dac.escet.urjc.es/rvmaster/rvmaster/asignaturas/mga/construcciones_planas.pdf http://users.dcc.uchile.cl/~bebustos/apuntes/cc3001/Grafos/#4 http://www.franjafceia.com.ar/i/apuntes/34.pdf http://users.dcc.uchile.cl/~nbaloian/cc20a/post/redes3.html http://www.dma.fi.upm.es/grafos/3distcaminos.pdf

2