194
Estructuras m´ etricas en grafos Mar´ ıa del Carmen Somoza L´opez Memoria para la obtenci´on del t´ ıtulo de Doctor de la Universidad de Vigo 14 de Julio de 2015

Estructuras m´etricas en grafos

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Estructuras m´etricas en grafos

Estructuras metricas en grafos

Marıa del Carmen Somoza Lopez

Memoria para la obtencion del tıtulo de Doctor de la Universidad de Vigo

14 de Julio de 2015

Page 2: Estructuras m´etricas en grafos

3

A Isauro y Rogelio Somoza

Page 3: Estructuras m´etricas en grafos

4

Agradecimientos

Me gustarıa agradecer a mi tutor y director Eusebio Corbacho toda la ayudapersonal recibida para realizar este trabajo. Sin el me hubiera sido total-

mente imposible llevarlo a cabo. El ambiente creado en el seminario dondehe tenido ocasion de trabajar con Vaja Tarieladze, Ricardo Vidal, Fran-

cisco de Arriba, Teresa Abreu y Mikhail Tkachenko ha sido para mi unaexperienza que ha hecho crecer mi gusto por la investigacion matematica,a todos ellos mi agradecimiento por haberme ensenado tanto y ayudado en

este trabajo. Tambien me gustarıa agradecer su comprension y apoyo a miesposo Mario y a mi madre Mercedes.

Page 4: Estructuras m´etricas en grafos

Contenido

Presentacion 7

1 Conjuntos, Listas y Diccionarios 15

1.1 Teorıa de Conjuntos . . . . . . . . . . . . . . . . . . . . . . . 15

1.1.6 Clausura transitiva de una relacion. . . . . . . . . . . 28

1.2 Conjuntos en SAGE . . . . . . . . . . . . . . . . . . . . . . . 31

1.3 Listas en SAGE . . . . . . . . . . . . . . . . . . . . . . . . . . 31

1.4 Diccionarios en SAGE . . . . . . . . . . . . . . . . . . . . . . 36

1.5 Relaciones en SAGE . . . . . . . . . . . . . . . . . . . . . . . 37

2 Nucleos y digrafos 39

2.1 Nucleos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.1.9 Laplaciano de un nucleo . . . . . . . . . . . . . . . . . 48

2.2 Digrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2.2.9 Laplacianos de un digrafo . . . . . . . . . . . . . . . . 53

2.2.14 Grafos y multidigrafos . . . . . . . . . . . . . . . . . . 55

3 Cuasimetricas. 57

3.1 Cuasimetricas . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.1.4 Cuasimetricas asociadas a nucleos . . . . . . . . . . . 59

3.1.18 Embebimiento en un Hilbert . . . . . . . . . . . . . . 67

3.2 Cuasimetricas y metricas en digrafos . . . . . . . . . . . . . . 70

3.2.5 Metricas laplacianas en digrafos . . . . . . . . . . . . . 72

4 Conexiones hamiltonianas mınimas 81

4.1 Ciclos hamiltonianos mınimos . . . . . . . . . . . . . . . . . . 81

4.1.1 Distribuciones radiales . . . . . . . . . . . . . . . . . . 83

4.1.3 Cotas inferiores . . . . . . . . . . . . . . . . . . . . . . 85

4.1.9 Test de Farnsworth-Munsell . . . . . . . . . . . . . . . 89

4.2 Arboles hamiltonianos mınimos . . . . . . . . . . . . . . . . . 107

5 Caminos de Steiner 111

5.1 Arbol mınimo de Steiner . . . . . . . . . . . . . . . . . . . . . 111

5.2 Algoritmos de Steiner . . . . . . . . . . . . . . . . . . . . . . 112

5

Page 5: Estructuras m´etricas en grafos

6 CONTENIDO

5.3 Deformaciones en membranas de grafeno . . . . . . . . . . . . 115

5.4 Atajos de Steiner . . . . . . . . . . . . . . . . . . . . . . . . . 1165.5 Constantes de ganancia . . . . . . . . . . . . . . . . . . . . . 119

Resultados 127

Bibliografıa 130

Indice de programas 141

Anexos 191

Page 6: Estructuras m´etricas en grafos

Presentacion

En el basamento de este trabajo esta la memoria Estructuras metricas en

grafos, defendida el dıa 9 de septiembre de 2010 para la obtencion delDiploma de Estudios Avanzados dentro del programa de tercer ciclo Tecnicas

Matematicas Avanzadas y Aplicaciones, impartido por el departamento deMatematica Aplicada I en el bienio 2008-2010.

En dicha memoria los resultados teoricos estaban apoyados por programasinformaticos realizados en MATLAB y comenzamos este trabajo del mismo

modo hasta que en enero del 2012 el Prof. Francisco Botana nos hablode SAGE (Software for Algebra and Geometry Experimentation) que es un

software matematico libre de usar, modificar y distribuir, especialmente agilen el tratamiento de listas como se pondra de manifiesto a lo largo de este

trabajo. El uso de SAGE nos hizo modificar y ampliar los objetivos de estamemoria que podemos resumir del siguiente modo

OBJETIVOS Y ESTADO DE LA CUESTION:

1. Establecer un primer capıtulo donde se recuerde la axiomatica con-

juntista al estilo que se presenta en [48], introduciendo las primerasordenes de SAGE para manejar conjuntos. Esta conexion entre la ax-

iomatica conjuntista y su facilidad de programacion es SAGE no lahemos visto expresamente reflejada en los diferentes manuales de uso

de este Software.

2. Establecer para cada concepto o teorema unas funciones de SAGE

que nos permitan realizar los calculos y obtener los resultados de unamanera sistematica y con el mınimo esfuerzo.

3. Dar una nueva presentacion de la teorıa de Grafos Clasica, como laque se puede encontrar, por ejemplo, en [9], [10], [14], [15], [17], [18],[34], [54], [66], · · · , a partir de los conceptos de relacion y de nucleo

que son facilmente manejables en SAGE.

4. Estudiar familias de cuasimetricas asociadas a un nucleo generalizando

el estudio realizado en el DEA: Estructuras metricas en grafos.

7

Page 7: Estructuras m´etricas en grafos

8 CONTENIDO

5. En [8] se utilizo la facilidad de programacion en SAGE de listas y

diccionarios para abordar la construccion de ciclos hamiltonianos demınima longitud en conjuntos finitos del plano complejo. Este proble-

ma clasico que habıa sido abordado de diferentes maneras como pode-mos ver, por ejemplo, en [62], [81], [85], [86], · · · , se resolvio en [8] pe-

gando convenientemente los subconjuntos correspondientes a los dife-rentes niveles de convexidad y se ha utilizado en [52] para disenarcircuitos optimos de transporte en la Union Europea. El objetivo,

aquı, es cuantificar la bondad de dicho metodo y utilizarlo en unalınea bien diferente como es la valoracion del test colorimetrico de

Farnsworth-Munsell.

6. Si para un conjunto L de puntos del plano complejo llamamos ganancia

G(L) a la comparacion normalizada, entre la longitud H(L) del arbolhamiltoniano mınimo de L y la longitud S(L) de la conexion mınima

de Steiner:

G(L) = 100H(L)− S(L)

H(L)

surge la cuestion de hallar entre los conjuntos con |L| = n cuales son los

de ganancia maxima Gn. Este es el ultimo objetivo que nos planteamosen esta memoria cuando nos enteramos por [75] que la demostraciondada en [49] de la conjetura de Gilbert y Pollak [61] contenıa serios

errores.

Hemos dividido la memoria en cinco capıtulos y en todos ellos hemos disenado

programas informaticos trasladando directamente la teorıa para poder facil-itar los calculos y hacer experimentos que avalen nuestras conjeturas. Cada

capıtulo lo completamos con una hoja de trabajo (Worksheet) para permi-tir al lector utilizar los programas (funciones) que presentamos. Nuestrasfunciones seguramente puedan hacerse mas eficientes y esa es una de las

labores que dejamos pendientes para el futuro pero nos parecen un ejemploinstructivo de como programar a partir del conocimiento de la teorıa.

En el primer capıtulo presentamos la axiomatica de Bernays, Godel y

von Neumann, que constituye una guıa segura para la manipulacion declases y conjuntos que ha disipado las antinomias clasicas de la teorıa de

conjuntos. Sobre esa base ponemos de manifiesto la utilidad de SAGE en eltratamiento de conjuntos, listas, diccionarios y relaciones. Presentamos una

serie de ordenes de SAGE y funciones realizadas por nosotros que serviranal lector para entender y poder trabajar con las Worksheets de los siguientescapıtulos.

En el segundo capıtulo vemos que un nucleo k : X ×X → R es una lista de

tripletas o un diccionario de palabras de 2 letras de un alfabeto de n letras

Page 8: Estructuras m´etricas en grafos

CONTENIDO 9

(X,≤) y valores en R, en lugar de una matriz hueca como sucedıa cuando

utilizabamos MATLAB como software.

Estudiamos sus propiedades, el operador lineal inducido, presentamos prue-bas simples del teorema espectral de operadores autoadjuntos y del teorema

espectral de operadores cualesquiera que nos permiten una presentacionrapida y precisa del inverso de Moore-Penrose de un operador y definimos ellaplaciano de un nucleo estudiando alguna de sus propiedades para nucleos

simetricos.

Presentamos los digrafos como un caso particular de nucleo. La definicionclasica esta dada a partir del conjunto de vertices V , del conjunto de arcos

E y del peso w(u, v) de cada arco (u, v) ∈ E del digrafo D pero es claroque toda la informacion esta recogida en el nucleo w : V × V → R+. La

literatura sobre grafos, [9], [10], [14], [17], [18], [34], [54], [66], · · · , suelemostrar la relacion entre matrices y digrafos a veces con una lectura com-

plicada, nosotros tratamos el tema desde la informacion proporcionada porel nucleo w e intentamos que sea una exposicion de facil entendimiento parael lector. Un grafo es un digrafo simetrio y aunque se puede tratar la teorıa

de multidigrafos directamente, para la mayorıa de nuestros intereses hemoslogrado formular un problema equivalente, tratable en terminos de digrafos,

reemplazando los conjuntos de arcos paralelos por un solo arco con un pesoadecuado. Para ello utilizamos la funcion deplist(L, c) donde c puede ser el

criterio de reunificacion de arcos paralelos del maximo de sus pesos (M), odel mınimo (m), o de la suma (S) o de la resistencia (R), o de cualquier otro

que el usuario considere adecuado anadir. Gracias a la utilizacion de pesosadecuados para los arcos de un digrafo o las aristas de un grafo podemos

tratar desde un punto de vista formal las teorıas de grafos y multidigrafosdentro de la teorıa de digrafos.

En el tercer capıtulo presentamos la idea de nucleo generador de cuasime-trica y definimos varios tipos de ellos. Presentamos nuevas familias parame-

tricas de cuasimetricas que resultan metricas cuando el nucleo generador essimetrico. En este caso, estudiamos los valores del parametro para el que

las metricas resultan embebibles en un espacio de Hilbert.

Decimos que un nucleo k : V × V → R es generador de metrica en V siel nucleo asociado

q(4)k : V × V → R

(u, v) 7→ k(u, u) + k(v, v)− k(u, v)− k(v, u)

es una metrica en V . En terminos del operador K : RV → RV este nucleo

se escribe

Page 9: Estructuras m´etricas en grafos

10 CONTENIDO

q(4)K : V × V → R

(u, v) 7→ (K(eu − ev)|eu − ev)

y, si |V | = n y elegimos la ordenacion (v1, · · · , vn), en terminos del operadorK : Rn → Rn se escribe como un nucleo defindo en Nn = {1, · · · , n}

q(4)K Nn × Nn → R .

(i, j) 7→ (K(ei − ej)|ei − ej)

Diremos, equivalentemente, que K o K son generadores de una metrica.

Nosotros queremos hacer hincapie en estructuras metricas que se han definido

historicamente en un digrafo (V, E,w) sin imponer de salida la inmersion enun espacio de Hilbert pero comprobando, mediante el teorema de Schoen-

berg [103], si tal inmersion se produce o no.

En este capıtulo tambien tratamos las cuasimetricas de coste mınimo ocuasimetricas de Dikjstra en un digrafo (V, E,w), a partir de la composicion

de relaciones, operacion interna que juega un papel esencial en la teorıa delos espacios uniformes y cuasiuniformes y que, en nuestra presentacion, va adar lugar a una relacion transitiva y reflexiva, ligada al digrafo, que estable-

cera un calibre en V , facilmente programable en SAGE, del que obtendremoslas tablas de valores de la cuasimetrica. De este modo, ponemos de mani-

fiesto que la definicion de digrafo, de la que nosotros partimos, nos permitedesarrollar toda la teorıa de metricas de coste mınimo, considerando cuando

convenga, el digrafo traspuesto o el simetrizado del digrafo de partida.

Las metricas de coste mınimo no son sensibles a las adjunciones de nuevosvertices mediante nuevas aristas para ampliar el grafo dado y, por ello, no

son adecuadas para el estudio metrico de ciertos problemas de circuitoselectricos, quımicos o sociales de los que actualmente se ocupa con exito la

teorıa de grafos. Las cuasimetricas q(i)δ−βk introducidas en este tercer capıtulo

permiten apreciar los cambios de proximidad que se producen en un digrafo

al anadir un nuevo vertice cuando los pesos de los arcos de conexion delnuevo vertice son relativamente significativos.

Klein y Randic [79] probaron que el inverso de Moore-Penrose L+D, del ope-

rador laplaciano de un digrafo simetrico y conexo D, cumple que q(4)

L+D

es una

metrica con esas buenas propiedades. Chebotarev y Shamis [28] probaronque Qα = (I + αLD)−1, donde α > 0 y LD es el operador laplaciano de

un digrafo conexo y simetrico D, cumple que q(4)Qα

es una metrica con esas

buenas propiedades. En la seccion 3.2.5 presentamos pruebas originales delos resultados de [79] y [28] sin necesidad de considerar los digrafos como cir-

cuitos electricos ni de utilizar el complicado teorema de la matriz de bosques.

Page 10: Estructuras m´etricas en grafos

CONTENIDO 11

En el capıtulo 4 presentemos una forma de construir un ciclo hamiltonianooptimo de un conjunto de puntos L. Lo hacemos a partir del trabajo [8]

presentado en el ACA2013 en Malaga por F. de Arriba, E. Corbacho y R.Vidal donde se propuso la particion del conjunto L en sus diferentes nive-

les de convexidad, {L1, · · · , Ln}. Si co(L) es la envoltura convexa de L yδ(co(L)) es su frontera, definimos

L1 = L ∩ δ(co(L)),

L2 = L ∩ δ(co(L \ L1)),

L3 = L ∩ δ(co(L \ (L1 ∪ L2)),

· · ·

Ln = L ∩ δ(co(L \ (L1 ∪ · · · ∪ Ln−1)).

Podrıamos decir que el planteamiento clasico del calculo de un ciclo hamilto-

niano optimo ha sido proponer particiones en el rectangulo (tipo Riemann)y nosotros proponemos particiones segun la geometrıa del conjunto de pun-tos (tipo Lebesgue).

Con el fin de evaluar la bondad de este metodo definimos dos cotas infe-

riores. La primera a partir del arbol generador mınimo obtenido con elalgoritmo de Kruskal [81] y la segunda, propuesta por el Prof. Ricardo Vi-

dal, calcula para cada vertice de L la suma de la longitud de sus dos aristasmenores, siendo el valor de la cota el promedio de todas las sumas. La

funcion bondad sera

bondad(L) = 100 · cotaKV (L)

lon(C)[0]

donde la funcion cotaKV (L) es el maximo de las dos cotas y lon(C)[0]

es la longitud del ciclo hamiltoniano obtenido con la funcion cicloham(L).Testaremos nuestro metodo en distribuciones regulares de puntos y pre-

sentaremos una aplicacion del algoritmo cicloham a la evaluacion del testcolorimetrico de Farnsworth-Munsell que es uno de los mas empleados para

medir la capacidad de discriminacion cromatica y la vision defectiva delcolor, en los seres humanos [87]. Antes de esta evaluacion se presenta una

resumida teorıa matematica del color que nos sirve para introducir el coloren los programas de SAGE.

El ultimo apartado del capıtulo cuarto nos va a servir de introduccion parael capıtulo 5, en el tratamos el problema de construir arboles hamiltonianos

optimos, para listas de complejos con |L| < 6 la funcion optimiza(L) nos

Page 11: Estructuras m´etricas en grafos

12 CONTENIDO

proporciona dicho arbol pero para listas de cardinal mayor solamente con-

seguimos aproximaciones con las funciones CA(L) y caminoham(L). Pre-sentamos unas cotas inferiores, similares a las cotaK(L) y cotaV (L), y la

funcion bondada(L) que nos permite evaluar la bondad de caminoham.

En el ultimo capıtulo presentamos tres funciones en SAGE: Steiner3(L),Steiner4(L) y Steiner5(L) que calculan para un conjunto de 3, 4, o 5 pun-tos L en el plano complejo el arbol de Steiner mınimo (SMT(L)) (vease, [35],

[36], [37], [38], [68], [70], [75], [76], [74], [112], [113]) y nos devuelven:

1. Los puntos de Steiner de L.

2. El dibujo del SMT(L).

3. La longitud S(L) del SMT(L).

4. Una comparacion normalizada, entre la longitud H(L) de la mınima

conexion hamiltoniana de L y la longitud S(L), que llamamos ganancia

G(L) = 100H(L)− S(L)

H(L).

Las dos dislocaciones que se producen en una membrana de grafeno por

causas aun desconocidas son las deformaciones de Stone-Wales y la mitosis(ver, [117], [42], [88]), las funciones Steiner4(L) y Steiner4g(L) nos per-

miten presentar unas motivaciones novedosas para dichas dislocaciones.

Presentamos, entre otros, un ejemplo que, a partir del paquete de funcionesautonomic spain similar a union europea proporcionado por mi companeroEmilio Estevez, calcula la conexion hamiltoniana entre las 20 ciudades galle-

gas mas pobladas, su arbol generador mınimo usando el algoritmo de Kruskaly el arbol mınimo de Steiner proporcionado por nuestro metodo, en dicho

ejemplo puede verse que el SMT es de menor longitud que el proporcionandopor el algoritmo de Kruskal y esto pone de manifiesto que para determinados

problemas donde interese una conexion mınima es mejor calcular un SMTque un arbol generador mınimo.

Para finalizar el capıtulo y a partir de la conexion hamiltoniana optima es-

tudiaremos la constante de ganancia G(L) proporcionada por las funcionesSteinerN (L) para N = 3, 4 o 5. Para cada natural n ≥ 3 designamos

L(n) = {L | |L| = n} y Gn = maxL∈L(n)

{G(L)}

y nos planteamos las tres cuestiones siguientes:

1. La determinacion de listas optimas LOn ∈ L(n) de ganancia maxima.

Page 12: Estructuras m´etricas en grafos

CONTENIDO 13

2. El calculo de las constantes Gn = G(LOn).

3. El calculo de limn→∞

Gn.

Tenemos probado que LO3 es la configuracion equilatera y el valor de G3 =13.33974596215561 pero en la busqueda de las configuraciones optimas de

mayor numero de puntos, no hemos logrado teoremas definitivos, sin em-bargo nuestras funciones Steiner3, Steiner4 y Steiner5 nos han permitido

realizar experimentos de cierto interes y a partir de los cuales planteamosconjeturas sobre la configuracion de las LOn y el valor de Gn, la prueba de

dichas conjeturas sera nuestra futura lınea de trabajo.

Page 13: Estructuras m´etricas en grafos

14 CONTENIDO

Page 14: Estructuras m´etricas en grafos

Capıtulo 1

Conjuntos, Listas y

Diccionarios

1.1 Teorıa de Conjuntos

En el mundo hay cosas y para hablar mas comodamente de ellas cuando las

hacemos objeto de nuestro pensamiento, las designamos por letras minusculasx, y, z, · · · . Si todo lo que podemos pensar de la cosa x lo podemos pensarde y y todo lo que podemos pensar de la cosa y lo podemos pensar de x,

escribimos x = y o y = x.

Sucede con frecuencia que distintas cosas x, y, z, · · · , consideradas por cual-quier motivo bajo un mismo punto de vista, son reunidas mentalmente para

constituir una clase A. Escribimos, entonces, A = {x, y, z, · · · }. Cadacosa constituyente de una clase es un elemento de la misma. Ası, x es

elemento de A. Tambien se dice que x pertenece a A y se escribe x ∈ A.Si todos los elementos de la clase A son elementos de la clase B se dice que

A es una subclase de B o que A esta contenida en B y se escribe A ⊂ B.Si A ⊂ B tanto puede suceder que B ⊂ A como no suceder. En el primercaso, ambas clases son la misma cosa y, por tanto, A = B o B = A. En el

segundo caso decimos que A es una subclase propia de B o que el contenidoA ⊂ B es estricto.

Las cosas tienen propiedades que expresamos en forma de proposiciones

como, por ejemplo, x = y, x ∈ A o A ⊂ B. En general, las desig-namos por letras p, q, · · · y, ası, escribimos

• p[x] si y solo si la cosa x cumple la proposicion p.

• p ∨ q si alguna de las dos proposiciones es verdadera.

• p ∧ q si ambas proposiciones son verdaderas.

15

Page 15: Estructuras m´etricas en grafos

16 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

• ¬p si y solo si p es falsa. En particular,

¬(x = y) se escribe x 6= y

¬(x ∈ A) se escribe x /∈ A¬(A ⊂ B) se escribe A 6⊂ B

• p ⇒ q si y solo si (¬p) ∨ q es verdadera.

• p ⇔ q si y solo si (p ⇒ q) ∧ (q ⇒ p).

Para establecer el alcance de una proposicion utilizamos los cuantificadores

∃ (existe) y ∀ (para todo). Para describir una clase haremos uso delclasificador {· · · : · · · } (todos los · · · tales que · · · ). Utilizaremos la

abreviatura tq para no repetir los dos puntos.

El proceso de rigorizacion de la matematica recibio a finales del XIX elextraordinario impulso de Frege, Dedekind y Cantor para fundamentar

la aritmetica en la logica con el apoyo del lenguaje preciso y las ideas con-juntistas que acabamos de introducir para, mas tarde, sustentar el algebray el analisis en la base firme de la aritmetica.

Sin embargo, ya en los primeros anos del siglo XX, Russell apunto el peligro

que se puede derivar de suponer que para cualquier propiedad p existe unaclase A(p) constituida por todas las cosas que tienen dicha propiedad:

La clase de todos los hombres, no es un hombre, luego hay clases que

no pertenecen a sı mismas. Si r es la propiedad que tienen las clasesque no pertenecen a sı mismas e intentamos responder a la pregunta

de si A(r) cumple r o ¬r, caemos en la siguiente antinomia:

r[A(r)] ⇒ A(r) ∈ A(r) ⇒ ¬r[A(r)] ⇒ A(r) /∈ A(r) ⇒ r[A(r)]

Zermelo observo que las propiedades r y ¬r se refieren a clases que pertenecen

a clases y, si la clase A(r) no fuera de este tipo, la pregunta de si cumpler o ¬r carecerıa de sentido. Ası llego a la necesidad de distinguir las clases

que pertenecen a otras clases y reservo para ellas el nombre tecnico de con-juntos y las letras mayusculas no cursivas A, B, · · ·X, Y, · · · . Cualquier

propiedad p tendra su clase asociada A(p) pero no siempre esta clase seraun conjunto.

La teorıa de conjuntos estudia la obtencion de nuevas clases a partir

de clases ya conocidas y determina si los resultados son conjuntos o no loson. Los once postulados siguientes, basados en la axiomatica de Bernays,Godel y von Neumann, constituyen una guıa segura para la manipulacion

de clases y conjuntos que ha disipado las antinomias clasicas y, hasta ahora,no ha generado otras nuevas. Las recordamos sucintamente para afianzar

las intuiciones del lector siguiendo el primer capıtulo de [48]:

Page 16: Estructuras m´etricas en grafos

1.1. TEORIA DE CONJUNTOS 17

1. Axioma de extension

(x ∈ A) ∧ (x = y) ⇒ (y ∈ A)

2. Axioma de formacionPara toda propiedad p referida a conjuntos existe la clase

A(p) = {x : (x es un conjunto) ∧ p[x]}

(a) Este axioma, junto con el de extension, nos asegura que existe laclase de Russell A(r) y que esta perfectamente determinada. SiA(r) fuese un conjunto deberıa ser posible decidir si cumple o no

cumple r. Como sabemos que ello es imposible, debemos concluirque A(r) no es un conjunto.

(b) Nos asegura la existencia de las clases

i. U = {x : (x es un conjunto) ∧ (x = x)} universal.

ii. ∅ = {x : (x es un conjunto) ∧ (x 6= x)} vacia.

(c) Dadas las clases A y B nos asegura la existencia de las clases

i. Ac = {x : ¬(x ∈ A)} complemento de Aii. A∪ B = {x : (x ∈ A) ∨ (x ∈ B)} union.

iii. A∩ B = {x : (x ∈ A) ∧ (x ∈ B)} interseccion.

iv. A \ B = A∩ Bc diferencia de A con B.

3. Axioma del vacıoLa clase vacia ∅ es un conjunto

4. Axioma de pareja

Si A y B son conjuntos distintos existe el conjunto de dos elementos

{A, B} = {x : (x = A) ∨ (x = B)}

5. Axioma de la union

Si I es un conjunto y para cada i ∈ I consideramos un conjuntoAi, definimos la familia {Ai : i ∈ I} de indicial I . Postulamosque la clase

i∈I

Ai = {x : ∃i ∈ I tq x ∈ Ai}

es un conjunto al que llamamos union de la familia.

6. Axioma de la traza

Si A es un conjunto, para toda clase A, A ∩ A es un conjunto.

(a) El vacıo es un conjunto contenido en cualquier clase A

∅ = ∅ ∩ A ⊂ A

Page 17: Estructuras m´etricas en grafos

18 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

(b) Para toda propiedad p referida a conjuntos y todo conjunto A

A ∩A(p) = {x : (x ∈ A) ∧ p[x]}es un subconjunto de A.

(c) Si A es un conjunto no vacio, los axiomas de traza, de pareja y

de formacion, aseguran que

{A} = {A, ∅} ∩ {x : (x es un conjunto) ∧ (x = A)}es un conjunto de un solo elemento.

(d) La clase universal U no es un conjunto. Si lo fuera, tambiendeberıa serlo U ∩A(r) = A(r) y ya vimos que la clase de Russell

no es un conjunto.

(e) Toda clase contenida en un conjunto es un conjunto. En partic-

ular, si {Ai : i ∈ I} es una familia de conjuntos,⋂

i∈I

Ai = {x : ∀i ∈ I se cumple que x ∈ Ai}

es una clase contenida en el conjunto⋃

i∈I

Ai, luego un conjunto.

7. Axioma de la potenciaTodas las subclases de una clase A constituyen una nueva clase P(A)

llamada potencia de A pues, al ser sus elementos clases que pertenecena una clase, son conjuntos y, por el axioma de formacion,

P(A) = {B : (B es un conjunto) ∧ (B ⊂ A)}es una clase. Ahora postulamos que es un conjunto si lo es A.

(a) Ya vimos que dado un conjunto A 6= ∅, {A} es un conjunto.Como {∅} = P(∅), el axioma de la extiende el resultado al con-

junto vacıo. Es claro que P(∅) tiene un solo elemento, P({1}) ={∅, {1}} tiene dos, P({1, 2}) = {∅, {1}, {2}, {1, 2}} tiene cuatro y

P({1, 2, · · · , n}) tiene 2n.

(b) Dados dos conjuntos distintos A y B podemos considerar los con-

juntos {A} y {A, B} y formar el conjunto {{A}, {A, B}} que lla-mamos par ordenado y denotamos (A, B). Este nombre obe-

dece a que

(A, B) = (X, Y ) ⇔ (A = X) ∧ (B = Y )

(c) Sean A y B dos clases. El axioma de formacion asegura la exis-tencia de una clase constituida por pares ordenados

A× B = {(x, y) : (x ∈ A) ∧ (y ∈ B)}llamada producto cartesiano de A por B.

Page 18: Estructuras m´etricas en grafos

1.1. TEORIA DE CONJUNTOS 19

8. Axioma de la imagen

Una aplicacion f : A → B es una regla que asigna a cada elemento xde la clase A un unico elemento f(x) de la clase B. Por el axioma de

formacionf(A) = {f(x) : x ∈ A}

es una clase que llamamos imagen de A por f . Ahora postulamos

que si A es un conjunto, f(A) tambien es un conjunto.

(a) De este axioma y el de la union deducimos que si A y B son

conjuntos, el producto cartesiano A×B tambien es un conjunto.En efecto:

Para cada x ∈ A definimos la aplicacion

fx : B → A × B tq fx(y) = (x, y) ∀y ∈ B

cuya imagen fx(B) = {(x, y) : y ∈ B} = {x} × B es un

conjunto. La union de la familia de conjuntos {fx(B) : x ∈ A}que, claramente, es el producto A × B, es un conjunto.

(b) Si A y B son conjuntos, la clase constituida por todas las aplica-

ciones f : A → B, que denotaremos BA, es un conjunto.En efecto:Cada aplicacion f : A → B es una subclase del conjunto A × B

y, por tanto, un elemento del conjunto P(A× B). Precisamente,

BA = {x : (x ∈ P(A× B)) ∧ m[x]}

siendo m la propiedad ”para cada a ∈ A uno y solo un b ∈ B”.

Luego, por el axioma de formacion, BA es un conjunto.

9. Axioma del atomo

En todo conjunto A 6= ∅ existe un elemento a ∈ A tal que a ∩ A = ∅.Se admite que un conjunto A pueda tener elementos que sean clases

que, a su vez, contengan elementos de A pero no todos los elementosde A pueden ser de este tipo. Alguno, que llamaremos atomo a, debe

cumplir que (x ∈ A) ⇒ ¬(x ∈ a).

(a) Ningun conjunto A puede ser elemento de sı mismo pues,

A ∈ A ⇒ A ∈ A ∩ {A} ⇒ A ∩ {A} 6= ∅

y como A es el unico elemento de {A}, este conjunto {A} nocumplirıa el axioma del atomo. En consecuencia, A 6= {A}.

(b) Si A y B son conjuntos no vacıos no puede ser que A ∈ B y

B ∈ A pues, en tal caso, el conjunto {A, B} serıa un ejemplo deconjunto sin atomos.

Page 19: Estructuras m´etricas en grafos

20 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

10. Axioma del infinito

Una aplicacion f : A → B tanto puede asociar a distintos elementosde A el mismo elemento de B, como tener f(A) ⊂ B estrictamente.

Para destacar las mejores cualidades decimos que f es

(a) inyectiva si (x1 6= x2) ⇒ (f(x1) 6= f(x2))

(b) suprayectiva si f(A) = B(c) biyectiva si es inyectiva y suprayectiva. En tal caso, existe,

y tambien es biyectiva, la aplicacion inversa de f

f−1 : B → A tq (f−1(y) = x) ⇔ (f(x) = y)

Si entre dos clases A y B se puede definir una aplicacion biyectivadecimos que son biyectables y escribimos A ∼ B o B ∼ A.

Si una clase no vacıa es biyectable con alguna de sus subclases propias,se dice infinita. El axioma del infinito postula la existencia de con-

juntos infinitos. Son necesarios algunos conceptos y notaciones paraprofundizar en su estudio.

(a) Si f : A → B y g : B1 → C son aplicaciones y B ⊂ B1, desig-

namos g|B a la restriccion de g a B y llamamos compuesta de gcon f a la aplicacion

g ◦ f : A → C tq g ◦ f(x) = g(f(x)) ∀x ∈ A

Si B ⊂ A, podemos definir por iteracion las composiciones

f ◦ f = f2, f2 ◦ f = f3, · · · , fn ◦ f = fn+1, · · ·

(b) Sea X un conjunto cualquiera y f : X → X una aplicacion.Decimos que A ⊂ X es invariante1 si f(A) ⊂ A.

Dado cualquier B ⊂ X no vacıo podemos considerar la familia desubconjuntos de X que contienen a B y son invariantes. La inter-seccion de esta familia es el subconjunto Bf ⊂ X que llamamos

envoltura invariante de B por cumplir las tres propiedades quesiguen.

i. B ⊂ Bf

ii. Bf es invariante.

iii. Si A es invariante y B ⊂ A, tambien Bf ⊂ A.

En efecto:

Sea {Ai : i ∈ I} la familia de todos los subconjuntos de X quecontienen a B y son invariantes.

1En caso de duda diremos f -invariante

Page 20: Estructuras m´etricas en grafos

1.1. TEORIA DE CONJUNTOS 21

i. Como B ⊂ Ai ∀i ∈ I , es claro que B ⊂⋂

i∈I

Ai = Bf

ii. Como f(Bf ) ⊂ f(Ai) ⊂ Ai ∀i ∈ I , es claro que f(Bf ) ⊂ Bf

iii. A es miembro de la familia {Ai : i ∈ I} luego Bf ⊂ A.

Destacamos la cuarta propiedad siguiente

Teorema 1.1.1 Principio de induccion completa

Para demostrar que Bf ⊂ Y basta comprobar que

B ⊂ Y y f(Bf ∩ Y ) ⊂ Y

Demostracion:

Si B ⊂ Y se cumple que B ⊂ Bf ∩ Y ⊂ Bf y, por tanto,

f(B) ⊂ f(Bf ∩ Y ) ⊂ f(Bf ) ⊂ Bf .

Si f(Bf ∩ Y ) ⊂ Y se cumple que f(Bf ∩ Y ) ⊂ Bf ∩ Yluego Bf ∩Y es invariante y contiene a B y, en consecuencia,Bf ⊂ Bf ∩ Y . Pero esto sucede si y solo si Bf ⊂ Y . ♦

(c) Un conjunto N es numerable si existe un par {u, f}, con u ∈ N

y f : N → N , tal que f es inyectiva, u /∈ f(N ) y {u}f = N .Como u ∈ N y f(N ) ⊂ N , {u, f(u), f2(u), · · · } ⊂ N y, como

{u, f(u), f2(u), · · · } es invariante y contiene a {u}, tambien secumple que N ⊂ {u, f(u), f2(u), · · ·}. Luego N = {u, f(u), f2(u), · · ·}.Ademas, por ser f inyectiva y u /∈ f(N ), todos los elementos

u, f(u), f2(u), · · · son distintos entre sı.Esto nos proporciona una idea secuencial, muy clara, de los con-

juntos numerables que, por ejemplo, nos permite asegurar quedos conjuntos numerables siempre son biyectables.

(d) Todo conjunto numerable es infinito.

En efecto:Si N es un conjunto numerable y f es la inyeccion canonica, esclaro que N ∼ f(N ). Ademas, el contenido f(N ) ⊂ N es estricto

porque u /∈ f(N ).

(e) Todo conjunto infinito tiene un subconjunto numerable.En efecto:

Sea A un conjunto infinito. Existe un B ⊂ A estrictamente y unabiyeccion f : A → B. Podemos pensarla como f : A → A, elegirun u ∈ A \ B y tomar N = {u}f . Como f(N ) ⊂ N tambien

podemos pensarla como una f : N → N que, naturalmente, serainyectiva. Como u /∈ f(A), u /∈ f(N ) y el par {u, f} prueba que

N es numerable.

Page 21: Estructuras m´etricas en grafos

22 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

11. Axioma de eleccion

Dada una familia {Ai | i ∈ I} de conjuntos no vacıos y disjuntos dos ados, existe un conjunto E que consta exactamente de un elemento de

cada conjunto Ai.

Este axioma ha sido el mas contestado. Conocimos a un lord inglesque tenıa infinitos pares de zapatos e infinitos pares de calcetines. Sumayordomo Charles no tenıa ningun problema para formar un con-

junto cogiendo un zapato de cada uno de los pares pues siempre elegıael derecho. Sin embargo, se negaba a hacer lo mismo con el conjunto

de calcetines.

Godel probo en 1938 que si la teorıa basada en los 10 primeros axio-mas es consistente, tambien lo es la basada en los 11 axiomas y Cohen

probo en 1963 que el axioma de eleccion no se deriva de los otros 10.Ası pues, aunque Charles puede justificar razonadamente su negativa,

nosotros tenemos derecho a un universo matematico donde se puedeelegir sin restricciones. En ese universo se pueden hacer las siguientesextensiones:

(a) Sea X un conjunto cualquiera y {Ai : i ∈ I} cualquier familia

de subconjuntos con X =⋃

i∈I

Ai. Si Y es un conjunto arbitrario

y {fi : Ai → Y : i ∈ I} es una familia de funciones tal quefi|Ai∩Aj

= fj |Ai∩Aj∀(i, j) ∈ I × I , existe una unica funcion

f : X → Y que extiende a cada fi. Es decir, f |Ai= fi ∀i ∈ I .

(b) Si {Ai : i ∈ I} es una particion de X y {fi : Ai → Y : i ∈ I}es una familia de funciones, existe una unica funcion f : X → Yque es extension de cada fi.

Una parte importante del trabajo matematico que se puede realizar sobre

estos 11 axiomas, consiste en hacer operaciones con los elementos de un con-junto X o establecer relaciones entre ellos.

Una operacion interna en X es una aplicacion

∗ : X × X → X(x, y) 7→ x ∗ y

Diremos que esta operacion es

• asociativa si (x ∗ y) ∗ z = x ∗ (y ∗ z) ∀x, y, z ∈ X

• conmutativa si x ∗ y = y ∗ x ∀x, y ∈ X

• l-cancelativa si x ∗ y = x ∗ z ⇒ y = z ∀x, y, z ∈ X

Page 22: Estructuras m´etricas en grafos

1.1. TEORIA DE CONJUNTOS 23

• r-cancelativa si x ∗ y = z ∗ y ⇒ x = z ∀x, y, z ∈ X

• cancelativa si es l-cancelativa y r-cancelativa.

El conjunto X dotado de la operacion ∗ es una estructura que designamos

(X, ∗). En ella pueden existir elementos destacables:

• a ∈ X es absorbente si a ∗ x = x ∗ a = a ∀x ∈ X

• e ∈ X es neutro si e ∗ x = x ∗ e = x ∀x ∈ X

No esta asegurada la existencia de estos elementos pero si alguno existe,debe ser unico. La coexistencia de ambos se da si y solo si X = {a} = {e}.

La estructura (X, ∗) se llama semigrupo si la operacion ∗ es asociativa.Si, ademas, ∗ es conmutativa, el semigrupo se dice abeliano. Un semigrupo

(X, ∗) con elemento neutro e es un monoide y se denota (X, ∗, e).

Si en X , ademas de ∗, tenemos una segunda operacion � diremos que es

• l-distributiva con ∗ si x�(y∗z) = (x�y)∗(x�z) ∀x, y, z ∈ X

• r-distributiva con ∗ si (x∗y)�z = (x�z)∗(y�z) ∀x, y, z ∈ X

• distributiva con ∗ si es l-distributiva y r-distributiva.

Una relacion binaria en X es un elemento P del conjunto P(X × X).Diremos que

x esta P -relacionado con y ⇔ (x, y) ∈ P

El conjunto de todas las relaciones binarias de X se denota R(X).

La diagonal 4 = {(x, x) | x ∈ X} es un importante elemento de R(X).La transposicion canonica

> : X × X → X × X(x, y) 7→ (y, x)

lleva a cada P ∈ R(X) en la relacion traspuesta >(P ).

En R(X) definimos una operacion interna que llamamos composicion,

◦ : R(X)×R(X) → R(X)(P, Q) 7→ P ◦ Q

tal que P ◦ Q = {(x, y) ∈ X × X | ∃z ∈ X con (x, z) ∈ Q y (z, y) ∈ P}.En general, (R(X), ◦) es un semigrupo no conmutativo con unidad ∆ yelemento absorbente ∅ que admite divisores pues, por ejemplo,

{(x1, y1)} ◦ {(x2, y2)} = ∅ si x1 6= y2.

Page 23: Estructuras m´etricas en grafos

24 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

Es facil comprobar la propiedad distributiva de la composicion respecto a la

union de relaciones:

(

i∈I

Pi

)

j∈J

Qj

=⋃

(i,j)∈I×J

Pi ◦ Qj.

Una relacion P ∈ R(X) es reflexiva si ∆ ⊂ P , es simetrica si P = >(P ),

es antisimetrica si P ∩ >(P ) = ∆ y es transitiva si P ◦ P ⊂ P .

Si E ∈ R(X) es reflexiva, simetrica y transitiva diremos que es una relacion

de equivalencia. En este caso si (x, y) ∈ E escribiremos x ∼ y. Cadaelemento x ∈ X genera una clase de equivalencia

[x] = {x′ ∈ X | x′ ∼ x}.

El conjunto cociente X/ ∼= {[x] | x ∈ X} es una particion de X ya que∀x, y ∈ X tenemos la disyuntiva:

[x] ∩ [y] = ∅ o [x] = [y].

La biyectabilidad que hemos definido en la clase universal U ,

A ∼ B ⇔ ∃f : A → B biyectiva

es, claramente, una relacion de equivalencia. El elemento de U/ ∼ de

representante A se suele denotar card(A) o |A| y se llama cardinal de A.

Una relacion transitiva se llama preorden y suede denotarse ≺. Si enun conjunto X tenemos el preorden ≺, podemos definir la relacion �

(x � y) ⇔ (x ≺ y) ∨ (x = y)

que es transitiva y reflexiva. En el conjunto preordenado (X,�) son

importantes los siguientes conceptos:

1. M ∈ X es maximal si M � x ⇒ x � M

2. m ∈ X es minimal si x � m ⇒ m � x

3. s ∈ X es cota superior de A ⊂ X si x � s ∀x ∈ A.

4. σ ∈ X es supremo de A ⊂ X si

(a) σ es cota superior de A

(b) σ � s ∀s cota superior de A

5. i ∈ X es cota inferior de A ⊂ X si i � x ∀x ∈ A.

Page 24: Estructuras m´etricas en grafos

1.1. TEORIA DE CONJUNTOS 25

6. ı ∈ X es ınfimo de A ⊂ X si

(a) ı es cota inferior de A

(b) i � ı ∀i cota inferior de A

7. No esta asegurada la existencia de supremo (ınfimo) para cualquier

A ⊂ X pero, si existe, es unico. Lo designamos, sup A (inf A) pero, sisup A ∈ A (inf A ∈ A), preferimos hablar del maximo de A (mınimo

de A) y denotarlo maxA (minA).

8. Un subconjunto A ⊂ X se dice que es una cadena si

∀{x, y} ⊂ A se cumple que (x � y) ∨ (y � x)

Para estudiar la repercusion del axioma de eleccion en cuestiones de ordennecesitamos la definicion y el lema siguientes:

Definicion 1.1.2 Sea X un conjunto no vacıo y el conjunto preordenado(P(X),⊂). Una pareja {T , f} con T ⊂ P(X) y f : T → X , es una torre

en P(X), si cumple las tres condiciones siguientes

T1. ∅ ∈ T

T2. (C es cadena)∧(C ⊂ T ) ⇒ (⋃

A∈CA ∈ T )

T3. (A ∈ T ) ⇒ (A ∪ {f(A)} ∈ T )

Lema 1.1.3 Lema de la torreSi {T , f} es una torre en P(X), existe un A ∈ T tal que f(A) ∈ A.

Demostracion:

Es evidente que si {{Ti, f} : i ∈ I} es una familia de torres en P(X),

{⋂

i∈I

Ti, f} tambien es una torre y, por tanto, la interseccion de todas las

subtorres de {T , f} es una subtorre minimal {M, f}. Probaremos que M es

una cadena en (P(X),⊂) y podremos tomar A =⋃

M∈MM ya que, entonces,

A ∈ M ⇒ A ∪ {f(A)} ∈ M ⇒ A ∪ {f(A)} ⊂ A ⇒ f(A) ∈ A

Para probar que M es una cadena en (P(X),⊂), buscamos una propiedadcaracterıstica de los elementos de M que estan relacionados, segun ⊂, con

todos los demas elementos de M. Los llamamos enlaces y si E es uno deellos, para cualquier M ∈ M solo se puede dar uno de los dos casos

{

M ⊂ E

E ∪ {f(E)} ⊂ M.

Page 25: Estructuras m´etricas en grafos

26 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

Ello se debe a que la familia

ME = {M ∈ M : (M ⊂ E) ∨ (E ∪ {f(E)} ⊂ M)}

y la aplicacion f constituyen una torre {ME, f} contenida en {M, f} y, elcaracter minimal de esta asegura que ME = M.

Esta propiedad de los enlaces asegura que si E es uno de ellos, E ∪ {f(E)}tambien lo es y, por tanto, E = {E ∈ M : E es un enlace} y f cumplen lacondicion T3 de las torres. Las otras dos condicionnes T1 y T2 son evidentes

y, ası, {E , f} es una subtorre de {M, f}. Su caracter minimal asegura queE = M y, ası, todo elemento de M es un enlace y M es una cadena. ♦.

Lema 1.1.4 Lema de Zorn En un conjunto preordenado (X,�) en el quetoda cadena tiene cota superior, existe al menos un elemento maximal.

Demostracion:

Sea C ⊂ P(X) el conjunto de todas las cadenas de X . Para cada A ∈ Celegimos una cota superior aA y consideramos el conjunto

TA = {x ∈ X : (aA � x) ∧ ¬(x � aA)}

Si TA = ∅ es claro que aA es maximal en (X,�) y la prueba esta concluida.Si suponemos, por el contrario, que {TA : A ∈ C} es una familia de conjuntos

no vacios, el axioma de eleccion nos asegura la existencia de una eleccion

f : C → XA 7→ f(A) ∈ TA

Considerando C ′ = C ∪ {∅} y extendiendo de cualquier modo la f a unaf ′ : C ′ → X , obtenemos la pareja {C ′, f ′} que es torre en P(X). En efecto:

T1. Se cumple por la propia definicion de C ′

T2. Si {Ai : i ∈ I} es una cadena en C ′, U =⋃

i∈I

Ai esta en C ′:

Debemos probar que si U 6= ∅, es una cadena en (X,�). Tomemos al

arbitrio un par {x, y} ⊂ U . Es claro que (x ∈ Aix)∧ (y ∈ Aiy) y como(Aix ⊂ Aiy) ∨ (Aiy ⊂ Aix) resulta que ({x, y} ⊂ Aix) ∨ ({x, y} ⊂ Aiy).

Tanto Aix como Aiy son cadenas en (X,�) luego, (x � y) ∨ (y � x)y, en consecuencia, U es una cadena.

T3. Si A = ∅, A∪{f ′(A)} es un atomo e X luego, trivialmente, una cadenaen (X,�). Si A ∈ C, f ′(A) = f(A) ∈ TA y debemos comprobar que

A ∪ {f(A)} es una cadena en (X �). Como A ya es cadena solo faltarelacionar cualquier x ∈ A con f(A) y ello es facil pues x � aA y

aA � f(A).

Page 26: Estructuras m´etricas en grafos

1.1. TEORIA DE CONJUNTOS 27

El lema de la torre asegura la existencia de un A ∈ C ′ tq f ′(A) ∈ A.

En particular, A 6= ∅ y f ′(A) = f(A) y caemos en la contradiccion

{

f(A) ∈ A ⇒ f(A) � aA

f(A) ∈ TA ⇒ ¬(f(A) � aA)

Ası pues, en la familia {TA : A ∈ C} debe haber algun TA = ∅. ♦

Un preorden reflexivo y antisimetrico es un orden y se representa habitual-

mente por ≤. El conjunto X con el orden ≤ es un conjunto ordenado quese denota (X,≤). Diremos que (X,≤) es totalmente ordenado si

∀{x, y} ⊂ X se cumple (x ≤ y) ∨ (y ≤ x)

Un subconjunto A de un conjunto totalmente ordenado (X,≤) tiene primerelemento si ∃p ∈ A tal que p ≤ x ∀x ∈ A.

Si todo subconjunto no vacıo de (X,≤) tiene primer elemento, se dice que(X,≤) esta bien ordenenado o tiene buena ordenacion.

Lema 1.1.5 Lema de Zermelo En un conjunto cualquiera X se puede definirun orden total ≤ de forma que (X,≤) este bien ordenado.

Demostracion:

En X siempre hay subconjuntos que pueden ser bien ordenados, como, porejemplo, el vacıo o un atomo. Consideramos la familia

F ={

(A,≤A) : (A ∈ P(X))∧ (≤

Aes buen orden en A)

}

y en ella definimos la relacion a

(A,≤A) a (B,≤

B) ⇔

A ⊂ B

≤B

=≤A

enA

(x ∈ A) ∧ (y ∈ B \ A) ⇒ (x ≤B

y)

que es, claramente, un preorden. Si comprobamos que en (F , a) toda ca-

dena tiene cota superior, el lema de Zorn nos asegurara, la existencia de unelemento maximal (M,≤

M) que debera cumplir M = X pues, si existiese

x ∈ X \M lo anadirıamos a (M,≤M

) como ultimo elemento y obtendrıamosun (M ′,≤′) ∈ F que negarıa el caracter maximal de (M,≤

M). Ası, ≤

Msera

un buen orden en X .Comprobemos, pues, que (F , a) cumple la hipotesis de Zorn:

Dada la cadena {(Ai,≤i) : i ∈ I} buscamos una cota superior (U,≤). Es

claro que debemos tomar U =⋃

i∈I

Ai. Veamos como definir ≤:

∀{x, y} ∈ U tenemos(

(x ∈ Aix)∧(y ∈ Aiy))

(

(Aix ⊂ Aiy)∨(Aiy ⊂ Aix))

.

Page 27: Estructuras m´etricas en grafos

28 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

Luego, ∃j ∈ I tq {x, y} ⊂ Aj . Podemos definir x ≤ y ⇔ x ≤j y

pues, si {x, y} ⊂ Ak para k 6= j, sabemos que (x ≤j y) ⇔ (x ≤k y).Es claro que (U,≤) es totalmente ordenado. Veamos que esta bien ordenado:

Si Q ⊂ U es no vacıo, ∃i ∈ I tq Q ∩ Ai 6= ∅. Sea q el primer elementode este subconjunto no vacio de (Ai,≤i) y comprobemos que tambien es

primer elemento de Q. Para cualquier y ∈ Q \ Ai debe existir un j ∈ I talque Ai ⊂ Aj e y ∈ Aj \ Ai luego q ≤j y. En resumen,

∃i ∈ I tq

{

q ≤ x ∀x ∈ Q ∩ Ai

q ≤ y ∀y ∈ Q \ Ai

luego q ≤ z ∀z ∈ Q

Luego (U,≤) ∈ F . Es muy facil ver que (Ai,≤i) a (U,≤) ∀i ∈ I ♦

Del axioma de eleccion hemos deducido el lema de Zorn y de este, el deZermelo. Podemos cerrar el cırculo viendo que del lema de Zermelo se de-

duce el axioma de eleccion:Dada una familia {Ai | i ∈ I} de conjuntos no vacıos y disjuntos dos a dos,

consideramos el conjunto X =⋃

i∈I

Ai y, en el, una buena ordenacion. Cada

Ai tendra un primer elemeto pi y el conjunto E = {pi : i ∈ I} constara

exactamente de un elemento de cada conjunto Ai.

Los lemas de Zorn y de Zermelo son aceptables si y solo si se acepta elaxioma de eleccion. Nosotros podremos usar esas dos potentes herramientas

para demostrar importantes teoremas de existencia.

En cada elemento de la clase universal U se puede definir, al menos, unabuena ordenacion. Por tanto, la clase

V = {(X,≤) : (X ∈ U) ∧ (≤ es buen orden en X)}

es tan o mas amplia que U . En V podemos considerar la relacion

(A,≤) ' (B,≤′) ⇔ ∃f : A → B biyectiva tq a1 ≤ a2 ⇒ f(a1) ≤′ f(a2)

que es, claramente, de equivalencia. El elemento de V/ ' de repre-

sentante (A,≤) se suele denotar ω(A,≤) y se llama ordinal de (A,≤).En este texto a un ordinal finito le llamaremos a veces alfabeto y a suselementos letras.

1.1.6 Clausura transitiva de una relacion.

Un elemento p de una relacion P ∈ R(X) es un par ordenado de elemen-tos de X que podemos denotar genericamente por (p−, p+). Una n-tupla

(p1, · · · , pn) ∈ Pn es un n-camino en X si p+i = p−i+1 ∀i = 1, · · · , n − 1.

Page 28: Estructuras m´etricas en grafos

1.1. TEORIA DE CONJUNTOS 29

Esta circunstancia la resaltamos escribiendo (p1, · · · , pn). Los elementos de

X, p−1 y p+n son llamados el origen y el final del camino. Denotamos por Pxy

el conjunto de todos los caminos con origen x y final y.

Un ciclo es un camino (p1, · · · , pn) con inicio y final iguales que cumple

card(p−1 , p+1 , · · · , p−n , p+

n ) >n

2+ 1

para evitar recorridos de ida y vuelta.

Para cada P ∈ R(X), definimos de forma recursiva

P (1) = P y P (k + 1) = P (k) ◦ P ∀k ∈ N.

Es facil ver que, para k > 1,

P (k) = {(x, y) ∈ X × X | ∃(p1, · · · , pk) ∈ Pxy}.

Definicion 1.1.7 Sea X un conjunto no vacıo, U ⊂ X y P ∈ R(X).

Decimos que U es P -maximal cuando U × U ⊂ P y U ′ × U ′ 6⊂P cuando U ⊂ U ′ y U 6= U ′.

Teorema 1.1.8 Sea X un conjunto no vacıo.

1. Una relacion reflexiva y transitiva C 6= X×X determina una particion

en X constituida por subconjuntos C-maximales a la que llamaremosC-particion.

2. Si D ⊂ C es otra relacion reflexiva y transitiva en X , la D-particiones un refinamiento de la C-particion.

3. La C-particion y la (C ∩ >(C))-particion son iguales y, ası, los con-juntos de la C-particion son las clases de la relacion de equivalencia

(C ∩ >(C)).

Demostracion:

1. Sea x ∈ X . Como (x, x) ∈ 4 ⊂ C, la familia {Xi | i ∈ I} de subcon-juntos de X tales que (x, x) ∈ Xi × Xi ⊂ C es no vacıa. Su union

Xx =⋃

i∈I

Xi tambien cumple que Xx × Xx ⊂ C pues

Xx × Xx =⋃

i∈I

Xi ×⋃

j∈I

Xj =⋃

(i,j)∈I×I

Xi × Xj

y dado cualquier (xi, xj) ∈ Xi ×Xj es claro que (xi, x) ∈ Xi ×Xi ⊂ Cy (x, xj) ∈ Xj × Xj ⊂ C con lo cual (xi, xj) ∈ C ◦ C ⊂ C.

Ası, para cada x ∈ X encontramos un Xx C-maximal que lo contiene.

Page 29: Estructuras m´etricas en grafos

30 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

Ademas, si y 6= x son dos puntos de X se tiene la alternativa Xy =

Xx o Xy ∩ Xx = ∅. En efecto:Si Xy 6= Xx y ∃z ∈ Xy ∩ Xx es claro que

{

Xy × Xx = {(y1, x1) | ∃z tal que (y1, z) ∈ C y (z, x1) ∈ C} ⊂ C ◦ C ⊂ C

Xx × Xy = {(x1, y1) | ∃z tal que (x1, z) ∈ C y (z, y1) ∈ C} ⊂ C ◦ C ⊂ C

y, por tanto,

(Xy∪Xx)×(Xy∪Xx) = (Xy×Xy)∪(Xx×Xx)∪(Xy×Xx)∪(Xx×Xy) ⊂ C

con lo que, por suponer Xy 6= Xx, ni Xy ni Xx serıan C-maximales.

2. Inmediato.

3. Por 2, la (C ∩ >(C))-particion es un refinamiento de la C-particion.Pero es claro que si Xi × Xi ⊂ C tambien se cumple que Xi × Xi ⊂C ∩ >(C) y, por tanto, la C particion tambien es un refinamiento dela (C ∩ >(C))-particion, luego ambas particiones coinciden. ♦

Teorema 1.1.9 Sea X un conjunto no vacıo y P ∈ R(X).

1. T =

∞⋃

k=1

P (k) es una relacion transitiva en X .

2. Si card(P ) = m, T =

m⋃

k=1

P (k).

3. C = 4 ∪ T es una relacion reflexiva y transitiva en X y, por tanto,

determina una C-particion.

Demostracion:

1. T ◦ T =

( ∞⋃

i=1

P (i)

)

∞⋃

j=1

P (j)

=∞⋃

k=1

P (k) = T.

2. Evidentemente

m⋃

k=1

P (k) ⊂ T . Para probar la otra inclusion, si (x, y) ∈

T existe n ∈ N tal que (x, y) ∈ P (n). Si n ≤ m la demostracion esta

terminada. Si n > m existe un n-camino (p1, . . . , pn) con p−1 = x yp+

n = y. Alguno de esos pj ∈ P deberıa aparecer mas de una vez enel n-camino y cambiando la parte pj, · · · , pj por pj, obtenemos que

(x, y) ∈ P (`) con ` < n. Si ` ≤ m la prueba esta terminada pero si` > m podemos repetir el argumento anterior. En un numero finito

de pasos, terminaremos la demostracion.

Page 30: Estructuras m´etricas en grafos

1.2. CONJUNTOS EN SAGE 31

3. Es evidente que 4 ⊂ C, luego es reflexiva. Ademas, es transitiva pues

C ◦C = (4∪ T ) ◦ (4∪ T ) = 4∪ T = C.

Segun 1.1.8, C determina una particion en X constituida por subcon-juntos C-maximales. ♦

La relacion T definida en 1.1.9,1 se llama la clausura transitiva de P .

1.2 Conjuntos en SAGE

Podemos utilizar SAGE para manejar conjuntos finitos y realizar las opera-

ciones definidas en el Axioma 2.

Un conjunto no vacıo puede denotarse enumerando sus elementos entrellaves. Cualquier conjunto, incluso el ∅, se denota enumerando sus elementos

entre corchetes precedidos de la palabra set. Por ejemplo:

S1 = {0, 1, 2, 3, 5}S2 = set([ ])

S3 = set([0, 3, 4, 6])

La union y la interseccion de conjuntos se realizan con las ordenes S1.union(S3)

y S1.intersection(S3) o con los comandos S1 | S2 y S1 & S3.

La diferencia S1 \ S3 se realiza con el comando S1 − S3.

1.3 Listas en SAGE

Definicion 1.3.1 Una lista L de longitud n > 0 en un conjunto C es una

aplicacion de un alfabeto de n letras (ver pag. 28) en C. Salvo mencion encontra, tomaremos como alfabeto canonico ({0, 1, ..., n− 1},≤) siendo ≤ elorden natural en N, y lo designaremos (0, 1, · · · , n− 1). Representaremos L

como la aplicacion:L : (0, 1, ..., n− 1) → C

En SAGE se escribe enumerando los elementos de la imagen entre corchetes:

[[L[0], L[1], ..., L[n− 1]]

La orden len(L) nos da la longitud de la lista L. El ultimo elemento L[n−1]lo podemos obtener con la orden L[−1] independiente de la longitud.

Dada una lista L : (0, 1, ..., n − 1) → C y un par (i, j) ∈ N × N tal que0 ≤ i < j ≤ n − 1, la orden L[i : j] genera la lista Lij : (0, ..., j − i) → C

cuya imagen es [L[i], L[i+ 1], ..., L[j− 1]]. En particular:

Page 31: Estructuras m´etricas en grafos

32 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

Si j = n− 1, la orden se escribe L[i :] y genera la lista cuya imagen es

[L[i], L[i+ 1], ..., L[−1]]

Si i = 0, la orden se escribe L[: j] y genera la lista cuya imagen es

[L[0], L[1], ..., L[j − 1]]

Dada una lista L : (0, 1, ..., n− 1) → C y una k-tupla de numeros naturalesK = (i0, · · · , ik−1) tal que 0 ≤ i0 < · · · < ik−1 ≤ n − 1, la funcion selen-

list(L,K) nos da una lista cuya imagen es [L[i0], L[i1], ..., L[ik−1]].

Para saber el lugar que ocupa un elemento a en la imagen de una listaL : (0, 1, ..., n− 1) → C, usaremos la orden L.index(a).

Para saber cual es el siguiente de un elemento b en la imagen de una lista

L, podemos usar la funcion sig(b,L).

Para reordenar la imagen de una lista L de atras a delante usamos la orden

de SAGE L.reverse() que convierte la lista L en la nueva funcion. Por ello,puede ser conveniente ejecutar primero la orden M=copy(L) y luego la orden

M.reverse().

Para saber si, conjuntistamente, los elementos de la imagen de una lista Lestan en la imagen de otra lista M podemos usar la funcion conliset(L, M).

Para saber si, conjuntistamente, coinciden las imagenes de dos listas L y

M usamos la funcion igualiset(L, M).

La concatenacion de las imagenes de las listas L y M se realiza con la

orden L+M.

Dada una lista L : (0, 1, · · · , n − 1) → C la orden L.append(a) genera lalista La : (0, 1, ..., n) → C tal que L[i] = La[i] ∀i ∈ {0, 1, ..., n − 1} y

L[n] = a.

La supresion en la imagen de la lista L, de los elementos de la imagende la lista M , se consigue con la funcion restalistas(L,M).

La funcion depuralista(L) suprime de la imagen de la lista L los elemen-tos repetidos.

La funcion mezclalistas(L,M) construye una nueva lista en cuya imagen

aparecen, alternativamente, un elemento de la de mayor longitud y otro

Page 32: Estructuras m´etricas en grafos

1.3. LISTAS EN SAGE 33

de la de menor longitud. Cuando se acaban los elementos de la mas corta,

anade los elementos que quedan de la mas larga. Si ambas listas tienen lamisma longitud, toma alternativamente un elemento de la imagen de L y

otro la imagen de M .

En SAGE se puede obtener el listado de las permutaciones de la imagende una lista L, con elementos repetidos o no, mediante la orden Permuta-tions(L).list() y el listado de sus combinaciones de n elementos con la orden

Combinations(L,n).list()

Para cada numero natural n, range(n) es la lista correspondiente a la in-clusion canonica

I : (0, 1, ..., n− 1) → N

Dados tres numeros reales a, b, h tales que a < b y h < b − a, la orden[a, a + h..b] nos da la lista en R

L : (0, 1, ..., n) → R

k 7→ a + kh

donde n = max{m | a + mh ≤ b}.

La funcion listareales(m,M,n) nos devuelve una lista de numeros reales delongitud n cuya imagen son puntos aleatorios del intervalo [m, M ].

Dada una lista L de reales, min(L) y max(L) nos dan el mınimo y el maximo

de su imagen.

Dada una lista L de reales, la orden L.sort() la convierte en una nueva listacuyas imagenes estan en orden ascendente. Por ello, ejecutaremos primerola orden M=copy(L) y luego la orden M.sort().

Dada una lista L : (0, 1, · · · , n − 1) → R y una funcion f : R → C la

orden map(f,L) nos define la lista f ◦ L : (0, 1, · · · , n− 1) → C. Si L[i] es elpunto de la lista L donde f toma su valor maximo, la funcion MAX(f, L)

nos devuelve [f(L[i]), [L[i]] ], del mismo modo, si L[j] es el punto de lalista L donde f toma su valor mınimo, la funcion MIN (f, L) nos devuelve

[f(L[j]), [L[j]] ].

La funcion listacomplejos(T,n) nos devuelve una lista de longitud n denumeros complejos cuyas imagenes estan aleatoriamente distribuidas en elcuadrado [−T, T ]×[−T, T ]. La funcion lon(L) nos devuelve la longitud de la

poligonal determinada por las imagenes de la lista L y la longitud del tramomayor. Las funciones plce(L) y plse(L) pintan, con o sin ejes, las imagenes

de una lista de numeros complejos en color rojo, modificandolas facilmente

Page 33: Estructuras m´etricas en grafos

34 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

podemos pintarlos en otros colores, por ejemplo la funcion plceb(L) lo hace

en color azul.

Las ordenes sum(L) y prod(L) nos dan la suma y el producto de todaslas imagenes de una lista numerica L.

La lista numerica L puede ser modificada sumando, restando, multiplicandoo dividiendo cada uno de los elementos de su imagen por uno fijo z mediante

la funcion oplista(L,o,z) donde (la operacion) o puede ser (la suma) s, (laresta) r , (la multiplicacion) m o (la division) d.

Son de utilidad las siguientes listas de SAGE cuyas imagenes constituyen

configuraciones de interes geometrico de puntos del plano complejo:

1. La funcion rectangular(n, m, b, h) nos devuelve una lista de longitudn × m de complejos distribuidos rectangularmente con n puntos en labase y m puntos en la altura, siendo b y h las distancias respectivas.

Por ejemplo, rectangular(20, 10, 2, 1)

Figura 1.1: rectangular(20,10,2,1)

2. La funcion triangular(n, b, h) una lista de longitudn(n+1)

2 de complejoscon distribucion triangular isosceles de n puntos en la base a distancia

b y alturas h. Por ejemplo, triangular(20, 2, 1)

Figura 1.2: triangular(20,2,1)

Page 34: Estructuras m´etricas en grafos

1.3. LISTAS EN SAGE 35

3. La funcion hexagonal(m, n, r) nos da una lista de longitud 2(n + m +

mn) de complejos situados en los vertices de n×m hexagonos de lador. Por ejemplo, hexagonal(5, 4, 1)

Figura 1.3: hexagonal(5,4,1)

4. La funcion radial(n, m, r, d) nos da una lista de longitud n×m de com-

plejos situados en los vertices de m polıgonos regulares de n vertices,homoteticos respecto de 0, siendo el primero de radio r, el segundo

de radio r + d, el tercero de radio r + 2d y, ası sucesivamente. Porejemplo, radial(8, 12, 1, 3).

Figura 1.4: radial(8,12,1,3)

Para experiementar con colectivos y empresas hemos disenado las funciones:

1. Poblacion(Ai, Af , n) genera una lista de n espanoles nacidos entre los

anos Ai y Af determinando aleatoriamente los datos de su DNI.

2. PoblacionQ(A,n) genera una lista de n espanoles que en el ano A tienen

entre 18 y 55 anos determinando aleatoriamente los datos de su DNI,su titulacion academica y el ambito de su formacion.

Page 35: Estructuras m´etricas en grafos

36 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

1.4 Diccionarios en SAGE

Definicion 1.4.1 Un diccionario de palabras de m letras, con m > 1, delalfabeto de n letras (X,≤) y valores en el conjunto C es una aplicacion

D : Xm → C.

Si en Xm consideramos el orden lexicografico heredado de ≤, el diccionario

D se puede considerar una lista en un alfabeto de (n − 1)m letras.

Si x ∈ Xm se expresa como (x, y), con x ∈ X e y ∈ Xm−1 en lugar dela aplicacion D podemos usar la aplicacion:

D : X → CXm−1donde x 7→ Dx

siendo Dx la aplicacion:

Dx : Xm−1 → C tal que y 7→ D(x, y) .

Si SD y SDx son los soportes de las aplicaciones anteriores, esta informacion

se puede archivar en SAGE en la forma:

{x : {y : D(x, y) | y ∈ SDx}|x ∈ SD}

A su vez, si m − 1 > 1,Dx : Xm−1 → C

sera un diccionario de palabras de m−1 letras. Podremos iterar este proceso

k veces, justamente hasta que m − k = 1, en cuyo caso la aplicacion

Dx1...xk: X → C

sera una lista de elementos de C.

Para archivar la aplicacion D : Xm → C segun este metodo iterativo, uti-lizamos la funcion funtodict(L) siendo L el grafo del soporte de la aplicacion

D dado en el orden lexicografico de Xm.

Por ejemplo, si X = {0, 1, 2, 3}, m = 2 y C = R el diccionario

S : X × X → R

(x, y) 7→ x + y

cuyo grafo del soporte puede darse como la lista:

L = [[0,1, 1], [0, 2, 2], [0, 3, 3], [1, 0, 1], [1, 1, 2], [1,2, 3], [1, 3, 4], [2,0, 2], [2, 1, 3], [2,2, 4], [2, 3, 5], [3,0, 3], [3, 1, 4], [3, 2, 5], [3, 3, 6]]

con la funcion funtodict(L) obtenemos:

{0 : {1 : [1], 2 : [2], 3 : [3]},

Page 36: Estructuras m´etricas en grafos

1.5. RELACIONES EN SAGE 37

1 : {0 : [1], 1 : [2], 2 : [3], 3 : [4]},2 : {0 : [2], 1 : [3], 2 : [4], 3 : [5]},3 : {0 : [3], 1 : [4], 2 : [5], 3 : [6]}} .

Puede suceder que funtodict(L) no nos de los ultimos valores en C en-tonces debemos utilizar un proceso iterativo implementado en la funcionredict(L) para conseguirlo.

Por ejemplo, si X = {0, 1, 2}, m = 4 y C = R y el grafo del soporteesta dado por la lista:

L = [[0, 0, 0, 0, 7], [0,0, 1, 0, 6], [0, 1, 2, 0, 5], [1, 0, 1, 0, 4], [1, 1, 1, 2, 3], [1, 2, 2, 2, 1], [2,2, 0, 0, 4], [2, 2, 1, 2, 1], [2,2, 2, 1, 7]]

con la funcion funtodict(L) obtenemos:

{0 : {0 : {0 : [[0, 7]], 1 : [[0, 6]]}, 1 : {2 : [[0, 5]]}},1 : {0 : {1 : [[0, 4]]}, 1 : {1 : [[2, 3]]}, 2 : {2 : [[2, 1]]}},2 : {2 : {0 : [[0, 4]], 1 : [[2, 1]], 2 : [[1, 7]]}}}

considerando DLL = funtodict(L) y utilizando el proceso iterativo:

for c in DLL:

for b in DLL[c]:

DLL[c][b]=redict(DLL[c][b])

DLL

obtenemos,

{0 : {0 : {0 : {0 : [7]}, 1 : {0 : [6]}}, 1 : {2 : {0 : [5]}}},

1 : {0 : {1 : {0 : [4]}}, 1 : {1 : {2 : [3]}}, 2 : {2 : {2 : [1]}}},2 : {2 : {0 : {0 : [4]}, 1 : {2 : [1]}, 2 : {1 : [7]}}}} .

1.5 Relaciones en SAGE

Hemos dicho, (ver pag. 23) que una relacion binaria en un conjunto X esun subconjunto P ⊂ X × X .

Si (X,≤) es un ordinal finito, y en X×X consideramos el orden lexicograficoinducido por ≤, podemos entender P como una lista de SAGE

LP = [ [x, y] for (x, y) in P ]

o como el diccionario de palabras de dos letras en el alfabeto (X,≤)

DP : X × X → R ,

(x, y) 7→{

1 si (x, y) ∈ P

0 si (x, y) /∈ P

Page 37: Estructuras m´etricas en grafos

38 CAPITULO 1. CONJUNTOS, LISTAS Y DICCIONARIOS

La funcion DP puede ser entendida como la aplicacion:

D : X → RX donde Dx : X → R

x 7→ Dx y 7→ DP (x, y)

que en SAGE se puede archivar como

DP = {x : {y |(x, y) ∈ P} | x ∈ SD}

Para cada n ∈ N la funcion relacion(n) nos genera aleatoriamente unarelacion en el conjunto {0, · · · , n − 1} dada en forma de lista.

La funcion rid(n) nos genera la lista de la relacion identidad en el con-

junto {0, · · · , n − 1}.

Dada una lista L de pares de naturales, la funcion ralfabeto(L) nos de-vuelve el alfabeto (0, · · · , n − 1) mınimo en que puede definirse la relacion

dada por L.

La funcion rtranspose(LP ) genera la lista correspondiente a la relacion

transpuesta >(P ).

Dada una relacion P en forma de lista LP la funcion rlisttomatrix(LP )nos genera una matriz (mi,j) ∈ Mn×n con entradas

mi,j =

{

1 si (i, j) ∈ P

0 si (i, j) /∈ P

Dada una relacion P en forma de lista LP , la funcion rlisttodict(LP ) nosdevuelve P en forma de diccionario DP . A su vez,la funcion rdicttolist(DP )

nos la lista LP .

Dadas dos relaciones P y Q, la funcion comprel(LP , LQ) nos da la lista

de la relacion P ◦Q (ver pag. 23).

La funcion rct(L) hace la clausura transitiva (ver pag. 30) de una relaciondada por la lista L.

Las funciones rreflex(L), rsim(L), rtrans(L), rantisim(L) comprueban

si una relacion dada por la lista L es reflexiva, simetrica, transitiva o anti-simetrica.

Page 38: Estructuras m´etricas en grafos

Capıtulo 2

Nucleos y digrafos

2.1 Nucleos

Llamamos nucleo a todo diccionario de palabras de 2 letras de un alfabeto

de n letras (X,≤) y valores en R:

k : X × X → R.

El nucleo kt = k ◦ > : X × X → R donde > es la transposicion canonica(ver pag. 23) es el nucleo transpuesto de k.

Un caso importante es el nucleo de Kronecker

δ : X × X → R ,

(x, y) 7→{

1 si x = y

0 si x 6= y

Si (x1, · · · , xn) es una enumeracion cualquiera de X , el nucleo k : X×X → R

es representado por la matriz de Mn×n(R)

Mk =

k(x1, x1) · · · k(x1, xn)...

. . ....

k(xn, x1) · · · k(xn, xn)

El nucleo de Kronecker siempre se representa por la matriz unidad deMn×n(R).

Un nucleo k : X × X → R se dice simetrico si k = kt y en cualquierenumeracion esta representado por una matriz simetrica.

Si el soporte de k, Sk = {(x, y) | k(x, y) 6= 0}, tiene |Sk| = m < n2, en

cualquier software matematico consumiremos menos memoria archivando

39

Page 39: Estructuras m´etricas en grafos

40 CAPITULO 2. NUCLEOS Y DIGRAFOS

solo el conjunto {(x, y, k(x, y)) | (x, y) ∈ Sk}. En SAGE se guarda esta in-

formacion como la lista

Lk = [ [x, y, k(x, y)] para (x, y) en Sk].

Para una matriz M ∈ Mn×n(R), la funcion kmatrixtolist(M) nos devuelve

un nucleo k expresado en forma de lista Lk y para una lista de tripletasL = [[x, y, r] con (x, y, r) ∈ X × X × R?] la funcion klisttomatrix(L) nosdevuelve un nucleo k expresado en forma de matriz Mk.

Para calcular el alfabeto (X,≤) usamos la funcion kvertices(Lk).

Dados dos nucleos k1 : X × X → R y k2 : X × X → R representados

por las listas Lk1 y Lk2 podemos definir su composicion con la funcioncomposition(Lk1, Lk2) generalizando la composicion de relaciones (vease pag.

38).

Como todo diccionario un nucleo k : X × X → R tambien puede repre-sentarse como la aplicacion:

D : X → RX con Dx : X → R

x 7→ Dx y 7→ k(x, y)

Si SD y SDx son los soportes de estas aplicaciones tambien se puede archivar

esta informacion como el diccionario SAGE:

Dk = {x : {y : k(x, y) | y ∈ SDx} | x ∈ SD}

La funcion klisttodict(Lk) elabora un diccionario Dk a partir de una lista

Lk y la funcion kdicttolist(Dk) hace la conversion inversa.

El conjunto RX de todas las funciones f : X → R, dotado de la suma

puntual y el producto por escalares, tiene estructura de espacio vectorial.

En RX podemos definir el producto escalar (f |g) =

x∈X

f(x)g(x) que lo con-

vierte canonicamente en un espacio euclıdeo. Para cada x ∈ X definimos el

vector ex ∈ RX tal que

ex : X → R

y 7→ δ(x, y)

Si (x1, · · · , xn) es una enumeracion de X , los vectores {ex1, · · · , exn} cons-

tituyen una base ortonormal del espacio euclıdeo RX . Podemos identificar

RX con Rn mediante la aplicacion lineal IX : RX → Rn tal que IX(exi) =

ei ∀i = 1, · · · , n siendo {e1, · · · , en} la base canonica de Rn.

Lema 2.1.1 Un nucleo k : X × X → R induce la aplicacion

Page 40: Estructuras m´etricas en grafos

2.1. NUCLEOS 41

Lk : RX → RX donde Lkg : X → R

g 7→ Lkg x 7→∑

y∈X

k(x, y)g(y)

que cumple las siguientes propiedades:

1. Lk(g1 + g2) = Lk(g1) + Lk(g2) ∀g1, g2 ∈ RX

2. Lk(λg) = λLk(g) ∀λ ∈ R, ∀g ∈ RX

3. (Lk(ey)|ex) = k(x, y) ∀x, y ∈ X

Demostracion:

Las dos primeras son inmediatas y aseguran que Lk : RX → R

X es unaaplicacion lineal. La tercera tambien es facil:

(Lkey|ex) =∑

x′∈X

Lkey(x′)ex(x

′) = Lkey(x) =∑

y′∈X

k(x, y′)ey(y′) = k(x, y). ♦

Por tanto, para una enumeracion (x1, · · · , xn) de X o una base {ex1, · · · , exn}de R

X , el operador Lk : RX → R

X viene representado por la matriz deMn(R) cuyas entradas son

(Lkexj|exi

) = k(xi, xj)

El nucleo transpuesto kt : X × X → R induce el operador lineal

Lkt : RX → RX donde Lktf : X → R

f 7→ Lktf y 7→∑

x∈X

kt(y, x)f(x)

y es claro que Lkt es el adjunto de Lk pues para todo f, g ∈ RX se cumple:

(Lkg|f) =∑

x∈X

y∈X

k(x, y)g(y)

f(x) =∑

y∈X

(

x∈X

kt(y, x)f(x)

)

g(y) = (g|Lktf).

Si k : X × X → R es un nucleo simetrico, el operador Lk : RX → RX

coincide con su adjunto Lkt y por ello se dice autoadjunto.

Un operador L : RX → RX lineal y autoadjunto se caracteriza por cumplir

(Lg|f) = (g|Lf) ∀f, g ∈ RX .

Si L es autoadjunto, todos sus autovalores son reales pues si α + iβ es

autovalor, existen f, g ∈ RX no nulos tales que

{

Lf = αf − βg

Lg = βf + αg. Luego

{

(Lf |g) = α(f |g)− β(g|g)

(Lg|f) = β(f |f) + α(g|f)y β = 0.

Page 41: Estructuras m´etricas en grafos

42 CAPITULO 2. NUCLEOS Y DIGRAFOS

Ademas, autovectores asociados a autovalores distintos son ortogonales:

{

Lf = λf

Lg = µg⇒{

(Lf |g) = λ(f |g)

(Lg|f) = µ(g|f)⇒ (λ − µ)(f |g) = 0.

Teorema 2.1.2 Teorema espectral de operadores autoadjuntos.Un operador lineal L : R

X → RX es autoadjunto si y solo si existe una base

ortonormal {fx | x ∈ X} de RX y una familia {λx | x ∈ X} ⊂ R tales que

L(f) =∑

x∈X

λx(fx | f)fx ∀f ∈ RX

Demostracion:

Si L es autoadjunto sus valores propios {λx | x ∈ X} son reales y sus autovec-tores asociados son ortogonales. Existe una base ortonormal {fx | x ∈ X}de autovectores. Por tanto,

f =∑

x∈X

(fx | f)fx y L(f) =∑

x∈X

(fx | f)L(fx) =∑

x∈X

λx(fx | f)fx.

Si L(f) =∑

x∈X

λx(fx | f)fx ∀f ∈ RX es claro que (Lg|f) = (g|Lf) ∀f, g ∈ R

X

y, por tanto, L es autoadjunto. Ademas, los λx son sus autovalores y los fx

sus autovectores asociados. ♦

Un operador autoadjunto L : RX → R

X se puede expresar como combi-nacion lineal de operadores de rango uno

L =∑

x∈X

λxfx ⊗ fx siendo fx ⊗ fx : RX → R

X

f 7→ (fx|f)fx

Teorema 2.1.3

1. Un operador lineal autoadjunto L : RX → R

X cumple

‖L‖ = sup‖f‖=1

{|(L(f)|f)|}.

2. Si, ademas, L es definido no negativo, los extremos de la funcion(L(f)|f) sobre la variedad ‖f‖ = 1 son autovalores de L y se alcanzan

en los autovectores correspondientes.

Demostracion:

Page 42: Estructuras m´etricas en grafos

2.1. NUCLEOS 43

1. Designemos B(f) = (L(f)|f) y S = sup‖f‖=1

{|B(f)|}.

Es claro que |B(f)| ≤ ‖L‖ · ‖f‖2 luego S ≤ ‖L‖.Para la desigualdad contraria tenemos en cuenta que

‖L‖ = sup‖f‖=1

{‖L(f)‖} = sup‖f‖=1

{ sup‖g‖=1

{(L(f)|g)}} = sup‖f‖=‖g‖=1

{(L(f)|g)}

Tambien es clara la siguiente cadena de desigualdades

(L(f)|g) =B(f + g)− B(f − g)

4≤ |B(f + g)|+ |B(f − g)|

4≤

≤ S‖f + g‖2 + ‖f − g‖2

4= S

‖f‖2 + ‖g‖2

2≤ S ∀‖f‖ = ‖g‖ = 1.

Por tanto, ‖L‖ ≤ S.

2. La lagrangiana del problema extremal es

LB : RX × R → R

(f, µ) 7→ (L(f)|f)− µ((f |f)− 1)

y las soluciones (f, µ) han de verificar ∇LB(f, µ) = 0, es decir, han de

cumplir queL(f) = µf y (f |f) = 1.

La primera condicion indica que µ debe ser autovalor de L y, multi-

plicandola escalarmente por f , vemos que µ debe ser, tambien, el valorextremo buscado. El vector f en que se alcance el valor extremal debe

ser un autovector de norma 1 asociado a µ. ♦

Teorema 2.1.4 Teorema espectral de operadores cualesquiera. Sean X eY dos conjuntos finitos y K : RY → RX un operador lineal de rango r.

Existen conjuntos ortonormales {g1, · · · , gr} ⊂ RY y {f1, · · · , fr} ⊂ R

X yun conjunto de reales positivos {λ1, · · · , λr} tales que

K =

r∑

i=1

λigi ⊗ fi siendo gi ⊗ fi : RY → R

X

g 7→ (gi|g)fi

Demostracion:

El operador Kt · K : RY → RY es autoadjunto y definido no negativo. El

teorema 2.1.2 asegura la existencia de una base ortogonal {g1, · · · , gn} deRY constituida por vectores propios de Kt · K. Si suponemos que

{

[g1, · · · , gr] = im Kt · K = im K[gr+1, · · · , gn] = kerKt · K = kerK

Page 43: Estructuras m´etricas en grafos

44 CAPITULO 2. NUCLEOS Y DIGRAFOS

los autovalores asociados seran {µ1 > 0, · · · , µr > 0, 0, · · · , 0} y, en conse-

cuencia,

Kt · K =r∑

i=1

µigi ⊗ gi.

El operador P = (Kt · K)12 =

r∑

i=1

√µigi ⊗ gi cumple

‖Pg‖2 = (Kt · K(g)|g) = ‖Kg‖2 ∀g ∈ RY

y, en consecuencia, podemos definir el operador isometrico

U0 : P(RY ) → RX

Pg 7→ Kg

y extenderlo al operador

K : RY P→ P(RY )

U0→ RX

g 7→ Pg 7→ Kg

Entonces,

Kg = U0

(

r∑

i=1

õi(gi|g)gi

)

=

r∑

i=1

√µi(gi|g)U0(gi) ∀g ∈ R

Y

y el teorema queda probado con

{

fi = U0(gi)

λi =√

µi

∀i = 1, · · · , r. ♦

Definicion 2.1.5 Dado un operador lineal K : RY → R

X decimos que eloperador lineal L : RX → RY es inverso generalizado o g-inverso de K si

K · L · K = K.

Teorema 2.1.6 Existe un unico g-inverso de K : RY → R

X , llamadoinverso de Moore-Penrose y denotado K+, con las siguientes propiedades:

1. K · K+ · K = K

2. K+ · K · K+ = K+

3. K · K+ = (K · K+)t

4. K+ · K = (K+ · K)t

Demostracion:

El teorema 2.1.4 asegura para K una representacion

K =

r∑

i=1

λigi ⊗ fi

Page 44: Estructuras m´etricas en grafos

2.1. NUCLEOS 45

Es inmediato comprobar que el operador representado por

K+ =r∑

i=1

1

λi

fi ⊗ gi

es lineal K+ : RX → RY y cumple las propiedades 1. 2. 3. 4.

Si suponemos que existen dos inversos K+1 y K+

2 :K+

1 = K+1 ·K·K+

1 = K+1 ·(K·K+

1 )t = K+1 ·(K+

1 )t ·Kt = K+1 ·(K+

1 )t·(K·K+2 ·K)t =

= K+1 · (K+

1 )t · Kt · (K+2 )t · Kt = K+

1 · (K · K+1 )t · (K · K+

2 )t = K+1 · K · K+

2 .Por otra parte, de modo similar:K+

2 = K+2 ·K·K+

2 = (K+2 ·K)t·K+

2 = Kt·(K+2 )t·K+

2 = (K·K+1 ·K)t·(K+

2 )t·K+2 =

= Kt · (K+1 )t · Kt · (K+

2 )t · K+2 = (K+

1 · K)t · (K+2 · K)t · K+

2 = K+1 · K · K+

2 .Ası, K+

1 = K+2 y la unicidad esta probada. ♦

Siguiendo exactamente los pasos de la demostracion del teorema 2.1.6 hemos

disenado la funcion mpinv(K) que nos devuelve el inverso de Moore-Penrosedel operador K : RX → RX . Sin embargo, si |X | > 8, es preferible usar la

orden importada de Numpy pinv() y aplicarla a la matriz MK del operadorK.

Observaciones 2.1.7

1. Si X = Y y K : RX → R

X es autoadjunto y definido no negativo, K+

tambien es autoadjunto y definido no negativo.

2. Para cualquier K : RY → RX sabemos que existe un unico vector de

norma euclıdea mınima en la variedad Mf = {g ∈ RY | K(g) = f}.

Ese vector es, precisamente, K+(f) porque

K+(f) ∈ (g0 + kerK) ∩ [kerK]⊥ siendo K(g0) = f.

En efecto:

K · K+(f) = K · K+ · K(g0) = K(g0) luego K+(f) ∈ g0 + kerK.

Por otra parte, K+(f) =

r∑

i=1

1

λi(fi|f)gi ∈ [kerK]⊥.

El siguiente lema, obtenido en colaboracion con el Prof. Vaja Tarieladzejuega un importante papel en el estudio de las cuasimetricas laplacianas en

digrafos (ver 3.2.5).

Lema 2.1.8

Sea X un conjunto finito y K : RX → R

X un operador autoadjunto. Sea(x1, · · · , xn) una enumeracion de X y K = (kij) la matriz de K en la base

{ex1, · · · , exn}.

Page 45: Estructuras m´etricas en grafos

46 CAPITULO 2. NUCLEOS Y DIGRAFOS

1. Si K es definido no negativo, kerK = {0} y kij ≤ 0 ∀i 6= j se

tiene:

(K−1exi|exj

) ≥ 0 y (K−1exi|exi

) > 0.

2. Si kerK = [1], la submatriz K[i, j] de K, obtenida al suprimir la filai y la columna j, es inversible ∀(i, j).

3. Si kerK = [1], kij ≤ 0 ∀i 6= j y kii ≥ 0 ∀i, se tiene:

(a) K es definido no negativo.

(b) La matriz K[k, k] es definida positiva ∀k = 1, · · · , n.

(c) Si Bk = (b(k)ij ) es la matriz inversa de K[k, k] y Nn = {1, · · · , n},

b(k)ij ≥ 0 ∀(i, j) ∈ (Nn \ {k})× (Nn \ {k}).

(d) El operador Hk cuya matriz Hk en la base {ex1, · · · , exn} tiene

entradas

h(k)ij =

{

b(k)ij si (i, j) ∈ (Nn \ {k})× (Nn \ {k})0 si (i, j) 6∈ (Nn \ {k})× (Nn \ {k})

es g-inverso de K.

Demostracion:

1. Sean µ1 ≥ µ2 ≥ · · · ≥ µn−1 ≥ µn > 0 los autovalores de K y seaβ > 0 tal que βµ1 < 1. El operador P = I − βK es autoadjunto, con

entradas no negativas y autovalores

0 < 1 − βµ1 ≤ 1− βµ2 ≤ · · · ≤ 1 − βµn−1 ≤ 1 − βµn < 1 .

Como P es autoadjunto definido positivo, el teorema 2.1.3, aseguraque

‖P‖ = sup{‖Pf‖ | ‖f‖ = 1} = 1 − βµn < 1.

Esto implica que

(I −P)−1 = I +

∞∑

k=1

Pk

y su matriz (I − P )−1 tendra entradas no negativas. Como K−1 =

β(I − P)−1, tambien la matrix K−1 tendra entradas no negativas y,por tanto,

(K−1exi|exj

) ≥ 0 ∀(i, j).

Ademas, ((I − P)−1exi|exi

) > 0 ∀i luego (K−1exi|exi

) > 0 ∀i.

Page 46: Estructuras m´etricas en grafos

2.1. NUCLEOS 47

2. La matriz K de entradas (kij) es simetrica y cumple

k11 · · · k1n

.... . .

...

kn1 · · · knn

1...

1

=

0...

0

.

Sus columnas {c1, · · · , cn} forman una familia de Rn cuya suma es 0

y dim [c1, . . . , cn] = n − 1. Suprimiendo cualquier cj obtenemos una

familia libre {c1, · · · , cj−1, cj+1, · · · , cn} y la matriz

k11 · · · k1j−1 kij+1 · · · k1n

.... . .

......

. . ....

kn1 · · · knj−1 knj+1 · · · knn

tendra rango n − 1. Sus filas {f1, · · · , fn} forman una famiia de Rn−1

cuya suma es 0 y dim [f1, . . . , fn] = n − 1. Suprimiendo cualquier fiobtenemos una familia libre {f1, · · · , fi−1, fi+1, · · · , fn} y la matriz

k11 · · · k1j−1 kij+1 · · · k1n

.... . .

......

. . ....

ki−11 · · · ki−1j−1 ki−1j+1 · · · ki−1n

ki+11 · · · ki+1j−1 ki+1j+1 · · · ki+1n

.... . .

......

. . ....

kn1 · · · knj−1 knj+1 · · · knn

= K[i, j]

tendra rango n − 1. Por ser (n − 1)× (n − 1)-cuadrada, es inversible.

3. (a) Sea ∆n = {(i, i) | i ∈ Nn} y designemos

∆+n = {(i, j) ∈ Nn×Nn | i < j} y ∆−

n = {(i, j) ∈ Nn×Nn | i > j} .

Para cualquier f ∈ RX se cumple que

(Kf | f) =n∑

i=1

kiif2(xi)+

(i,j)∈∆+n

kijf(xi)f(xj)+∑

(i,j)∈∆−n

kijf(xi)f(xj)

Como 2f(xi)f(xj) ≤ f2(xi) + f2(xj) y kij ≤ 0 ∀i 6= j,tenemos

(Kf | f) ≥n∑

i=1

kiif2(xi)+

(i,j)∈∆+n

kijf2(xi) + f2(xj)

2+

(i,j)∈∆−n

kijf2(xi) + f2(xj)

2

Ahora bien,

n∑

i=1

kiif2(xi)+

(i,j)∈∆+n

kijf2(xi) + f2(xj)

2+

(i,j)∈∆−n

kijf2(xi) + f2(xj)

2=

Page 47: Estructuras m´etricas en grafos

48 CAPITULO 2. NUCLEOS Y DIGRAFOS

=

n∑

i=1

f2(xi)

kii +1

2

j 6=i

(kij + kji)

y, como

n∑

j=1

kij = 0 ∀i ∈ Nn, kii + 12

j 6=i

(kij + kji) ≥ 0 ∀i ∈

Nn . Luego

(Kf | f) ≥n∑

i=1

f2(xi)

kii +1

2

j∈Nn\{i}(kij + kji)

≥ 0.

(b) De 3a se sigue que K[k, k] es definida no negativa y por 2 sabemosque rang K[k, k] = n − 1. Por tanto K[k, k] es definida positiva.

(c) Se sigue de 3a y de 1 aplicada a K[k, k].

(d) Fijado xk ∈ X sea Pk : RX → R

X la proyeccion ortogonal derango

RXk = [ex1, · · · , exk−1

, exk+1, · · · , exn ]

y sea Jk : RXk ↪→ R

X la inmersion canonica. Es claro que larestriccion de Pk · K · Pk al subespacio RX

k esta representado por

la matriz K[k, k] y que, si Bk : RXk → R

Xk es el operador de matriz

Bk, se tiene que

Hk = Jk · Bk · Pk .

Necesitamos probar que K · Hk · K = K y para ello es suficientever que

K · Hk · K(exi) = K(exi

) ∀i ∈ Nn.

Si i 6= k, tenemos Hk · K(exi) = Jk · Bk · Pk · K(exi

) = exiy, por

tanto,

K · Hk · K(exi) = K(exi

).

Para k, como K(1) = 0, tenemos:

K·Hk·K(exk) = K·Hk·K(1−

i6=k

exi) = −

i6=k

K(exi) = K(exk

) ♦

2.1.9 Laplaciano de un nucleo

Para cualquier nucleo k : X × X → R se define su nucleo laplaciano:

`k : X × X → R

(x, y) 7→ −k(x, y) + δ(x, y)∑

z∈X

k(x, z)

Page 48: Estructuras m´etricas en grafos

2.1. NUCLEOS 49

Si k viene representado por la lista Lk, la funcion laplacian(Lk) calcula la

lista correspondiente al nucleo `k.

Dada la enumeracion (x1, . . . , xn) de X o la base {ex1, . . . , exn} de RX el

nucleo `k : X × X → R y el operador L`k: RX → RX vienen representados

por la matriz laplaciana

M`k=

j 6=1

k(x1, xj) −k(x1, x2) · · · −k(x1, xn)

−k(x2, x1)∑

j 6=2

k(x2, xj) · · · −k(x2, xn)

......

. . ....

−k(xn, x1) −k(xn, x2) · · ·∑

j 6=n

k(xn, xj)

que podemos obtener haciendo actuar la funcion klisttomatrix() sobre la

lista laplacian(Lk)

Teorema 2.1.10 La aplicacion

` : RX×X → RX×X

k 7→ `k

es lineal y cumple las siguientes propiedades:

1. im ` = {h ∈ RX×X |

y∈X

h(x, y) = 0 ∀x ∈ X}

2. ker ` = {k ∈ RX×X | k(x, y) = 0 ∀x 6= y}

3. k ≥ 0 ⇒ `k(x, x) ≥ 0 ∀x ∈ X y `k(x, y) ≤ 0 ∀x 6= y.

Demostracion :La linealidad de ` es evidente. Veamos las propiedades:

1. ∀k ∈ RX×X y ∀x ∈ X se tiene que

y∈X

`k(x, y) =∑

y∈X

(

−k(x, y) + δ(x, y)∑

z∈X

k(x, z)

)

=

= −∑

y∈X

k(x, y) +∑

z∈X

k(x, z) = 0.

Ademas, si∑

y∈X

h(x, y) = 0 ∀x ∈ X , se tiene que `(δ−1)h = h.

En efecto:

`(δ−1)h(x, y) = −(δ(x, y)− 1)h(x, y) + δ(x, y)∑

z∈X

(δ(x, z)− 1)h(x, z)

y, por tanto,

Page 49: Estructuras m´etricas en grafos

50 CAPITULO 2. NUCLEOS Y DIGRAFOS

(a) Si x 6= y, `(δ−1)h(x, y) = h(x, y).

(b) Si x = y, `(δ−1)h(x, x) =∑

z∈X

(δ(x, z)− 1)h(x, z) = h(x, x)

2. Si −k(x, y) + δ(x, y)∑

z∈X

k(x, z) = 0 ∀(x, y) ∈ X × X se cumple que

k(x, y) = 0 ∀x 6= y mientras k(x, x) puede tomar cualquier valor.

3. Si k : X × X → R es no negativo, es claro que

`k(x, x) =∑

z 6=x

k(x, z) ≥ 0 y `k(x, y) = −k(x, y) ≤ 0 si x 6= y ♦

Observaciones 2.1.11

1. Si k : X × X → R es un nucleo simetrico, tambien es simetrico su

nucleo laplaciano `k : X × X → R.

2. La suma de cada una de las filas de la matriz laplaciana de un nucleok : X × X → R es 0 pues ∀i = 1, · · · , n tenemos:

n∑

j=1

`k(xi, xj) = `k(xi, xi) +∑

j 6=i

`k(xi, xj) =∑

j 6=i

k(xi, xj) −∑

j 6=i

k(xi, xj) = 0

3. Si 1 : X → R es la funcion que toma constantemente el valor 1,la propiedad anterior nos dice que L`k

(1) = 0. El operador L`kno

es inyectivo y, por tanto, no inversible. Sin embargo tendra inversogeneralizado de Moore-Penrose.

2.2 Digrafos

Definicion 2.2.1 Un digrafo D es una terna (V, E,w) donde V es un con-

junto finito, E es una relacion en V y w : V × V → R+ es un nucleo cuyosoporte es E. Si ∆ ∩ E = ∅ decimos que el digrafo es simple.

Esta definicion clasica esta dada a partir del conjunto de vertices V , del con-junto de arcos E y del peso w(u, v) de cada arco (u, v) ∈ E del digrafo D pero

es claro que toda la informacion esta recogida en el nucleo w : V ×V → R+.

Como hemos dicho, el nucleo w puede venir dado por una lista Lw o por undiccionario Dw = klisttodict(Lw). Por ejemplo si

Lw = [[0, 1, 2], [0, 2, 3], [1, 3, 4], [1, 2, 1], [2, 4, 1], [2, 3, 2], [3, 2, 1]]

tendremos que

Dw = {0 : {1 : 2, 2 : 3}, 1 : {2 : 1, 3 : 4}, 2 : {3 : 2, 4 : 1}, 3 : {2 : 1}}

Page 50: Estructuras m´etricas en grafos

2.2. DIGRAFOS 51

y podemos recuperar los vertices V = [0, 1, 2, 3, 4] mediante la funcion

kvertices(Lw) (vease pag. 40).

Tambien podemos obtener la representacion habitual del digrafo mediantela orden de SAGE DiGraph( , edge labels = True) que actua tanto sobre

Lw como sobre Dw proporcionandonos la siguente grafica:

Figura 2.1: Digrafo 1

Definiciones 2.2.2 Sea D = (V, E, w) un digrafo.

1. Su digrafo traspuesto es Dt = (V,>(E), wt) siendo wt = w ◦ >.

2. Su digrafo simetrizado es Ds = (V, Es, ws) siendo Es = E ∪ >(E) y

ws =w + wt

2.

3. Si D = Ds decimos que D es un digrafo simetrico.

Para obtener los digrafos traspuesto y simetrizado de un digrafo D = (V, E, w)

dado por la lista Lw usaremos respectivamente, las funciones transpose(Lw)y symmetrized(Lw). Por ejemplo, para el digrafo de la Figura 2.1 obte-

nemos:

Figura 2.2: Digrafo traspuesto y digrafo simetrizado

Page 51: Estructuras m´etricas en grafos

52 CAPITULO 2. NUCLEOS Y DIGRAFOS

Definicion 2.2.3 Un digrafo D′ = (V ′, E ′, w′) es subdigrafo del digrafo

D = (V, E,w) cuando

V ′ ⊂ V, E ′ ⊂ E, y w′|E′ = w|E′.

Si, ademas, V ′ = V decimos que D′ es subdigrafo generador de D.

Definicion 2.2.4 Sea D = (V, E,w) un digrafo y sea T =

∞⋃

k=1

E(k) la

clausura transitiva de la relacion E (vease pag. 31) . Decimos que D es

conexo cuando 4∪ T = V × V .

Teorema 2.2.5 Sea D = (V, E,w) un digrafo y sea la relacion T =

∞⋃

k=1

E(k).

1. Si D es conexo y card(V ) > 1 se tiene que 4 ⊂ T .

2. Si D no es conexo y {V1, · · · , Vq} es la T -particion de V , el digrafo(Vi, Ei, wi) donde Ei = E ∩ Vi × Vi y wi|Ei

= w|Eies un subdigrafo

conexo de (V, E, w) ∀i = 1, · · · , q .

Demostracion:

1. Sea u ∈ V . Existe v ∈ V tal que (u, v) /∈ 4, luego (u, v) ∈ T y(v, u) ∈ T . Ası, (u, u) ∈ T y, como u es cualquiera, 4 ⊂ T .

2. (Vi, Ei, wi) es un claro subdigrafo de (V, E,w) y solo falta probar quees conexo, es decir, que

Vi × Vi = 4i ∪∞⋃

k=1

Ei(k) donde 4i = 4∩ Vi × Vi.

Si card(Vi) = 1, es trivial. Si card(Vi) > 1, es facil ver que Vi × Vi ⊂∞⋃

k=1

E(k). Ası, ∀(u, v) ∈ Vi×Vi existe un camino (e1, · · · , ek) en E con

(e−1 , e+k ) = (u, v) pero la T -maximalidad de Vi asegura que, tambien,

(e1, · · · , ek) es camino en Ei y, en consecuencia, Vi×Vi =

∞⋃

k=1

Ei(k).♦

Definicion 2.2.6 Los subdigrafos (Vi, Ei, wi) de (V, E,w), introducidos en2.2.5,2, son las componentes conexas de (V, E,w).

Definiciones 2.2.7

1. Un digrafo D = (V, E,w) conexo y sin ciclos se llama arbol.

Page 52: Estructuras m´etricas en grafos

2.2. DIGRAFOS 53

2. En un digrafo D = (V, E,w), un subdigrafo generador conexo y sin

ciclos se llama arbol generador.

Observacion 2.2.8 Un arbol D = (V, E,w) es siempre un digrafo simetrico

y cumple la siguiente ley |E| = 2(|V | − 1).

2.2.9 Laplacianos de un digrafo

Dado un digrafo D = (V, E, w) a los nucleos laplacianos `w y `ws los de-

signaremos, respectivamente, `D y `Ds y a sus operadores inducidos, L`w yL`ws

, los designaremos LD y LDs .

Definicion 2.2.10 Llamamos incidencia del digrafo D = (V, E,w) a laaplicacion

uD : E × V → R

(e, v) 7→√

w(e)2 (δ(e+, v)− δ(e−, v))

Teorema 2.2.11 Sea D = (V, E,w) un digrafo y sea UD : RV → RE el

operador asociado a uD. Entonces, U tD ◦ UD = LDs .

Demostracion:Es claro que

UD : RV → R

E donde UDf : E → R

f 7→ UDf e 7→√

w(e)2 (f(e+)− f(e−))

y, por tanto,

(U tD◦UDeu|ev) =

e∈E

UDeu(e)·UDev(e) =∑

e∈E

w(e)

2(eu(e+)−eu(e−))·(ev(e

+)−ev(e−))

Si u 6= v, solo son no nulos los sumandos correspondientes a los pares (u, v)o (v, u) si pertenecen a Es, luego

(U tD ◦ UDeu|ev) = −w(u, v)

2− w(v, u)

2= −ws(u, v)

Por otra parte,

(U tD ◦ UDeu|eu) =

e∈E

w(e)

2(eu(e+) − eu(e−))2 =

v 6=u

ws(u, v)

pues solo son no nulos los sumandos correspondientes a elementos de Es quecontienen a u menos el posible lazo (u, u).

Segun la propiedad 3 del Lema 2.1.1, tenemos

(U tD ◦ UDeu|eu) = `ws(u, v) ∀(u, v) ∈ V × V luego U t

D ◦ UD = LDs .♦

Page 53: Estructuras m´etricas en grafos

54 CAPITULO 2. NUCLEOS Y DIGRAFOS

Comentario 2.2.12 Dado un digrafo D = (V, E,w) simetrico y elegida

una ordenacion de vertices {v1, · · · , vn}, por el teorema 2.2.11 sabemos quela matriz laplaciana M`D

es simetrica y definida no negativa pero no es

definida positiva :

(LDf |f) = (UDf |UDf) = ‖UDf‖2 =1

2

e∈E

w(e)(f(e+) − f(e−))2 ≥ 0.

Corolario 2.2.13 Sea D = (V, E,w) un grafo simetrico con p ≤ n compo-nentes conexas. Su matriz laplaciana M`D

tiene las siguientes propiedades:

1. M`Des irreducible si y solo si p = 1.

2. rang M`D= n − p.

3. 0 es autovalor de M`Dde multiplicidad algebraica p.

4. M`Dtiene n − p autovalores reales positivos. El menor de ellos, que

designamos λ1, cumple que

λ1 = min{(M`D(x)|x) | x ∈ (kerM`D

)⊥ y ‖x‖ = 1}

Demostracion:

1. Si p > 1 existe una C-particion de V , no trivial, {V1, · · · , Vp}. Sienumeramos los vertices de V empezando por los de V1, despues los

de V2, y seguimos ası hasta terminar por los de Vp, es claro que M`D

tendrıa forma diagonal por bloques, con p bloques.

2. Si el i-esimo bloque es de tamano ki × ki, como la suma de cada unade sus columnas es nula, resulta que el vector ni, de coordenadas 1en los lugares k1 + k2 + · · · + ki−1 + 1, · · · , k1 + k2 + · · · + ki y 0 en

los restantes, esta en el nucleo de M`D. Es claro que el conjunto de

vectores {n1, · · · , np} es linealmente independiente. Por otra parte,

si f ∈ kerM`D, el comentario 2.2.12 asegura que f es constante en

cada subconjunto Vi y, por tanto, los vectores {n1, · · · , np} son un sis-

tema generador de kerM`D. Ası, dim kerM`D

= p y, en consecuencia,rangM`D

= n − p.

3. Acabamos de ver que 0 es un autovalor de M`Dde multiplicidad

geometrica p. Solo resta recordar que la multiplicidad algebraica coin-

cide con la geometrica si la matriz es simetrica.

4. Si el autovalor 0 tiene multiplicidad p, la suma de las multiplicidadesde los autovalores positivos es n−p. Sea λ1 el menor autovalor positivo.

Por ser LD : Rn → R

n autoadjunto, las relaciones de Lorch aseguran

Page 54: Estructuras m´etricas en grafos

2.2. DIGRAFOS 55

que (kerLD)⊥ = imLD . La restriccion de LD a (kerLD)⊥ es un opera-

dor P : (kerLD)⊥ → (kerLD)⊥ autoadjunto y positivo que tiene comoautovalores los autovalores positivos de LD. Segun 2.1.3, 2, es claro

que

λ1 = min{(LD(x)|x) | x ∈ (kerLD)⊥ y ‖x‖ = 1}. ♦

2.2.14 Grafos y multidigrafos

A un digrafo simetrico D = (V, E, w) se le ha llamado clasicamente grafo. Si

(u, v) es un arco, (v, u) tambien lo sera y con el mismo peso. En E podemosconsiderar la relacion de equivalencia (u, v) ∼ (v, u) que sustituye los dosarcos opuestos (u, v) y (v, u) por la arista {u, v} y al cociente A = E/ ∼ se

le llama conjunto de aristas {u, v} del grafo G = (V, A, w).Si el nucleo w viene dado por la lista Lw o por el diccionario Dw la orden

de SAGE G = Graph(Dw) lo considera como un objeto propio y la ordenG.plot() lo considera como un objeto grafico. Por ejemplo para el digrafo

simetrico dado en la figura 2.2 obtendrıamos la representacion:

Figura 2.3: Grafo

donde cada pareja de arcos (u, v) y (v, u) con el mismo peso ha sido sustituıdapor una sola arista con ese mismo peso.

Muchas situaciones de la vida real pueden ser modelizadas sobre estas graficas

de digrafos y de grafos. Los vertices pueden ser ciudades, los arcos autopis-tas, las aristas vıas de doble sentido y los pesos los correspondientes peajes ocualidades del viaje; o los vertices pueden ser nodos en un circuito electrico,

los arcos o las aristas los conductores y los pesos las correspondientes re-sistencias; o los vertices pueden ser nodos de una red hidraulica, los arcos o

las aristas tuberıas de agua y los pesos los correspondientes flujos o caudales.

Page 55: Estructuras m´etricas en grafos

56 CAPITULO 2. NUCLEOS Y DIGRAFOS

Dos ciudades pueden estar conectadas por mas de una autopista, dos nodoselectricos pueden estar conectados por mas de un conductor o dos nodos

hidraulicos pueden estar conectados por mas de una canerıa. Estas situa-ciones no pueden ser representadas por un nucleo pero pueden ser archivadas

en una lista que tenga diferentes tripletas con las mismas dos primeras coor-denadas. Por ejemplo, a la lista

L = [[0, 1, 2], [0, 1, 3], [0, 2, 3], [1, 3, 2], [1, 3, 4], [2, 4, 1], [2, 4, 1], [3, 2, 1], [3, 2, 3]]

le corresponde una grafica que denominamos multidigrafo

Figura 2.4: Multidigrafo

porque entre dos vertices puede haber arcos paralelos de igual o diferente

peso.

Aunque se puede tratar la teorıa de multidigrafos directamente, para lamayorıa de nuestros intereses hemos logrado formular un problema equiva-

lente, tratable en terminos de digrafos, reemplazando los conjuntos de arcosparalelos por un solo arco con un peso adecuado. Por ejemplo, si tenemos

diferentes autopistas entre dos ciudades, cogemos la mas barata o la quetenga mejores cualidades para el viaje. Si tenemos varias tuberias entre dos

nodos hidraulicos, consideramos una tuberıa con un flujo igual a la sumade los flujos. Si tenemos m conductores entre dos nodos electricos con re-sistencias r1, · · · , rm, consideramos unicamente un conductor con resistencia

r =(

1r1

+ · · ·+ 1rm

)−1.

Podemos hacer todo esto con la funcion deplist(L,c) donde c es el crite-rio de reunificacion de arcos paralelos que puede ser tomar el maximo de

sus pesos (M), o el mınimo (m), o la suma (S) o la resistencia (R) pero elusuario puede anadir otros criterios si lo considera necesario.

La utilizacion de pesos adecuados para los arcos de un digrafo o las aris-

tas de un grafo nos permite tratar desde un punto de vista formal las teorıasde grafos y multidigrafos dentro de la teorıa de digrafos.

Page 56: Estructuras m´etricas en grafos

Capıtulo 3

Cuasimetricas.

3.1 Cuasimetricas

Definicion 3.1.1 Un nucleo q : X ×X → R es una pseudocuasimetrica en

X si

1. q(x, x) = 0 ∀x ∈ X

2. q(x, y) ≥ 0 si x 6= y

3. q(x, y) ≤ q(x, z) + q(z, y) ∀(x, y, z) ∈ X × X × X

Si en 2. exigimos la desigualdad estricta, decimos que q es una cuasimetrica

y si, ademas, qt = q, decimos que q es una metrica.

Recordemos los siguientes resultados sobre cuasimetricas y metricas

Teorema 3.1.2 Un nucleo d : X×X → R es una metrica en X si cumple:

1. d(x, y) = 0 si y solo si x = y

2. d(x, y) ≤ d(x, z) + d(y, z) ∀(x, y, z) ∈ X × X × X

Demostracion:Tomando x = y, comprobamos que 0 ≤ 2d(x, z) ∀x, z ∈ X .

Tomando x = z, comprobamos que d(x, y) = d(y, x) ∀x, y ∈ X . ♦

Teorema 3.1.3

1. Si q es cuasimetrica en X , tambien lo es qt.

2. Si q es cuasimetrica en X y λ > 0, tambien lo es λq.

3. Si q1 y q2 son cuasimetricas en X , tambien lo es

(q1, q2)∞ : X × X → R

(x, y) 7→ max{q1(x, y), q2(x, y)}

57

Page 57: Estructuras m´etricas en grafos

58 CAPITULO 3. CUASIMETRICAS.

4. Si q1 y q2 son cuasimetricas en X y r ∈ [1,∞), tambien es cuasimetrica

(q1, q2)r : X × X → R

(x, y) 7→ (qr1(x, y) + qr

2(x, y))1r

5. Si q es cuasimetrica en X , (q, qt)r es una metrica en X ∀r ∈ [1,∞].

6. Si q1 y q2 son cuasimetricas en X , min{q1, q2} no es, necesariamente,cuasimetrica en X .

Demostracion:

1, 2 Inmediatas.

3 Es inmediato que (q1, q2)∞ cumple las propiedades 1 y 2 de 3.1.1. Para

la 3 basta observar que si i = 1, 2, se cumple que

qi(x, y) ≤ (q1, q2)∞(x, z) + (q1, q2)∞(z, y) ∀(x, y, z) ∈ X × X × X.

4 Para cualquier real r ∈ [1,∞) es inmediato que (q1, q2)r cumple las

propiedades 1 y 2 de 3.1.1. Ademas, ∀(x, y, z) ∈ X×X ×X se cumple

{

qr1(x, y) ≤ (q1(x, z) + q1(z, y))r

qr2(x, y) ≤ (q2(x, z) + q2(z, y))r

y, por tanto,

(qr1(x, y)+qr

2(x, y))1r ≤ ((q1(x, z) + q1(z, y))r + (q2(x, z) + q2(z, y))r)

1r .

Por la desigualdad de Minkowski

(|x1 + y1|r + |x2 + y2|r)1r ≤ ((|x1|r + |x2|r)

1r + ((|y1|r + |y2|r)

1r ,

tomando q1(x, z) = x1, q2(x, z) = x2, q1(z, y) = y1, q2(z, y) = y2,tenemos

((q1(x, z) + q1(z, y))r + (q2(x, z) + q2(z, y))r)1r ≤

≤ (qr1(x, z) + qr

2(x, z))1r + (qr

1(x, z) + qr2(z, y))

1r .

Luego (qr1(x, y) + qr

2(x, y))1r ≤ (qr

1(x, z) + qr2(x, z))

1r + (qr

1(z, x) +

qr2(z, y))

1r y, en consecuencia, (q1, q2)r cumple 3 de 3.1.1.

5 Por 3.1.3, (q, qt)r es cuasimetrica en X ∀r ∈ [1,∞]. Ademas es claro

que (q, qt)tr = (q, qt)r.

Page 58: Estructuras m´etricas en grafos

3.1. CUASIMETRICAS 59

6 Por ejemplo, si X = {1, 2, 3} y las matrices de q1 y q2 son, respectiva-

mente,

0 1 32 0 2

3 1 0

y

0 2 31 0 1

3 2 0

el min{q1, q2} no es cuasimetrica por tener matriz de valores

0 1 31 0 13 1 0

. ♦

Dada una lista L de tripletas [a, b, c] nos planteamos la existencia de unconjunto X y una cuasimetrica qL : X × X → R+ tal que

(?) [a, b, c] ∈ {[x, y, qL(x, y)] | (x, y) ∈ X × X} ∀[a, b, c] ∈ L.

Para obtener un conjunto minimal que nos sirva como X utilizamos la

funcion kvertices(L) (vease pag. 40) y la funcion qmetric(L) nos respondeTrue o False a la cuestion (?).

Si la respuesta es True, la funcion completeqmetric(L) nos proporciona lamatriz de la cuasimetrica qL : X × X → R relativa a la enumeracion de X

dada por kvertices(L).

3.1.4 Cuasimetricas asociadas a nucleos

Dado un conjunto finito X y un nucleo k : X × X → R nos planteamos

la existencia de cuasimetricas qk : X × X → R+, ligadas de algun modo

al nucleo k, que nos permita inferir la informacion de tipo topologico que

pueda inducir k en el conjunto X . Para abordar este problema damos lassiguientes:

Definiciones 3.1.5 Sea k : X × X → R un nucleo cualquiera. Conside-

ramos los siguientes nucleos que se anulan en la diagonal de X × X :

q(1)k : X × X → R

(x, y) 7→ k(x, x)− k(x, y)

q(2)k : X × X → R

(x, y) 7→ k(y, y)− k(x, y)

q(3)k : X × X → R

(x, y) 7→ k(x, x) + k(y, y)− 2k(x, y)

Page 59: Estructuras m´etricas en grafos

60 CAPITULO 3. CUASIMETRICAS.

q(4)k : X × X → R

(x, y) 7→ k(x, x) + k(y, y)− k(x, y)− k(y, x)

Para i = 1, 2, 3, 4, si q(i)k es una cuasimetrica en X decimos que el nucleo k

es i-generador de cuasimetrica y escribimos k ∈ Gi. Como q(4)k es siempre

un nucleo simetrico, si es cuasimetrica tambien sera metrica.

Teorema 3.1.6 Para cualquier nucleo k : X × X → R se cumplen:

1. q(3)k = q

(1)k + q

(2)k .

2. k ∈ G1 ⇔ kt ∈ G2

3. q(4)k = q

(1)k + q

(1)k

t= q

(2)k + q

(2)k

t

Demostracion:

1. q(1)k (x, y) + q

(2)k (x, y) = k(x, x)− k(x, y) + k(y, y)− k(x, y) = k(x, x) +

k(y, y)− 2k(x, y) = q(3)k (x, y) ∀x, y ∈ X .

2. k ∈ G1 ⇔ q(1)k es cuasimetrica ⇔ q

(1)tk es cuasimetrica.

Y sabemos que q(1)tk (x, y) = q

(1)k (y, x) = k(y, y) − k(y, x) = kt(y, y) −

kt(x, y) = q(2)kt (x, y) ∀x, y ∈ X . Por tanto tenemos que q

(1)tk es

cuasimetrica ⇔ q(2)kt es cuasimetrica ⇔ kt ∈ G2.

3. q(1)k (x, y)+ q

(1)tk (x, y) = k(x, x)−k(x, y)+k(y, y)−k(y, x) = q

(4)k (x, y)

y de forma analoga se prueba para i = 2. ♦

Observaciones 3.1.7 Si los operadorores Lk y Lkt : RX → R

X son losasociados al nucleo k : X × X → R podemos expresar:

1. q(1)k (x, y) = (Lk(ex − ey)|ex) ∀(x, y) ∈ X × X

2. q(2)k (x, y) = (Lkt(ey − ex)|ey) ∀(x, y) ∈ X × X

3. q(3)k (x, y) = (Lk(ex − ey)|ex) + (Lkt(ey − ex)|ey) ∀(x, y) ∈ X × X

4. q(4)k (x, y) = (Lk(ex − ey)|ex − ey) ∀(x, y) ∈ X × X

La eleccion de nucleos como los q(i)k esta sugerida, en parte, por el siguiente:

Teorema 3.1.8 Sea q : X × X → R un nucleo nulo en la diagonal.

1. Para i = 1, 2, 3 existe un nucleo ki : X × X → R tal que q = q(i)ki

.

2. Si q es simetrico, existe un nucleo k4 : X × X → R tal que q = q(4)k4

.

Page 60: Estructuras m´etricas en grafos

3.1. CUASIMETRICAS 61

Demostracion:

1. Para todo (x, y) ∈ X × X podemos proceder:

(a) Fijamos x0 ∈ X y definimos k1(x, y) = q(x, x0)−q(x, y). Es claro

que

q(1)k1

(x, y) = q(x, x0)− q(x, x)− q(x, x0) + q(x, y) = q(x, y)

(b) Fijamos x0 ∈ X y definimos k2(x, y) = q(y, x0)−q(x, y). Es claro

que

q(2)k2

(x, y) = q(y, x0)− q(y, y)− q(y, x0) + q(x, y) = q(x, y)

(c) Fijamos x0 ∈ X y definimos k3(x, y) =q(x, x0) + q(y, x0) − q(x, y)

2.

Es claro que

q(3)k3

(x, y) = q(x, x0)+q(y, x0)−2q(x, x0) + q(y, x0) − q(x, y)

2= q(x, y).

2. Fijamos x0 ∈ X y definimos k4(x, y) = q(x, x0) + q(y, x0) −q(x, y)

2.

Es claro que

q(4)k4

(x, y) = q(x, x0) + q(x, x0) +

q(y, x0) + q(y, x0) +

−q(x, x0) − q(y, x0) +q(x, y)

2+

−q(y, x0) − q(x, x0) +q(y, x)

2= q(x, y). ♦

La funcion qgenerator(Lk, i) nos devuelve el nucleo q(i)k dado en forma de

lista.

Teorema 3.1.9 Sea k : X × X → R un nucleo cualquiera.

1. k ∈ G1 si y solo si se cumplen

(a) k(x, x) > k(x, y) si card(x, y) = 2.

(d) k(z, z) + k(x, y) ≥ k(x, z) + k(z, y) si card(x, y, z) = 3.

Ademas, q(1)k es metrica si y solo si

k(x, x)− k(y, y) = k(x, y)− k(y, x) ∀(x, y) ∈ X × X

2. k ∈ G2 si y solo si se cumplen

Page 61: Estructuras m´etricas en grafos

62 CAPITULO 3. CUASIMETRICAS.

(b) k(y, y) > k(x, y) si card(x, y) = 2.

(d) k(z, z) + k(x, y) ≥ k(x, z) + k(z, y) si card(x, y, z) = 3.

Ademas, q(2)k es metrica si y solo si

k(y, y)− k(x, x) = k(x, y)− k(y, x) ∀(x, y) ∈ X × X

3. k ∈ G3 si y solo si se cumplen

(c) k(x, x) + k(y, y) > 2k(x, y) si card(x, y) = 2.

(d) k(z, z) + k(x, y) ≥ k(x, z) + k(z, y) si card(x, y, z) = 3.

Ademas, q(3)k es metrica si y solo si k = kt.

4. k ∈ G4 si y solo si se cumplen

(e) k(x, x) + k(y, y) > k(x, y) + k(y, x) si card(x, y) = 2.

(f ) 2k(z, z) + k(x, y) + k(y, x) ≥ k(x, z) + k(z, x) + k(z, y) + k(y, z)si card(x, y, z) = 3..

Como q(4)k es simetrico, tambien sera metrica.

Demostracion:

Por ser q(i)k nulo en la diagonal deX × X es claro que

k ∈ Gi ⇔{

q(i)k (x, y) > 0 si card(x, y) = 2

q(i)k (x, z) + q

(i)k (z, y) ≥ q

(i)k (x, y) si card(x, y, z) = 3

.

Ademas, ∀i = 1, 2, 3

q(i)k es metrica ⇔ q

(i)k (x, y) = q

(i)k (y, x) si card(x, y) = 2

Para i = 1, 2, 3, 4 estas condiciones equivalentes se escriben, respectivamente,

1.

{

k(x, x) > k(x, y) si card(x, y) = 2

k(z, z) + k(x, y) ≥ k(x, z) + k(z, y) si card(x, y, z) = 3.

q(1)k es metrica ⇔ k(x, x)−k(y, y) = k(x, y)−k(y, x) si card(x, y) = 2

2.

{

k(y, y) > k(x, y) si card(x, y) = 2

k(z, z) + k(x, y) ≥ k(x, z) + k(z, y) si card(x, y, z) = 3.

q(2)k es metrica ⇔ k(y, y)−k(x, x) = k(x, y)−k(y, x) si card(x, y) = 2

3.

{

k(x, x) + k(y, y) > 2k(x, y) si card(x, y) = 2

k(z, z) + k(x, y) ≥ k(x, z) + k(z, y) si card(x, y, z) = 3.

q(3)k es metrica ⇔ k(x, y) = k(y, x) si card(x, y) = 2

Page 62: Estructuras m´etricas en grafos

3.1. CUASIMETRICAS 63

4.

{

k(x, x) + k(y, y) > k(x, y) + k(y, x) si card(x, y) = 2

2k(z, z)) + k(x, y) + k(y, x) ≥ k(x, z) + k(z, x) + k(z, y) + k(y, z)

si card(x, y, z) = 3.

q(4)k siempre es simetrico, por tanto siempre es metrica. ♦

Teorema 3.1.10 Para cualquier nucleo k : X × X → R se cumple que:

1. G1 ∩ G2 ⊂ G3

2. G3 ⊂ G4 y G1 ∪ G2 ⊂ G4.

3. Si k = kt, G1 = G2 y G3 = G4.

Demostracion:

1. Si k ∈ G1 ∩ G2, q(1)k y q

(2)k son cuasimetricas y, tambien, su suma q

(3)k .

Luego, k ∈ G3 y obtenemos el contenido G1 ∩ G2 ⊂ G3.

2. Si k ∈ G3, por el teorema 3.1.9 se cumple (c) y, por tanto,

{

k(x, x) + k(y, y) > 2k(x, y)

k(y, y) + k(x, x) > 2k(y, x)si card(x, y) = 2

y de la suma de ambas deducimos (e). Ademas, se cumple (d) y

{

k(z, z) + k(x, y) ≥ k(x, z) + k(z, y)

k(z, z) + k(y, x) ≥ k(y, z) + k(z, x)si card(x, y, z) = 3

y de la suma de ambas deducimos (f). Por cumplirse (e) y (f) de-

ducimos que k ∈ G4.El contenido G1 ∪ G2 ⊂ G4 se deduce de 3.1.6, 3.

3. De 3.1.6, 2 se deduce que k = kt ⇔ G1 = G2. Ademas, de 3.1.6, 1y 3 deducimos que k = kt ⇔ G3 = G4. ♦

Si un nucleo k esta dado por una lista L, la funcion generators(L) nos da lalista, eventualmente vacıa, de todos i para los que k ∈ Gi.

Con esta herramienta en la mano podemos comprobar facilmente que to-

dos los contenidos del teorema 3.1.10 pueden ser estrictos:

Ejemplos 3.1.11 Sea k un nucleo representado por la lista L. Entonces:

1. Si L = [[0, 0, 2], [0, 1, 3], [1, 0, 2], [1, 1, 5]], generators(L) = [2, 3, 4].

Por tanto, k ∈ G3 y k /∈ G1 ∩ G2 luego G1 ∩ G2 6= G3.

Page 63: Estructuras m´etricas en grafos

64 CAPITULO 3. CUASIMETRICAS.

2. Si L = [[0, 0, 3], [0, 1, 3.6], [1, 0, 2], [1, 1, 4]], generators(L) = [2, 4].

Por tanto, k ∈ G1 ∪ G2 y k /∈ G3 luego G1 ∪ G2 6⊂ G3 y G3 6= G4.

3. Si L = [[0, 0, 2.5], [0, 1, 3.6], [1, 0, 3.5], [1, 1, 5]], generators(L) = [3, 4].

Por tanto, k ∈ G3 y k /∈ G1 ∪ G2 luego G3 6⊂ G1 ∪ G2 y G1 ∪ G2 6= G4.

4. Si L = [[0, 0, 3], [0, 1, 3.5], [1, 0, 2], [1, 1, 3]], generators(L) = [4].

Por tanto, k ∈ G4 y k /∈ G1 ∪ G2 luego G1 ∪ G2 6= G4.

Observacion 3.1.12 Para cualquier nucleo k : X × X → R si,

∃ a, b ∈ X con k(a, a) = k(a, b) = k(b, a)

se tiene que k 6∈ G1 ni k 6∈ G2, pero puede ocurrir que k ∈ G3 como

sucede en el ejemplo 3.1.11,3. En estos casos q(1)k y q

(2)k son pseu-

docuasimetricas.

Teorema 3.1.13 Sea k : X × X → R un nucleo no nulo. Si

‖k‖∞ = max{|k(x, y)| | (x, y) ∈ X × X} y β0 =1

4‖k‖∞

se cumple:

1. El nucleo δ − β0k ∈ G1 ∩ G2 ⊂ G3 ⊂ G4.

2. q(i)δ−β0k genera la topologıa discreta en X ∀i = 1, 2, 3, 4.

Demostracion:

1. Quedara probado si demostramos que se cumplen las condiciones (a),(b) y (d) del teorema 3.1.9 para el nucleo δ − β0k. Como

k(x, x)− k(x, y) ≤ |k(x, x)− k(x, y)| ≤ 2‖k‖∞ < 4‖k‖∞ =1

β0,

β0k(x, x)−β0k(x, y) < 1 . Si x 6= y tenemos que δ(x, x) = 1 y δ(x, y) =0 y, ası, se cumple (a): δ(x, x)− β0k(x, x) > δ(x, y)− β0k(x, y).

Como

k(y, y)− k(x, y) ≤ |k(y, y)− k(x, y)| ≤ 2‖k‖∞ < 4‖k‖∞ =1

β0,

β0k(y, y)−β0k(x, y) < 1 . Si x 6= y tenemos que δ(y, y) = 1 y δ(x, y) =

0 y, ası, se cumple (b): δ(y, y)− β0k(y, y) > δ(x, y)− β0k(x, y).Como

−k(x, z)− k(z, y) + k(x, y) + k(z, z) ≤

Page 64: Estructuras m´etricas en grafos

3.1. CUASIMETRICAS 65

≤ | − k(x, z)− k(z, y) + k(x, y) + k(z, z)| ≤ 4‖k‖∞ =1

β0,

−β0k(x, z)−β0k(z, y)+β0k(x, y)+β0k(z, z) ≤ 1. Si card(x, y, z) = 3,δ(x, z) = δ(z, y) = δ(x, y) = 0 y δ(z, z) = 1 y, ası, se cumple (d):

δ(x, z)−β0k(x, z)+δ(z, y)−β0k(z, y) ≤ δ(x, y)−β0k(x, y)+δ(z, z)−β0k(z, z).

2. Si x 6= y tenemos:

q(1)δ−β0k(x, y) = 1− β0(k(x, x)− k(x, y)) ≥ 1 − β02‖k‖∞ =

1

2,

q(2)δ−β0k(x, y) = 1− β0(k(y, y)− k(x, y)) ≥ 1 − β02‖k‖∞ =

1

2,

q(3)δ−β0k(x, y) = 2 − β0(k(x, x) + k(y, y)− 2k(x, y)) ≥ 2− β04‖k‖∞ = 1

q(4)δ−β0k(x, y) = 2−β0(k(x, x)+k(y, y)−k(x, y)−k(y, x)) ≥ 2−β04‖k‖∞ = 1

Por tanto, todas generan la topologıa discreta. ♦

La funcion de SAGE b0(Lk) calcula β0 = 14‖k‖∞ para un nucleo k : X×X →

R no nulo, y la funcion V 0(Lk, n) nos devuelve en forma de lista el nucleo

q(n)δ−β0k utilizando como funcion auxiliar V qmetric(Lk, n, β0).

Corolario 3.1.14 Sea k : X × X → R un nucleo no nulo y sean

‖k‖∞ = max{|k(x, y)| | (x, y) ∈ X × X} y β0 =1

4‖k‖∞

Los conjuntos

Ci(k) = {β ∈ R+ | δ − βk ∈ Gi} ∀i = 1, 2, 3, 4,

son intervalos reales que contienen a [0, β0].

Demostracion:

Por 3.1.13 todos ellos contienen a 0 y β0. Ademas, es facil ver que secaracterizan de la siguiente manera:

1. Para i = 1, 2

β ∈ Ci(k) ⇔{

1β > q

(i)k (x, y) si card(x, y) = 2

1β ≥ q

(i)k (x, z) + q

(i)k (z, y)− q

(i)k (x, y) si card(x, y, z) = 3

.

Page 65: Estructuras m´etricas en grafos

66 CAPITULO 3. CUASIMETRICAS.

2. Para i = 3, 4

β ∈ Ci(k) ⇔{

> q(i)k (x, y) si card(x, y) = 2

2β≥ q

(i)k (x, z) + q

(i)k (z, y)− q

(i)k (x, y) si card(x, y, z) = 3

.

Los Ci(k) son intervalos ya que si β ∈ Ci(k) y γ ∈ [0, β) tenemos que 1γ

> 1β

y 2γ

> 2β

y, en consecuecia, γ ∈ Ci(k). ♦.

Observaciones 3.1.15 En las condiciones del corolario 3.1.14 se tiene:

1. Los Ci(k) son intervalos de la forma [0, M), [0, M ] o [0, +∞)

2. Si k = kt, por 3.1.10, C1(k) = C2(k) y C3(k) = C4(k).

3. Si k es una cuasimetrica todos los intervalos Ci(k) son iguales a [0, +∞)

porque las condiciones de caracterizacion dadas en 3.1.14 se cumplen∀β > 0.

4. Designando

Mi = max{q(i)k (x, y) | card(x, y) = 2} ∪ {0} y

Ti = max{q(i)k (x, z) + q

(i)k (z, y)− q

(i)k (x, y) | card(x, y, z) = 3} ∪ {0}

se presentan dos casos en la determinacion de los supremos de Ci(k)

y un caso de no acotacion:

(a) Si Ti > Mi se tiene que Ci(k) =

{

[0, 1Ti

] para i=1,2

[0, 2Ti

] para i=3,4

(b) Si 0 < Mi ≥ Ti se tiene que Ci(k) =

{

[0, 1Mi

) para i=1,2

[0, 2Mi

) para i=3,4

(c) Si 0 = Mi = Ti se tiene que Ci(k) = [0, +∞) para i=1,2,3,4

Para realizar estos calculos hemos implementado en SAGE la funcion V qmetric-inter(L) que usa como funciones auxiliares: maxkernel(L) y maxtriangular(L)y la ya mencionada funcion qgenerator(L, i) (vease pag. 61)

Corolario 3.1.16 Sea k : X × X → R un nucleo no nulo y sean

‖k‖∞ = max{|k(x, y)| | (x, y) ∈ X × X} y β0 =1

4‖k‖∞Si denotamos

βi = sup{Ci(k)} ∀i = 1, 2, 3, 4

se cumple que β0 ≤ min{β1, β2} ≤ β3 ≤ max{β1, β2} ≤ β4. Ademas,

Page 66: Estructuras m´etricas en grafos

3.1. CUASIMETRICAS 67

1. Si k = kt se cumple que β1 = β2 = β3 = β4

2. Si k es cuasimetrica se cumple que β1 = β2 = β3 = β4 = ∞Demostracion:

Se sigue directamente de las observaciones 3.1.15

Observaciones 3.1.17 En las cadenas de contenidos[

0,1

4‖k‖∞

]

⊂ Ci(k) ⊂ R+ ∀i = 1, 2, 3, 4

podemos tener la igualdad o el contenido estricto en todas las posiciones:

1. Si k es simetrico todos los Ci(k) son iguales y los denotamos C(k).

2. Si k es una cuasimetrica, Ci(k) = R+ ∀i = 1, 2, 3, 4.

Si Lk es una lista que representa a un nucleo k, la funcion V qmetricinter(Lk)nos devuelve:

β0 = 14‖k‖∞ .

C1(k)

C2(k)

C3(k)

C4(k)

que son la cota y los diferentes intervalos del nucleo k.

En la Worksheet Capıtulo 3 hemos incluıdo ejemplos de nucleos que nosdan diferentes tipos de intervalos.

3.1.18 Embebimiento en un Hilbert

Cualquier metrica definida en un conjunto finito X genera la topologıa dis-

creta. Una propiedad no topologica que permite distinguir a una metricad : X × X → R, valorando su bondad, es que exista un espacio de Hilbert

H en el que pueda ser embebido isometricamente el espacio (X, d). Cuandotal cosa sucede escribimos (X, d) ↪→ H.

El teorema de Schoenberg [103] nos dice si es posible o no embeber unespacio metrico finito (X, d) en un espacio de Hilbert y en caso afirmativo

nos indica la dimension del espacio euclıdeo tal que (X, d) ↪→ (Rn, ‖ ‖2).Hemos redactado este resultado de 1935 en terminos actuales, dividiendolo

en un teorema y dos corolarios.

Page 67: Estructuras m´etricas en grafos

68 CAPITULO 3. CUASIMETRICAS.

Teorema 3.1.19 (Schoenberg)

Sea (x0, x1, · · ·xn) una enumeracion de X y sea q : X ×X → R+ un nucleo

simetrico nulo en la diagonal. En X0 = X \ {x0}, definimos el nucleo

s : X0 × X0 → R

(xi, xj) 7→ q2(xi, x0) + q2(xj, x0) − q2(xi, xj)

2

Los siguientes hechos son equivalentes:

1. Existe un Hilbert H y vectores v0, v1, · · · , vn ∈ H tales que

q(xi, xj) = ‖vi − vj‖ ∀i, j = 0, 1, · · · , n

2. El operador asociado S : RX0 → RX0 es definido no negativo.

Demostracion;

1 ⇒ 2) Probaremos que

(S(f)|f) =

n∑

i=1

f(xi)(vi − v0)

2

∀f ∈ RX0. (3.1)

En efecto, (S(f)|f) =

n∑

i,j=1

s(xi, xj)f(xi)f(xj) y, por otra parte,

n∑

i=1

f(xi)(vi − v0)

2

=

n∑

i=1

f(xi)(vi − v0)|n∑

j=1

f(xj)(vj − v0)

=

=

n∑

i,j=1

(vi − v0|vj − v0)f(xi)f(xj).

El teorema generalizado de Pitagoras asegura para a, b ∈ H que

(a|b) =‖a‖2 + ‖b‖2 − ‖a − b‖2

2

y, ası,

(vi − v0|vj − v0) =q2(xi, x0) + q2(xj, x0) − q2(xi, xj

2= s(xi, xj).

Por tanto (3.1) implica que (S(f)|f) ≥ 0 ∀f ∈ RX0 y, ası, S es

definido no negativo.

Page 68: Estructuras m´etricas en grafos

3.1. CUASIMETRICAS 69

1⇐ 2) Por ser S simetrico y definido no negativo, existe S 12 tambien simetrico

y definido no negativo.

El espacio euclıdeo RX0 y sus vectores 0, S

12ex1, · · · , S

12 exn , verifican

las condiciones pedidas. ♦

Corolario 3.1.20 En las condiciones del teorema 3.1.19, si existen vec-tores v0, v1, · · · , vn en el espacio euclıdeo Rm que cumplen las condiciones

q(xi, xj) = ‖vi − vj‖ ∀i, j = 0, 1, · · · , n, se verifica que rang(S) ≤ m.

Demostracion:

Consideramos la aplicacion lineal

T : RX0 → Rm

f 7→n∑

i=1

f(xi)(vi − v0)

Segun (3.1) tenemos que (S(f)|f) = ‖T (f)‖2 ≥ 0 ∀f ∈ RX0 y, por tanto,

ker S = kerT . Es claro que rang(T ) ≤ m y, por tanto, rang(S) ≤ m. ♦

Corolario 3.1.21 En las condiciones del teorema 3.1.19, si S es definidono negativo y rang(S) = d, existen vectores u0, u1, · · · , un ∈ Rd tales que

q(xi, xj) = ‖ui − uj‖ ∀i, j = 0, 1, · · · , n.

Demostracion:

Como S es definido no negativo, exite un Hilbert H y vectores v0, v1, · · · , vn

de H tales que q(xi, xj) = ‖vi − vj‖ ∀i, j = 0, 1, · · · , n. Consideramos laaplicacion lineal

T : RX0 → H

f 7→n∑

k=1

f(xk)(vk − v0)

Como rang(S) = d resulta que dimT (RX0) = d. Entonces existe una isome-

tria lineal J : T (RX0) → Rd. Los vectores u0 = 0 y uk = J(xk − x0) ∀k =

1, · · · , n cumplen las condiciones pedidas. ♦

La funcion schoenberg(L) de SAGE nos implementa el teorema 3.1.19 y

el corolario 3.1.21 dando tres posibles respuestas:

1. ”Este nucleo no cumple las condiciones del teorema 3.1.19”.

2. ”False”, cuando no hay embebimiento.

3. ”(True, d)”, cuando hay embebimiento en un espacio euclıdeo de di-

mension d.

Page 69: Estructuras m´etricas en grafos

70 CAPITULO 3. CUASIMETRICAS.

Teorema 3.1.22 Sea X un conjunto finito y k : X × X → R un nucleo

simetrico no nulo. Para i = 1, 2, 3, 4 obtenemos un mismo conjunto

S(k) = {β ∈ C(k) | (X, q(i)δ−βk) ↪→ H}

que es un intervalo real cerrado no degenerado [0, M ].

Demostracion:

Es claro que β = 0 esta en S(k) y los autovalores del nucleo de Schoenbergcorrespondientes son positivos. Por la continuidad de los autovalores como

funciones de β, si M es el valor de β para el que el menor autovalor delnucleo de Schoenberg se anula, la inmersion en un Hilbert esta aseguradaen [0, M ]. Evidentemente, M > 0 y para β > M el nucleo de Schoenberg

ya no sera definido no negativo. ♦

La funcion embedinginter(L) de SAGE nos calcula por un algoritmo debiseccion el intervalo S(k) para un nucleo k dado por la lista L.

Observaciones 3.1.23

1. El teorema 3.1.22 y los experimentos numericos realizados nos hacenpensar que S(k) debe ser un intervalo. Sin embargo, esta cuestion aunno ha podido ser demostrada.

2. Para nucleos k : X × X → R generados aleatoriamente, hemos obser-

vado una alta frecuencia de casos en que (X, q(3)

δ− 14‖k‖∞

k) ↪→ H cuando

|X | ≤ 25, mientras que los casos en que (X, q(3)

δ− 14‖k‖∞

k) 6↪→ H son muy

frecuentes cuando |X | ≥ 35.

3.2 Cuasimetricas y metricas en digrafos

Definiciones 3.2.1 Sea D = (V, E, w) un digrafo.

1. Dado un camino Γ = (e1, · · · , en) en V , definimos su coste como el

numero w(Γ) =

k∑

i=1

w(ei).

2. Llamamos coste del digrafo al numero w(D) =∑

e∈E

w(e).

Teorema 3.2.2 Sea D = (V, E,w) un digrafo y T =

∞⋃

k=1

E(k) la clausura

transitiva de E. El nucleo

Page 70: Estructuras m´etricas en grafos

3.2. CUASIMETRICAS Y METRICAS EN DIGRAFOS 71

qD : V × V → R

(u, v) 7→

0 si (u, v) ∈ ∆

minΓ∈Puv

{w(Γ)} si (u, v) ∈ T \ ∆

1 + w(D) si (u, v) /∈ T ∪ ∆

es una cuasimetrica en V que se llama cuasimetrica de Dikjstra de D.

Demostracion:

Las propiedades 1 y 2 de 3.1.1 son evidentes. Sean (u, t, v) ∈ V × V × V ycomprobemos la propiedad 3:

Si u, t, v estan en la misma componente conexa, existen Γ1 ∈ Put y Γ2 ∈ Ptv

tales que qD(u, t) = w(Γ1) y qD(t, v) = w(Γ2). El camino concatenado

Γ1Γ2 esta en Puv y, por tanto,

qD(u, v) ≤ w(Γ1Γ2) = qD(u, t) + qD(t, v).

Si u, t, v no estan en la misma componente conexa, se cumple que Put = ∅ oPtv = ∅ y, por tanto, la desigualdad es trivial. ♦

Observaciones 3.2.3

1. Hemos definido qD(u, v) como el mınimo de los costes de los caminosde Puv. Si Puv fuera vacıo, qD(u, v) deberıa ser infinito y para evitar

ese inconveniente, le hemos dado el valor 1+w(D) que tambien es uncoste inalcanzable para cualquier camino que no tenga arcos repetidos.

2. La operacion de composicion de relaciones juega un papel basico en

la teorıa de los espacios uniformes y cuasiuniformes. Ahora, en undigrafo D = (V, E,w) la clausura transitiva de E no solo simplifica la

presentacion teorica de la cuasimetrica de Dijkstra sino tambien nospermite disenar un algoritmo para calcularla. Lo hacemos a partir de

la funcion de SAGE kct(Lw) que calcula la clausura transitiva de Ey devuelve el coste del camino de mınimo coste existente entre dos

vertices conectados usando la funcion deplist(Lw, m) (vease pag. 56).

3. La funcion dijkstra(Lw) devuelve la matriz cuadrada de la cuasimetricade Dijkstra del digrafo D segun la enumeracion de los vertices dados

por kvertices(Lw).

Teorema 3.2.4 Sea D = (V, E, w) un digrafo, Dt su traspuesto y Ds

su simetrizado. Las respectivas cuasimetricas de Dikjstra cumplen las si-

guientes relaciones:

1. qDt = qtD.

2. qDs es una metrica

Page 71: Estructuras m´etricas en grafos

72 CAPITULO 3. CUASIMETRICAS.

3. Si E = >(E), se verifica que min{qD, qtD} ≤ qDs

4. Si E ∩ >(E) = ∅, se verifica que qDs ≤ (qD, qtD)∞.

Demostracion:

1. Tenemos que probar que qDt(u, v) = qD(v, u). Pero esto es evidente

porque Puv en >(E) coincide con Pvu en E y los costes de los caminosson iguales.

2. Puesto que Ds = Dts del apartado anterior deducimos qt

Ds= qDs . Ası,

qDs es una metrica.

3. Es claro que min{qD, qtD}(u, v) ≤ qDs(u, v) cuando u = v o cuando el

conjunto de caminos Puv en E es vacıo. En otro caso, supongamos

que qDs(u.v) = Γs(e1, · · · , ek) =k∑

i=1

w(ei) + wt(ei)

2y, ası,

∃(e1, · · · , ek) tal que qD(u, v) ≤k∑

i=1

w(ei)

∃(>(ek), · · · ,>(e1)) tal que qtD(u, v) ≤

k∑

i=1

w(>(ei))

y se verifica que 2 min{qD(u, v), qtD(u, v)} ≤ qD(u, v) + qt

D(u, v) ≤2qDs(u, v) y, por tanto,

min{qD(u, v), qtD(u, v)} ≤ qDs(u, v)

4. Sea E ∩ >(E) = ∅. La desigualdad es clara cuando u = v o cuandoel conjunto de caminos Puv en E es vacıo. En otro caso, supongamos,por ejemplo, que (qD, qt

D)∞(u, v) = qD(u, v). Entonces,

(qD, qtD)∞(u, v) =

k∑

i=1

w(ei) ≥k∑

i=1

w(ei) + 0

2=

k∑

i=1

w(ei) + wt(ei)

2≥ qDs

(u, v)

y, por tanto, (qD, qtD)∞(u, v) ≥ qDs(u, v). ♦

3.2.5 Metricas laplacianas en digrafos

Dado un digrafo D = (V, E,w) con un punto distinguido v0 ∈ V y otro

punto v∞ /∈ V , podemos considerar un nuevo digrafo

D = (V ∪ {v∞}, E ∪ {(v0, v∞)}, w)

donde w es una extension de w. Claramente, qD = qD en V × V y esto nos

dice que la cuasimetrica de Dikjstra no puede apreciar los cambios que se

Page 72: Estructuras m´etricas en grafos

3.2. CUASIMETRICAS Y METRICAS EN DIGRAFOS 73

producen en un digrafo cuando se conecta un nuevo vertice.

Sin embargo, en muchas situaciones que se pueden modelar sobre digrafos,

como los problemas de circuıtos electricos, de moleculas quımicas o de redessociales, el anadido de un nuevo nodo electrico, un nuevo atomo o un nuevo

internauta, producen modificaciones en las relaciones de proximidad entrelos vertices preexistentes.

Las cuasimetricas q(i)δ−βk introducidas en el teorema 3.1.13 permiten apre-

ciar los cambios de proximidad que se producen en un digrafo al anadir un

nuevo vertice cuando los pesos de los arcos de conexion del nuevo verticeson relativamente significativos. Estas metricas pueden ser adecuadas para

el estudio de las redes sociales pues nos indican como la introduccion deun nuevo internauta con gran influencia sobre uno de los antiguos puede

cambiar las relaciones entre todos los usuarios.

Klein y Randic [79] probaron que el inverso de Moore-Penrose L+D, del ope-

rador laplaciano de un digrafo simetrico y conexo D, cumple que q(4)

L+D

es una

metrica con esas buenas propiedades.

Chebotarev y Shamis [28] probaron que Qα = (I + αLD)−1, donde α > 0y LD es el operador laplaciano de un digrafo conexo y simetrico D, cumple

que q(4)Qα

es una metrica con esas buenas propiedades.

Estos dos ultimos ejemplos nos han llevado a titular esta seccion comometricas laplacianas en digrafos, porque en ella pretendemos presentar prue-

bas originales de los resultados de [79] y [28] sin necesidad de considerar losdigrafos como circuitos electricos ni de utilizar el complicado teorema de

la matriz de bosques. Para la nueva presentacion de [79] necesitamos doslemas:

Lema 3.2.6 Sea X un conjunto finito y L : RX → R

X un operador autoad-junto que cumple:

1. L es definido no negativo.

2. 1 ∈ kerL.

3. rang L = |X | − 1.

Entonces, el nucleo

q(4)L : X × X → R

(x, y) 7→ (L(ex − ey)|ex − ey)

Page 73: Estructuras m´etricas en grafos

74 CAPITULO 3. CUASIMETRICAS.

cumple que

q(4)L es una metrica y, si 3 no se satisface, es una pseu-

dometrica.

Demostracion:

Por 1, existe√L que es un operador autoadjunto y definido no negativo tal

que√L ·

√L = L. Como

q(4)L (x, y) = (L(ex − ey)|ex − ey) = ‖

√Lex −

√Ley‖2,

es claro que

q(4)L cumple todas las propiedades de pseudometrica. Para

ver que es metrica solo falta comprobar que

q(4)L (x, y) = 0 ⇒ x = y:

Es claro que

q(4)L (x, y) = 0 ⇒ ex − ey ∈ ker

√L ⊂ kerL y, por 2 y 3,

kerL = [1]. Luego, ex − ey = λ1 y, en consecuencia, x = y. ♦.

Lema 3.2.7 Sea X un conjunto finito y L : RX → RX un operador autoad-

junto con kerL = [1]. Si H1 y H2 son g-inversos de L, se tiene que q(4)H1

=

q(4)H2

.

Demostracion:

Para todo (x, y) ∈ X × X es claro que (1|ex − ey) = 0 y, por tanto,

ex − ey ∈ [1]⊥ = [kerL]⊥ = imLt = imL.

Existe f ∈ RX tal que ex − ey = Lf . Entonces,

q(4)H1

(x, y) = (H1(ex−ey)|ex−ey) = (H1 · Lf |Lf) = (L ·H1 · Lf |f) = (Lf |f)

De modo similar obtenemos

q(4)H2

(x, y) = (H2(ex−ey)|ex−ey) = (H2 · Lf |Lf) = (L ·H2 · Lf |f) = (Lf |f)

y, en consecuencia, q(4)H1

(x, y) = q(4)H2

(x, y). ♦

Teorema 3.2.8 Sea D = (V, E,w) un digrafo conexo y simetrico. Sea LD

su operador laplaciano y sea L+D su inverso de Moore-Penrose. Entonces,

q(4)

L+D

es una metrica.

Demostracion:

Como L+D es autoadjunto, definido no negativo, de rango |V | − 1 y cumple

que [1] = kerL+D, el lema 3.2.6 asegura que

q(4)

L+D

es una metrica. Por tanto,

Page 74: Estructuras m´etricas en grafos

3.2. CUASIMETRICAS Y METRICAS EN DIGRAFOS 75

solo falta probar que q(4)

L+D

satisface la desigualdad triangular, es decir, fijados

vi, vk, vj ∈ V distintos, debemos probar que

q(4)

L+D

(vi, vj) ≤ q(4)

L+D

(vi, vk) + q(4)

L+D

(vk, vj)

Si (v1, · · · , vn) es una enumeracion de V y K = (kij) es la matriz de LD en

la base {ev1 , · · · , evn}, por cumplirse que kerLD = [1], kij ≤ 0 ∀i 6= j ykii ≥ 0 ∀i, el punto 3 del lema 2.1.8 nos asegura que

1. La matriz K[k, k] es definida positiva ∀k = 1, · · · , n.

2. Si Bk = (b(k)ij ) es la matriz inversa de K[k, k] y Nn = {1, · · · , n},

b(k)ij ≥ 0 ∀(i, j) ∈ (Nn \ {k}) × (Nn \ {k}).

3. El operador Hk cuya matriz Hk en la base {ev1, · · · , evn} tiene entradas

h(k)ij =

{

b(k)ij si (i, j) ∈ (Nn \ {k})× (Nn \ {k})0 si (i, j) 6∈ (Nn \ {k})× (Nn \ {k})

es g-inverso de LD.

Por el lema 3.2.7, q(4)

L+D

= q(4)Hk

y, por tanto, basta probar que

q(4)Hk

(vi, vj) ≤ q(4)Hk

(vi, vk) + q(4)Hk

(vk, vj)

o, lo que es lo mismo,

h(k)ik + h

(k)kj ≤ h

(k)ij + h

(k)kk (?).

Por la definicion de Hk, h(k)ik = h

(k)kj = h

(k)kk = 0 y h

(k)ij = b

(k)ij ≥ 0. Por tanto,

se cumple (?) y la desigualdad triangular queda probada. ♦

La funcion kleinrandic(Lw) devuelve la matriz cuadrada de la cuasimetrica

q(4)

L+D

de un digrafo D = (V, E,w).

Teorema 3.2.9 Sea D = (V, E,w) un digrafo tal que Ds = (V, Es, ws) es

conexo. La distancia q(4)

L+Ds

(u, v) es el mınimo cuadrado de la norma eucıdea

de los puntos de la variedad {g ∈ RE | U t

D(g) = eu − ev}.

Demostracion:

Dado el operador U tD : R

E → RV asociado a la incidencia del digrafo D

y dado h ∈ im U tD , la lagrangiana del problema de minimizar la norma

euclıdea en la variedad Mh = {g ∈ RE | U t

D(g) = h} es

Page 75: Estructuras m´etricas en grafos

76 CAPITULO 3. CUASIMETRICAS.

L : RE × RV → R

(g, f) 7→ (g|g)− (UD(f)|g)− (f |h)

y las soluciones (g, f) han de verificar ∇L(g, f) = 0, es decir, han de cumplirque

g =1

2UD(f) y U t

D(g) = h.

Ası, h = 12U t

D · UD(f) = 12LDs(f) y el mınimo cuadrado de su norma

sera

‖g‖2 =1

4(UD(f)|UD(f)) =

1

4(LDsf |f) = (L+

Dsh|h).

Si h = eu − ev , es claro que eu − ev ∈ [kerLDs ]⊥ = im LDs ⊂ im U t

D y

‖g‖2 = (L+Ds

(eu − ev)|eu − ev) = q(4)

L+Ds

(u, v). ♦

Corolario 3.2.10 Sea D = (V, E, w) un digrafo conexo y simetrico y sea eldigrafo D′ = (V, E, 2

w). Entonces,

q(4)

L+D

(u, v) ≤ qD′(u, v) ∀(u, v) ∈ V × V .

Demostracion:

Basta probar la desigualdad cuando u 6= v. Sabemos que

qD′(u, v) = minΓ∈Cuv

{w(Γ)} .

Podemos suponer que (e1, · · · , ep) es el camino de coste mınimo y, por tanto,

qD′(u, v) =2

w(e1)+ · · ·+ 2

w(ep).

Tomando g =

p∑

i=1

2

w(ei)eei

∈ RE, tenemos que U t

D(g) = eu − ev luego

‖g‖2 =2

w(e1)+ · · ·+ 2

w(ep).

El teorema 3.2.9 asegura que q(4)

L+D

(u, v) ≤ qD′(u, v). ♦

Mediante el teorema de la matriz de bosques, en [28] se prueba que siD = (V, E,w) es un digrafo simetrico y conexo y LD su operador lapla-

ciano, el operador Q = (I + LD)−1 es generador de una metrica.

Puesto que para todo real α > 0 el digrafo Dα = (V, E, αw) tiene por lapla-

ciano el operador αLD , es claro que q(4)Qα

tambien sera una metrica siendo

Page 76: Estructuras m´etricas en grafos

3.2. CUASIMETRICAS Y METRICAS EN DIGRAFOS 77

Qα = (I + αLD)−1. Chebotarev y Shamis la llamaron metrica de bosques

ajustada de parametro α.

Para la nueva presentacion de [28] necesitamos el siguiente

Lema 3.2.11 Sea X finito con |X | ≥ 3 y sea (x1, · · · , xn) una enumeracion

de X . Tomamos en RX una base ortonormal {f1, . . . , fn−1,1√n} y en R un

conjunto de numeros positivos {m1, . . . , mn−1}. Si

n−1∑

k=1

mk(fk|exi)(fk|exj

) ≤ 0 ∀i 6= j ,

el nucleo

q : X × X → R

(xi, xj) 7→n−1∑

k=1

1

mk

(fk|exi− exj

)2

es una metrica.

Demostracion:

El operador K =

n−1∑

k=1

mkfk ⊗ fk : RX → R

X es autoadjunto y kerK = [1].

Las entradas de la matriz que lo representa en la base {ex1, · · · , exn} son

kij = (exi|Kexj

) =

n−1∑

k=1

mk(fk|exi)(fk|exj

) ≤ 0 ∀i 6= j .

Es claro que

q(xi, xj) =

n−1∑

k=1

1

mk(fk|exi

−exj)2 = (K+(exi

−exj)|(exi

−exj) = q

(4)K+(xi, xj)

y segun el teorema 3.2.8, q es una metrica. ♦

Teorema 3.2.12 Sea (V, E,w) un grafo simetrico y conexo y sea L su

laplaciano. El operador I + L es inversible y si Q = (I + L)−1 se cumple

que q(4)Q es una metrica.

Demostracion:

Sea (v1, · · · , vn) una enumeracion de V . Como L : RV → RV es au-

toadjunto, definido no negativo y kerL = [1], existe una base ortonor-

mal {f1, . . . , fn−1,1√n} en RV constituida por vectores propios de L. Si

Page 77: Estructuras m´etricas en grafos

78 CAPITULO 3. CUASIMETRICAS.

µ1 ≥ · · · ≥ µn−1 > µn = 0 son los valores propios correspondientes, tene-

mos,

L =

n−1∑

k=1

µkfk ⊗ fk.

Las entradas de la matriz L que representa a L en la base {ev1, · · · , evn}son, segun el teorema 2.1.10,

`ij = (evi|Levj

) =

n−1∑

k=1

µk(fk|evi)(fk|evj

) ≤ 0 ∀i 6= j.

Por ser {f1, . . . , fn−1,1√n} base ortonormal tenemos

n−1∑

k=1

(evi|fk)(evj

|fk) + (evi| 1√

n)(evj

| 1√n

) = (evi|evj

) , ∀(i, j) ∈ Nn × Nn

y, por tanto,

n−1∑

k=1

(evi|fk)(evj

|fk) = −1

n< 0 cuando i 6= j .

Ası,n−1∑

k=1

(1 + µk)(evi|fk)(evj

|fk) < 0 cuando i 6= j

y el lema 3.2.11 asegura que

q(4)Q (vi, vj) =

n−1∑

k=1

1

1 + µk

(evi− evj

|fk)2 ∀(vi, vj) ∈ V × V

es una metrica. ♦

La funcion chebotarev(Lw, α) devuelve la matriz cuadrada de la cuasimetrica

q(4)Qα

de un digrafo D = (V, E,w).

Para finalizar la seccion podemos clarificar la fuerte conexion que existeentre las metricas estudiadas en [79] y [28]:

Corolario 3.2.13 Sea L = (lij) ∈ Mn(R) una matriz simetrica definida no

negativa que cumple:

1. 1n ∈ ker L

2. rang L = n − 1.

Page 78: Estructuras m´etricas en grafos

3.2. CUASIMETRICAS Y METRICAS EN DIGRAFOS 79

Si ∀α > 0 la matriz Qα = (I + αL)−1 es generadora de una metrica qα, la

matriz L+, inversa de Moore-Penrose de L, tambien es generadora de unanetrica qL+

Demostracion:

L tiene una base ortonormal de vectores propios {h1, . . . , hn−1,1n√n} y val-

ores propios correspondientes µ1 ≥ · · · ≥ µn−1 > µn = 0 tales que

(Lx|y) =

n−1∑

k=1

µk(x|hk)(y|hk) ∀x, y ∈ Rn .

Fijado α > 0, tenemos que

(Qαx|y) =

n−1∑

k=1

1

1 + αµk(x|hk)(y|hk) + (x| 1n√

n)(y| 1n√

n) ∀x, y ∈ R

n .

Si Rα es la matriz que satisface la relacion

(Rαx|y) =

n−1∑

k=1

1

1 + αµk(x|hk)(y|hk) ∀x, y ∈ R

n ,

es claro que qRα = qQα . Por tanto, qRα es una metrica y tambien lo es qαRα .Puesto que µk > 0 para k = 1, . . . , n−1, es facil observar que lim

α→∞αRα = L+

y, por tanto,

qL+ = limα→∞

qαRα .

Ası, como lımite de una familia de metricas, qL+ es una pseudometrica.

Ademas, por la proposicion 3.2.6, qL+(i, j) > 0 cuando i 6= j y, ası, qL+ esuna metrica. ♦

Corolario 3.2.14 Sea L : Rn → Rn un operador autoadjunto definido no

negativo que cumple:

1. 1n ∈ kerL

2. rang L = n − 1.

Para todo α > 0 definimos el operador Lα = L + α1n ⊗ 1n. Entonces,

(a) Lα es autoadjunto y definido positivo.

(b) qL+ es una metrica si y solo si qL−1α

es una metrica ∀α > 0.

Demostracion:

Page 79: Estructuras m´etricas en grafos

80 CAPITULO 3. CUASIMETRICAS.

(a) L tiene una base ortonormal de vectores propios {h1, . . . , hn−1,1n√n}

y valores propios correspondientes µ1 ≥ · · · ≥ µn−1 > µn = 0 tales

que L =

n−1∑

k=1

µkhk ⊗ hk. Ası, para cada α > 0 tenemos que

Lα =

n−1∑

k=1

µkhk ⊗ hk + α1n ⊗ 1n

y ello implica que Lα es autoadjunto y definido positivo.

(b) Es claro que L−1α = L+ + α−11n ⊗ 1n y qL−1

α= qL+ + qα−11n⊗1n

.Entonces:

Si qL+ es una metrica, como qα−11n⊗1nes una metrica para todo α > 0,

por la proposicion 3.1.3,4 deducimos que qL−1α

es una metrica ∀α > 0.

Es claro que limα→∞

L−1α = L+ y, por tanto, lim

α→∞qL−1

α= qL+ . Si

suponemos que para todo α > 0 el nucleo qL−1α

es una metrica, obten-emos que qL+ es una pseudometrica. Pero, la proposicion 3.2.6 asegura

que dL+(i, j) > 0 cuando i 6= j. Luego, qL+ es una metrica. ♦

Page 80: Estructuras m´etricas en grafos

Capıtulo 4

Conexiones hamiltonianas

mınimas

4.1 Ciclos hamiltonianos mınimos

Historicamente los ciclos hamiltonianos de longitud mınima en un conjuntode puntos contenidos en un rectangulo del plano complejo se han computado

haciendo particiones en dicho rectangulo (vease [67]).

Si R es un rectangulo acotado que contiene a L se han encontrado bue-nas aproximaciones a la solucion optima usando particiones rectangulares

{Ri | i ∈ I} de R que inducen particiones {Li | i ∈ I} en L, tales queLi = L ∩ Ri y |Li| < k ∀i ∈ I siendo k un natural pequeno. En estos con-

juntos Li se pueden encontrar facilmente caminos hamiltonianos optimos ylas computaciones habituales han seguido diferentes estrategias para conec-tar los caminos optimos de cada Li y formar ası, el deseado ciclo hamilto-

niano optimo en L.

En el trabajo Designing Hamiltonian Cycles presentado en el ACA2013en Malaga por F. de Arriba, E. Corbacho y R. Vidal (vease [8]) se pro-

puso la particion del conjunto L en sus diferentes niveles de convexidad,{L1, · · · , Ln}, pensando que la geometrıa de la distribucion de los puntos

facilitarıa la conexion entre los diferentes elementos de la particion en elmismo sentido que las funciones simples de Lebesgue mejoran la integracion

tipo Riemann.

Si co(L) es la envoltura convexa de L y δ(co(L)) es su frontera, definimos

L1 = L ∩ δ(co(L)),

L2 = L ∩ δ(co(L \ L1)),

L3 = L ∩ δ(co(L \ (L1 ∪ L2)),

81

Page 81: Estructuras m´etricas en grafos

82 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

· · ·

Ln = L ∩ δ(co(L \ (L1 ∪ · · · ∪ Ln−1)).

Las ideas basicas de dicho planteamiento son:

1. Si L = L1, bastarıa fijar una orientacion en la frontera y, de acuerdo

con ella, ordenar los puntos de L. De esta manera construirıamos uncamino hamiltoniano cerrado en L de longitud mınima puesto que esel unico que no tiene cruces.

2. Si existe un z0 ∈ L tal que L′ = L \ {z0} tiene la propiedad expresadaen 1, podemos construir un ciclo hamiltoniano optimo en L′ y reem-

plazar la mas adecuada arista zizi+1 por la poligonal ziz0zi+1 de talmanera que el nuevo ciclo, que obviamente seguirıa siendo hamiltonia-

no, aumentara su longitud lo menos posible.

3. Si existiera un {z0, · · · , zn} ⊂ L tal que L′ = L\{z0, · · · , zn} tuviera lapropiedad expresada en 1, podrıamos considerar el ciclo hamiltoniano

optimo en L′ y estudiar el orden adecuado para incorporar los puntoszi a dicho ciclo de modo que se preserve la condicion de hamiltoniano

y crezca su longitud lo menos posible.

En cualquier conjunto L se puede hallar su particion en niveles de convexi-dad {L1, · · · , Ln} y al camino hamiltoniano existente en L1 incorporarle los

puntos de L2 segun la heurıstica de 3. Al ciclo hamiltoniano ası formadoque designamos L12, le incorporamos los puntos de L3 por el mismo procedi-

miento, y ası, sucesivamente hasta llegar al ciclo L1···n.

SAGE es un software muy adecuado para implementar estos algoritmos. Ennuestra Worksheet ”Capitulo4” presentamos la funcion envolturaconvexa(L)que es una version particular del conocido algoritmo de Jarvis que actua so-

bre el conjunto de puntos del plano complejo L = listacomplejos(R, m)(vease pag 33) y nos devuelve el conjunto L1 = L ∩ δ(co(L)) ordenado en

sentido contrario a las agujas del reloj partiendo del punto inferior entre losque estan mas a la izquierda.

La funcion cebolla(L) nos devuelve la lista [L1, · · · , Ln] relativa a la par-

ticion del conjunto L en sus niveles de convexidad.

La funcion pegalistas(L1, L2) incorpora los puntos de L2 al ciclo L1. Elorden de incorporacion se decide por el mınimo aumento de longitud delcamino. Los empates se resuelven por el maximo angulo de incorporacion

y, si persisten, se usa un algoritmo recursivo. Una vez decidida la incorpo-racion de un cierto w ∈ L2 entre los puntos (zi, zi+1) de L1 se reemplaza el

tramo [zi−1, zi, w, zi+1, zi+2] por su reordenacion optima y, sucesivamente,

Page 82: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 83

se procede a incorporar un nuevo elemento de L2 a este nuevo ciclo.

La funcion cicloham(L) obtiene la lista [L1, · · · , Ln], computa L12 pegando

L2 a L1, L123 pegando L3 a L12 y, por iteracion, propone en principio, comociclo hamiltoniano optimo la lista C = L1···n.

La funcion mejoratramo(C, n, m) que equivale a

pegalistas(restalistas(C, C[n : m + 1]), C[n : m + 1])

corta y pega de nuevo el tramo C[n : m + 1], intentando acortar la longituddel ciclo C.

La funcion ciclohamop(C) establece un proceso recursivo en el que uti-

lizamos la funcion mejoratramo en cada uno de los fiordos que aparecenen el ciclo C y a continuacion la funcion mejoratramo en grupos de tres

puntos por si el punto central debe cambiar de orilla de fiordo para acortarla longitud del ciclo hamiltoniano. Este proceso monotono finaliza en un

numero finito de pasos y se ejecuta al final de cicloham devolviendo un ciclohamiltoniano C que no es necesariamente optimo pues puede contener crucesde aristas pero que como iremos comprobando es suficientemente bueno.

Si C presenta un cruce de aristas de las aristas C[m : m+1] y C[n−1 : n] la

funcion descruza(C, m, n) nos devuelve un ciclo hamiltoniano sin ese crucede aristas y por lo tanto de menor longitud que C que conjeturamos muy

proximo al optimo absoluto aunque no tenemos la prueba definitiva de ello.

En [8] se presentaron estos algoritmos sin estimacion de su bondad ni com-paracion con cotas inferiores conocidas, aunque, ya se indicaba que el metodo

mejoraba notablemente otras construcciones de ciclos hamiltonianos optimosque se pueden encontrar en la Red. Por ejemplo, en ”TSPGames” : http ://www.tsp.gatech.edu/games/index.html, el cardinal de los conjuntos del

plano considerados es siempre menor que 50 mientras que nuestro metodopuede tratar en pocos segundos listas de cardinal superior a 200.

En este capıtulo comprobamos los resultados obtenidos con cicloham(R)

sobre distribuciones de tipo radial(n, m, r, d) (vease pag. 34), comparamoscon dos cotas inferiores y aplicamos el cicloham para evaluar el test colo-

rimetrico de Farnsworth-Munsell obteniendo unos resultados tan aceptablesque nos hacen confiar en la precision de nuestro algoritmo.

4.1.1 Distribuciones radiales

Para una distribucion R = radial(2k, 2, r, d) obtenemos dos propuestas de

ciclos hamiltonianos optimos mediante la funcion cicloham(R):

Page 83: Estructuras m´etricas en grafos

84 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

Por ejemplo, para R = radial(6, 2, 1, 2) nos devuelve como optimo un ci-clo hamiltoniano que yuxtapone dos vertices de la capa 1 a dos vertices de

la capa 2, a dos vertices de la capa 1 y ası sucesivamente, que llamamos detipo 1

Figura 4.1: radial(6,2,1,2)

y para R = radial(8, 2, 1, 2) nos devuelve como optimo un ciclo hamiltonia-no que recorre una capa y luego la otra, que llamamos de tipo 2

Figura 4.2: radial(8,2,1,2)

Es facil probar el siguiente teorema

Teorema 4.1.2 En toda distribucion radial(2k, 2, r, d) con k > 1 las lon-gitudes de los ciclos hamiltonianos de tipo 1 y 2 son, respectivamente

L1 = 2k · (2r + d) sinπ

2k+ 2kd

L2 = 2(2k − 1)(2r + d) sinπ

2k+ 2d

Page 84: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 85

En consecuencia:

L2 ≤ L1 ⇔ sinπ

2k≤ 1

1 + 2 rd

Los resultados obtenidos con cicloham(R) cumplen exactamente este teo-rema y detectan que el cambio de ciclo optimo se produce cuando

k >π

2 · arcsin( 11+2 r

d

)

En el caso r = 1 y d = 2, obtenemos k > 3 de acuerdo con lo previsto.

Ademas, aunque el teorema 4.1.2 esta enunciado solamente para radialescon un numero par de rayos vemos que nuestro metodo obtiene para la

radial(7, 2, 1, 2) un ciclo hamiltoniano optimo de tipo 2.

Figura 4.3: radial(7,2,1,2)

Para otros valores de r y d haremos mas comprobaciones en la Worksheet

del capıtulo.

4.1.3 Cotas inferiores

Definicion 4.1.4 Sea D = (V, E,w) un digrafo conexo y sea D′ = (V, E ′, w′)un arbol generador de D (ver pag. 52) se dice que D′ es un arbol generador

mınimo si se verifica w(D′) ≤ w(D′′) ∀D′′ arbol generador de D.

El primero en tratar el problema de encontrar arboles generadores mınimosde un digrafo conexo fue Otakar Boruvka (1926, [16]) mientras estudiaba

la necesidad de electrificar la zona rural en el sur de Moldavia pero fueJoseph Kruskal (1956, [81]) quien diseno un algoritmo para calcular un arbol

generador mınimo.

Page 85: Estructuras m´etricas en grafos

86 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

Definicion 4.1.5 Algoritmo de Kruskal

Sea D = (V, E,w) un digrafo conexo, el algoritmo de Kruskal consiste enordenar los pesos de los arcos de menor a mayor y en cada paso seleccionar

el arco de menor peso de tal forma que nunca se forme un ciclo. Se terminacuando todos los vertices del grafo D quedan conectados.

Teorema 4.1.6 Teorema de KruskalEn un digrafo conexo D = (V, E,w) el algoritmo de Kruskal produce siempre

un arbol generador de coste mınimo.

Hemos implementado en SAGE la funcion kruskal(L) que calcula para eldigrafo completo (L, K, e) donde

e : L × L → R

(xi, xj) 7→ |xi − xj|el arbol generador de coste mınimo.

En un intento de evaluar la bondad de nuestro metodo cicloham hemosimplementado en SAGE dos funciones para calcular cotas inferiores de la

longitud del ciclo hamiltoniano optimo:

1. La funcion cotaK(L) que para el conjunto de vertices L suprime unvertice v y todas sus aristas y en el nuevo digrafo resultante calcula el

arbol generador de coste mınimo usando kruskal(L \ {v}) y le anadelas dos aristas de coste mınimo que salen de v. Se repite este pro-

cedimiento para todo v ∈ L y nos quedamos con el maximo de losvalores obtenidos. Ası, la funcion cotaK(L) nos devuelve una buena

cota inferior para la longitud del ciclo hamiltoniano mınimo de L.

2. La funcion cotaV (L) sugerida por el Prof. R. Vidal, que calcula para

cada vertice de L la suma de la longitud de sus dos aristas menores,siendo el valor de la cota el promedio de todas las sumas.

Como no siempre cotaK(L) ≤ cotaV (L) ni lo contrario, consideramos elmaximo de ambas cotas implementado en la funcion cotaKV (L).

Si C = cicloham(L) podemos tomar como estimacion de la bondad delalgoritmo, el porcentaje,

bondad(L) = 100 · cotaKV (L)

lon(C)[0]

Ejemplos 4.1.7

1. Si R = rectangular(5, 6, 1, 1) la longitud de cicloham(R) es 30 unidadesy su grafico es

Page 86: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 87

Figura 4.4: rectangular(5,6,1,1)

Como bondad(R) = 100, podemos asegurar que cicloham(R) es un

ciclo hamiltoniano optimo en R.

2. Si T = triangular(5, 1,√

32 ) la grafica de cicloham(T ) es

Figura 4.5: triangular(5, 1,√

32 )

y, como bondad(T ) = 100, podemos asegurar que es un ciclo hamilto-

niano optimo en T .

3. Si RA = radial(3, 2, 1, 2) la grafica de cicloham(RA) es

Page 87: Estructuras m´etricas en grafos

88 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

Figura 4.6: radial(3,2,1,2)

pero, como bondad(RA) = 82.28, no podemos aseverar que cicloham(RA)sea un ciclo hamiltoniano optimo en RA.

Sin embargo, como |RA| = 6, podemos usar la funcion optimizac(RA)

que calcula el ciclo hamiltoniano optimo hallando el mınimo entre to-dos los ciclos posibles. En 0.45 segundos obtenemos como respuesta elsiguiente ciclo

Figura 4.7: optimizac(RA)

que, como podemos observar, es equivalente a cicloham(RA).

4. La lista L8 = [0, 6i, 2 − 3i, 4 − 5i, 7 − 3i, 4 + 4i, 2 + i, 4 + 9i] tiene

bondad(L) = 89.79 y ,por tanto, genera espectativas de que cicloham(L8)sea un ciclo hamiltoniano optimo en L8. Si disponemos de 2.28 se-gundos para ejecutar optimizac(L8), comprobaremos que si lo es:

Page 88: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 89

Figura 4.8: cicloham(L8) y, a la derecha, optimizac(L8)

Observacion 4.1.8 No obtener una bondad del 100% en los ejemplos 4.1.7.3

y 4.1.7.4 se debe a que cotaKV (RA) y cotaKV (L) no son suficientementegrandes. Como no disponemos de cotas mayores, aceptamos que cicloham(L)

puede ser un ciclo hamiltoniano optimo en L aunque su bondad no sea del100%. La heurıstica de los ejemplos realizados en la elaboracion de esta

memoria nos lleva a confiar en la funcion cicloham para bondades mayoreso iguales al 80%.

En la Worksheet del capıtulo abundaremos en ejemplos para distribucionesaleatorias de puntos.

4.1.9 Test de Farnsworth-Munsell

Por ser este 2015 el Ano Internacional de la Luz nos ha parecido oportunopresentar una aplicacion de nuestro algoritmo cicloham a la evaluacion del

test colorimetrico de Farnsworth-Munsell que es uno de los mas empleadospara medir la capacidad de discriminacion cromatica y la vision defectiva

del color, en los seres humanos [87]. Todos los datos utilizados en estaseccion y almacenados en los Anexos han sido obtenidos en el laboratorio deFısica Aplicada de la Facultad de Ciencias de la Universidad de Zaragoza

por Cristina Corbacho, alumna del Grado de Optica y Optometrıa, en laelaboracion de su trabajo Fin de Grado.

El Farnsworth-Munsell es un test de ordenacion cromatica que en la actuali-

dad consta de 93 muestras aunque conserva el nombre tecnico FM Hue 100porque en un primer momento constaba de 100 muestras. Las 93 muestras,

fichas de colores del espacio CIELAB, se presentan en cuatro cajas.

Page 89: Estructuras m´etricas en grafos

90 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

Figura 4.9: Test de Farnsworth-Munsell

Las cuatro fichas de los extremos izquierdos y las cuatro de los extremos

derechos estan ancladas, ası que solo son moviles 21 muestras de las tresprimeras cajas y 22 de la ultima que hacen un total de 85. En la primeracaja el color de las muestras varıa del rosa al amarillo, en la segunda, del

amarillo al azul verdoso, en la tercera del azul verdoso al azul y en la cuartadel azul al rosa, pasando por el purpura.

El color de la ultima muestra de la 1a caja coincide con el de la 1a muestra

de la 2a caja; el de la ultima muestra de la 2a caja, con el de la 1a muestrade la 3a caja; el de la ultima muestra de la 3a caja, con el de la 1a muestra

de la 4a caja y el de la ultima muestra de la 4a caja, con el de la 1a mues-tra de la 1a caja, cerrando, ası, la gama de colores. Podemos imaginar que

tenemos un conjunto ordenado de 85 fichas distribuidas a lo largo de unacurva cerrada dentro de un diagrama CIELAB.

Tambien existe un modelo reducido FM Hue 28 de 28 fichas, obtenido alsuprimir de las 85 fichas moviles las dos ultimas de cada trio consecutivo

segun el orden dado por el fabricante. Es decir, de las 85 moviles se dejanlas 28 fichas siguientes:

1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40,

43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82

Teorıa matematica del color

El color es una caracterıstica de la luz y un atributo de la vision. La luz sepuede definir como la forma de la energıa radiante que es capaz de estimular

la retina del ojo humano provocando un proceso consciente que da lugar alas sensaciones visuales.

Pero, como dice Hubaut [69], precisar que caracterıstica de la luz es el color,no es una pregunta sencilla.

Page 90: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 91

En 1944 la Sociedad Optica de los EE.UU. (OSA) dijo que era aquella dis-

tinta de las inhomogeneidades espaciales y temporales.Esta frase imprecisa nos induce a pensar mas en una propiedad fısica que

en una psicofısica y, por otra arte, es siempre preferible definir las cosas porlo que son que por lo que no son.

Es mas clara la definicion de Judd:El color es el atributo de la luz que hace corresponder a cada distribucion

espectral una sensacion. Esta sensacion esta condicionada por la intensidady duracion del estımulo, el estado de adaptacion del observador, el area de

la retina afectada y el contraste luminoso y cromatico con que se recibe.

Es importante destacar que esa correspondencia es una funcion matematica,es decir, para cada composicion espectral de la luz en las condiciones dadas

se produce, una y solo una, sensacion de color. Sin embargo, esa funcionno es inyectiva, la misma sensacion de color puede ser producida por in-

finitas combinaciones de distribuciones espectrales, fenomeno que se llamametamerismo.

Los colores dependen de los objetos, de la luz que los ilumina y de la per-cepcion del ojo humano que los detecta. Las propiedades fısicas de los

objetos son escasamente perturbadas por los iluminantes, sin embargo, lacomposicion espectral del iluminante influira en la apariencia psicologica

de los objetos. En [19] y [6] podemos encontrar las especificaciones de losiluminantes que hemos usado en las mediciones de color:

1. Iluminante A: Luz de una lampara de incandescencia de filamento dewolframio alimentada a una tension tal que adquiere una temperatura

de color de 2856K.1

2. Iluminante C. Representa la luz de cielo norte sin sol directo en un dıa

claro. Su temperatura de color es de unos 6774K.

3. Iluminante D65. Representa la luz media de un mediodıa en EuropaOccidental. Su temperatura de color es de 6504K.

4. Iluminante F11. Representa la luz de un tubo fluorescente con tem-peratura de color de 4100K.

5. Iluminante LED. Su temperatura de color es 5997K.

En el ANEXO1 hemos archivado los datos obtenidos con un colorımetro

Minolta CM 700d sobre la irradiancia espectral de cada uno de estos ilumi-nantes

1Temperatura del cuerpo negro, medida en Kelvin, cuando este presenta el mismo color

que el radiador

Page 91: Estructuras m´etricas en grafos

92 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

La CIE (Commission Internationale de L’Eclairage), tambien, (International

Comission on Illumination) distingue entre el color percibido y el color psi-cofısico.

Color Percibido

El color percibido puede definirse por las siguientes magnitudes:

1. La luminosidad es la cantidad de luz que es percibida por el ojoal observar una escena. La relacion existente entre el maximo y el

mınimo nivel de luminosidad se llama contraste.

2. La cromıa es la calidad de la luz percibida y viene determinada por

dos caracterısticas:

(a) El tono es la cualidad del color que permite decir que un objetoes rojo, amarillo, verde, azul, purpura o de cualquier tono inter-

medio a ellos. El ojo humano sano es capaz de distinguir unos150 tonos pero su correspondencia con la longitud de onda no es

uniforme en todo el espectro visible. Mientras en los extremosson necesarios 6 nm. para percibir un tono diferente, en ciertas

partes centrales del espectro se necesita solo 1 nm.

(b) La saturacion se refiere a la pureza del color. Un color in-saturado, ademas del tono particular, contiene blanco mientras

uno saturado no contiene blanco.

Sistema Munsell

Como la descripcion correcta del color se escapa a las posibilidades linguıs-

ticas, Albert Munsell [96] creo en 1912 un sistema de especificacion del color

Page 92: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 93

basado en la determinacion del tono (hue), la luminosidad (value) y la satu-

racion (chroma). Los tonos se disponen en un cırculo dividido en 10 sectoresde 36o grados de amplitud. Cinco con los tonos fundamentales, rojo (R),

amarillo (Y), verde (G), azul (B) y purpura (P) y entre ellos otros cinco conlos tonos intermedios, rojo-amarillo (RY), amarillo-verde (YG), verde-azul

(GB), azul-urpura (BP) y purpura-rojo (PR). En la vertical por el centrodel cırculo se gradua la luminosidad de forma uniforme, en grises, desde el0 (negro) al 10 (blanco). La saturacion se gradua segun la distancia al eje

vertical, variando desde el propio eje que es acromatico, a la periferia, dondela saturacion es maxima.

Figura 4.10: Cartas Munsell con saturacion baja y alta

Color Psicofısico

El color psicofısico es la caracterıstica de la radiacion visible que permite al

observador distinguir las diferencias entre dos objetos de las mismas dimen-siones, forma y estructura, siendo estas diferencias de la misma naturaleza

que las producidas por una diferencia en la composicion espectral de la ra-diacion que interviene en la observacion.La experiencia llevo a Leonardo da Vinci a decir que mezclando tres colores

se pueden obtener casi todos los colores conocidos pero no fue hasta 1666que Isaac Newton comprobo que con tres franjas del espectro luminoso se

puede recomponer la luz blanca.Por esa misma epoca Thomas Young propugno la teorıa segun la cual el

ojo actua analizando los colores amarillo, azul y rojo y en 1853 el fısicoaleman Hermann Grassmann sistematizo la teorıa de la mezcla aditiva del

color estableciendo las que hoy se conocen como leyes de Grassmann:

1. Por sıntesis aditiva del color es posible conseguir todos los colorespercibidos mezclando las franjas roja, verde y azul del espectro visible,

en la proporcion de intensidad adecuada, siempre que ninguno de los

Page 93: Estructuras m´etricas en grafos

94 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

tres valores elegidos pueda obtenerse por mezcla de los otros dos.

A las radiaciones que producen iguales sensaciones de tono, saturaciony luminosidad se les llama cromaticamente equivalentes

2. Si las luces A y B son cromaticamente equivalentes y las luces Cy D tambien lo son, las sıntesis aditivas A+C y B+D tambien son

cromaticamente equivalentes.

3. Siempre que dos superficies nos produzcan igual sensacion cromatica,

podemos variar su luminosidad manteniendo el tono y la saturacionsin que varie la igualdad cromatica entre ambas superficies.

4. Como cualquier color puede crearse por sıntesis aditiva de los coloresprimarios (rojo, verde, azul) y como al mezclar aditivamente estos

componentes sumamos sus luminosidades, la luminosidad de cualquiercolor es la suma de las luminosidades de sus componentes primarios.

Las leyes de Grasmann fueron recuperadas por Hermann von Helmholtz ysustentaron el importante trabajo de J.C. Maxwell [92] publicado en 1860.

Figura 4.11: Sıntesis aditiva del color y eje de brillos

Triangulos de Maxwell

A partir de entonces, para analizar un flujo f de luz de tipo X en un

colorımetro, se compara visualmente en el ocular con tres flujos suerpuestosr, g y b de luces monocromaticas R (roja), G (verde) y B (azul).

Si se igualan las sensaciones cromaticas, obtenemos la ecuacion tricromatica

fX = rR + gG + bB.

Como la cuarta ley de Grasmann nos asegura que f = r + g + b, podemosescribir la ecuacion unitaria del color X

X =r

r + g + bR +

g

r + g + bG +

b

r + g + bB

Page 94: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 95

y designar a los coeficientes

xr =r

r + g + b, xg =

g

r + g + b, xb =

b

r + g + b

coordenadas tricromaticas del color X que, evidentemente, cumplen

xr ≥ 0, xg ≥ 0, xb ≥ 0 y xr + xg + xb = 1.

Cada punto P de un triangulo equilatero T de area total A, determina latripleta (A1, A2, A3) de las areas de los triangulos que forma P con cada

lado de T . Como

A1

A≥ 0,

A2

A≥ o,

A3

A≥ 0 y

A1

A+

A2

A+

A3

A= 1,

(A1A , A2

A , A3A ) puede ser considerada terna de coordenadas cromaticas de P .

Los vertices y el baricentro de T tendran las coordenadas (0, 0, 1), (0, 1, 0),(1, 0, 0) y ( 1

3 , 13 , 1

3 ), respectivamente y en la Worksheet del capıtulo podemos

conseguir colorear tantos puntos como deseemos de uno de tales triangulos:

Figura 4.12: Triangulo con 1891 puntos coloreados

Sin embargo, siempre se prefiere que el baricentro tenga las coordenadas(1, 1, 1) de la luz blanca y, por ello, designando M = max{A1

A, A2

A, A3

A}, se

toma la tripleta ( A1MA , A2

MA , A3MA), que cumple las propiedades

A1

MA≥ 0,

A2

MA≥ 0,

A3

MA≥ 0 y

A1

MA+

A2

MA+

A3

MA=

1

M,

como terna de coordenadas cromaticas de P . Los vertices mantienen suscoordenadas (0, 0, 1), (0, 1, 0) y (1, 0, 0) y el baricentro consigue las deseadascoordenadas (1, 1, 1).

Si buscamos en Internet el termino triangulo de Maxwell, encontramos

Page 95: Estructuras m´etricas en grafos

96 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

que es la representacion en el plano de la pantalla, del mayor de los dos

triangulos equilateros de la figura siguiente, mientras que nuestro anteriortriangulo es la representacion del menor:

Figura 4.13: Triangulos de Maxwell con baricentros de diferente brillo

Tambien podemos obtener triangulos de Maxwell con luz blanca en su bari-

centro y tantos puntos coloreados como queramos

Figura 4.14: Triangulos de Maxwell con 55 puntos y con 10100 puntos

Se pueden transformar en triangulos de Maxwell rectangulos isosceles,

Page 96: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 97

Figura 4.15: Triangulo de Maxwell rectangulo

y se puede obtener un curioso triangulo de Maxwell, con luz blanca en el bari-

centro, al tomar como coordenadas cromaticas, las coordenadas proyectivasrespecto del sistema de referencia proyectivo constituido por los vertices yel baricentro como punto unidad:

Figura 4.16: Triangulo de Maxwell proyectivo

Diagrama de cromaticidad RGB

Aunque no se puedan igualar las sensaciones cromaticas del flujo f del color

X con la superposicion de los flujos r, g y b de colores R, G y B, siempre sepuede encontrar un flujo de luz primaria, por ejemlo, r′ de R, que sumado

al flujo f de tipo X se iguale a una superposicion de los flujos g′ de G y b′

de B. Obtendremos, ası, la ecuacion tricromatica

fX + r′R = g′G + b′B

que puede expresarse en la forma matematica equivalente

fX = −r′R + g′G + b′B

aunque los flujos negativos de luz carezcan de sentido fısico.

De nuevo, la cuarta ley de Grasmann asegura que f + r′ = g′ + b′ y, portanto, que f = −r′ + g′ + b′. Ası podremos escribir la ecuacion unitaria del

color X en la forma

X =−r′

−r′ + g′ + b′R +

g

−r′ + g′ + b′G +

b′

−r′ + g′ + b′B

Page 97: Estructuras m´etricas en grafos

98 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

cuyas coordenadas cromaticas seran

xr =−r′

−r′ + g′ + b′, xg =

g′

−r′ + g′ + b′, xb =

b′

−r′ + g′ + b′

y siguen cumpliendo que xr +xg +xb = 1 aunque ya no sean todas positivas.

Los colores con alguna coordenada cromatica negativa tienen su ubicacionfuera del triangulo de Maxwell.

J. Guild y W.D. Wright consiguieron en 1920, partiendo de estımulos mono-

cromaticos de 700 nm. para R, 546.1 nm. para G y 435.8 nm. para B,determinar el lugar de todos los colores espectrales puros, desde 350 nm. a

780 nm., de 20 en 20 nm.

Figura 4.17: Locus espectral

Como podemos ver muy claramente expuesto en [53], todos los puntos en-cerrados por esta curva corresponden a colores apreciables por el ojo humano

y recibieron tambien sus coordenadas cromaticas (xr, xg, xb) en su ubicacionadecuada respecto del triangulo unitario de Maxwell que contiene al blanco.

Se configuro, ası, el diagrama cromatico o sistema RGB que se ajusta muybien a la neuroquımica ocular humana. El mayor problema de este sistema

RGB es que la mayor parte de los colores tienen una coordenada negativa,lo cual dificulta los calculos colorimetricos y, por otra parte, hallar la lumi-nancia partiendo de estas coordenadas es, como dice F.R. Nicolas [97], un

problema tremendamente complicado.

Diagramas de cromaticidad CIE

Ası las cosas, la CIE vio la necesidad de crear un nuevo sistema de repre-sentacion del color con las siguientes propiedades:

1. Carencia de coordenadas cromaticas negativas

2. Las tres coordenadas cromaticas de la luz blanca deben ser iguales.

Page 98: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 99

3. La luminosidad debe coincidir con una de las coordenadas y la cro-

maticidad debe ser facilmente deducible de las otras dos.

Para conseguir las dos primeras condiciones solo habıa que encerrar la region

limitada por el locus espectral y la lınea de purpuras, en un triangulo T ytransformarlo linealmente en el triangulo unidad de modo que el blanco con-

servara las coordenadas iguales.

Para la tercera condicion habıa que elegir con acierto los vertices de T .Tomando como vertices los puntos Cr, Cg , Cb de la Fig.4.17, las nuevas

coordenadas cromaticas (x, y, z) se obtuvieran de las antiguas (r, g, b) medi-ante el cambio lineal:

xy

z

=

0.490 0.310 0.2000.177 0.813 0.011

0.000 0.010 0.990

rg

b

Como los puntos Cr , Cg, Cb no corresponden a radiaciones visibles por el ojohumano, a las nuevas coordenadas se les prefiere llamar valores triestımulos

(X,Y,Z).

Desde 1931 existen tablas CIE de la funcion color psicofısico, discretizada en

tramos de 5 nm. de longitudes de onda. Estas primeras tablas descuidaronun poco el papel de la ponderacion triestımulo en la determinacion del brillo

y la proporcionalidad entre la distancia euclıdea de dos puntos y la diferen-cia cromativa de los mismos. Por ejemplo,

Figura 4.18: Diagrama cromatico CIE XYZ 1931

En 1970, Foster, Gans y Stearns [56] propusieron convenios para estandarizar

las ponderaciones triestımulo y, con la mayor precision de los nuevos instru-mentos, Stearn [109] pudo publicar en 1975 un conjunto mas completo de

tablas discretizadas en tramos de 1 nm.Desde 1976 existen tablas CIE de la funcion color psicofısico, discretizadasen tramos de 1 nm. de longitud de onda, que intentan corregir la propor-

cionalidad entre la distancia euclıdea y la diferencia cromatica de dos puntoscualesquiera.

Page 99: Estructuras m´etricas en grafos

100 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

Figura 4.19: Diagrama cromatico CIE LUV 1976

Espacio de color CIELAB

En la actualidad la CIE propugna un espacio de color [22], aceptable uni-versalmente que sea mas visualmente uniforme. Se pretende con ello que un

cambio de la misma cantidad en un valor de color produzca un cambio caside la misma importancia visual.

Para ello se han introducido las nuevas coordenadas cromaticas (L?, a?, b?)donde L? mide la luminosidad , a? mide la proporcion verde-rojo y b? mide

la proporcion azul-amarillo. Respecto de los valores triestımulo (X, Y, Z) de1964 se expresan mediante las formulas de cambio

L? = 116f(Y/Yn) − 16

a? = 500 [f(X/Xn) − f(Y/Yn)]

b? = 200 [f(Y/Yn) − f(Z/Zn)]

donde (Xn, Yn, Zn) son los triestımulos del iluminante utilizado que, en nues-tro caso, recogemos en la siguiente tabla extraıda de [60]

Xn Yn Zn

A 11.1462 100 35.203

C 97.287 100.002 116.147

D65 94.809 100 107.307

F11 103.866 100 65.629

LED 93.78 100 97.95

y la funcion f : [−1, 1] → R se define como sigue:

f(t) =

{

t13 si t > (6/29)3

13 t292

62 + 429 en otro caso

Tanto f : [−1, 1] → R como su inversa f−1 : [−7.6491, 1] → R estan imple-

mentadas en la Worksheet del capıtulo y sus graficas son:

Page 100: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 101

Figura 4.20: f azul y f−1 roja

La transformacion inversa es facil de deducir:

X = Xnf−1(

1116 (L∗ + 16) + 1

500a∗)

Y = Ynf−1(

1116 (L∗ + 16)

)

Z = Znf−1(

1116 (L∗ + 16)− 1

200b∗)

Los diagramas cromaticos dependen, ahora, directamente de la luminosidad

L? y son del tipo

Figura 4.21: Diagramas cromaticos CIELAB para L? = 25 y L? = 75

En este espacio de color CIELAB, para un punto de coordenadas (L?, a?, b?),se definen el chroma C? y el argumento h?:

C? =√

(a?)2 + (b?)2 y h? = arctan

(

b?

a?

)

Para dos puntos (L?0, a

?0, b

?0) y (L?

1, a?1, b

?1), se definen las diferencias de lumi-

nosidad ∆L?, de chroma ∆C?, de argumento ∆h?, de tono ∆H? y de color∆E? como se indica a continuacion:

∆L? = L?o − L?

1 ∆C? = C?o − C?

1 ∆h? = h?o − h?

1

∆H? = 2√

C?o ·C?

1 · sin(

∆h?

2

)

∆E? =√

(∆L?)2 + (∆C?)2 + (∆H?)2

En [114] se pueden completar sus significados y, ası, proseguimos con la

Page 101: Estructuras m´etricas en grafos

102 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

Valoracion del test de Farnsworth-Munsell

En primer lugar evaluamos un test FM Hue 100 realizado por un paciente

deuteranomalo:

El ANEXO2 contiene las coordenadas Lab de las 85 fichas no ancladas deltest FM, obtenidas en el laboratorio mediante un colorımetro Minolta CM700d e iluminante LED en el orden OF propuesto por el fabricante y en el

orden OD propuesto por el paciente.

Construimos el ciclo del fabricante y el del paciente, calculamos sus lon-gitudes y obtenemos que el del paciente tiene 0.4121 unidades de longitud

mas que el del fabricante como se puede ver en la Worksheet del capıtulo.

Podemos tomar esta diferencia 0.4121 como medida de la anomalıa del pa-ciente. Tambien observamos que dicha diferencia se debe, basicamente, a las

producidas en los tramos [0 : 30] y [46 : 66] cuestion que los clınicos sabrande seguro interpretar:

Figura 4.22: Ciclos del deuteranomalo y del fabricante

Mediante la funcion cicloycicloptimo(OF, LED) comprobamos que el ciclodel fabricante no es el optimo.

Figura 4.23: Ciclo del fabricante y ciclo optimo

Al intercambiar las fichas 62 y 63 logramos rebajar la longitud del ciclo del

fabricante en 0.001190 unidades de longitud. Pensamos que la causa no esun error del fabricante sino una perturbacion producida por el iluminante

LED utilizado. Nos planteamos como siguiente objetivo testar los test FM

Page 102: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 103

de la Escuela de Optica de Zaragoza a los que hemos tenido acceso, con

diferentes iluminantes.

En el ANEXO3 archivamos las coordenadas Lab de las 28 fichas no ancladasdel test FM Hue 28, en el orden propuesto por el fabricante, obtenidas en

el laboratorio mediante el colorımetro Minolta CM 700d e y los iluminantesA, C, D65 y F11. Para los cuatro vemos que la ordenacion propuesta por elfabricante es la optima y la diferencia de longitudes de los ciclos es siempre

nula.

Figura 4.24: Iluminante A

Figura 4.25: Iluminante 28C

Figura 4.26: Iluminante D65

Page 103: Estructuras m´etricas en grafos

104 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

Figura 4.27: Iluminante F11

En el ANEXO4 archivamos las coordenadas Lab de las 85 fichas no ancladas

de los test FM 100 Hue (2) y FM 100 Hue (3), en el orden propuesto porlos fabricantes, obtenidas en el laboratorio mediante el colorımetro Minolta

CM 700d e y los iluminantes A, C, D65 y F11.

Para el iluminante A obtenemos:

Figura 4.28: Diferencia de longitud de ciclos 0,00005341 para FM(2)

Figura 4.29: Coincidencia de ciclos para FM(3)

En el test FM(2) observamos que la diferencia de 0, 00005341 unidades de

longitud se debe a la trasposicion de las fichas 54 y 56. Sin embargo el testFM(3) no es perturbado por el iluminante A.

Page 104: Estructuras m´etricas en grafos

4.1. CICLOS HAMILTONIANOS MINIMOS 105

Para el iluminante C obtenemos:

Figura 4.30: Diferencia de longitud de ciclos 0,0002670 para FM(2)

Figura 4.31: Diferencia de longitud de ciclos 0,0006256 para FM(3)

Los test FM(2) y FM(3) presentan diferencias de longitud de ciclos de0, 0002670 y 0, 0006256 unidades, respectivamente. Ambas se deben a la

trasposicion de las fichas 62 y 63.

Para el iluminante D65 obtenemos:

Figura 4.32: Coincidencia de ciclos para FM(2)

La diferencia 0, 0002747 de longitud de ciclos para FM(3) se debe a latrasposicion de las fichas 62 y 63.

Page 105: Estructuras m´etricas en grafos

106 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

Figura 4.33: Diferencia de longitud de ciclos 0,0002747 para FM(3)

Para el iluminante F11 obtenemos:

Figura 4.34: Diferencia de longitud de ciclos 0,006058 para FM(2)

Figura 4.35: Diferencia de longitud de ciclos 0,006981 para FM(3)

La diferencia 0, 006058 para FM(2) se debe a la trasposicion de los pares de

fichas 29 − 30 y 37 − 38. La diferencia 0, 006981 para FM(3) se debe a latrasposicion de los pares 5− 6, 29 − 30 y 37 − 38.

Page 106: Estructuras m´etricas en grafos

4.2. ARBOLES HAMILTONIANOS MINIMOS 107

Observaciones 4.1.10

1. Es claro que lo que pretende un test FM bien construido es formar un

ciclo hamiltoniano optimo con los puntos del plano complejo corres-pondientes a los valores triestımulo XY Z de las fichas.

A partir de la lista C de coordenadas Lab de dichas fichas, obtenidasbajo un iluminante IL, la funcion LabtoXY Z(C, IL) calcula la lista

T de los valores triestımulos de las fichas del test. Finalmente, con lafuncion XY ZtoP (T ) obtenemos la lista de complejos L y su corres-

pondiente cicloham(L).

2. Para facilitar la comparacion visual del ciclo hamiltoniano F ofrecido

por el fabricante con el cicloham(F ) obtenido con un iluminante IL,utilizamos la funcion cicloyciclooptimo(F, IL) que consigue que ambos

ciclos tengan el mismo origen.

3. La diferencia entre la longitud lD del ciclo propuesto por un pacientedeuteranomalo y la longitud lF del ciclo propuesto por el fabricante

del test FM utilizado, nos parece una manera precisa de evaluar laanomalıa del paciente aunque podrıa ser mas razonable normalizarladel siguiente modo

Anomalıa = 100 ∗ lD − lF

lF

4. Estimamos que no serıa difıcil modificar el codigo desarrollado para

poder realizar test FM on line tomando como referencia no la longitudLF propuesta por el fabricante sino la longitud del ciclo hamiltoniano

optimo que se obtuviera teniendo en cuenta las caracteristicas de colore iluminacion de la pantalla del ordenador que utilizara el paciente en

una habitacion oscura.

5. Las pequenas diferencias entre los ciclos que presentan los fabricantes

y los obtenidos mediante la funcion cicloham que, por lo expuesto,parecen deberse exclusivamente a los iluminantes utilizados ha aumen-

tado la confianza en nuestro algoritmo. Agradecemos a la Facultad deCiencias de la Universidad de Zaragoza habernos permitido usar los

datos para realizar este experimento practico.

4.2 Arboles hamiltonianos mınimos

Para listas L de complejos con |L| < 6, la funcion optimiza(L) nos de-

vuelve al instante el arbol hamiltoniano de mınima longitud obteniendolodirectamente como el de longitud mınima entre todos los posibles arboles

hamiltonianos de list(Permutations(L)). Sin embargo, para |L| > 11, el

Page 107: Estructuras m´etricas en grafos

108 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

tiempo de calculo de optimiza(L) se puede hacer insoportable. Conviene,

por tanto, disenar una aproximacion satisfactoria del arbol hamiltonianooptimo que se pueda calcular con rapidez.

Una primera opcion es suprimir de C = cicloham(L) su mayor arista median-

te la funcion CA(L) que nos da un arbol hamiltoniano de longitud lon(C)[0]−lon(C)[1].

Sin embargo, como podemos comprobar con la lista L8 estudiada en el ejem-plo 4.1.7.4, aunque cicloham(L8) es un ciclo hamiltoniano optimo, CA(L8)

no es un arbol hamiltoniano optimo en L8:

Figura 4.36: CA(L8) de 27.66, una de 25.88 y optimiza(L8) de 25.35

La conexion intermedia se ha obtenido a partir de CA(L8) suprimiendo la

arista mayor y conectando los dos caminos hamiltonianos que se producen,de manera conveniente. Esto es lo que hemos establecido como metodo

general en la funcion caminoham(L) que, aunque, como vemos, no siem-pre devuelve el arbol hamiltoniano optimo en L, lo tomaremos como una

aproximacion suficiente del arbol hamiltoniano optimo para listas largas.

Con el fin de evaluar la bondad de caminoham(L) establecemos las siguien-

tes cotas

1. kruskal(L)[1]

2. La funcion cotaV a(L), sugerida por el Prof. R. Vidal, que calcula paracada vertice de L la longitud de las dos aristas menores que inciden

en el, siendo la cota el promedio de la suma de estas longitudes menosla longitud de la mayor de las aristas consideradas.

Como no siempre kruskal(L)[1] ≤ cotaV a(L) ni lo contrario, consideramos

el maximo de ambas cotas implementado en la funcion cotaKV a(L) y defini-

Page 108: Estructuras m´etricas en grafos

4.2. ARBOLES HAMILTONIANOS MINIMOS 109

mos la bondad abierta, bondada(L), como la razon

bondada(L) = 100 · cotaKV a(L)

lon(caminoham(L))[0]

Cuando bondada(L) = 100, como sucede para L = rectangular(5, 5, 1, 1),podemos asegurar que caminoham(L) es un arbol hamiltoniano optimo.

El recıproco no se verifica: para la lista

L = [13.74+19.57i,−19.28+4.73i,−2.73+7.46i, 4.63−10.33i, 15.83−17.58i, 2.66+2.26i]

tenemos caminoham(L) ' optimiza(L) y bondada(L) = 84, 42%.

Daremos por buena la propuesta de caminoham(L) si bondada(L) > 80%.

Page 109: Estructuras m´etricas en grafos

110 CAPITULO 4. CONEXIONES HAMILTONIANAS MINIMAS

Page 110: Estructuras m´etricas en grafos

Capıtulo 5

Caminos de Steiner

5.1 Arbol mınimo de Steiner

Para un conjunto finito de puntos L del plano complejo (C, | |) queremos

encontrar un camino que conecte todos los puntos de L y tenga la mınimalongitud posible. Tal camino debe ser un arbol y puede contener puntos

de C que no esten en L y ayuden a reducir la longitud total. Tales puntosse llaman actualmente puntos de Steiner y el camino resultante se designa

SMT(L) (Steiner Minimal Tree).

Por ejemplo, si T = triangular(2, 1,√

32 ), la mınima conexion hamiltoniana

en T tiene longitud 2 pero si B =sum(T )

3 , la mınima conexion posible en

T + [B] es de longitud√

3.

A principios del siglo XVII Fermat propuso el problema de encontrar paratres puntos cualesquiera del plano P1, P2, P3, un cuarto punto F tal que la

suma de las distancias FP1 + FP2 + FP3 fuese mınima. En 1640 Torricellinos regalo su famosa construccion del punto F :

111

Page 111: Estructuras m´etricas en grafos

112 CAPITULO 5. CAMINOS DE STEINER

donde la distancia E1E2 es la mınima suma buscada FP1 + FP2 + FP3.

Desde entonces el problema de Steiner ha sido tratado profusamente vease

[35], [36], [37], [38], [68], [70], [75], [76], [74], [112], [113] y son bien conocidaslas siguientes

Propiedades 5.1.1

1. En un SMT el numero de aristas que inciden en cada vertice (gradodel vertice) es a lo mas tres.

2. En un SMT el grado de cada punto de Steiner es igual a tres y dos

aristas que inciden en el forman un angulo de 120o.

3. En un SMT(L) hay a lo mas |L| − 2 puntos de Steiner. Hay exacta-

mente |L| − 2, cuando los puntos de L tienen grado uno.

4. Un SMT(L) tiene a lo mas 2|L| − 3 aristas.

5.2 Algoritmos de Steiner

Nuestra primera contribucion en este capıtulo es la programacion de tres

importantes funciones, Steiner3(L), Steiner4(L) y Steiner5(L) que nosdevuelven para una lista L de 3, 4 o 5 complejos:

1. Los puntos de Steiner de L.

2. El dibujo del SMT(L).

3. La longitud S(L) del SMT(L).

Page 112: Estructuras m´etricas en grafos

5.2. ALGORITMOS DE STEINER 113

4. Una comparacion normalizada, entre la longitud H(L) del arbol hamil-

toniano mınimo de L y la longitud S(L), que llamamos ganancia

G(L) = 100H(L)− S(L)

H(L).

La funcion Steiner3(L) tiene una programacion algebraica sencilla peroSteiner4(L) y Steiner5(L) tienen una programacion iterativa que se detiene

cuando los posibles puntos de Steiner a anadir se acercan suficientemente alas condiciones exigidas en 5.1.1. Las iteraciones se realizan con las funciones

auxiliares iter4(L) e iter5(L) a partir de posiciones iniciales adecuadas, pro-porcionadas por las funciones auxiliares optimiza4(L) y optimiza5(L) que

no solo hallan conexiones hamiltonianas mınimas sino tambien exigen condi-ciones a los angulos que forman sus aristas. Como |L| ≤ 5, las tres funcionespueden devolvernos con rapidez la cuarta salida G(L) pues podemos calcu-

lar H(L) mediante la funcion optimiza(L) que elige la poligonal de menorlongitud entre las determinadas por todas las permutaciones posibles en L.

Estas funciones de Steiner que tambien las usamos bajo el nombre de

Steiner(L, n) con n = 3, 4, 5, tienen una gran precision:

Ejemplos 5.2.1

1. En la configuracion T = radial(3, 1, 1, 0) la construccion de Torricellinos da los resultados exactos S(T ) = 3 y G(T ) = 50(2−

√3).

Steiner3(T ) nos da S(T ) = 3 y G(T ) = 13.3974596215561 con 14cifras decimales exactas.

2. En la configuracion L = [0, 1, I ] la construccion de Torricelli nos da

los resultados exactos S(L) =√

22 +

32 y G(L) = 4−

√2−

√6

4 .

Steiner3(L) nos da S(L) = 1.93185165257814 y G(L) = 3.40741737109317

con 14 cifras decimales exactas.

3. En la configuracion Q = [0, I, 1 + I, 1] la construccion de Torricelli

nos da los resultados exactos S(Q) = 1 +√

3 y G(Q) = 1002−√

33 .

Steiner4(Q) nos da S(Q) = 2.73205080756944 y G(Q) = 8.93163974768525

con 7 cifras decimales exactas.

Page 113: Estructuras m´etricas en grafos

114 CAPITULO 5. CAMINOS DE STEINER

4. En la configuracion romboidal R = [0, 1, 1 + ei π3 , ei π

3 ] la construccion

de Torricelli

da los resultados exactos S(R) =√

7 y G(R) = 1003−√

73 .

Steiner4(R) nos da S(L) = 2.6457513 y G(L) = 11.8082896 con 7cifras decimales exactas.

5. En la configuracion P = radial(5, 1, 1, 0) la construccion de Torricelli

da los resultados exactos

S(P ) = 4 · sin π

5· cos

π

30(sin

30+√

3 cos7π

30)

G(P ) = 100− 50 · (√

3 · cos7π

30+ sin

30) · cos

π

30.

Steiner5(P ) nos da S(P ) = 4.57432991416211 con 6 cifras decimalesexactas y G(P ) = 2.72106402122711 con 4 cifras decimales exactas.

En los cuatro ultimos ejemplos podemos aumentar la precision ajustando

las condiciones de parada de los procesos iterativos iter4() e iter5() pero acosta de aumentar el tiempo de calculo. Nos parece suficiente la precision

que ya tenemos para establecer los siguientes

Page 114: Estructuras m´etricas en grafos

5.3. DEFORMACIONES EN MEMBRANAS DE GRAFENO 115

Resultados 5.2.2

1. Si L = radial(3, 1, 1, 0)+ [0], G(L) = 19.615242

2. Si L = radial(4, 1, 1, 0)+ [0], G(L) = 19.980084

3. Si L = [0, 1, 1 + ei π3 , ei π

3 ] + [ 1+ei π3

2 ], G(L) = 11.808289

4. Si L = radial(5, 1, 1, 0)+ [0], G(L) = 16.043679

5. Si L = radial(6, 1, 1, 0)+ [0], G(L) = 13.397459

5.3 Deformaciones en membranas de grafeno

Las dos dislocaciones que se producen en una membrana de grafeno porcausas aun desconocidas son las deformaciones de Stone-Wales y la mitosis

(ver, [117], [42], [88])

Figura 5.1: Esquemas de Zsoldos

Mediante la funcion Steiner4g(L) podemos aplicar el metodo iter4 a la lista

L y no a optimiza4(L). En consecuencia obtenemos una conexion de Steinermınima aunque solo localmente. Esto es lo que creemos que sucede en lasdeformaciones de Stone-Wales

Page 115: Estructuras m´etricas en grafos

116 CAPITULO 5. CAMINOS DE STEINER

En la mitosis, los defectos se producen al conectarse cuatro atomos de car-

bono por un arbol de Steiner mınimo, aunque para ello tenga que captar dosnuevos atomos de carbono que podrıan ser considerados atomos de Steiner.

En la bibliografıa citada no hemos encontrado una motivacion de este tipopara las dislocaciones en el grafeno.

5.4 Atajos de Steiner

La reduccion de buenas conexiones hamiltonianas mediante atajos de Steineres un problema de gran interes en la planificacion de nuevas infraestructuras

o la mejora de las existentes en extensos territorios. Piensese, por ejemplo,en la conexion por AVE entre las ciudades espanolas, la electrificacion o la

conexion por fibra optica en el rural gallego o la ampliacion razonable dela red de autopistas de un paıs. Ya en 1836, Gauss planteo a su amigo

Schuhmacher (vease [59]) cuanto se podrıa reducir la conexion por carreteraentre las ciudades alemanas de Bremen, Harburg, Hannover y Braunschweig.

Para tratar estos problemas disponemos, por deferencia de Emilio EstevezMartınez, del paquete de funciones de SAGE union europea que ha elabo-

rado para su tesis doctoral. En cada paıs de la UE ha tomado las n ciudadesmas importantes, siendo n la poblacion del paıs en millones de habitantes.

Ha determinado las ciudades a partir de su nombre y su latitud y longitudgeograficas expresadas en grados decimales obtenidas en la pagina de Inter-

net www.mundivideo.com/coordenadas.htm.

Cada paıs P empieza siendo una lista de puntos en la esfera terrestre connombre [[Namek, lonk, latk] | k ∈ P ]] y los valores de su longitud y latitud

medias LOM y LAM y, tomando el radio de la Tierra R = 6367650, latransforma en la lista de complejos con nombre [Namek, xk + I ∗ yk] | k ∈ P ]donde

{

xi = Rcos(latiπ

180)tan((loni − LOM) π180)

yi = R(lati − LAM) π180

Page 116: Estructuras m´etricas en grafos

5.4. ATAJOS DE STEINER 117

Transforma la pareja de paıses [P1, P2] en una sola lista en el plano complejo

de P1 mediante la funcion desplazamiento(P1()[1], P2()[1]) que suma a lascoordenadas del paıs P2, un numero complejo cuyo modulo es la distancia

geodesica entre los puntos [LOM1, LAT1] y [LOM2, LAT2] y cuyo argumentoes el angulo entre el cırculo maximo determinado por ellos y el paralelo que

pasa por [LOM1, LAT1].

Para una lista de paıses [P1, · · · , Pk], mediante la funcion viaje([P1, · · · , Pk])

genera una unica lista de complejos y usa la funcion genera mapa paraobtener el cicloham de la misma resaltando las ciudades que ocupan los lu-

gares multiplos de diez. Finalmente, mediante la funcion pintar nom ciudadesobtiene las listas de las 10 ciudades de cada tramo para permitir al usuario

establecer la correspondencia entre nombres y puntos del plano.

Con estas mismas ideas, hemos elaborado el paquete autonomic spain in-cluyendo en cada autonomıa una ciudad por cada cien mil habitantes mas

o menos.

Con las funciones de SAGE que tenemos elaboradas hemos resuelto com-

pletamente en la Worksheet del capıtulo el problema planteado por Gauss.Aquı solo anadimos la grafica

Figura 5.2: Conexion de Gauss

que nos indica que solo hay un punto de Steiner ya que el segundo coincideexactamente en Hanover.

Si z es el complejo del punto de Steiner, la funcion coorgeo(z, alemania) nosdevuelve sus coordenadas geograficas y pegando en HTML la direccion

< iframewidth = ”100%”height = 850txframeborder = ”0”scrolling = ”no”

marginheight = ”0”marginwidth = ”0”src = ”http : //www.mundivideo.com/

co.htm?id = sp&lat = 40.7060081&lng = −74.0088151&x convertirUTM =

583730.1&y convertirUTM = 4506594.37&zon = 18&hem = Norte

&dir = WallStreet, NuevaY ork” >< /iframe >,

Page 117: Estructuras m´etricas en grafos

118 CAPITULO 5. CAMINOS DE STEINER

introduciendo en ”Lugar” la salida de coorgeo(z, alemania) y clicando en”Ver”, aparece un senalizador del punto de dichas coordenadas. Pasando a

modo Mapa, podemos conocer las ciudades del entorno de dicho punto.

Otro ejemplo que hemos resuelto es la obtencion de una conexion por fi-bra optica entre las 20 ciudades mas pobladas de Galicia, mas corta que laconexion de Kruskal.

A partir de la funcion galicia() del paquete autonomic spain obtenemos

GA = [galicia][0]()[0] y la lista de complejos L = [a[1] for a in GA], de las20 ciudades mas pobladas de Galicia. La funcion kruskal(L) nos propor-

ciona una conexion de 364.138 km. La funcion CA(L) nos proporciona unarbol hamiltoniano de 381.402km cuya grafica es

Figura 5.3: Las 20 ciudades de Galicia

A partir de esta representacion formamos la lista HR de los tramos quevisualmente consideramos optimos para que las funciones de Steiner pro-

duzcan la maxima reducion. En este caso tomamos

HR = [[0, 3], [3, 7], [9, 11], [11, 14], [14, 16], [16, 19]]

La funcion atajovisual(CA(L), HR) nos devuelve una propuesta de conexion

con una longitud de 360.686 km que es inferior a la de Kruskal:

Figura 5.4: CA(L), Kruskal y Steiner

Page 118: Estructuras m´etricas en grafos

5.5. CONSTANTES DE GANANCIA 119

En la Worksheet del capıtulo se pueden ver mas ejemplos de construccion

de atajos de Steiner sobre conexiones hamiltonianas.

5.5 Constantes de ganancia

Dada una lista de complejos L, para definir la hoja de ruta HR y usarla en la

funcion atajovisual(CA(L), HR) se necesita una cierta intuicion geometricasobre los tramos de longitud 3, 4 o 5 que nos proporcionen mayor ganancia.Esta cuestion esta relacionada con la conjetura de Gilbert y Pollak [61]:

Sea P un conjunto de n puntos en el plano euclideo. Si Ls(P ) y Lm(P )denotan las longitudes de su SMT y de su arbol generador mınimo se

cumple:Ls(P )

Lm(P )≥

√3

2

Esta conjetura se dio por probada en [49] pero en [75] se han puesto demanifiesto serios errores en la prueba. Esto nos indica que estamos ante unacuestion sutil y actual.

En esta memoria, la ganancia G(L) no se establece sobre arboles genera-

dores mınimos sino sobre arboles hamiltonianos mınimos con la esperanzade poder hacer aportaciones en un problema menos duro.

Para cada natural n ≥ 3 designamos

L(n) = {L | |L| = n} y Gn = maxL∈L(n)

{G(L)}

y nos planteamos las tres cuestiones siguientes:

1. La determinacion de listas optimas LOn ∈ L(n) de ganancia maxima.

2. El calculo de las constantes Gn = G(LOn).

3. El calculo de limn→∞

Gn.

Puesto que siempre podemos desdoblar un punto de una lista L ∈ L(n)

para obtener otra lista L′ ∈ L(n + 1) con la misma conexion de Steiner eigual o mayor conexion hamiltoniana, la sucesion Gn es monotona creciente,acotada superiormente y convergente. Ası, tiene sentido la tercera cuestion.

Estudio de LO3

Teorema 5.5.1 LO3 es la configuracion equilatera y

G3 = 13.3974596215561

Page 119: Estructuras m´etricas en grafos

120 CAPITULO 5. CAMINOS DE STEINER

Demostracion:

Sea T la lista de vertices de un triangulo cualquiera del plano complejo.Podemos suponer, sin restriccion, que su lado mayor tiene longitud m, que

los vertices z1 y z2 que lo determinan estan en el eje real y que el tercervertice z3 esta en el semiplano Im(z) > 0.Tomando z1 y z2 como focos, construimos la elipse E que pasa por z3. En

E existen dos puntos, z0 y z4 tales que |z0 − z2| = |z4 − z1| = m y es claroque z3 se encuentra en el arco E04 de la la elipse E de extremos z0 y z4.

Figura 5.5: elipse

Por las propiedades de la elipse, H([z1, z2, z]) = H(T ) ∀z ∈ E04 y, por elteorema de Ptolomeo, S([z1, z2, z]) ≥ S([z1, z2, z0]) ∀z ∈ E04. Por tanto,

siempre existe un triangulo isosceles TI = [z1, z2, z0] tal que G(TI) ≥ G(T ).Por otra parte, como indican los calculos realizados en la Worksheet del

capıtulo y representados en la siguiente grafica, para cualquier trianguloisosceles encontramos uno equiatero con ganancia 13.3974596215561, mayor

que la del isosceles dado:

Figura 5.6: Triangulo equilatero con ganancia 13.3974596215561

Page 120: Estructuras m´etricas en grafos

5.5. CONSTANTES DE GANANCIA 121

Por tanto, la configuracion de tres puntos de maxima ganancia es la equilatera.♦

Estudio de LO4 y LO5

En la busqueda de las configuraciones optimas de cuatro y cinco puntos, no

hemos logrado teoremas definitivos como el 5.5.1, sin embargo, las funcionesSteiner4() y Steiner5() nos han permitido realizar experimentos de cierto

interes que queremos destacar aquı:

Observaciones 5.5.2

1. Los resultados de 5.2.1,3 y 4 que indican que el rombo tiene mayor

ganancia que el cuadrado pueden confirmarse del siguiente modo:Consideramos las listas La = [0, 1, 1 + eai, eai] para todo a ∈ [0, 2π],

calculamos la funcion Steiner4(La)[3] y en su grafica

vemos que los picos de mayor ganancia corresponden al rombo.

2. Para casi todo cuadrivertice convexo hemos podido hallar uno concavo

con mayor ganancia, constituido por uno de sus trivertices y su puntode Steiner.

3. De todas las configuraciones de cuatro puntos que hemos estudiado,

ha sido L = radial(3, 1, 1, 0) + [0] en la que hemos hallado mayorganancia.

4. Es evidente que radial(3, 1, 1, 0)+[0] y radial(3, 1, 1, 0) tienen el mismo

SMT. El 0 puede ser el punto de las aristas del SMT que genere conlos puntos de radial(3, 1, 1, 0), el maximo arbol hamiltoniano.

5. Tras experimentar con gran cantidad de listas aleatorias de 4 comple-

jos, sus ganancias siempre han resultado menores que 19.615242.

Apoyados en las cuatro ultimas observaciones hacemos la siguiente

Page 121: Estructuras m´etricas en grafos

122 CAPITULO 5. CAMINOS DE STEINER

Conjetura 5.5.3

LO4 = radial(3, 1, 1, 0)+ [0] y G4 = 19.615242

Observaciones 5.5.4

1. Los resultados 5.2.2,2 y 3 indican que la ganancia de los vertices de

un cuadrado con su centro es mayor que la ganancia de los vertices deun rombo con su centro, en contra de lo que sucede si se suprimen los

centros (ver 5.2.1,3 y 4).

2. De todas las configuraciones de cinco puntos que hemos estudiado,ha sido L = radial(4, 1, 1, 0) + [0] en la que hemos hallado mayor

ganancia.

3. Es evidente que radial(4, 1, 1, 0)+[0] y radial(4, 1, 1, 0) tienen el mismo

SMT. El 0 puede ser el punto de las aristas del SMT que genere conlos puntos de radial(4, 1, 1, 0), el maximo arbol hamiltoniano.

4. Tras experimentar con gran cantidad de listas aleatorias de 5 comple-

jos, sus ganancias siempre han resultado menores que 19.980084.

Apoyados en estas observaciones hacemos la siguiente

Conjetura 5.5.5

LO5 = radial(4, 1, 1, 0)+ [0] y G5 = 19.980084

Estudio de LO6, LO7, · · ·En la busqueda de las configuraciones optimas de 6, 7 o mas puntos, nodisponemos de funciones Steiner especıficas y debemos hallar caminos de

Steiner pegando convenientemente arboles mınimos de Steiner obtenidoscon las funciones Steiner3(), Steiner4() y Steiner5(). Hemos realizadoexperimentos de cierto interes que queremos destacar aquı:

Observaciones 5.5.6

1. En L = radial(4, 1, 1, 0) + [0] podemos desdoblar el 0 en dos puntossimetricos respecto de el, situados en el segmento determinado por losdos puntos de Steiner S1 y S2

Page 122: Estructuras m´etricas en grafos

5.5. CONSTANTES DE GANANCIA 123

Para cada a ∈ (0, 1], La = radial(4, 1, 1, 0)+ [a · S1, a · S2] ∈ L(6) yes evidente que S(La) = S(L). En la grafica

vemos que G(La) tiene un maximo M = 21.9394 en a = 0.591.

Representando los arboles hamiltonianos optimos H(L.591) y H(L.592)

vemos que la ganancia maxima se alcanza en un punto de cambiodrastico de la configuracion del arbol hamiltoniano optimo.La lista L.591, con G(L.591) = 21.9394, es la de mayor ganancia que

hemos encontrado en L(6).

2. Como P = radial(5, 1, 1, 0) + [0] ∈ L(6) y tiene G(P ) = 16.043679

Page 123: Estructuras m´etricas en grafos

124 CAPITULO 5. CAMINOS DE STEINER

(ver 5.2.2,4) observamos que, para n ≥ 6, las distribuciones de L(n)

de mayor ganancia, no siempre son del tipo radial() + [0].

Apoyados en las observaciones anteriores hacemos la siguiente

Conjetura 5.5.7

LO6 = L.591 y G6 = 21.9394

Observaciones 5.5.8

1. La+[0] ∈ L(7) ∀a ∈ (0, 1] y sus arboles hamiltonianos optimos estanobligados a ser del tipo H(L.591). Estudiando la funcion G(La + [0])

vemos que alcanza el maximo M = 23.6292 en a = 1

La distribucion L1 + [0] con G(L1 + [0]) = 23.6292, es la de mayorganancia entre las que hemos tratado en L(7).

2. Como H = radial(6, 1, 1, 0) + [0] ∈ L(7) y tiene G(H) = 13.397459(ver 5.2.2,5) corroboramos que, para n ≥ 6, las distribuciones de L(n)de mayor ganancia, no siempre son del tipo radial() + [0].

Apoyados en las ultimas observaciones hacemos la siguiente

Conjetura 5.5.9

LO7 = L1 + [0] y G7 = 23.6292

Estudio del limn→∞

Gn

Una configuracion de puntos como la siguiente

Page 124: Estructuras m´etricas en grafos

5.5. CONSTANTES DE GANANCIA 125

en la que la relacion de las aristas verticales a las restantes es vr

= 1+√

32 y

puede repetirse por la derecha tantas veces como queramos, nos asegura que

limn→∞

Gn ≥ 100v

r + 2v= 100

1 +√

3

4 + 2√

3= 36.6025 .

Si, a la configuracion anterior le anadimos patillas horizontales adecuadas,

aun podemos conseguir ganancias mayores. Por ejemplo, para patillas delongitud 1√

3situadas en la mitad de las aristas verticales, obtenemos ganan-

cias superiores al 46%. Por otra parte, no podemos imaginar ganancias

superiores al 50% por lo que conjeturamos que

limn→∞

Gn ∈ [46, 50]

Si ajustamos la nube de puntos

{

X = [3, 4, 5, 6, 7]

Y = [13.397459, 19.615242, 19.980084, 21.9394, 23.6292]

segun el modelo f(x, a, b) = a · ebx + 50, obtenemos una curva de ajuste

Esta curva deberıa servirnos de pauta para determinar el maximo ındice Nde las funciones SteinerN () que deben ser utilizadas en la determinacion de

atajos con una ganancia determinada.

Page 125: Estructuras m´etricas en grafos

126 CAPITULO 5. CAMINOS DE STEINER

Page 126: Estructuras m´etricas en grafos

Resultados

Presentamos la lista de las que, desde nuestro punto de vista, constituyenlas aportaciones principales de esta memoria:

En el capıtulo 1:

1. Una demostracion original del Lema 1.1.3.

2. El teorema 1.1.8.

3. El teorema 1.1.9

4. La Worksheet del capıtulo.

En el capıtulo 2:

1. La presentacion coordinada de nucleo (nucleo traspuesto), matriz (ma-triz traspuesta), aplicacion lineal (aplicacion adjunta).

2. La sencilla presentacion de los teoremas 2.1.2, 2.1.4 y 2.1.6.

3. La original presentacion del concepto de digrafo, grafo y multidigrafoa partir de los conceptos de relacion y de nucleo.

4. El teorema 2.2.5 de caracterizacion de los digrafos conexos.

5. El corolario 2.2.13 sobre las matrices laplacianas de los grafos simetricos.

6. La Worksheet del capıtulo.

En el capıtulo 3:

1. La presentacion de las cuasimetricas definidas en 3.1.5.

2. Los teoremas 3.1.6, 3.1.9, 3.1.10, 3.1.13 y el corolario 3.1.14.

3. Las sencillas pruebas del teorema 3.1.19 y los corolarios 3.1.20 y 3.1.21

en comparacion con el original trabajo de Schoenberg [103].

4. Los teoremas 3.2.8, 3.2.9 y 3.2.12 donde se prueban los resultadosde [79] y [28] sin necesidad de considerar los digrafos como circuitos

electricos ni de utilizar el complicado teorema de la matriz de bosques.

127

Page 127: Estructuras m´etricas en grafos

128 Resultados

5. La Worksheet del capıtulo.

En el capıtulo 4:

1. El teorema 4.1.2 donde ponemos de manifiesto como el algoritmocicloham disenado en [8] funciona perfectamente en ciertas distribu-

ciones radiales.

2. Para un conjunto de puntos L del plano complejo, si designamoslon(C)[0] a la longitud de cicloham(L) y cotaKV (L) al maximo de

las cotas inferiores de Kruskal K(L) y de Vidal V (L), podemos definirel concepto de bondad del conjunto L:

bondad(L) = 100 · cotaKV (L)

lon(C)[0]

La heurıstica de los ejemplos realizados en la elaboracion de estamemoria nos lleva a confiar en la funcion cicloham para bondades

mayores o iguales al 80%.

3. Para un conjunto de puntos L del plano complejo, si designamoslon(Ca)[0] a la longitud de caminoham(L) y cotaKV a(L) al maximo

de las cotas inferiores de Kruskal Ka(L) y de Vidal V a(L), podemosdefinir el concepto de bondad abierta del conjunto L:

bondada(L) = 100 · cotaKV a(L)

lon(Ca(L))[0]

La heurıstica de los ejemplos realizados en la elaboracion de estamemoria nos lleva a confiar en la funcion caminoham para bondades

abiertas mayores o iguales al 80%.

4. La valoracion del test colorimetrico de Farnsworth-Munsell recogidasen las observaciones 4.1.10 obtenidas a partir de los datos experimen-

tales recogidos en los anexos 3 y 4 de esta memoria.

5. La Worksheet del capıtulo.

En el capıtulo 5:

1. Nuestra primera contribucion en este capıtulo es la programacion detres importantes funciones, Steiner3(L), Steiner4(L) y Steiner5(L)

que nos devuelven para una lista L de 3, 4 o 5 complejos:

(a) Los puntos de Steiner de L.

(b) El dibujo del SMT(L).

(c) La longitud S(L) del SMT(L) (Steiner Minimal Tree).

Page 128: Estructuras m´etricas en grafos

Resultados 129

(d) Una comparacion normalizada, entre la longitud H(L) del arbol

hamiltoniano mınimo de L y la longitud S(L), que llamamosganancia

G(L) = 100H(L)− S(L)

H(L).

2. Una explicacion geometrica de las deformaciones de Stone-Walls y Mi-tosis en las membranas de Grafeno que no hemos encontrado en la

literatura sobre el tema, [117], [42], [88], · · · .

3. Teorema 5.5.1 que asegura que la ganancia maxima para n = 3 es

G3 = 100 · (1−√

3

2)

4. La Worksheet del capıtulo.

Page 129: Estructuras m´etricas en grafos

130 Resultados

Page 130: Estructuras m´etricas en grafos

Bibliografıa

[1] P. Abellanas. Elementos de Matematica.

Madrid, 1965.

[2] E. Ackerman and O. Ben-Zwi. On Sets of Points that Determine onlyAcute Angles.

European Journal of Combinatorics, vol. 30, pags. 908–910, 2009.

[3] N. Alon and V.D. Milman. Concentration of measure phenomena in thediscrete case and the Laplace operator of a graph.

Seminar on Functional Analysis, Publ. Math. Univ. Paris VII, 20, Paris,pags. 55–68, 1984.

[4] N. Alon and V.D. Milman. λ1, Isoperimetric Inequalities for Graphs,

and Superconcentrators.Journal of combinatorial theory. Series B 38, pags. 73–88, 1985.

[5] N. Alon and P. Pudlak. Equilateral sets in lnp .

Journal Geometric and Functional Analysis, vol. 13, pags. 467–482,2002.

[6] J Aporta Alonso. Radiometrıa-Fotometrıa. Color y Fotografıa. Curso

2013-14.Escuela de Optica, Universidad de Zaragoza, recurso de Internet.

[7] N. Aronszajn. Theory of Reproducing Kernels.American Mathematical Society, vol.68, No. 3, pags. 337–404, 1950.

[8] F. de Arriba, E. Corbacho and R. Vidal. Designing Hamiltonian Cycles.

ACA2013, Malaga, 2013.

[9] L. Babai. Spectrum of Cayley graphs.J. Combin. Theory Ser., B 27, pags. 180–189, 1979.

[10] R. B. Bapat. Resistance distance in graphs.

The Mathematics Student, vol.68, pags. 87–98, 1999.

131

Page 131: Estructuras m´etricas en grafos

132 BIBLIOGRAFIA

[11] R. B. Bapat. Resistance matrix of a weighted graph.

Communications in Mathematical and in Computer Chemistry,MATCH 50, pags. 73–82, 2004.

[12] D. Bevan. Sets of Points Determining Only Acute Angles and SomeRelated Colouring Problems.

The Electronic Journal of Combinatorics, 2006.

[13] K. Bezdek, T. Bisztriczky and K. Boroczky. Edge-Antipodal 3-

Polytopes.Combinatorial and Computational Geometry, MSRI Publications, vol.

52, pags. 129–134, 2005.

[14] N. Biggs. Algebraic Graph Theory.

Cambridge University Press, London, 1974.

[15] B. Bollobas. Modern graph theory.

Springer-Verlag, New York, 1998.

[16] O. Boruvka. On a minimal problem.

Prace Moravske Pridovedecke Spolecnosti, vol. 3, 1926.

[17] R. A. Brualdi. The Mutually Beneficial Relationship of Graphs and Ma-

trices.Conference Board of the Mathematical Sciences by the American Math-ematical Society, Providence, Rhode Island, 2011.

[18] F. Buckley and F. Harary. Distance in Graphs.Addison-Wesley, Reading, 1969.

[19] J. Casas Pelaez. Optica.Facultad de Ciencias, Universidad de Zaragoza, 1985.

[20] J. S. Caughman and J.J. P. Veerman. Kernels of Directed Graph Lapla-cians.

The Electronic Journal of Combinatorics 13, 2006.

[21] A. Cayley. The collected mathematical papers of Arthur Cayley.

Cambridge University Press, Cambridge, 1896.

[22] CIE 1976. Colorimetry Part 4: CIE 1976 L*a*b* Colour Space.

CIE Central Bureau, Vienna, 2007.

[23] I. Chavel. Eigenvalues in Riemmannian geometry.

Academic Press, 1984.

[24] I. Chavel. Riemmannian geometry - A modern introduction.

Cambridge University Press, Cambridge, 1993.

Page 132: Estructuras m´etricas en grafos

BIBLIOGRAFIA 133

[25] S. Chaiken. A combinatorial proof of the all minors matrix tree theorem.

SIAM J. Alg. Disc. Meth. 3, pags 319–329, 1982.

[26] A. Chandra, P. Raghavan, W. Ruzzo, R. Smolensky and P. Tiwari.

The Electrical Resistance of a Graph Captures its Commute and CoverTimes.

Annual ACM Symposium on Theory of Computing, pags 574–586, 1989.

[27] P. Chebotarev . Aggregation of preferences by the generalized row summethod.

Institute of Control Sciences, 65, Profsoyuznaya St., Moscow 117806,Russian Federation. Mathematical Social Sciences 27, pags 293–320,1994.

[28] P. Chebotarev and E. Shamis. The Matrix-Forest theorem and measur-

ing relations in small social groups.Automation and Remote Control, Vol. 58, No. 9, 1505-1514. Institute

of Control Sciences, Russian Academy of Sciences, Moscow. Translatedfrom Avtomatika i Telemekhanika, No. 9, pags, 125-137, september,1997.

[29] P. Chebotarev and E. Shamis. The Forest Metrics for Graph Vertices.

Trapeznikov Institute of Control Sciences of the Russian Academy ofSciences, 65 Profsoyuznaya, Moscow 117997, Russia. August 12, 2000.

[30] P. Chebotarev and R. Agaev. Forest matrices around the Laplacianmatrix.

Trapeznikov Institute of Control Sciences of the Russian Academy ofSciences, 65 Profsoyuznaya str., Moscow 117997, Russia. Linear Algebra

and its Applications 356, pags 253–274, 2002.

[31] P. Chebotarev and R. Agaev. Laplace Spectra of Orgraphs and Their

Applications.Trapeznikov Institute of Control Sciences, Russian Academy of Sci-

ences, Moscow, Russia. Automation and Remote Control, Vol. 66, No.5, pags 719–733, 2005.

[32] P. Chebotarev and R. Agaev. On the spectra of nonsymmetruc Lapla-cian matrices.

Trapeznikov Institute of Control Sciences, Russian Academy of Sci-ences, Moscow, Russia. Linear Algebra and its Applications 399, pags

157–168, 2005.

[33] P. Chebotarev. Spanning forest and the golden ratio.

Trapeznikov Institute of Control Sciences, Russian Academy of Sci-ences, 65 Profsoyuznaya str., Moscow 117997, Russia. Discrete Applied

Mathematics 156, pags 813–821, 2008.

Page 133: Estructuras m´etricas en grafos

134 BIBLIOGRAFIA

[34] J. Cheeger. A lower bound for the smallest eigenvalue of the Laplacian,

in ”Problems in Analysis.R.C. Gunning, Ed., Princeton University Press, N.J., pags 195–199,

1970.

[35] D. Cieslik. Methods to Construct Shortest Trees in Banahc-Minkowski

Planes.Operations Research Proceedings, Ed. Springer, pag. 329–334, 1995.

[36] D. Cieslik. The Steiner-Ratio in Banach-Minkowski Planes.Contemporary Methods in Graph Theory, Bibliographisches Institut

(BI), Mannhein, pag. 231–247, 1990.

[37] D. Cieslik. Steiner Minimal Trees.Kluwer Academic Publishers, 1998.

[38] D. Cieslik. The Steiner Ratio.Combinatorial Optimization Book 10, Ed. Springer, 2001.

[39] J. H. Conway, H. T. Croft, P. Erdos and M. J. T. Guy. On the distri-bution of values of angles determined by coplanar points.

J. London Math. Soc., vol. 2, N0. 19, pags 137–143, 1979.

[40] E. Corbacho, M. C. Somoza and R. Vidal. Ciclos hamiltonianos

mınimos y caminos de Steiner.Jornadas Sage-Python Universidad de Extremadura, 2014.

[41] T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein. Introductionto Algorithms.

Second Edition. MIT Press and McGraw-Hill.Seccion 23.2: The algo-rithms of Kruskal and Prim, pags. 567–574, 2001.

[42] A. Cortijo Fernandez. Propiedades fısicas de grafeno en presencia dedesorden topologico.

Tesis doctoral. Universidad Carlos III, Madrid. 2007.

[43] D. M. Cvetkovic. Some possible directions in further investigations of

graph spectra, in ”Algebraic Methods in Graph Theory”.L. Lovas and V.T. Sos, Eds. Coll. Math. Soc. J. Bolyai, North-Holland,Amsterdam, pags 47–67, 1981.

[44] L. Danzer and B. Grumbaum. Uber zwei Probleme bezuglich konvexerKorper von P.Erdos und von V.L. Klee.

Math. Z., 79, pags 95–99, 1962.

[45] L. Danzer, B. Grumbaum and V. Klee. Helly´s theorem and its relatives.

Proc. Symp. Pure Math., vol. 7, pags 101–180, 1962.

Page 134: Estructuras m´etricas en grafos

BIBLIOGRAFIA 135

[46] W. E. Donath and A. J. Hoffman. Lower bounds for the partitioning of

graphs.IBM J. Res Develop. 17, No 5, pags 420–425, 1973.

[47] P. Doyle and J. Snell. Random walks and Electrical Networks.Math. Assoc. Am. Washington. 1984.

[48] J. Dugundji. A topologized fundamental group.

Proc National Academic Science USA, 36-2, pags. 141–143, 1950.

[49] D. Z. Du and F. K. Hwang A proof of the Gilbert-Pollak conjecture onthe Steiner RatioAlgorithmica, 7, pags. 121–135, 1992.

[50] P. Erdos. On Sets of Distances of n Points.

The American Mathematical Monthly, vol. 53, No. 5, pags 248–250,1946.

[51] P. Erdos and Z. Furedi. The greatest angle among n points in the d-dimensional euclidean space.

Annals of Discrete Mathematics, 17, North-Holland Publishing Com-pany, pags 275–283, 1983.

[52] E. Estevez Martınez. Arboles optimos y desigualdades de Sobolev en

rejillas.Departamento de Matematica Aplicada I, Universidad de Vigo, 2015.

[53] X. Fernandez Hermida. Apuntes Monograficos de Television. Dep.Teorıa de la Senal, Universidad de Vigo, 2014.

[54] M. Fiedler. Algebraic connectivity of graphs. Czechoslovak Mathemati-cal Journal, vol. 23, No. 98, pags 298–305, 1973.

[55] M. Fiedler and V. Ptak. On matrices with non-positive off-diagonal

elements and positive principal minors.Czechoslovak Mathematical Journal, vol. 12, No. 3, pags 382–400, 1962.

[56] W. H. Jr. Foster, R. Gans, E. I. Stearns and R. E. Stearns. Weights forCalculation of Tristimulus Values from Sixteen Reflectance Values.

Color Engineering, vol. 8, No. 3, 1970.

[57] O. Gabber and Z. Galil. Explicit construction of linear sized supercon-centrators.

J. Comput. Systems Sci. 22, No. 3, pags 407–420, 1981.

[58] S. Gallot, D. Hulin and J. LaFontaine. Riemannian Geometry.

Second Edition. Springer, 1990.

Page 135: Estructuras m´etricas en grafos

136 BIBLIOGRAFIA

[59] C.F. Gauss. Briefwechsel Gauss-Shuhmacher.

In Werke Bd. X, 1, Gottingen, pags. 459–468, 1917.

[60] E. Gilabert Perez and F. Martınez Verdu. Medida de la luz y el color,Tomo 2: Aplicaciones.

Ed. Universidad Politecnica de Valencia, 2007.

[61] E. N. Gilbert and H.O. Pollak. Steiner Minimal Trees.SIAM J. Appl. Math. 16, pags 1–29, 1968.

[62] F. Gobel and A.A. Jagers. Random walks on graphs.

Stochastic Processes and their Applications 2. North-Holland Publish-ing Company, pags 311–336, 1974.

[63] A. Gozdz. An antipodal set of a periodic function.

Journal of Mathematical Analysis and Applications, 148, pags 11–21,1990.

[64] B. Grumbaum. Strictly antipodal sets.

Israel J. Math., 1, pags 5–10, 1963.

[65] I. Gutman and w. Xiao. Generalized inverse of the Laplacian Matrixand some applications.

Bulletin de l’Academie Serbe des Sciences et des Arts No. 29, Classedes Sciences Mathematiques et Naturelles, 129, pags 15–23, 2004.

[66] F. Harary. Graph theory.

Encyclopedia of Mathematics and its applications, vol. 21, Gian-CarloRota Editor. Department of Mathematics. Massachusetts Institute of

Technology. Cambridge. Published by the Press Syndicate of the Uni-versity of Cambridge 1984.

[67] S. Har-Peled. Geometric Approximation Algorithms.

AMS Matematial Sourvys and Monograhps, vol 173, cap. 13 -14, pags.177–202, Providence, 2011.

[68] F. K. Hwang, D. S. Richards and P. Winter. The Steiner Tree Problem.

Elsevier Science Publishers B.V., North-Holland, 1992.

[69] X. Hubaut. Theorie des couleurs.Departement de Mathematique. Universite Libre de Bruxelles, 2013.

[70] A. O. Ivanov and A. A. Tuzhilin. Minimal Networks - The Steiner

Problem and Its Generalizations.CRC Press, Boca Raton, 1994.

[71] A. O. Ivanov and A. A. Tuzhilin. Geometry and Topology of Local Min-

imal 2-Trees.

Page 136: Estructuras m´etricas en grafos

BIBLIOGRAFIA 137

Bol. Sociedade Brasileira de Matematica, vol 28, No. 1, pags. 103–139,

1997.

[72] A. O. Ivanov and A. A. Tuzhilin. Extreme Networks.Acta Appl. Math., No. 66, pags. 251–317, 2001.

[73] A. O. Ivanov and A. A. Tuzhilin. Extreme Networks Theory.

Moscow-Izhevsk: Institute of Computer Investigations, Russian 2003.

[74] A. O. Ivanov and A. A. Tuzhilin. Gromov minimal fillings for finitemetric spaces.

Publications de L’institut Mathematique, Nouvelle serie, tome 94, pags.3–15, 2013.

[75] A. O. Ivanov and A. A. Tuzhilin. Du -Hwang Characteristic Area:

Catch-22.arXiv:1402.6079v1[math.MG], 2014.

[76] A. O. Ivanov, A. A. Tuzhilin and D. Cieslik. Steiner Ratio for Rieman-

nian manifolds.In Russian Mathematical Surveys, No. 55, pags. 1150–1151, 2000.

[77] A. O. Ivanov, A. A. Tuzhilin and D. Cieslik. Steiner Ratio for Manifolds.

In Mathematical Notes, No. 73, pags. 367–374, 2003.

[78] D. Kazhdan. Connection of the dual space of a group with the structureof its closed subgroups.

Function Analysis and Applications, 1, Springer, pags. 63–65, 1967.

[79] D. Klein and M. Randic. Resistance distance.Journal of Mathematical Chemistry, vol. 12, pags. 81–95, 1993.

[80] J. Koolen, M. Laurent and A. Schrijver. Equilateral dimension of the

rectilinear space.Des., Codes and Crypt. 21, CWI, Kruislaan 413, 1098 SJ Amsterdam,

The Netherlands, pags 149–164, 2000.

[81] J. B. Kruskal. On the shortest spanning subtree and the traveling sales-man problem.

Proceedings of the American Mathematical Society 7, pags. 48–50,1956.

[82] M. Ledoux The Concentration of Measure Phenomenon.

Mathematical Surveys and Monographs. Vol 89. American Mathemat-ical Society. Rhode Island 2001.

[83] L. Lovasz. Spectra of graphs with transitive groups.

Period. Math. Hungary, 6, No. 2, pags 191–195, 1975.

Page 137: Estructuras m´etricas en grafos

138 BIBLIOGRAFIA

[84] L. Lovasz. Combinatorial Problems and Exercises.

Problem 11.8, North-Holland, Amsterdam, 1979.

[85] L. Lovasz. Random Walks on Graphs: A Survey.Bolyai Society, Mathematical Studies, 2. Combinatorics, Paul Erdos isEighty, vol. 2, Keszthely, Hungary, pags 1–46, 1993.

[86] L. Lovasz and S. Vempala. Where to Start a Geometric Random Walk?

Technical Report MSR-TR-30, 2003.

[87] M. J. Luque, M. D. de Fez and M. A. Diez. Directrices para la admin-istracion y puntuacion del test FM Hue 100Ver y Oir, Departamento de Optica, Universidad de Valencia, 2001.

[88] J. Ma, D. Alfe, A. Michaelides and E. Wang. Stone-Wals defects in

graphene and other planar sp2-bonded materials.Phisical Review B 80, 033407, 2009.

[89] N. M. Maia de Abreu. Old and new results in algebraic connectivity ofgraphs.

Science Direct. Linear Algebra and its Applications 423, pags 53–73,2007.

[90] G. A. Margulis. Explicit construction of concentrators.

Problems Inform. Transmission, pags 325–332, 1975.

[91] H. Martini and V. Soltan. Antipodality properties of finite sets in Eu-

clidean space.Science Direct. Discrete Mathematics 290, pags. 221–228, 2005.

[92] J. C. Maxwell. On the Theory of Compound Colours, and the Relationsof the Colours of the Spectrum.

Proceeding of the Royal Society of London, January, 1860.

[93] L. Merino, E. Santos. Algebra Lineal con Metodos Elementales. Univer-sidad de Granada, 1997.

[94] R. Merris. Doubly Stochasty Graph Matrices.University Beograd. Publ. Elektrotehn. Fak. Ser. Mat. 8, pags 64–71,

1997.

[95] B. Mohar. Some Applications of Laplace Eigenvalues of Graphs.Graph Symmetry: Algebraic Methods and Applications, Eds G. Hahn

and G. Sabidussi, NATO ASI Ser. C 497, Kluwer, pags 225–275, 1997.

[96] A. H. Munsell. A Pigment Color System and Notacion.

The American Journal of Psychology, vol. 23, No. 2, 1912.

Page 138: Estructuras m´etricas en grafos

BIBLIOGRAFIA 139

[97] F. R. Nicolas. Colorimetrıa.

Unidad didactica 101, Instituto Oficial de Radio Television Espanola,1988.

[98] M. I. Ostrovskii. Minimum congestion spanning trees in planar graphs.Discrete Mathematics 310, pags 1204–1209, 2010.

[99] C. M. Petty. Equilateral sets in Minkowski spaces.

Proc. American Mathematical Society, vol. 29, No. 2, pags 369–374,1971.

[100] A. Pinkus. Strictky hermitian positive definite functions.Journal D‘Analyse Mathematique, vol.94, pags. 293–318, 2004.

[101] M. Saerens, F. Fouss, L. Yen and P. Dupont. The Principal Compo-

nents Analysis of a Graph, and its Relationships to Spectral Clustering.15th European Conference on Machine Learning. Lecture Notes in Com-

puter Science, vol. 3201, pags 371–383, 2004.

[102] G. Schechtman. Levy type inequality for a class of finite metric spaces.Martingale Theory in Harmonic Analysis and Applications, Cleveland

1981, vol. 939, pags 211–215. Lecture Notes in Mathematics, Springer-Verlag, Berlin/New York, 1982.

[103] I. J. Schoenberg. Remarks to Maurice Frechet’s article ”Sur ladefinition axiomatique d’une classe d’espace distsncies vectoriellment

applicable sur l’espace de Hilbert”.The Annals of Mathematics, Second Series, Vol. 36, No. 3, pags 724–

732, 1935.

[104] A. Schurmann and K.J. Swanepoel. Three-dimensional antipodal andnorm-equilateral sets.

Pacific journal of mathematics, vol. 228, No. 2, pags 349–370, 2006.

[105] E. Shamir. From expanders to better superconcentrators without cas-

cading.Proc. Symp. Theoretical Aspects of Computer Science, Lecture Notesin Computer Science 166, Springer-Verlag, pags 121–128, 1984.

[106] E. Shamis. Graph-Theoretic interpretation of the generalized row summethod.

Mathematical Social Sciences 27. Institute of Control Sciences, 65, Prof-soyuznaya St., Moscow 117806, Russian Federation. Communicated by

F. Aleskerov, pags 321–333, 1994.

[107] M. Smid. On the circumradius of acute point sets.Departament of Computer Science, King‘s College London WC2R 2LS,

United Kindom, 1996.

Page 139: Estructuras m´etricas en grafos

140 BIBLIOGRAFIA

[108] C. Smyth. Equilateral or 1-distance sets and Kusner´s conjecture.

School of Mathematics, Institute for Advanced Study, Princeton, NJ,USA, 2001.

[109] E. I. Stearns. Weights for Calculation of Tristimulus Values.Clemson Review of Industrial Management, vol. 14, No. 1, USA, 1975.

[110] I. Talata. On Hadwiger Numbers of Direct Products of Convex Bodies.

Combinatorial and Computational Geometry, MSRI Publications, vol.52, pags. 517–528, 2005.

[111] W. T. Tutte. Graph theory.Encyclopedia of Mathematics and its applications - Volume 21. Gian-

Carlo Rota Editor. Department of Mathematics. Massachusetts Insti-tute of Technology. Cambridge. Published by the Press Syndicate of the

University of Cambridge 1984.

[112] J. W. Van Laarhoven. Exact ahd heuristic algorithms for the EuclideanSteiner tree problem.

University of Iowa, http://ir.uiowa.edu/etd/755, 2010.

[113] S. VoB. Steiner-Probleme in Graphen.

Anton Hain, Frankfurt a.M., 1990.

[114] H. G. Volz. Industrial Color Testing. Fundamentals and Techniques.WILEY-VCH. Weinheim, 2001.

[115] W. Wu and J. Zhong. On Characteristic Area of Steiner Tree.Discrete Math. Algorithm. Appl., 3, 69, 2011.

[116] R. J. Zimmer. Ergodic theory, group representations, and rigidity.

Bull. American Mathematical Society (N.S.), vol. 6, No. 3, pags. 383–416, 1982.

[117] I. Zsoldos. Effect of topoligical defects on graphene geometry and sta-bility.

Nanotechnology, Science and Applications, 3, Dovepress. Dove MedicalPress. pags. 101–106, 2010.

Page 140: Estructuras m´etricas en grafos

Indice de programas

ajusta-un-modelo(X,Y,model)

def ajusta_un_modelo(X,Y,model):

D=[[X[i],Y[i]] for i in range(len(X))]

DD=point2d(D,rgbcolor=(1,0,0),pointsize=20,aspect_ratio=1)

m=find_fit(D,model,solution_dict=True)

f=model.subs(m)

Df=plot(f,(x,min(X)-1,max(X)+1))

show(DD+Df)

return f(x)

AM(L)

def AM(L):

A=[angle(L[i]-L[i+1],L[i+2]-L[i+1]) for i in range(len(L)-2)]

return max(A), A.index(max(A))

angle(z1,z2)

def angle(z1,z2):

A=abs(arg(z1)-arg(z2))

if A>pi:

return (2*pi-A)

else:

return A

argumento(z)

def argumento(z):

A=arg(z)

if A<=0:

return (2*pi+A)

else:

return A

141

Page 141: Estructuras m´etricas en grafos

142 INDICE DE PROGRAMAS

arista(L,m,n,h)

def arista(L,m,n,h):

a=L[m]

b=L[n]

LL=line([ri(a),ri(b)],hue=h)

LO=abs(a-b)

return LL, LO.n()

aristab(L,m,n)

def aristab(L,m,n):

a=L[m]

b=L[n]

LL=line([ri(a),ri(b)],color=’white’,thickness=1.5)

return LL

atajovisual(CA,HR)

def atajovisual(CA,HR):

LD=[]

LL=[]

M=[]

for m in HR:

S=Steiner(CA[m[0]:m[1]+1],m[1]-m[0]+1)

LD.append(S[1])

LL.append(S[2])

M=M+[m[0]..m[1]-1]

M=M+[len(CA)]

R=reducir(CA,M)

return sum(LD)+R[0], sum(LL)+R[1]

b0(L)

def b0(L):

C=[abs(c) for [a,b,c] in L]

LI=max(C)

B=1/(4*LI)

return B

Page 142: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 143

biseccion(f,a,b,T)

def biseccion(f,a,b,T):

max=ceil(log((b-a)/T,2))

if f(a)*f(b)>0:

print ’No se cumplen las condiciones de Bolzano’

else:

for n in range(max):

mid = a + 0.5*(b - a)

fmid = f(mid)

if f(a)*(fmid) > 0:

a = mid

else:

b = mid

return mid

bondad(L)

def bondad(L):

C=cicloham(L)

return (100*cotaKV(L)/lon(C)[0]).n()

bondada(L)

def bondada(L):

CA=caminoham(L)

return (100*kruskal(L)[1]/lon(CA)[0]).n()

CA(L)

def CA(L):

C=cicloham(L)

LC=[abs(C[k]-C[k+1]) for k in range(len(C)-1)]

m=maximos(LC)[0]

D=C[m+1:len(C)-1]+C[0:m+1]

return D

cambiocolor(CL,IL)

var(’A C D65 F11’)

def cambiocoorcolor(CL,IL):

I=sqrt(-1)

G=fdeltainv(s)

Page 143: Estructuras m´etricas en grafos

144 INDICE DE PROGRAMAS

r=len(CL)

if IL==A:

Xn=111.143

Yn=99.999

Zn=35.201

elif IL==C:

Xn=97.286

Yn=99.999

Zn=116.144

elif IL==D65:

Xn=94.813

Yn=99.997

Zn=107.304

elif IL==F11:

Xn=103.869

Yn=100.006

Zn=65.609

else:

print(’Dame otro IL’)

LIL=[a[0].n(digits=4) for a in CL]

aIL=[a[1].n(digits=4) for a in CL]

bIL=[a[2].n(digits=4) for a in CL]

L=[(LIL[k]+16)/116 for k in range(r)]

a=[aIL[k]/500 for k in range(r)]

b=[bIL[k]/200 for k in range(r)]

X=[Xn*G(L[k]+a[k]) for k in range(r)]

Y=[Yn*G(L[k]) for k in range(r)]

Z=[Zn*G(L[k]-b[k]) for k in range(r)]

x=[(X[k]/(X[k]+Y[k]+Z[k])).n() for k in range(r)]

y=[(Y[k]/(X[k]+Y[k]+Z[k])).n() for k in range(r)]

C1=[x[k]+I*y[k] for k in range(r)]

C1=C1+[C1[0]]

return C1

caminoham(L)

def caminoham(L):

l=len(L)

C=cicloham(L)

LC=[abs(C[k]-C[k+1]) for k in range(len(C)-1)]+[abs(C[0]-C[-1])]

LCO=sorted(LC)

m=LC.index(LCO[-1])

n=LC.index(LCO[-2])

Page 144: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 145

a1=LC[n]

a2=abs(C[m+1]-C[n+1])

a3=abs(C[m]-C[n])

a4=min([a2,a3])

if a4<a1 and abs(a4-a2)<10^(-6) and m<n:

R=reverso(C[m+1:n+1])+C[n+1:]+C[1:m+1]

elif a4<a1 and abs(a4-a2)<10^(-6) and n<m:

R=reverso(C[n+1:m+1])+C[m+1:]+C[1:n+1]

elif a4<a1 and abs(a4-a3)<10^(-6) and m<n:

R=C[n+1:]+C[1:m+1]+reverso(C[m+1:n+1])

elif a4<a1 and abs(a4-a3)<10^(-6) and n<m:

R=C[m+1:]+C[1:n+1]+reverso(C[n+1:m+1])

else:

R=CA(L)

return R

cebolla(M)

def cebolla(M):

L=copy(M)

lin_ceb=point2d([ri(z) for z in L],rgbcolor=(1,0,0),pointsize=40)

tam=0

C=[]

while (L!=[]):

l_front=envolturaconvexa(L)

lineas=line([ri(z) for z in l_front])

lin_ceb=lin_ceb+lineas

C=C+[l_front]

tam+=len(l_front)-1

DZ=lin_ceb

return C,DZ

chebotarev(L,a)

def chebotarev(L,a):

ML=klisttomatrix(laplacian(symmetrized(L)[0]))

n=len(kvertices(L))

M=matrix.identity(n)+a*ML

CH=kmatrixtolist(M.inverse())

return klisttomatrix(qgenerator(CH,4)).n()

Page 145: Estructuras m´etricas en grafos

146 INDICE DE PROGRAMAS

cicloham(L)

def cicloham(L):

D=plse(L)

C=cebolla(L)[0]

R=C[0]

for i in range(len(C)-1):

R=pegalistas(R,depuralista(C[i+1]))

CO=ciclohamop(R)

return CO

ciclohamop(C)

def ciclohamop(C):

CO=copy(C)

EN=envolturaconvexa(CO)

fiordado=true

#print ’Mejora por fiordos’

while(fiordado==true):

fiordado=false

for i in [0..len(EN)-2]:

k=C.index(EN[i])

if EN[i+1]!=C[k+1]:

j=C.index(EN[i+1])

MC=mejoratramo(C,k+1,j-1)

C=MC[0]

if(MC[1]!=[]):

fiordado=true

CM=MC

orillado=true

#print ’Mejora por orillas’

while(orillado==true):

orillado=false

for i in [1..len(C)-4]:

CM=mejoratramo(CM[0],i,i+2)

if (CM[1]!=[]):

orillado=true

return CM[0]

cicloycicloptimo(F,IL)

var(’A C D65 F11 LED’)

def cicloycicloptimo(F,IL):

XYZ=LabtoXYZ(F,IL)

Page 146: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 147

L=[(a[0]+I*a[1])/sum(a) for a in XYZ]

CL=L+[L[0]]

lCL=lon(CL)[0]

V1=vercamino(CL)

LC=cicloham(L)

O=[CL.index(LC[k]) for k in range(len(CL))]

OO=O[O.index(0):]+O[1:O.index(0)+1]

OL=[CL[k] for k in OO]

V2=vercamino(OL)

lOL=lon(OL)[0]

return lCL-lOL, graphics_array([V1,V2])

completeqmetric(L)

def completeqmetric(L):

if qmetric(L)==True:

X=kvertices(L)

L2=composition(L,L)

CL=deplist(L+L2,m)

MM=max([c for [a,b,c] in CL])

PCL=[[a,b] for [a,b,c] in CL]

for (a,b) in CartesianProduct(X,X):

if [a,b] not in PCL:

if a==b:

CL.append([a,b,0])

else:

CL.append([a,b,MM])

return klisttomatrix(CL)

else:

return qmetric(L)

composition(L,M)

def composition(L,M):

LM=[]

for [a,b,c],[d,e,f] in CartesianProduct(L,M):

if a==e and b<>d:

LM.append([d,b,c+f])

return LM

Page 147: Estructuras m´etricas en grafos

148 INDICE DE PROGRAMAS

comprel(L,M)

def comprel(L,M):

LM=[]

for ([a,b],[d,e]) in CartesianProduct(L,M):

if a==e and [d,b] not in LM:

LM.append([d,b])

return LM

conliset(L,M)

def conliset(L,M):

return [a for a in L if a not in M]==[]

coorgeo(z,P)

def coorgeo(z,P):

R=6367650

LOM=[P][0]()[1][0]

LAM=[P][0]()[1][1]

LO=(LAM+(imag(z)*180)/(R*pi)).n()

LA=(LOM+(180/pi)*atan(real(z)/(R*cos(LO*pi/180)))).n()

return LO,LA

cotaK(L)

def cotaK(L):

M=[]

CI=[]

for a in L:

M=restalistas(L,[a])

K=kruskal(M)[1]

La=[abs(b-a) for b in M]

LaO=sorted(La)

sp=sum([LaO[0],LaO[1]])

m=K+sp

CI.append(m)

return max(CI)

cotaKV(L)

def cotaKV(L):

return max([cotaK(L),cotaV(L)])

Page 148: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 149

cotaKVa(L)

def cotaKVa(L):

return max([cotaVa(L),kruskal(L)[1]])

cotaV(L)

def cotaV(L):

ML=[]

CR=[]

for a in L:

La=[abs(b-a) for b in L]

ML=ML+[La]

for p in ML:

sp=sorted(p)

dp=sum([sp[1],sp[2]])

CR.append(dp)

return sum(CR)/2

cotaVa(L)

def cotaVa(L):

ML=[]

CR=[]

SP=[]

for a in L:

La=[abs(b-a) for b in L]

ML=ML+[La]

for p in ML:

sp=sorted(p)

SP.append(sp[2])

dp=sum([sp[1],sp[2]])

CR.append(dp)

MSP=max(SP)

return sum(CR)/2-MSP

dpL(p,L)

var(’z’)

def dpL(p,L):

f(z)=abs(p-z)

D=MIN(f,L)

L1=line([ri(p),ri(D[1][0])],rgbcolor=(1,0,0))

return L1, D[0]

Page 149: Estructuras m´etricas en grafos

150 INDICE DE PROGRAMAS

deplist(L,t)

var(’M,m,S,R’)

def deplist(L,t):

PL=[[a,b] for [a,b,c] in L]

DPL=[]

for e in PL:

if e not in DPL:

DPL.append(e)

DL=[]

for u in DPL:

C=[c for [a,b,c] in L if [a,b]==u]

if t==M:

DL.append(u+[max(C)])

elif t==S:

DL.append(u+[add(C)])

elif t==m:

DL.append(u+[min(C)])

elif t==R:

DL.append(u+[res(C)])

return DL

depuralista(L)

def depuralista(L):

DL=[]

for z in L:

if z not in DL:

DL.append(z)

return DL

descruza(L,n,m)

def descruza(L,n,m):

if L[0] in CC:

L_aux=L[n+1:m+1]

L_aux.reverse()

L_nueva=L[:n+1]+L_aux+L[m+1:]

print lon(L_nueva)

V_nuevo=vercamino(L_nueva)

return L_nueva,V_nuevo

else:

CL=[a[1] for a in L]

DCL=descruza(CL,n,m)

Page 150: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 151

DCL_nueva=[]

for z in DCL[0]:

DCL_nueva=DCL_nueva+[a for a in L[0:len(L)-1] if a[1]==z]

pintar_nom_ciudades(DCL_nueva)

return DCL_nueva,DCL[1]

desplazamiento(P1, P2)

def desplazamiento(P1,P2):

R=6367650

a1=(P1[0]*pi/180).n()

b1=(P1[1]*pi/180).n()

a2=(P2[0]*pi/180).n()

b2=(P2[1]*pi/180).n()

V1=vector([cos(b1)*cos(a1),cos(b1)*sin(a1),sin(b1)])

V2=vector([cos(b2)*cos(a2),cos(b2)*sin(a2),sin(b2)])

A=acos(V1*V2)

m=R*A

T=V1.cross_product(V1.cross_product(V2))

T=T/norma(T)

TP=vector([-sin(a1),cos(a1),0])

if a1>a2 and b1>b2:

Ang=pi+acos(T*TP)

elif a1<a2 and b1<b2:

Ang=acos(-T*TP)

elif a1<a2 and b1>b2:

Ang=-acos(-T*TP)

elif a1>a2 and b1<b2:

Ang=pi-acos(T*TP)

return m*exp(I*Ang).n()

diagonalizacion ortogonal(A)

def diagonalizacion_ortogonal(A):

if A==A.transpose():

D,V=A.eigenmatrix_right()

V=matrix(GS(V.transpose())).transpose()

return [D,V]

Page 151: Estructuras m´etricas en grafos

152 INDICE DE PROGRAMAS

dicttofun(D)

def dicttofun(D):

G=D

for a in range(max(D)+1):

if a not in D:

G[a] = {}

E=[]

for u in G:

for i in range(len(G.values()[u])):

E.append([u, G.values()[u].keys()[i], G.values()[u].values()[i]])

return E

dijkstra(L)

def dijkstra(L):

S=kvertices(L)

D=kct(L)

DR=[[a,b] for [a,b,c] in D]

INF=1+add([c for [a,b,c] in L])

for [a,b] in CartesianProduct(S,S):

if a==b:

D.append([a,b,0])

elif [a,b] not in DR:

D.append([a,b,INF])

D=deplist(D,m)

return klisttomatrix(D)

dvs(M)

def dvs(M):

A=M.transpose()*M

m=size(A)[0]

S=diagonalizacion_ortogonal(A)

R=[]

U=[]

V=[]

ST=S[1].transpose()

for i in range(m):

if S[0][i,i]!=0:

R.append(sqrt(S[0][i,i]))

U.append(ST[i])

V.append((1/sqrt(S[0][i,i]))*M*ST[i])

return [R,U,V]

Page 152: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 153

embedinginter(L)

def embedinginter(L):

Lq=qgenerator(L,1)

M=maxkernel(Lq)

T=maxtriangular(Lq)

m=max([M,T])

if M==T and T==0:

C=1000

elif M==T and T<>0:

C=1/M

else:

C=1/m

A=0

T=10^(-16)

while C-A>T:

M=(A+C)/2

B=Vkernel(L,M)

X=qgenerator(B,1)

E=schoenberg(X)[0]

if E==True:

A=M

return [0,A]

else:

C=M

return []

envolturaconvexa(L)

def envolturaconvexa(L):

#Parametros que nos fijaran N,S,E,O

R=[real(z) for z in L]

J=[imag(z) for z in L]

N= L[J.index(max(J))]

S= L[J.index(min(J))]

E= L[R.index(max(R))]

W= L[R.index(min(R))]

coord=[W,S,E,N,W]

l_frontera =[W]

if (N==S==E==W):

Page 153: Estructuras m´etricas en grafos

154 INDICE DE PROGRAMAS

L.pop(L.index(W))

l_frontera.append(W)

return (l_frontera)

for t in range(4):

z0=coord[t]

while abs(z0-coord[(t+1)])>10^(-14):

if (t==0):

#down

l_aux=[w for w in L if imag(w)<imag(z0)]

if (t==1):

#right

l_aux=[w for w in L if real(w)>real(z0)]

if (t==2):

#up

l_aux=[w for w in L if imag(w)>imag(z0)]

if (t==3):

#left

l_aux=[w for w in L if real(w)<real(z0)]

l_arg=[]

for z in l_aux:

l_arg.append(argumento(z-z0))

l_min_arg=[ l_aux[l_arg.index(z)]

for z in l_arg if (z==min(l_arg))]

for z in range(len(l_min_arg)):

L.pop(L.index(l_min_arg[z]))

l_abs=[abs(z-z0) for z in l_min_arg]

z0=l_min_arg[l_abs.index(max(l_abs))]

l_frontera.append(z0)

return (l_frontera)

fdelta(t)

var(’t’)

def fdelta(t):

d=6/29

return Piecewise([[(-1,d^3),d^(-2)*(t/3)+(2*d/3)],[(d^3,1),t^(1/3)]])

Page 154: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 155

fdeltainv(s)

var(’t s’)

def fdeltainv(s):

d=6/29

F=fdelta(t)

return Piecewise([[(F(-1),F(d^3)),(3*s-2*d)*d^2],[(F(d^3),F(1)),s^3]])

FS(L)

def FS(L):

return [a.full_simplify() for a in L]

funtodict(L)

def funtodict(L):

D=funtodict0(L)

for a in D:

D[a]=funtodict0(D[a])

for b in D[a]:

D[a][b]=funtodict0(D[a][b])

return D

funtodict0(L)

def funtodict0(L):

if type(L[0])==list:

m=len(L[0])

K=set([a[0] for a in L])

D=dict.fromkeys(K,[])

for a in D:

if m==2:

D[a]=[b[1] for b in L if b[0]==a]

elif m>2:

D[a]=[b[1:] for b in L if b[0]==a]

else:

D=L

return D

Page 155: Estructuras m´etricas en grafos

156 INDICE DE PROGRAMAS

generaAristas(L)

def generaAristas(L):

n=len(L)

t=(n-1)*n/2

A=[[0 for i in range(3)] for i in range (t)]

k=1

z=0

for i in range(1,n):

for j in range (1+k,n+1):

A[z][0]=abs(L[j-1]-L[i-1]).n()

A[z][1]=i

A[z][2]=j

z=z+1

k=k+1

return A

generarel(n)

def generarel(n):

C=CartesianProduct(range(n),range(n))

P=[]

for c in C:

r=random()

if r >= 0.5:

P.append(c)

M=matrix(QQ,n,n)

for [a,b] in P:

M[a,b]=1

return P, M

generators(L)

def generators(L):

D=[]

for d in [1..4]:

Ld=qgenerator(L,d)

RS=qmetric(Ld)

if RS==True:

D.append(d)

return D

Page 156: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 157

GS(L)

def GS(L):

L=libera(L)

n=len(L)

V=[vector(L[k]) for k in range(n)]

U=[(1/norma(V[0]))*V[0]]

for k in [1..n-1]:

W=[]

for j in range(k):

W.append((V[k]*U[j])*U[j])

D=V[k]-sum(W)

U.append((1/norma(D))*D)

return U

hexagonal(m,n,r)

def hexagonal(m,n,r):

A=[]

for k in range(n+1):

A.append(r*(1+2*k)*cos(pi/6)+I*r*sin(pi/6))

B=[]

for k in range(n+1):

B.append(2*r*k*cos(pi/6))

C=oplista(B,s,-I*r)

D=oplista(A,s,-2*I*r)

M=[A,B,C,D]

if m==1:

F=M

T=mezclalistas(M[1],M[0])

U=mezclalistas(M[2],M[3])

lT=line(ri(a) for a in T[:-1])

lU=line(ri(a) for a in U[:-1])

lV=[]

for k in range(n+1):

lV.append(line([ri(M[1][k]),ri(M[2][k])]))

PH=[lT]+[lU]+lV

else:

F=M

T=mezclalistas(M[1],M[0])

U=mezclalistas(M[2],M[3])

lT=line(ri(a) for a in T[:-1])

lU=line(ri(a) for a in U)

lV=[]

Page 157: Estructuras m´etricas en grafos

158 INDICE DE PROGRAMAS

for k in range(n+1):

lV.append(line([ri(M[1][k]),ri(M[2][k])]))

PH=[lT]+[lU]+lV

p=2*(m-1)

ss=1

for j in range(p):

LL=m*range(4)

F.append(oplista(M[LL[j]],s,-3*ss*I*r))

if LL[j]==3:

ss=ss+1

U3=mezclalistas(M[j+3],M[j+4])

if j==p-1:

lU3=line(ri(a) for a in U3[:-1])

else:

lU3=line(ri(a) for a in U3)

lV3=[]

for k in range(n+1):

lV3.append(line([ri(M[j+2][k]),ri(M[j+3][k])]))

PH=PH+[lU3]+lV3

if LL[j]==1:

U2=mezclalistas(M[j+4],M[j+3])

if j==p-1:

lU2=line(ri(a) for a in U2[1:])

else:

lU2=line(ri(a) for a in U2)

lV2=[]

for k in range(n+1):

lV2.append(line([ri(M[j+2][k]),ri(M[j+3][k])]))

PH=PH+[lU2]+lV2

PP=[plse(A[:-1])]

for k1 in [1..len(M)-1]:

if k1==len(M)-1:

if m/2==ceil(m/2):

PP.append(plse(M[k1][1:]))

else:

PP.append(plse(M[k1][:-1]))

else:

PP.append(plse(M[k1]))

return F,sum(PP),sum(PH,aspect_ratio=1)

igualiset(L,M)

def igualiset(L,M):

return conliset(L,M) and conliset(M,L)

Page 158: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 159

Imag(L)

def Imag(L):

return [a.imag() for a in L]

indicador(T)

def indicador(T):

z1=T[0]

z2=T[1]

z3=T[2]

T1=ri(z1)

T2=ri(z2)

T3=ri(z3)

Ind=det(matrix([[1]+T1,[1]+T2,[1]+T3]))

return sign(Ind)

intri(p,T)

def intri(p,T):

TC=T+[T[0]]

IN=[]

for k in range(3):

IN.append(indicador([TC[k],TC[k+1],p]))

S=sum(IN)

if abs(S)==3 or abs(S)==2:

return 1

return 0

iter4(L)

def iter4(L):

D=copy(L)

CON3=1

CON1=lon(D)[0]

CON4=1

while CON3>.000001 and CON4<100:

S1=Steiner3(D[0:3])

S2=Steiner3([S1[0],D[2],D[3]])

CON2=S1[2]+S2[2]-abs(S1[0]-D[2]).n()

while (CON1-CON2)>=.000001:

X2=S2[0]

Page 159: Estructuras m´etricas en grafos

160 INDICE DE PROGRAMAS

S1=Steiner3([D[0],S1[0],S2[0]])

S2=Steiner3([S1[0],S2[0],D[3]])

CON1=CON2

CON2=S1[2]+S2[2]-abs(S1[0]-X2).n()

CON3=angle(S2[0]-S1[0],D[1]-S1[0])+

angle(S1[0]-S2[0],D[2]-S2[0])-4*pi/3

CON4=CON4+1

D[1]=Steiner3([D[0],S1[0],L[1]])[0]

D[2]=Steiner3([L[2],S2[0],D[3]])[0]

return D

Iter5(L)

def iter5(L):

D=copy(L)

CON3=[0,0,0]

CON1=lon(D)[0]

N=0

while sum(CON3)<3 and N<40:

N=N+1

#print CON3

S1=Steiner3(D[0:3])

S3=Steiner3([D[2],D[3],D[4]])

S2=Steiner3([S1[0],D[2],S3[0]])

CON2=S1[2]+S2[2]+S3[2]-abs(S1[0]-D[2])-abs(S3[0]-D[2])

while (CON1-CON2)>=.00000001:

X1=S1[0]

X3=S3[0]

X2=S2[0]

S1=Steiner3([D[0],X1,X2])

S3=Steiner3([X2,X3,D[4]])

S2=Steiner3([S1[0],X2,S3[0]])

CON1=CON2

CON2=S1[2]+S2[2]+S3[2]-abs(S1[0]-X2)-abs(S3[0]-X2)

#PER=[abs(X1-S1[3]),abs(X2-S2[3]),abs(X3-S3[3])]

PER=[abs(L[1]-S1[0]),abs(L[2]-S2[0]),abs(L[3]-S3[0])]

if PER[0]>.0000001:

CON3[0]=0

A1=[angle(D[0]-S1[0],L[1]-S1[0]),

angle(L[1]-S1[0],S2[0]-S1[0]),angle(S2[0]-S1[0],D[0]-S1[0])]

MA1=[min(A1),minimos(A1)]

if (2*pi/3)-MA1[0]>.001:

if MA1[1][0]==0:

D[1]=Steiner3([D[0],S1[0],L[1]])[0]

Page 160: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 161

elif MA1[1][0]==1:

D[1]=Steiner3([S2[0],S1[0],L[1]])[0]

else:

D[1]=Steiner3([S2[0],S1[0],D[0]])[0]

else:

D[1]=S1[0]

CON3[0]=1

else:

D[1]=S1[0]

CON3[0]=1

if PER[1]>.0000001:

CON3[1]=0

A2=[angle(S1[0]-S2[0],L[2]-S2[0]),

angle(L[2]-S2[0],S3[0]-S2[0]),angle(S3[0]-S2[0],S1[0]-S2[0])]

MA2=[min(A2),minimos(A2)]

if (2*pi/3)-MA2[0]>.001:

if MA2[1][0]==0:

D[2]=Steiner3([S1[0],S2[0],L[2]])[0]

elif MA2[1][0]==1:

D[2]=Steiner3([L[2],S2[0],S3[0]])[0]

else:

D[2]=Steiner3([S3[0],S2[0],S1[0]])[0]

else:

D[2]=S2[0]

CON3[1]=1

else:

D[2]=S2[0]

CON3[1]=1

if PER[2]>.0000001:

CON3[2]=1

A3=[angle(S2[0]-S3[0],L[3]-S3[0]),

angle(L[3]-S3[0],D[4]-S3[0]),angle(D[4]-S3[0],S2[0]-S3[0])]

MA3=[min(A3),minimos(A3)]

if (2*pi/3)-MA3[0]>.001:

if MA3[1][0]==0:

D[3]=Steiner3([S2[0],S3[0],L[3]])[0]

elif MA3[1][0]==1:

D[3]=Steiner3([L[3],S3[0],D[4]])[0]

else:

D[3]=Steiner3([D[4],S3[0],S2[0]])[0]

else:

D[3]=S3[0]

CON3[2]=1

else:

Page 161: Estructuras m´etricas en grafos

162 INDICE DE PROGRAMAS

D[3]=S3[0]

CON3[2]=1

return D,N

kct(L)

def kct(L):

k=len(L)

def A(n):

assert n>0

if n==1: return L

return composition(A(n-1),L)

def U(n):

assert n>0

if n==1: return A(1)

return U(n-1)+A(n)

T=deplist(U(k),m)

return T

kdicttolist(D)

def kdicttolist(D):

G=D

for a in range(max(D)+1):

if a not in D:

G[a] = {}

E=[]

for u in G:

for i in range(len(G.values()[u])):

E.append([u, G.values()[u].keys()[i],

G.values()[u].values()[i]])

return E

kleinrandic(L)

def kleinrandic(L):

M=pinv(klisttomatrix(laplacian(symmetrized(L)[0])))

LL=kmatrixtolist(M)

return klisttomatrix(qgenerator(LL,4)).n()

Page 162: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 163

klisttodict(L)

def klisttodict(L):

D={}

for [a,b,c] in L:

if a not in D:

D[a]={}

D[a][b]=c

return D

klisttomatrix(L)

def klisttomatrix(L):

N=kvertices(L)

n=len(N)

M=matrix(QQ,n,n)

for [a,b,c] in L:

M[a,b]=c

return M

kmatrixtolist(M)

def kmatrixtolist(M):

n=M.nrows()

L=[]

for [a,b] in CartesianProduct(range(n),range(n)):

if M[a,b]<>0:

L.append([a,b,M[a,b]])

return L

kruskal(L)

def kruskal(L):

return Kruskal(L,’min’)

Kruskal(L,orden)

def Kruskal(L,orden):

Vx=[real(z) for z in L]

Vy=[imag(z) for z in L]

Aord=ordenaAristas(L)

n=len(L)

G=[[0 for i in range(3)]for i in range(n-1)]

Page 163: Estructuras m´etricas en grafos

164 INDICE DE PROGRAMAS

arboles=[[0 for i in range(n)]for i in range(n)]

w=0

k=0

contarb=0

arbolborrado=0

while k < n-1:

cond1=0

cond2=0

arista=Aord[w]

pini=arista[1]-1

pfin=arista[2]-1

for i in range(n):

p1=arboles[i][pini]

p2=arboles[i][pfin]

if p1 == 1:

arbol1=i

cond1=1

if p2 == 1:

arbol2=i

cond2=1

if cond1 == 1 and cond2 == 1:

break

if cond1 == 0 and cond2 == 0:

if arbolborrado < contarb and arbolborrado != 0:

arboles[arbolborrado][pini]=1

arboles[arbolborrado][pfin]=1

arbolborrado=0

else:

arboles[contarb][pini]=1

arboles[contarb][pfin]=1

contarb=contarb+1

G[k]=arista

k=k+1

elif cond1 == 1 and cond2 == 0:

arboles[arbol1][pfin]=1

G[k]=arista

k=k+1

elif cond1 == 0 and cond2 == 1:

arboles[arbol2][pini]=1

G[k]=arista

k=k+1

elif cond1 == 1 and cond2 ==1:

if arbol1 != arbol2:

arbolmin=min(arbol1,arbol2)

Page 164: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 165

arbolmax=max(arbol1,arbol2)

for i in range(n):

p=arboles[arbolmax][i]

if p == 1:

arboles[arbolmin][i]=1

arboles[arbolmax]=[0 for j in range(n)]

arbolborrado=arbolmax

G[k]=arista

k=k+1

w=w+1

longitud=0

for i in range(n-1):

longitud=G[i][0]+longitud

AB=restalistas(Aord,G)

mab=min([a[0] for a in AB])

grafica=plce(L)

for i in range(len(G)):

P=[(Vx[G[i][1]-1],Vy[G[i][1]-1]),(Vx[G[i][2]-1],Vy[G[i][2]-1])]

SEG=sage.plot.line.line(P,color=’blue’)

grafica=grafica+SEG

grafica.set_aspect_ratio(1)

return grafica,longitud.n(), longitud.n()+mab

kvertices(L)

def kvertices(L):

A=[a for [a,b,c] in L]

B=[b for [a,b,c] in L]

X=set(A+B)

return list(X)

LabtoXYZ(M,IL)

var(’A C D65 F11 LED’)

def LabtoXYZ(M,IL):

G=fdeltainv(s)

R=len(M)

if IL==A:

Xn=111.143

Yn=99.999

Zn=35.201

elif IL==C:

Page 165: Estructuras m´etricas en grafos

166 INDICE DE PROGRAMAS

Xn=97.287

Yn=100.002

Zn=116.147

elif IL==D65:

Xn=94.809

Yn=100

Zn=107.307

elif IL==F11:

Xn=103.866

Yn=100

Zn=65.629

elif IL==LED:

Xn=93.78

Yn=100

Zn=97.95

L=[m[0].n(digits=4) for m in M]

a=[m[1].n(digits=4) for m in M]

b=[m[2].n(digits=4) for m in M]

X1=[(L[k]+16)/116 for k in range(R)]

Y1=[a[k]/500 for k in range(R)]

Z1=[b[k]/200 for k in range(R)]

X=[Xn*G(X1[k]+Y1[k]) for k in range(R)]

Y=[Yn*G(X1[k]) for k in range(R)]

Z=[Zn*G(X1[k]-Z1[k]) for k in range(R)]

return [[X[k],Y[k],Z[k]] for k in range(R)]

laplacian(L)

def laplacian(L):

LL=[]

for a in nodes(L):

C=[g for [e,f,g] in L if e==a and f<>a]

LL.append([a,a,sum(C)])

for [a,b,c] in L:

if a<>b:

LL.append([a,b,-c])

return LL

Page 166: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 167

libera(L)

def libera(L):

LL=[]

r=0

for v in L:

LA=matrix(LL+[v])

s=rank(LA)

if s>r:

LL.append(v)

r=s

return LL

listacomplejos(T,n)

def listacomplejos(T,n):

L=[CC.random_element(component_max=T) for _ in range(n)]

return L

listareales(n,M,n)

def listareales(m,M,n):

L=[RR.random_element(min=m,max=M) for _ in range(n)]

return L

listatriangles(L)

def listatriangles(L):

T=[]

for a in L:

for b in restalistas(L,[a]):

for c in restalistas(L,[a,b]):

k=true

for z in T:

if z in permutations([a,b,c]):

k=false

if k==true:

T.append([a,b,c])

return T

Page 167: Estructuras m´etricas en grafos

168 INDICE DE PROGRAMAS

lon(L)

def lon(L):

AL=[abs(L[i]-L[i+1]) for i in range(len(L)-1)]

if(L==[]):

return 0,0

return sum(AL),max(AL)

MAX(f,L)

def MAX(f,L):

if L==[]:

M=+infinity

V=[]

else:

fL=map(f,L)

M=max(fL)

V=[]

for a in L:

if f(a)==M:

V.append(a)

return [M, V]

maxkernel(L)

def maxkernel(L):

C=[c for [a,b,c] in L]+[0]

return max(C)

maxtriangular(L)

def maxtriangular(L):

N=kvertices(L)

LP=[[a,b] for [a,b,c] in L]

for [a,b] in CartesianProduct(N,N):

if [a,b] not in LP:

L.append([a,b,0])

D=klisttodict(L)

T=0

for [x,y] in CartesianProduct(N,N):

for z in N:

if z<>x and z<>y and x<>y:

T0=D[x][z]+D[z][y]-D[x][y]

Page 168: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 169

if T<T0:

T=T0

return T

maxwell(n)

def maxwell(n):

T=triangular(n+1,2/(n*sqrt(3)),1/n)

return T

mejora(L,n)

def mejora(L,n):

for i in range(len(L)-n):

L=optimizatramo(L,i,i+n)

print lon(L)

return L

mejoratramo(L,n,m)

def mejoratramo(L,n,m):

if L[0] in CC:

M=L[n:m+1]

ML=restalistas(L,M)

R=pegalistas(ML,M)

if lon(R)[0]<lon(L)[0]:

VR=prepara_camino(R)

return R,VR

else:

#print ’No puedo mejorarlo’

return L ,[]

else:

LC=[a[1] for a in L]

MC=LC[n:m+1]

MCLC=restalistas(LC,MC)

RC=pegalistas(MCLC,MC)

if lon(RC)[0]<lon(LC)[0]:

print lon(RC)

VRC=vercamino(RC)

NLC=[]

for z in RC:

NLC=NLC+[a for a in L[0:len(L)-1] if a[1]==z]

pintar_nom_ciudades(NLC)

Page 169: Estructuras m´etricas en grafos

170 INDICE DE PROGRAMAS

return NLC,VRC

else:

#print ’No puedo mejorarlo’

return L,[]

mezclalistas(L,M)

def mezclalistas(L1,L2):

l1=len(L1)

l2=len(L2)

M=[]

if l1>=l2:

for k in range(l2):

M.append(L1[k])

M.append(L2[k])

M=M+L1[l2:]

else:

for k in range(l1):

M.append(L2[k])

M.append(L1[k])

M=M+L2[l1:]

return M

MIN(f,L)

def MIN(f,L):

if L==[]:

m=-infinity

V=[]

else:

fL=map(f,L)

m=min(fL)

V=[]

for a in L:

if f(a)==m:

V.append(a)

return [m,V]

norma(V)

def norma(V):

return sqrt(V*V)

Page 170: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 171

mpinv(M)

def mpinv(M):

D=dvs(M)

return matrix(D[1]).transpose()*diagonal_matrix(D[0])

.inverse()*matrix(D[2])

num(L)

def num(L):

return [a.n() for a in L]

oplista(L, o, z)

var(’s r m d’)

def oplista(L,o,z):

if o==s:

return [w+z for w in L]

elif o==r:

return [w-z for w in L]

elif o==m:

return [w*z for w in L]

elif o==d:

return [w/z for w in L]

optimiza(L)

def optimiza(L):

CL=[a.n() for a in L]

#Permuto todas las posibilidades entre los puntos extremos

LP = list(Permutations(CL))

LL=[lon(P)[0] for P in LP]

p_ind=LL.index(min(LL))

ML=LP[p_ind]

return ML, min(LL)

optimiza4(L)

def optimiza4(L):

CL=[a.n() for a in L]

LP=Permutations(CL).list()

LL=[lon(P)[0] for P in LP]

M=minimos(LL)

Page 171: Estructuras m´etricas en grafos

172 INDICE DE PROGRAMAS

LPM=[LP[k] for k in M]

A=[AM(R)[0] for R in LPM]

MA=[]

for P in LPM:

if AM(P)[0]==max(A):

MA.append(P)

return MA[0], lon(MA[0])[0]

optimiza5(L)

def optimiza5(L):

CL=[a.n() for a in L]

LP=Permutations(CL).list()

LL=[lon(P)[0] for P in LP]

M=minimos(LL)

LPM=[LP[k] for k in M]

A=[AM(R)[0] for R in LPM]

MA=[]

for P in LPM:

if AM(P)[0]==max(A):

MA.append(P)

MAO=[]

for P in MA:

if AM(P)[1]==1:

MAO.append(P)

if MAO!=[]:

return MAO[0], lon(MAO[0])[0]

else:

return MA[0], lon(MA[0])[0]

optimizac(L)

def optimizac(L):

CL=[a.n() for a in L]

LP = Permutations(CL).list()

LC=[list(a)+[a[0]] for a in LP]

LL=[lon(a)[0] for a in LC]

p_ind=LL.index(min(LL))

ML=list(LC[p_ind])

return ML, min(LL)

Page 172: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 173

optimiza tramo(L,n.m)

def optimizatramo(L,n,m):

CL=copy(L)

PL=CL[n:m+1]

Lista_perm = Permutations(PL[1:len(PL)-1])

LL=[lon([PL[0]] + list(Perm) +[PL[-1]]) for Perm in Lista_perm]

p_ind=LL.index(min(LL))

ML=[PL[0]]+list(Lista_perm[p_ind])+[PL[-1]]

CL[n:m+1]=ML

return CL

ordenaAristas(L)

def ordenaAristas(L):

A=generaAristas(L)

A.sort()

return A

partes(f)

var(’z x y’)

def partes(f):

F=[simplify(expand(f(z=x+I*y)).real()),simplify(expand(f(z=x+I*y)).imag())]

s=abs(x+I*y)

S1=str(F[0]).replace(str(s), ’sqrt(x^2+y^2)’)

S2=str(F[1]).replace(str(s), ’sqrt(x^2+y^2)’)

F[0] = sage_eval(S1,locals={’x’:x,’y’:y})

F[1] = sage_eval(S2,locals={’x’:x,’y’:y})

return F

pc(z)

def pc(z):

x=real(z)

y=imag(z)

return arrow2d((0,0),(x,y))

pcg(z)

def pcg(z):

x=real(z)

y=imag(z)

return arrow2d((0,0),(x,y),color=(0,1,0))

Page 173: Estructuras m´etricas en grafos

174 INDICE DE PROGRAMAS

pegalistas(L,M)

def pegalistas(L,M):

while M!=[]:

A=[]

for z in M:

DIS=[floor(((abs(L[i]-z)+abs(L[i+1]-z)-

abs(L[i]-L[i+1])).n())*10^6)/10^6 for i in range(len(L)-1)]

d=min(DIS)

Vd=minimos(DIS)

ANG=[angle(L[j]-z,L[j+1]-z) for j in Vd]

Vg=maximos(ANG)

g=ANG[Vg[0]]

k=Vd[Vg[0]]

A.append([d,(pi-g),k,real(z),imag(z)])

A.sort()

L.insert(A[0][2]+1,A[0][3]+I*A[0][4])

if A[0][2]>0 and A[0][2]<len(L)-1:

L=optimizatramo(L,A[0][2]-1,A[0][2]+2)

M.pop(M.index(A[0][3]+I*A[0][4]))

return L

perimetro(T)

def perimetro(T):

MT=triangle(T)

return sum(MT[0])

plce(L)

def plce(L):

P=[ri(z) for z in L]

D=point2d(P,rgbcolor=(1,0,0),pointsize=30,aspect_ratio=1)

return D

plceb(L)

def plce(L):

P=[ri(z) for z in L]

D=point2d(P,rgbcolor=(0,0,1),pointsize=30,aspect_ratio=1)

return D

Page 174: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 175

plse(L)

def plse(L):

P=[ri(z) for z in L]

D=point2d(P,rgbcolor=(1,0,0),axes=False, pointsize=30,aspect_ratio=1)

return D

Poblacion(Ai, Af , n)

def Poblacion(Ai,Af,n):

#Letras

var(’A B C AC D E F G H J K L M N O P Q R S T U V W X Y Z’)

#Titulaciones

var(’SE Primarios Secundarios Bachiller FP1 FP2 Grado Master Doctor’)

#Ambitos

var(’Social Cientifico Tecnologico Humanidades Filologico’)

#Nombres

var(’Amancio Ana Amelia Antonio Antonia Arturo Bernardo Bernabe’)

var(’Bartolo Benito Berta Carla Carlos Carmen Cecilia Delia Demetrio’)

var(’Emilia Emilio Eduardo Fernando Felisa Federico Gonzalo’)

var(’Gertrudis Hugo Indalecio Ines Julio Julieta Luis Liana Leticia’)

var(’Manuel Maria Miguel Matilde Narciso Nicanora Nieves Onesimo’)

var(’Olegario Pedro Paloma Quico Ramon Rosario Sixto’)

var(’Serena Timoteo Tomas Teresa Ubaldo Ursula Victor Victoria’)

var(’Wenceslao Willy Xiana Yago Zacarias Zoraida’)

var(’Dolores Cristina Alicia Eva Elena Mercedes

Carolina Monica Isabel Patricia’)

#Apellidos

var(’Amat Arias Artigas Armada Belvis Benitez Barbera

Bonan Becerra Borrego’)

var(’Corbacho Carballido Calero Castejon Cespon’)

var(’Cespedes Canido Carnero Cerrudo Diaz Devesa Durruti’)

var(’Esteban Estibaliz Fernandez Francia Garcia Gea’)

var(’Hijar Hinojosa Iniesta Indurain Iglesias Jimenez’)

var(’Jubiol Linares Latices Leon Lago Lopard Mas’)

var(’Manero Burgos Gil Pitarch Taura Pelaez Gimpera Cerrudo’)

var(’Martinez Perez Benjumea Escrig Zaragoza Daniel Gea Torres’)

var(’Izquierdo Vidal Vazquez Rodriguez Varela’)

var(’Somoza Goyanes Lopez Gonzalez Aznar Rajoy’)

var(’Zapatero Feijoo Pujol Calvo Sotelo Borbon Aguirre’)

LM1=[Amancio,Antonio,Arturo,Bernardo,Bernabe,Bartolo,Benito]

Page 175: Estructuras m´etricas en grafos

176 INDICE DE PROGRAMAS

LM2=[Carlos,Demetrio, Emilio,Eduardo, Fernando,Federico]

LM3=[Gonzalo,Hugo,Indalecio,Julio,Luis,Manuel,Miguel,Narciso]

LM4=[Onesimo,Olegario,Pedro,Ramon,Sixto,Timoteo]

LM5=[Tomas,Ubaldo,Victor,Wenceslao,Yago, Zacarias]

LM=LM1+LM2+LM3+LM4+LM5

LF1=[Ana,Amelia,Antonia,Berta,Carla,Carmen, Cecilia]

LF2=[Delia,Emilia,Felisa,Gertrudis,Ines,Julieta,Liana, Leticia]

LF3=[Maria,Matilde,Nicanora,Nieves,Paloma,Serena,Teresa]

LF4=[Ursula, Victoria,Xiana,Zoraida, Dolores,Cristina,Alicia]

LF5=[Eva,Elena,Mercedes,Carolina,Monica,Isabel,Patricia]

LF=LF1+LF2+LF3+LF4+LF5

LN=LM+LF

AP1=[Amat,Arias,Artigas,Armada,Belvis,Benitez,Barbera,Bonan]

AP2=[Becerra,Borrego,Corbacho,Carballido,Calero,Castejon,Cespon]

AP3=[Cespedes, Canido, Carnero, Cerrudo, Diaz, Devesa, Durruti]

AP4=[Esteban, Estibaliz, Fernandez, Francia, Garcia, Gea]

AP5=[Hijar, Hinojosa, Iniesta, Indurain, Iglesias]

AP6=[Jimenez,Jubiol,Linares,Latices, Leon, Lago, Lopard, Mas]

AP7=[Manero, Burgos, Gil, Pitarch, Taura, Pelaez, Gimpera, Cerrudo]

AP8=[Martinez, Perez, Benjumea, Escrig, Zaragoza,Gea, Torres]

AP9=[Izquierdo, Vidal, Vazquez, Rodriguez,Varela]

AP10=[Somoza, Goyanes, Lopez, Gonzalez, Aznar, Rajoy]

AP11=[Zapatero, Feijoo, Pujol, Calvo, Sotelo, Borbon, Aguirre]

AP=AP1+AP2+AP3+AP4+AP5+AP6*AP7+AP8+AP9+AP10+AP11

PER=[]

Dia=[1..30]

Mes=[1..12]

Anho=[Ai..Af]

DN=[ceil(RR.random_element(min=1000000,max=50000000)) for _ in range(n)]

LDN=[[0,T],[1,R],[2,W],[3,A],[4,G],[5,M],[6,Y],[7,F],[8,P],[9,D],[10,X],

[11,B],[12,N],[13,J],[14,Z],[15,S],[16,Q],[17,V],[18,H],

[19,L],[20,C],[21,K],[22,E]]

for k in range(n):

Nombre=[choice(AP),choice(AP),choice(LN)]

if Nombre[2] in LF:

Sexo=F

else:

Sexo=M

FN=[choice(Dia),choice(Mes),choice(Anho)]

PER.append([Nombre,Sexo,FN,[DN[k],LDN[DN[k]-23*floor(DN[k]/23)][1]]])

Page 176: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 177

return PER

PoblacionQ(A,n)

def PoblacionQ(A,n):

P=Poblacion(A-55,A-18,n)

Tit=[SE]+3*[Primarios]+5*[Secundarios]+2*[Bachiller]+

5*[FP1]+3*[FP2]+2*[Grado]+2*[Master]+[Doctor]

Amb=4*[Social]+2*[Cientifico]+3*[Tecnologico]+[Filologico]

PQ=[]

for k in range(n):

if P[k][2][2]<20:

Titulacion=choice(Tit[:9])

elif P[k][2][2]>=20 and P[k][2][2]<25:

Titulacion=choice(Tit[:12])

elif P[k][2][2]>=25 and P[k][2][2]<35:

Titulacion=choice(Tit[:13])

else:

Titulacion=choice(Tit)

if Titulacion==SE:

Especialidad=[]

else:

Especialidad=choice(Amb)

PQ.append(P[k]+[Titulacion,Especialidad])

return PQ

prepara-camino(L)

def prepara_camino(L):

RL=[real(z) for z in L]

h=(max(RL)-min(RL))/50

P=[ri(z) for z in L]

Pg=P[0::10]

Pp=restalistas(P,Pg)

Dg=point2d(Pg,rgbcolor=(1,0,0),pointsize=30,axes=false)

for i in range(len(Pg)):

Dg+=text(10*i,(Pg[i][0]+h,Pg[i][1]+h), color=’black’,fontsize=8)

Dp=point2d(Pp,rgbcolor=(1,0,0),pointsize=10)

D=Dg+Dp+line(P)+arrow(P[0],P[1])

return D

Page 177: Estructuras m´etricas en grafos

178 INDICE DE PROGRAMAS

promlista(L)

def promlista(L):

M=[(L[i]+L[i+1])/2 for i in range(len(L)-1)]

return M

pt(T)

def pt(T):

ET=[ri(T[0]),ri(T[1]),ri(T[2]),ri(T[0])]

dT=line2d(ET)

return dT

Publilista(L)

def Publilista(L):

for k in range(len(L)):

html([k+1, L[k]])

qgenerator(L,n)

def qgenerator(L,n):

X=kvertices(L)

LP=[[a,b] for [a,b,c] in L]

for [a,b] in CartesianProduct(X,X):

if [a,b] not in LP:

L.append([a,b,0])

D=klisttodict(L)

qL=[]

if n==1:

for [a,b] in CartesianProduct(X,X):

qL.append([a,b,D[a][a]-D[a][b]])

if n==2:

for [a,b] in CartesianProduct(X,X):

qL.append([a,b,D[b][b]-D[a][b]])

if n==3:

for [a,b] in CartesianProduct(X,X):

qL.append([a,b,D[a][a]+D[b][b]-2*D[a][b]])

if n==4:

for [a,b] in CartesianProduct(X,X):

qL.append([a,b,D[a][a]+D[b][b]-D[a][b]-D[b][a]])

qL=[a for a in qL if a[2]!=0]

return qL

Page 178: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 179

qmetric(L)

def qmetric(L):

p=0

L2=composition(L,L)

L23=[c for [a,b,c] in L2]

if L<>deplist(L,m):

p=p+1

for [a,b,c] in L:

if c<0 or (a==b and c<>0):

p=p+1

for h in L23:

if [a,b,h] in L2 and h<c:

p=p+1

return(p==0)

radial(n,c,r,d)

def radial(n,c,r,d):

P=[r*exp(I*k*2*pi.n()/n) for k in range(n)]

R=[P]

for j in [1..c-1]:

R.append(oplista(P,m,j*(d/r)+1))

M=[]

for k in range(len(R)):

M=M+R[k]

return M

ralfabeto(L)

def ralfabeto(L):

return range(1+max([max(a) for a in L]))

rantisim(L)

def rantisim(L):

n=len(ralfabeto(L))

LTL=[a for a in L if a in rtranspose(L)]

return igualiset(rid(n),LTL)

Page 179: Estructuras m´etricas en grafos

180 INDICE DE PROGRAMAS

rct(L)

def rct(L):

l=len(L)

def E(n):

assert n>0

if n==1:

return L

return comprel(E(n-1),L)

def U(n):

assert n>0

if n==1:

return E(1)

return U(n-1)+E(n)

T=[]

for e in U(l):

if e not in T:

T.append(e)

return T

rdicttolist(D)

def rdicttolist(D):

L=[]

for a in D.keys():

for b in D.values()[a]:

L.append([a,b])

return L

Real(L)

def Real(L):

return [a.real() for a in L]

rectangular(n,m,b,h)

def rectangular(n,m,b,h):

B=[0,b..(n-1)*b]

L=copy(B)

for j in range(m-1):

L=oplista(L,s,h*I)

B=B+L

return B

Page 180: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 181

redict(L)

def redict(D):

for a in D:

D[a]=funtodict0(D[a])

return D

reducir(L,M)

def reducir(L,M):

M.sort()

LR=[L[0:M[0]+1]]

for m in M:

LR.append(L[m+1:sig(m,M)+1])

LR.append(L[M[-1]:])

LR=[a for a in LR if len(a)>1]

CLR=[verSTa(P) for P in LR]

VLR=[k[0] for k in CLR]

LLR=[k[1] for k in CLR]

return sum(VLR), sum(LLR)

region() Funciones tipo region() por ejemplo rioja():

def rioja():

var(’LOGRONHO, Calahorra, Arnedo’)

RIO=[[LOGRONHO,42.4627195,-2.4449852],[Calahorra,42.3073551,-1.9673133],

[Arnedo,42.2256792,-2.1020752]]

R=6367650

LAM=sum([a[1] for a in RIO])/len(RIO)

LOM=sum([a[2] for a in RIO])/len(RIO)

PXY=[[a[0],(R*cos(a[1]*pi/180)*tan((a[2]-LOM)*pi/180)).n()+

I*(R*(a[1]-LAM)*pi/180).n()] for a in RIO]

return PXY,[LOM,LAM]

relacion(n)

def relacion(n):

F=range(n)

C=CartesianProduct(F,F)

P=[]

for c in C:

Page 181: Estructuras m´etricas en grafos

182 INDICE DE PROGRAMAS

r=random()

if r>0.5:

P.append(c)

return P

restalistas(L,M)

def restalistas(L,M):

DL=[]

for z in L:

if z not in M:

DL.append(z)

return DL

ri(z)

def ri(z):

return [z.real(),z.imag()]

rid(n)

def rid(n):

return [[i,i] for i in range(n)]

rlisttodict(L)

def rlisttodict(L):

K=set([a[0] for a in L])

D=dict.fromkeys(K,[])

for a in D:

D[a]=[b[1] for b in R if b[0]==a]

return D

rlisttomatrix(L)

def rlisttomatrix(L):

n=max([max(a) for a in L])

M=matrix(QQ,n+1,n+1)

for [a,b] in L:

M[a,b]=1

return M

Page 182: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 183

rreflex(L)

def rreflex(L):

n=len(ralfabeto(L))

In=rid(n)

return conliset(In,L)

rsim(L)

def rsim(L):

TL=rtranspose(L)

return igualiset(L,TL)

rtrans(L)

def rtrans(L):

return conliset(comprel(L,L),L)

rtranspose(L)

def rtranspose(L):

return [[b,a] for [a,b] in L]

schoenberg(L)

def schoenberg(L):

if L==symmetrized(L)[0] and [a for a in L if a[0]==a[1] and a[2]!=0]==[]:

X=kvertices(L)

n=len(X)

DP=[[a,b] for [a,b,c] in L]

for [a,b] in CartesianProduct(X,X):

if [a,b] not in DP:

L.append([a,b,0])

D=klisttodict(L)

qL=[]

for [a,b] in CartesianProduct(X,X):

qL.append([a,b,(D[a][0]^2+D[b][0]^2-D[a][b]^2)/2])

M=klisttomatrix(qL)

M=M[1:n,1:n]

V=M.eigenvalues()

V=[a.n(20) for a in V]

W=[abs(a) for a in V]

SC=sum(V)==sum(W)

Page 183: Estructuras m´etricas en grafos

184 INDICE DE PROGRAMAS

if SC==True:

return SC, M.rank()

else:

return SC

else:

print ’este nucleo no cumple las condiciones del teorema’

selenlist(L,K)

def selenlist(L,N):

return [L[n] for n in N]

sig(b,L)

def sig(m,M):

if m!=M[-1]:

S=M[1+M.index(m)]

else:

S=M[-1]

return S

size(M)

def size(M):

return [M.nrows(),M.ncols()]

Steiner(L,k)

def Steiner(L,k):

if k==3:

return Steiner3(L)

elif k==4:

return Steiner4(L)

elif k==5:

return Steiner5(L)

else:

return L

Steiner3(L)

def Steiner3(L):

C=copy(L)

if indicador(C)==-1:

Page 184: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 185

C=reverso(C)

MC=triangle(C)

HC=sum(MC[0])-max(MC[0])

A=max(MC[1])

if A<2*pi.n()/3:

if abs(MC[0][0]-MC[0][1])+abs(MC[0][0]-MC[0][2])<.000000001:

z0=sum(C)/3

else:

Z1=C[1]-C[0]

Z2=C[2]-C[0]

T21=ri(Z1)

T22=ri(Z2)

P1=Z1+(Z2-Z1)*exp(-I*pi.n()/3)

P2=Z2*exp(I*pi.n()/3)

M=matrix([ri(P1),ri(Z1-P2)])

MA=matrix([T21])*M^(-1)

z0=MA[0,0]*P1+C[0]

F1=line([ri(z0),ri(C[0])],rgbcolor=(1,0,0))

F2=line([ri(z0),ri(C[1])],rgbcolor=(1,0,0))

F3=line([ri(z0),ri(C[2])],rgbcolor=(1,0,0))

CS=plse(C)+point2d(ri(z0),color=’green’,pointsize=15)

DS=F1+F2+F3+CS

SC=(abs(C[0]-z0)+abs(C[1]-z0)+abs(C[2]-z0)).n()

return z0, DS, SC, 100*(HC-SC)/HC

else:

k=MC[1].index(A)

z0=C[k].n()

if k==0:

ST=line([ri(C[1]),ri(C[0])],color=’red’)

+line([ri(C[2]),ri(C[0])],color=’red’)

elif k==1:

ST=line([ri(C[2]),ri(C[1])],color=’red’)

+line([ri(C[0]),ri(C[1])],color=’red’)

else:

ST=line([ri(C[0]),ri(C[2])],color=’red’)

+line([ri(C[1]),ri(C[2])],color=’red’)

PTS=plse(C)+point2d(ri(z0),color=’green’,pointsize=15)

return z0, ST+PTS, HC, .0

Steiner4(L)

def Steiner4(L):

OL=optimiza4(L)

I4=iter4(OL[0])

Page 185: Estructuras m´etricas en grafos

186 INDICE DE PROGRAMAS

VP=point2d([ri(I4[1]),ri(I4[2])],color=’green’,pointsize=15)

VC=verST(I4)

L1=line([ri(I4[1]),ri(OL[0][1])],rgbcolor=(1,0,0))

L2=line([ri(I4[2]),ri(OL[0][2])],rgbcolor=(1,0,0))

DS4=VC[0]+L1+L2+plse(L)+VP

LS4=VC[1]+abs(I4[1]-OL[0][1])+abs(I4[2]-OL[0][2])

return I4[1:3], DS4, LS4, 100*(OL[1]-LS4)/OL[1]

Steiner5(L)

def Steiner5(L):

OL=optimiza5(L)

I5=iter5(OL[0])[0]

VP=point2d([ri(I5[1]),ri(I5[2]),ri(I5[3])],color=’green’,pointsize=15)

VC=verST(I5)

L1=line([ri(I5[1]),ri(OL[0][1])],rgbcolor=(1,0,0))

L2=line([ri(I5[2]),ri(OL[0][2])],rgbcolor=(1,0,0))

L3=line([ri(I5[3]),ri(OL[0][3])],rgbcolor=(1,0,0))

DS4=VC[0]+L1+L2+L3+plse(L)+VP

LS4=VC[1]+abs(I5[1]-OL[0][1])+abs(I5[2]-OL[0][2])+abs(I5[3]-OL[0][3])

return I5[1:4], DS4, LS4, 100*(OL[1]-LS4)/OL[1]

symmetrized(L)

def symmetrized(L):

LS=deplist([[a,b,c/2] for [a,b,c] in L]+[[b,a,c/2] for [a,b,c] in L],S)

DLS=listtodict(LS)

GS=Graph(DLS)

HS=GS.plot(edge_labels=True)

return LS, HS

transpose(L)

def transpose(L):

LT=[[b,a,c] for [a,b,c] in L]

GT=DiGraph(LT)

HT=GT.plot(edge_labels=True)

return LT, HT

triangular(n,b,h)

def triangular(n,b,h):

B=[0,b..(n-1)*b]

Page 186: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 187

L=copy(B)

for k in [0..n-2]:

L=promlista(L)

L=oplista(L,s,h*I)

B=B+L

return B

uneregiones(P)

def uneregiones(P):

VP=[]

d=0

for i in range(len(P)):

VP.append(P[i]())

if i==0:

VPD=VP[0][0]

else:

d=d+desplazamiento(VP[i-1][1],VP[i][1])

VPD=VPD+[[a[0],a[1]+d] for a in VP[i][0]]

return VPD

V0(L,n)

def V0(L,n):

return Vqmetric(L,n,b0(L))

vercamino(L)

def vercamino(L):

RL=[real(z) for z in L]

h=(max(RL)-min(RL))/50

P=[ri(z) for z in L]

Pg=P[0::10]

Pp=restalistas(P,Pg)

Dg=point2d(Pg,rgbcolor=(1,0,0),pointsize=30,axes=false)

for i in range(len(Pg)):

Dg+=text(10*i,(Pg[i][0]+h,Pg[i][1]+h), color=’black’,fontsize=8)

Dp=point2d(Pp,rgbcolor=(1,0,0),pointsize=10)

D=Dg+Dp+line(P,axes=false,aspect_ratio=1)+arrow(P[0],P[1])

return D

Page 187: Estructuras m´etricas en grafos

188 INDICE DE PROGRAMAS

vercaminoST(L)

def vercaminoST(L):

RL=[real(z) for z in L]

h=(max(RL)-min(RL))/50

P=[ri(z) for z in L]

Pg=P[0::10]

Pp=restalistas(P,Pg)

Dg=point2d(Pg,rgbcolor=(1,0,0),pointsize=30,axes=false)

for i in range(len(Pg)):

Dg+=text(10*i,(Pg[i][0]+h,Pg[i][1]+h), color=’black’,fontsize=8)

Dp=point2d(Pp,rgbcolor=(1,0,0),pointsize=10)

D=Dg+Dp+line(P,color=’red’,aspect_ratio=1)

show(D,axes=false,aspect_ratio=1)

return D,lon(L)[0]

verST(L)

def verST(L):

P=[ri(z) for z in L]

D=line(P,color=’red’,axes=False,aspect_ratio=1)+plse(L)

return D,lon(L)[0]

verSTa(L)

def verSTa(L):

P=[ri(z) for z in L]

D=line(P,color=’blue’,axes=False,aspect_ratio=1)+plse(L)

return D,lon(L)[0]

Vkernel(L,B)

def Vkernel(L,B):

N=kvertices(L)

AB=[[a,b] for [a,b,c] in L]

L0=L

for e in N:

if [e,e] not in AB:

L0.append([e,e,0])

LL=[]

for [a,b,c] in L0:

if a==b:

LL.append([a,b,1-B*c])

Page 188: Estructuras m´etricas en grafos

INDICE DE PROGRAMAS 189

else:

LL.append([a,b,-B*c])

return LL

Vqmetric(L,n,B)

def Vqmetric(L,n,B):

LL=Vkernel(L,B)

return qgenerator(LL,n)

Vqmetricinter(L)

def Vqmetricinter(L):

print ’b0 = ’,b0(L)

for i in [1..2]:

Lq=auxgenerator(L,i)

M=maxkernel(Lq)

T=maxtriangular(Lq)

if M<T:

print ’C’,i,’=’,[0,1/T]

elif M>T:

print ’C’,i,’=[’, 0, ’,’, 1/M, ’)’

elif M==T:

if T==0:

print ’C’,i,’=R+’

else:

print ’C’,i,’=[’, 0, ’,’, 1/M, ’)’

for i in [3..4]:

Lq=auxgenerator(L,i)

M=maxkernel(Lq)

T=maxtriangular(Lq)

if M<T:

print ’C’,i,’=’,[0,2/T]

elif M>T:

print ’C’,i,’=[’, 0, ’,’, 2/M, ’)’

elif M==T:

if T==0:

print ’C’,i,’=R+’

else:

print ’C’,i,’=[’, 0, ’,’, 2/M, ’)’

Page 189: Estructuras m´etricas en grafos

190 INDICE DE PROGRAMAS

XYZtoLab(L,IL)

var(’A C D65 F11 LED’)

def XYZtoLab(L,IL):

F=fdelta(t)

R=len(L)

if IL==A:

Xn=111.143

Yn=99.999

Zn=35.201

elif IL==C:

Xn=97.286

Yn=99.999

elif IL==D65:

Xn=94.813

Yn=99.997

Zn=107.304

elif IL==F11:

Xn=103.869

Yn=100.006

Zn=65.609

elif IL==LED:

Xn=93.78

Yn=100

Zn=97.95

X=[a[0].n(digits=4) for a in L]

Y=[a[1].n(digits=4) for a in L]

Z=[a[2].n(digits=4) for a in L]

L=[116*F(Y[k]/Yn)-16 for k in range(R)]

a=[500*(F(X[k]/Xn)-F(Y[k]/Yn)) for k in range(R)]

b=[200*(F(Y[k]/Yn)-F(Z[k]/Zn)) for k in range(R)]

return [[L[k],a[k],b[k]] for k in range(R)]

Worksheets:

https://cloud.sagemath.com/projects/0b69df04-f98d-43d2-a286-3ef2488e4136/files/

Page 190: Estructuras m´etricas en grafos

Anexos

ANEXO1 A C D65 F11 LED

350 4.74 7.00 44.91 0.00 0.00360 6.14 12.90 46.64 0.00 0.00370 7.82 21.40 52.09 0.00 0.00380 9.80 33.00 49.98 0.91 0.48390 12.09 47.40 54.65 0.46 0.42400 14.71 63.30 82.75 1.29 0.58410 17.68 80.60 91.49 1.59 1.74420 20.99 98.10 93.43 2.46 6.81430 24.67 112.40 86.68 4.49 25.17440 28.70 121.50 104.86 12.13 69.99450 33.09 124.00 117.01 7.19 100.00460 37.81 123.10 117.81 6.72 75.55470 42.87 123.80 114.86 5.46 46.79480 48.24 123.90 115.92 5.66 35.56490 53.91 120.70 108.81 14.96 37.89500 59.86 112.10 109.35 4.72 45.60510 66.06 102.30 107.80 1.47 52.76520 72.50 96.90 104.79 0.89 57.52530 79.13 98.00 107.69 1.18 60.43540 85.95 102.10 104.41 39.59 62.41550 92.91 105.20 104.05 32.61 63.98560 100.00 105.30 100.00 2.83 64.98570 107.18 102.30 96.33 1.67 65.30580 114.44 97.80 95.79 11.28 64.46590 121.73 93.20 88.69 12.73 62.10600 129.04 89.70 90.01 7.33 57.99610 136.35 88.40 89.60 55.27 52.22620 143.62 88.10 87.70 13.18 45.36630 150.84 88.00 83.29 12.26 37.99640 157.98 87.80 83.70 2.07 30.97650 165.03 88.20 80.03 3.58 24.86660 171.96 87.90 80.21 2.48 19.46670 178.77 86.30 82.28 1.54 14.99680 185.43 84.00 78.28 1.46 11.25690 191.93 80.20 69.72 2.00 8.60700 198.26 76.30 71.61 1.35 6.55710 204.41 72.40 74.35 5.58 5.20720 210.36 68.30 61.60 0.57 3.93730 216.12 64.40 69.89 0.23 3.09740 221.67 61.50 75.09 0.24 2.69750 227.00 59.20 63.59 0.20 2.04760 232.12 58.10 46.42 0.32 1.90770 237.01 58.20 66.81 0.16 1.75780 241.68 59.10 63.38 0.09 1.70790 246.12 59.10 64.30 0.00 0.00800 250.33 59.10 59.45 0.00 0.00

191

Page 191: Estructuras m´etricas en grafos

192 ANEXOS

ANEXO2OF OD

54.33 21.06 14.67 154.30 21.45 18.00 254.40 21.13 19.25 453.86 19.57 20.32 353.28 19.46 21.88 653.47 17.25 23.34 752.13 16.80 24.87 552.81 15.07 27.72 852.80 14.06 29.24 952.64 13.16 31.90 1253.73 11.83 32.91 1154.98 10.44 33.14 1355.76 9.033 35.24 1055.32 7.416 40.08 1656.17 6.641 42.63 1856.84 2.945 44.04 1757.39 1.526 44.05 1458.18 -2.113 45.49 1558.89 -4.482 43.45 2159.14 -6.126 42.53 1957.75 -7.942 40.82 2058.65 -9.834 41.86 2258.59 -10.97 35.60 2458.52 -12.92 34.63 2358.71 -13.11 31.72 2559.06 -14.50 31.53 2759.67 -17.14 28.82 2658.65 -17.36 25.37 2959.67 -17.89 25.13 2859.33 -18.33 22.80 3059.28 -19.41 21.20 3159.06 -22.48 20.91 3359.67 -21.53 17.38 3258.45 -22.54 15.21 3458.32 -24.69 14.79 3557.18 -24.70 12.28 3656.66 -23.77 9.143 3756.58 -22.44 6.580 3857.26 -23.93 6.174 3855.86 -23.03 3.433 4156.38 -23.66 1.921 4056.89 -23.75 0.7141 4256.11 -22.50 -0.5997 4356.67 -21.56 -3.185 4556.31 -21.13 -4.048 4456.21 -21.23 -5.568 4656.55 -21.53 -8.051 4756.65 -19.34 -8.659 4956.11 -18.65 -9.874 4856.93 -17.68 -12.54 5357.19 -15.51 -13.87 5056.24 -14.70 -14.59 5156.62 -13.02 -16.26 5256.66 -11.76 -16.69 5456.43 -8.461 -14.87 6256.30 -6.992 -16.92 6355.96 -5.001 -19.21 5656.08 -3.857 -18.26 5957.23 -1.862 -19.30 5756.31 -0.6561 -20.58 6055.13 1.102 -20.03 5854.33 2.857 -20.33 5555.24 4.505 -18.84 6154.99 6.435 -20.04 6455.42 7.198 -17.98 6655.78 7.977 -17.64 6555.99 9.171 -16.23 6756.44 10.42 -15.28 6856.77 11.65 -14.43 6955.87 13.05 -12.94 7056.58 13.25 -11.75 7157.01 15.02 -10.41 7255.35 16.77 -8.450 7455.97 18.68 -7.700 7354.83 18.35 -5.994 7654.97 20.55 -6.470 7555.81 20.69 -4.251 7755.32 21.97 -3.033 7853.58 22.53 -1.941 7954.10 23.20 0.4639 8054.51 24.55 2.367 8153.81 23.89 4.109 8254.05 23.26 7.639 8354.87 22.07 9.819 8455.17 21.65 12.29 85

Page 192: Estructuras m´etricas en grafos

ANEXOS 193

ANEXO3OFA OFC OFD65 OF11

56.54 23.65 19.18 53.21 21.96 13.16 53.07 22.96 12.94 54.34 24.07 15.0356.6 24.28 25.03 53.09 20.5 19.63 53.01 21.51 19.42 54.89 23.28 23.12

53.97 20.77 28.49 50.53 19.14 22.67 50.38 20.36 22.38 51.58 21.01 24.5554.72 19.31 34.8 51.3 16.06 29.66 51.24 17.12 29.46 53.41 16.97 33.5957.09 15.26 37.53 53.94 12.35 33.26 53.85 13.53 33 55.97 11.8 37.0757.37 9.62 44.9 54.46 8.04 40.82 54.33 9.38 40.5 56.54 4.36 44..4858.68 4.2 42.44 56.43 1.47 39.65 56.43 2.38 39.54 59.71 -3.84 45.4657.89 -0.74 39.11 56.28 -4.41 38.18 56.35 -3.74 38.11 58.9 -7.85 43.2157.84 -4.8 28.71 57.11 -9.92 29.9 57.24 -9.58 29.89 58.23 -8.66 32.7156.65 -12.13 22.57 56.57 -13.48 23.92 56.65 -13.18 23.92 58.44 -18.77 27.6257.74 -13.84 17.01 58.31 -18.14 20.52 58.47 -18.11 20.56 58.4 -15.73 21.6856.44 -18.42 10.52 57.66 -21.43 14.89 57.83 -21.62 14.99 57.41 -19.68 15.4254.26 -22.05 4.57 55.89 -21.98 8.73 56.08 -22.44 8.92 56.34 -24.44 10.1353.26 -21.76 -0.78 55.26 -22.39 4.24 55.46 -23.01 4.44 54.73 -21.77 4.2453.27 -24.45 -5.13 55.73 -23.83 0.81 55.89 -24.41 0.94 54.62 -22.58 -0.1553.85 -24.95 -10.03 56.68 -23.83 -3.54 56.83 -24.54 -3.41 55.17 -21.89 -5.253.87 -23.98 -14.03 56.88 -22.11 -7.53 57.02 -22.95 -7.39 55.14 -20.15 -9.6853.87 -20.75 -17.16 56.77 -17.81 -11.34 56.89 -18.73 -11.2 55.02 -16.96 -13.7355.05 -14.06 -16.52 57.32 -10.87 -12.54 57.39 -11.71 -12.39 55.97 -10.93 -14.7154.76 -11.56 -19.15 56.9 -6.56 -15.94 56.93 -7.37 -15.81 55.65 -7.89 -18.2854.6 -6.97 -20.65 56.42 -1.74 -18.22 56.41 -2.44 -18.15 55.16 -3.12 -20.7

54.47 -0.68 -18.86 55.63 3.58 -17.76 55.58 3.07 -17.73 54.6 2.47 -19.956.03 3.48 -14.42 56.5 6.83 -14.6 56.44 6.54 -14.58 55.93 6.25 -16.0356.36 8.33 -10.27 56.09 11.01 -11.87 56.02 10.93 -11.86 56.02 10.94 -12.5556.6 13.65 -4.84 55.52 14.88 -7.67 55.44 15.07 -7.7 55.95 15.8 -7.457.3 20.22 -0.69 55.52 18.11 -4.09 55.45 18.46 -4.15 56.69 21.29 -2.23

57.19 24.44 4.83 54.73 20.81 0.52 54.68 21.29 0.45 56.61 24.19 3.7356.17 25.63 11 53.19 22.33 6.02 53.1 23.08 5.86 54.8 25.87 8.93

ANEXO4/1OFA2 OFC2 OFD652 OF112

57 24.03 19.59 53.61 22.35 13.43 53.47 23.37 13.21 54.78 24.43 15.3656.95 25.31 21.91 53.36 22.93 15.59 53.26 23.93 15.41 55.18 25.09 18.6957.04 24.36 24.1 53.4 22.72 17.64 53.25 23.89 17.38 54.72 24.97 19.8856.92 24.28 24.87 53.42 20.48 19.46 53.34 21.48 19.26 55.23 23.27 22.9855.94 23.92 26.73 52.3 21.3 20.62 52.19 22.38 20.41 54.03 23.17 23.6255.75 22.14 27.85 52.25 19.6 21.96 52.15 20.67 21.76 54.16 20.88 25.354.52 20.73 28.31 51.09 19.08 22.51 50.94 20.29 22.22 52.17 20.9 24.4555.16 20.59 31.21 51.72 17.63 25.73 51.64 18.69 25.54 53.81 18.65 29.5254.88 19.54 32.37 51.48 17.03 26.87 51.37 18.16 26.64 53.28 17.62 30.155.05 19.3 34.7 51.63 16.0 29.57 51.57 17.06 29.38 53.78 16.91 33.5655.34 17.51 35.86 51.99 15.4 30.58 51.86 16.65 30.29 53.54 15.68 33.3956.76 16.45 35.73 53.56 13.47 31.23 53.48 14.6 30.99 55.52 13.4 34.957.25 15.24 37.58 54.11 12.34 33.31 54.02 13.52 33.04 56.14 11.81 37.1456.51 13.68 42.09 53.31 11.73 37.48 53.19 13.03 37.17 54.73 11.24 40.1757.29 12.93 42.99 54.11 11.31 38.18 53.98 12.64 37.87 55.87 9.36 41.357.56 9.7 44.47 54.66 8.13 40.38 54.53 9.46 40.06 56.7 4.56 43.9957.59 8.27 45.34 54.77 7.03 41.34 54.64 8.37 41.02 56.81 2.77 44.8858.33 6.76 45.62 55.77 3.72 42.56 55.74 4.76 42.38 58.91 -1.17 48.1958.85 4.26 42.99 56.57 1.51 40.19 56.58 2.43 40.08 59.89 -3.85 46.0758.62 1.73 41.34 56.59 -0.39 38.91 56.59 0.54 38.79 59.88 -6.4 44.6957.42 0.07 39.54 55.64 -2.3 37.74 55.66 -1.47 37.64 58.71 -7.68 43.2658.29 -0.74 40.26 56.64 -4.47 39.33 56.71 -3.78 39.26 59.33 -8.03 44.558.26 -2.93 33.07 57.08 -6.7 32.97 57.16 -6.15 32.93 59.15 -8.59 37.1757.99 -3.9 31.16 57.16 -10.07 32.7 57.29 -9.69 32.65 58.12 -7.76 35.4158.39 -4.92 28.91 57.66 -10.08 30.12 57.79 -9.73 30.11 58.8 -8.81 32.9658.27 -6.38 27.98 57.75 -11.89 29.82 57.88 -11.58 29.8 58.62 -10.21 32.3258.4 -11.24 26.12 58.11 -13.04 27.32 58.18 -12.63 27.28 60.15 -18.48 31.36

57.32 -12.0 22.64 57.23 -13.37 23.97 57.31 -13.07 23.96 59.11 -18.64 27.6858.86 -10.93 20.79 59.03 -15.81 23.65 59.17 -15.69 23.67 59.36 -13.73 25.2257.83 -13.23 18.77 58.15 -16.14 21.57 58.26 -15.96 21.54 58.48 -16.7 23.1658.11 -14.02 16.9 58.7 -18.3 20.44 58.86 -18.28 20.49 58.78 -15.85 21.5757.17 -17.81 16.47 57.88 -19.06 19.23 58.03 -19.11 19.34 59.41 -23.39 22.4857.96 -17.03 12.9 59 -20.97 17.2 59.18 -21.09 17.29 58.85 -18.19 18

Page 193: Estructuras m´etricas en grafos

194 ANEXOS

ANEXO4/2OFA2 OFC2 OFD652 OF112

57.06 -18.75 10.42 58.31 -21.79 14.89 58.48 -21.99 14.98 58.04 -19.97 15.4156.31 -21.49 9.88 57.7 -22.94 14.2 57.88 -23.22 14.34 58.14 -24.47 15.8854.86 -22.44 7.36 56.43 -23.28 11.87 56.61 -23.63 12.02 56.67 -24.81 13.1854.68 -22.12 3.1 56.48 -22.73 7.87 56.65 -23.16 8.03 56.32 -22.98 8.454.63 -22.04 1.74 56.57 -23.38 7.11 56.74 -23.76 7.23 55.81 -21.35 6.75

55 -22.62 1.58 56.88 -22.71 6.15 57.09 -23.32 6.39 57.1 -24.18 7.1954.14 -22.51 -1.21 56.22 -23.0 3.95 56.43 -23.66 4.16 55.67 -22.38 3.9154.69 -22.65 -2.7 57.03 -24.88 3.25 57.25 -25.62 3.47 55.81 -21.36 2.0354.63 -24.93 -4.15 57.13 -25.18 1.95 57.31 -25.83 2.11 55.99 -23.54 0.9253.77 -24.79 -5.4 56.27 -24.12 0.62 56.43 -24.71 0.75 55.14 -22.86 -0.3854.6 -25.03 -7.99 57.25 -23.49 -1.82 57.38 -24.1 -1.73 55.95 -23.24 -3.07

53.53 -24.86 -8.65 56.22 -23.36 -2.46 56.36 -24.0 -2.36 54.91 -22.76 -3.7754.47 -25.37 -10.51 57.36 -24.1 -3.93 57.52 -24.84 -3.8 55.81 -22.19 -5.6754.46 -26.75 -12.85 57.58 -24.66 -5.8 57.71 -25.41 -5.72 55.87 -23.99 -7.654.62 -24.25 -12.64 57.52 -22.25 -6.27 57.66 -23.02 -6.16 56.08 -21.59 -7.8654.21 -23.93 -14.17 57.22 -21.99 -7.7 57.36 -22.84 -7.55 55.47 -20.06 -9.8754.74 -24.39 -16.49 57.9 -21.54 -9.76 58.01 -22.38 -9.67 56.05 -20.86 -11.9955.24 -22.02 -17.38 58.26 -18.85 -11.33 58.38 -19.79 -11.19 56.47 -18.21 -13.7654.58 -21.02 -17.65 57.54 -17.94 -11.76 57.65 -18.87 -11.62 55.74 -17.09 -14.2254.98 -20.12 -19.25 57.95 -16.5 -13.55 58.06 -17.51 -13.4 56.12 -15.98 -16.2454.69 -18.58 -19.46 57.55 -14.88 -14.25 57.66 -15.95 -14.06 55.81 -14.76 -16.9655.47 -14.27 -17.04 57.78 -10.9 -13.01 57.86 -11.76 -12.85 56.4 -10.99 -15.2554.84 -13.68 -19.06 57.22 -9.77 -15.08 57.3 -10.71 -14.91 55.74 -10.14 -17.6154.65 -13.7 -20.97 57.13 -8.73 -16.76 57.15 -9.53 -16.69 55.49 -9.46 -19.4355.18 -11.65 -19.82 57.36 -6.41 -16.58 57.39 -7.25 -16.45 56.08 -7.82 -19.0156.3 -9.93 -20.22 58.38 -5.06 -17.01 58.38 -5.77 -16.94 57.01 -6.18 -19.44

55.03 -9.09 -21.28 57.08 -3.55 -18.42 57.08 -4.33 -18.33 55.73 -5.04 -21.0355.06 -7.05 -21.09 56.92 -1.65 -18.65 56.9 -2.37 -18.57 55.63 -3.08 -21.1853.82 -5.14 -20.4 55.47 -0.05 -18.35 55.44 -0.69 -18.29 54.25 -1.39 -20.7754.99 -2.52 -18.49 56.28 1.84 -17.07 56.24 1.31 -17.03 55.24 0.73 -19.1954.59 -0.74 -19.13 55.78 3.61 -18.01 55.72 3.09 -17.98 54.73 2.49 -20.1955.68 0.79 -17.03 56.57 4.72 -16.42 56.52 4.31 -16.4 55.74 3.81 -18.2755.88 2.27 -16.48 56.62 5.7 -16.14 56.56 5.31 -16.12 55.92 4.97 -17.7556.33 3.49 -14.92 56.82 7.02 -15.11 56.76 6.71 -15.09 56.24 6.37 -16.5956.78 5.26 -13.48 57.02 8.35 -14.11 56.95 8.12 -14.09 56.61 7.9 -15.3257.47 6.98 -12.34 57.48 9.62 -13.3 57.41 9.46 -13.3 57.14 9.47 -14.3756.82 8.41 -10.9 56.57 11.31 -12.53 56.5 11.22 -12.51 56.49 11.18 -13.2857.79 9.56 -9.18 57.37 11.41 -10.83 57.29 11.39 -10.84 57.31 11.69 -11.458.09 11.5 -7.77 57.37 13.55 -10.16 57.29 13.59 -10.16 57.6 13.8 -10.3457.27 13.65 -5.5 56.22 15.09 -8.35 56.14 15.27 -8.37 56.62 15.95 -8.1657.95 15.99 -4.11 56.6 17.05 -7.47 56.51 17.31 -7.51 57.17 18.14 -6.9756.81 16.79 -1.87 55.33 16.39 -4.99 55.24 16.75 -5.07 55.81 18.81 -4.457.8 20.25 -1.19 56.04 18.27 -4.6 55.98 18.6 -4.66 57.19 21.43 -2.8

58.19 19.76 0.91 56.3 18.37 -2.67 56.2 18.85 -2.78 57.04 21.43 -1.4957.91 21.81 2.73 55.71 20.04 -1.31 55.61 20.6 -1.44 56.65 23.24 0.2257.33 24.56 4.61 54.88 20.97 0.27 54.82 21.45 0.2 56.75 24.36 3.4557.21 23.75 6.59 54.62 21.33 2.05 54.52 22.0 1.9 55.86 24.7 4.2157.92 26.07 9.19 54.97 23.19 4.11 54.86 23.95 3.94 56.45 26.67 6.7257.21 25.81 10.76 54.23 22.57 5.73 54.14 23.32 5.58 55.85 26.15 8.6457.42 25.62 13.69 54.24 22.94 8.06 54.15 23.72 7.92 56.09 25.09 11.1457.89 24.71 15.04 54.69 22.64 9.16 54.57 23.51 8.99 56.09 25.01 11.4358.05 25.64 17.96 54.65 23.01 11.82 54.53 23.91 11.64 56.2 25.07 14.3857.21 23.96 19.55 53.82 22.31 13.41 53.68 23.33 13.18 54.99 24.38 15.3257.28 24.82 23.03 53.67 22.84 16.63 53.54 23.92 16.41 55.23 25.03 19.357.27 24.33 24.05 53.64 22.72 17.6 53.49 23.89 17.33 54.94 24.96 19.8256.91 24.39 25.07 53.38 20.6 19.64 53.3 21.61 19.43 55.19 23.39 23.1556.14 23.89 26.74 52.51 21.3 20.61 52.4 22.38 20.4 54.23 23.18 23.656.03 21.95 27.45 52.57 19.43 21.61 52.47 20.49 21.41 54.45 20.68 24.9154.48 20.78 28.62 51.03 19.15 22.79 50.88 20.37 22.49 52.11 20.96 24.7455.18 20.6 31.35 51.73 17.66 25.87 51.66 18.72 25.68 53.81 18.69 29.6254.99 19.59 32.56 51.57 17.1 27.04 51.47 18.23 26.8 53.37 17.69 30.2554.85 19.48 35.14 51.4 16.18 29.97 51.34 17.25 29.78 53.55 17.11 33.9755.57 17.37 35.59 52.24 15.29 30.33 52.11 16.53 30.04 53.78 15.5 33.1356.76 16.65 36.28 53.52 13.67 31.73 53.43 14.82 31.48 55.49 13.59 35.457.34 15.35 38.14 54.17 12.42 33.85 54.08 13.61 33.58 56.22 11.86 37.7256.59 13.59 41.72 53.41 11.66 37.12 53.29 12.95 36.81 54.8 11.19 39.76

Page 194: Estructuras m´etricas en grafos

ANEXOS 195

ANEXO4/3OFA3 OFC3 OFD653 OF113

57.33 13.07 44.14 54.1 11.46 39.26 53.97 12.81 38.95 55.9 9.45 42.4257.56 9.62 44.79 54.66 8.04 40.71 54.53 9.37 40.39 56.72 4.41 44.3557.89 8.08 44.49 55.12 6.84 40.53 54.99 8.16 40.22 57.14 2.59 44.0458.61 6.67 45.52 56.06 3.61 42.48 56.03 4.64 42.3 59.21 -1.28 48.1359.01 4.19 42.93 56.74 1.41 40.15 56.75 2.33 40.04 60.06 -3.91 46.0358.96 1.74 41.47 56.92 -0.38 39.02 56.92 0.55 38.9 60.23 -6.44 44.8457.4 -0.08 39.32 55.64 -2.47 37.57 55.66 -1.65 37.47 58.7 -7.81 43.08

58.31 -0.81 40.01 56.68 -4.53 39.09 56.76 -3.85 39.02 59.36 -8.06 44.2358.1 -3.01 33.32 56.93 -6.84 33.27 57.02 -6.29 33.23 58.99 -8.67 37.47

58.17 -3.82 31.71 57.32 -10.07 33.25 57.45 -9.68 33.2 58.3 -7.74 3658.19 -4.92 28.91 57.47 -10.08 30.13 57.6 -9.74 30.12 58.59 -8.79 32.9658.45 -6.22 28.36 57.9 -11.8 30.2 58.03 -11.47 30.17 58.78 -10.13 32.7658.3 -11.23 25.91 58.02 -13.02 27.1 58.09 -12.61 27.06 60.06 -18.45 31.12

57.19 -12.16 22.57 57.12 -13.52 23.93 57.19 -13.22 23.92 58.99 -18.81 27.6458.64 -11.09 21.3 58.8 -16.08 24.22 58.95 -15.95 24.24 59.15 -13.97 25.8257.95 -13.34 18.72 58.29 -16.23 21.53 58.39 -16.05 21.5 58.62 -16.82 23.1357.99 -13.97 16.95 58.57 -18.28 20.49 58.73 -18.25 20.54 58.65 -15.81 21.6357.18 -17.78 16.49 57.88 -19.05 19.25 58.03 -19.1 19.36 59.42 -23.35 22.558.13 -17.1 12.77 59.18 -21.01 17.08 59.36 -21.14 17.17 59.02 -18.21 17.8456.74 -18.9 10.46 58.01 -21.94 14.95 58.18 -22.14 15.04 57.73 -20.11 15.4456.27 -21.46 9.83 57.66 -22.93 14.16 57.84 -23.22 14.3 58.09 -24.42 15.8355.06 -22.35 7.32 56.62 -23.2 11.82 56.81 -23.55 11.97 56.86 -24.71 13.1354.53 -22.21 4.49 56.19 -22.11 8.67 56.37 -22.57 8.87 56.63 -24.58 10.0854.64 -22.07 1.71 56.59 -23.4 7.09 56.75 -23.79 7.2 55.81 -21.36 6.7155.15 -22.63 1.55 57.04 -22.74 6.13 57.25 -23.36 6.37 57.24 -24.17 7.1453.85 -22.49 -1.06 55.92 -23.04 4.11 56.13 -23.7 4.32 55.36 -22.38 4.0754.56 -22.61 -2.7 56.9 -24.86 3.25 57.12 -25.59 3.47 55.67 -21.31 2.0254.77 -24.91 -4.24 57.27 -25.13 1.86 57.45 -25.78 2.01 56.13 -23.5 0.8153.94 -24.97 -5.55 56.47 -24.28 0.52 56.63 -24.88 0.65 55.31 -22.99 -0.5154.47 -25.21 -7.92 57.14 -23.69 -1.7 57.27 -24.29 -1.61 55.83 -23.4 -2.9454.16 -24.89 -8.72 56.85 -23.4 -2.52 56.99 -24.05 -2.41 55.54 -22.79 -3.8354.09 -25.31 -10.34 56.97 -24.11 -3.77 57.12 -24.84 -3.64 55.41 -22.14 -5.4954.3 -26.9 -12.82 57.43 -24.84 -5.73 57.56 -25.59 -5.65 55.71 -24.14 -7.53

54.59 -24.35 -12.91 57.52 -22.27 -6.51 57.65 -23.05 -6.39 56.05 -21.61 -8.1354.12 -23.9 -14.11 57.12 -22.01 -7.63 57.27 -22.86 -7.48 55.37 -20.04 -9.7954.89 -24.37 -16.58 58.05 -21.5 -9.84 58.16 -22.35 -9.76 56.19 -20.82 -12.155.31 -22.05 -17.38 58.33 -18.9 -11.32 58.45 -19.84 -11.18 56.54 -18.23 -13.7454.42 -21.43 -17.97 57.44 -18.26 -11.97 57.55 -19.21 -11.83 55.6 -17.38 -14.4954.9 -20.16 -19.3 57.89 -16.54 -13.59 57.99 -17.54 -13.43 56.04 -15.99 -16.28

55.08 -18.4 -19.45 57.92 -14.71 -14.28 58.03 -15.77 -14.09 56.19 -14.57 -16.9855.15 -14.3 -16.97 57.46 -10.97 -12.92 57.54 -11.83 -12.76 56.08 -11.03 -15.1755.09 -13.42 -18.77 57.44 -9.61 -14.85 57.51 -10.54 -14.69 55.98 -9.94 -17.3454.69 -13.63 -20.95 57.16 -8.68 -16.75 57.18 -9.47 -16.68 55.53 -9.4 -19.4254.94 -11.6 -19.69 57.11 -6.4 -16.47 57.14 -7.23 -16.34 55.84 -7.8 -18.8756.27 -9.98 -20.38 58.36 -5.06 -17.15 58.36 -5.78 -17.08 56.98 -6.19 -19.5955.4 -9.15 -21.49 57.46 -3.55 -18.61 57.46 -4.34 -18.51 56.1 -5.05 -21.24

54.44 -6.94 -20.53 56.25 -1.74 -18.12 56.24 -2.44 -18.05 54.99 -3.11 -20.5853.81 -5.15 -20.5 55.47 -0.04 -18.44 55.44 -0.68 -18.39 54.25 -1.39 -20.8654.99 -2.5 -18.55 56.28 1.88 -17.13 56.24 1.35 -17.1 55.24 0.76 -19.2654.93 -0.71 -19.36 56.12 3.73 -18.25 56.06 3.21 -18.23 55.06 2.56 -20.4555.51 0.79 -17.07 56.4 4.73 -16.45 56.35 4.31 -16.43 55.56 3.82 -18.3156.05 2.25 -16.47 56.79 5.69 -16.13 56.73 5.3 -16.11 56.09 4.94 -17.7356.35 3.52 -14.91 56.84 7.05 -15.1 56.78 6.74 -15.08 56.25 6.4 -16.5956.99 5.28 -13.61 57.24 8.44 -14.25 57.17 8.2 -14.24 56.81 7.95 -15.4857.53 6.94 -12.33 57.55 9.57 -13.28 57.48 9.41 -13.28 57.21 9.39 -14.3556.75 8.45 -10.78 56.49 11.31 -12.42 56.42 11.22 -12.4 56.4 11.2 -13.1757.63 9.53 -9.18 57.22 11.37 -10.81 57.15 11.35 -10.82 57.16 11.66 -11.3758.26 11.47 -7.65 57.53 13.49 -10.05 57.46 13.54 -10.05 57.77 13.74 -10.256.89 13.71 -5.28 55.82 15.08 -8.14 55.73 15.27 -8.16 56.23 15.97 -7.9257.79 15.93 -4.01 56.44 16.96 -7.36 56.35 17.23 -7.4 57.01 18.06 -6.8556.86 16.82 -1.8 55.37 16.41 -4.92 55.28 16.77 -5.01 55.86 18.83 -4.3257.58 20.34 -1.02 55.8 18.31 -4.45 55.74 18.65 -4.51 56.97 21.48 -2.6258.27 19.87 0.92 56.36 18.51 -2.69 56.26 19.0 -2.81 57.11 21.57 -1.5158.04 21.65 2.61 55.87 19.91 -1.4 55.77 20.46 -1.53 56.79 23.1 0.1156.83 24.43 4.58 54.38 20.85 0.27 54.32 21.33 0.2 56.25 24.22 3.4557.16 23.94 6.65 54.55 21.47 2.09 54.45 22.14 1.93 55.81 24.87 4.2857.85 25.85 9.05 54.92 23.01 4.01 54.82 23.76 3.84 56.39 26.48 6.657.16 25.83 10.74 54.17 22.59 5.71 54.08 23.33 5.56 55.8 26.17 8.6357.32 25.84 13.95 54.11 23.14 8.25 54.01 23.93 8.12 55.98 25.3 11.3857.91 24.67 15.14 54.71 22.63 9.26 54.59 23.5 9.08 56.11 25.01 11.5358.34 25.35 17.77 54.97 22.76 11.7 54.85 23.66 11.52 56.5 24.84 14.22