homologia persistente

Upload: ricardo-mansilla

Post on 24-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Homologia Persistente

    1/51

    Analisis topologico de datos: teora y practica

    Aldo Guzman Saenz

  • 7/25/2019 Homologia Persistente

    2/51

    2

  • 7/25/2019 Homologia Persistente

    3/51

    Indice general

    1. Introduccion 5

    2. Preliminares de Topologa Algebraica 92.1. Complejos Simpliciales Abstractos . . . . . . . . . . . . . . . . . . . . . . . . 92.2. Homologa Simplicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3. Homologa persistente 213.1. Propiedades basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2. Calculo de Homologa Persistente . . . . . . . . . . . . . . . . . . . . . . . . 26

    4. Categorificacion de persistencia 314.1. Definiciones de teora de categoras . . . . . . . . . . . . . . . . . . . . . . . 314.2. Casos con ndices reales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    5. Una aplicacion: analisis de imagenes naturales de alto contraste 355.1. Preparacion de la base de datos . . . . . . . . . . . . . . . . . . . . . . . . . 355.2. Complejos de Testigos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    5.3. Resultados Experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    3

  • 7/25/2019 Homologia Persistente

    4/51

    4

  • 7/25/2019 Homologia Persistente

    5/51

    Captulo 1

    Introduccion

    Consideremos una coleccion de puntos X R2 como en la figura 1.1, y tratemos deinferir informacion sobre dichos datos, partiendo de la suposicion de que, en efecto, no son

    unicamente ruido. A primera vista, parece un crculo.

    !1.5 !1 !0.5 0 0.5 1 1.5!1.5

    !1

    !0.5

    0

    0.5

    1

    1.5

    Figura 1.1:Xparece un crculo.

    Un intento inicial de estudiar la nube con herramientas usuales de topologa no provee demucho, pues estamos trabajando con un conjunto discreto. Consideremos ahora el resultadode engordar (considerar un conjunto que contenga a X) de una manera el conjunto X:

    5

  • 7/25/2019 Homologia Persistente

    6/51

    !1.5 !1 !0.5 0 0.5 1 1.5!1.5

    !1

    !0.5

    0

    0.5

    1

    1.5

    Figura 1.2:X0 es, homotopicamente, un crculo.

    Ahora podemos inferir ciertas cosas del conjunto X0. Sin embargo, la eleccion del procesode engorda de Xparece algo arbitrario: que pasara si lo engordaramos de otra manera?

    !1.5 !1 !0.5 0 0.5 1 1.5!

    1.5

    !1

    !0.5

    0

    0.5

    1

    1.5

    Figura 1.3:X00 es, homotopicamente, muchos crculos con un punto en comun.

    Para dar conclusiones significativas acerca de la informacion que contienen los datos, es

    6

  • 7/25/2019 Homologia Persistente

    7/51

    necesaria que la eleccion de estos modelos para un conjunto de puntos dado sea adecuada.Tomando en cuenta esta ambiguedad inherente a como estan presentados los datos, unaposibilidad es elegir una manera parametrizada de engordar a nuestro conjunto, y estudiarlas propiedades topologicas que aparecen, o dejan de aparecer, en determinados intervalosde nuestro parametro. Volviendo a nuestro ejemplo, podramos tomar bolas de radio t >0

    alrededor de los puntos de X, formar su union, y denotarla por X(t).Notemos ademas lo siguiente: los diversos espacios X(t) satisfacen que X(t0) es un sub-

    conjunto deX(t1) sit0< t1. Esto es deseable para que haya alguna nocion de buen compor-tamiento entre el parametrot, su correspondiente espacio X(t), y eventualmente cualquierconstruccion algebraica sobre X(t).

    Podemos ahora, para cada t, considerar algun complejo simplicial asociado a X(t), cal-cular algun invariante de topologa algebraica, y observar los cambios en estructura que haycuando variamos la t. El invariante que elegiremos durante estas notas sera la homologa,puesto que es posible calcularla con una computadora para complejos simpliciales finitos(una pregunta interesante es que pasa con la homotopa. Un artculo que usa esta nocion enel contexto de complejos anudados es [7]).

    Mas alla del interes teorico acerca de fenomenos de persistencia, para el aspecto practicoes importante el desarrollar ejemplos explcitos en los que se muestre como se realiza elanalisis de alguna base de datos, y un tal ejemplo se encuentra en el Captulo 5, en el que sereproduce una porcion del trabajo encontrado en el artculo On the local behavior of spacesof natural images, de Carlsson, et al. [2], incluyendo codigo fuente para su implementacionen diversos sistemas de computo.

    Nota (08/Nov/2015): Estas notas son un trabajo en progreso. En esta version esta ini-cialmente solo homologa persistente, e incluso se puede ampliar mas lo dicho sobre esta (laestabilidad de los codigos de barras es en particular un tema que falta, y que est a siendoredactado).

    7

  • 7/25/2019 Homologia Persistente

    8/51

    8

  • 7/25/2019 Homologia Persistente

    9/51

    Captulo 2

    Preliminares de Topologa Algebraica

    2.1. Complejos Simpliciales Abstractos

    Definicion 2.1.1. Un complejo simplicial abstracto es un conjuntoV de vertices junto conun subconjunto R del conjunto de subconjuntos no vacos de V que cumple las siguientespropiedades:

    (1) Todos los subconjuntos de un elemento de V estan enR.

    (2) Si R y , 6= , entonces R.Llamamos a los elementos de R smplices, o simplejos, y si R es tal que #() =n+ 1,entonces llamamos a unn-simplejo. Si Ry , entonces decimos quees una carade y que es una cocara de . Decimos que un complejo simplicialX= (V, R) es finito siV es un conjunto finito o decimos que es localmente finito si cada vertice es elemento de a

    lo mas una cantidad finita de smplices.

    Definicion 2.1.2. Un mapeo de complejos simpliciales (V, R) a (V0, R0) es una funcionf :V V0 tal que para cada R, f() R0.

    0

    1 2

    3 0

    1 2

    Figura 2.1: Mapeo simplicial: f(i) =ii 2,f(3) = 1.

    Proposicion 2.1.3. (i) La composicion de mapeos de complejos simpliciales es un mapeode complejos simpliciales.

    9

  • 7/25/2019 Homologia Persistente

    10/51

    (ii) Para cada complejo simplicialK, idKes un mapeo de complejos simpliciales.

    Demostracion. Inmediata de las definiciones

    Definicion 2.1.4.Un subcomplejo de un complejo simplicial (V, R) es un complejo simplicial(U, S) tal que U V yS R.

    K

    0

    = K=

    0 1

    2 3

    40 1

    2 3

    4

    Figura 2.2:K0 es subcomplejo de K.

    Ejemplo 2.1.5. Para cada n, tenemos el simplejo estandar [n] con vertices {0, . . . , n} ycon conjunto de smplices el conjunto de todos los subconjuntos no vacos de {0, . . . , n}.

    (a) 0-simplejo (b) 1-simplejo (c) 2-simplejo (d) 3-simplejo

    Figura 2.3: Los primeros cuatro n-simplejos estandares.

    Ejemplo 2.1.6(Graficas no-dirigidas simples). Para cadan, consideramos el complejo sim-plicialG= (V, R) donde V ={0, . . . , n} yR es el conjunto obtenido al considerar la unionde un subconjunto de la familia de todos los subconjuntos de exactamente dos elementos deVcon la familia de todos los conjuntos con exactamente un elemento de V.

    10

  • 7/25/2019 Homologia Persistente

    11/51

    0

    1

    2

    3

    4

    Figura 2.4: Una grafica simple no-dirigida como complejo solo consta de 1 y 0 simplejos.

    Ejemplo 2.1.7. Podemos modelar la orilla de un cuadrado como un complejo simplicial de lasiguiente manera: ponemos V ={0, 1, 2, 3}y R= {{0, 1}, {1, 2}, {2, 3}, {3, 0}, {0}, {1}, {2}, {3}}.

    0

    1 2

    3

    Figura 2.5: Un cuadrado como complejo simplicial

    Ejemplo 2.1.8. Expandiendo un poco el ejemplo anterior, ponemos V ={0, 1, 2, 3} y R={{0, 1, 2}, {2, 3, 0}, {0, 1}, {0, 2}, {1, 2}, {2, 3}, {3, 0}, {0}, {1}, {2}, {3}}.

    0

    1 2

    3

    Figura 2.6: Un cuadro relleno, modelado como complejo simplicial

    Observacion 2.1.9 (No-ejemplo). No podemos modelar el cuadro relleno del ejemplo 2.1.8como un complejo simplicial poniendo V ={0, 1, 2, 3} y

    R= {{0, 1, 2, 3}, {0, 1}, {1, 2}, {2, 3}, {3, 0}, {0}, {1}, {2}, {3}},

    11

  • 7/25/2019 Homologia Persistente

    12/51

    puesto que faltan simplejos enR (como por ejemplo{0, 1, 2}). Tambien implcito aqu esta elhecho de que{0, 1, 2, 3}, al ser un 3-simplejo, no es de la dimension adecuadapara formaruna cara del cuadro.

    Observacion 2.1.10. En los ejemplos anteriores hemos usado numeros naturales para de-

    notar a los elementos del conjunto de vertices, pero nada nos impide denotarlos con dibujosde perritos, o estrellitas, o como nos venga en gana.

    Ejemplo 2.1.11 (Nervio de una cubierta). Dado un espacio topologico X y una cubiertaU={U}Ade X, definimos el nervio de U, denotado porNU, como el complejo simplicialque tiene vertices A, y en el que dado un subconjunto {0, . . . ,k} A es un simplejo si ysolo si U0 Uk6= .

    Figura 2.7: Consideremos 3 puntos en R2 cubiertos por bolas. Porcada interseccion de dos conjuntos en la cubierta, agregamos un 1-simplejo.

    Definicion 2.1.12. Una cubierta buena de un espacio Xes una cubierta U={U}A talque dada cualquier coleccion finita de elementos de la cubierta su interseccion es vaca ocontrable.

    A partir de este momento, a menos que se indique lo contrario, trabajaremos unicamentecon cubiertas buenas.

    Ejemplo 2.1.13(Complejo deCech). Dado un conjunto finito de puntos Sen Rd, podemosconsiderar, para cada r >0, la cubierta Ur de Sformada por las bolas cerradas con centroens Sy radio r. Definimos el complejo de Cech C(S, r) comoNUr. Esto es,

    C(S, r) ={ S|\s

    B(s, r) 6= } (2.1)

    Ejemplo 2.1.14 (Complejo de Vietoris-Rips). Dado un conjunto finito de puntos Sen Rd,

    podemos considerar, para cadar >0, el complejo simplicial de Vietoris-Rips, definido por

    V R(S, r) ={ S| d(x, y)< r x, y , 6= } (2.2)Observacion 2.1.15. El complejo de Vietoris-Rips esta caracterizado por la propiedad deque un simplice esta en el complejo si y solo si todas sus 1-caras lo estan.

    12

  • 7/25/2019 Homologia Persistente

    13/51

    Observacion 2.1.16. Los complejos de Vietoris-Rips y de Cech estan relacionados de lasiguiente manera, para cada r >0 tenemos

    C(S, r) V R(S, 2r) C(S, 2r)

    Demostracion.

    (a) r=0.77 (b) r=0.77

    Figura 2.8: A la izquierda V R(S,r/2) y a la derecha C(S, r), con Sel conjunto de puntos azules en el plano.

    Definicion 2.1.17. Una orientacion de un k-simplejo {v0, . . . , vk} es una clase de equiva-lencia de orden de los vertices de , con la relacion (v0, . . . , vk) (v(0), . . . , v(k)) si y solo sisgn = 1. Dado un simplejo {v0, . . . , vk}, denotamos al correspondiente simplejo orientadopor [v0, . . . , vk].

    Observacion 2.1.18. Una orientacion en unk-simplejo induce una orientacion en susk

    1

    caras: si tenemos = [v0, . . . , vk] un simplejo orientado, entonces tenemos la i-esima caraorientada (1)i[v0, . . . , vi1, vi+1, . . . , vk].

    Ejemplo 2.1.19. De manera similar al Ejemplo 2.1.8, ahora consideramos el complejo sim-plicial conV ={0, 1, 2, 3}y simplejos orientados [0, 1, 2], [0, 2, 3], [0, 1], [0, 2], [1, 2], [2, 3], [3, 0],[0], [1], [2], [3].

    13

  • 7/25/2019 Homologia Persistente

    14/51

    0

    1 2

    3

    Figura 2.9: Un cuadro relleno, modelado como complejo simplicialcon simplejos orientados.

    Definicion 2.1.20. Sea X = (V, R) un complejo simplicial y pongamos RV al espaciovectorial sobre R generado por los elementos de V, con la topologa lmite (o de la union):Un subconjunto U RV es abierto si y solo si la interseccion con cualquier subespacio dedimension finita es abierto con la topologa estandar.

    Definimos la realizacion geometrica de Xcomo

    |X|= {t0v0+ + tnvn RV

    | ti 0i= 0, . . . , n , X ti = 1, {v0, . . . , vn} S} (2.3)con la topologa de subespacio.

    Definicion 2.1.21. Para cada n, definimos eln-simplejo geometrico estandar n =|[n]|.

    Figura 2.10: El 2-simplejo estandar 2 en R3.

    Definicion 2.1.22. Mas generalmente, para cadan, definimos unn-simplejo geometrico n

    como la cerradura convexa de n+ 1 puntos independientes en el sentido afn en Rd, cond n.

    14

  • 7/25/2019 Homologia Persistente

    15/51

    Definicion 2.1.23. Para cada complejo simplicial abstracto X = (V, R), definimos la di-mension de Rcomo dim= #() 1 y

    dim X= supR

    {dim}

    Observacion 2.1.24. CuandoK= (V, R) es finito, podemos encajar Ven posicion generalen R2dim K+1, y as podemos interpretar a|K| como un subespacio de R2dim K+1.

    Proposicion 2.1.25. Un mapeo de complejosX X0 induce un mapeo |X| |X0|.Teorema 2.1.26 (Teorema del nervio). Sea Uuna familia finita de subconjuntos de Rn

    cerrados, convexos tal queS

    U es homeomorfa a la realizacion de un complejo simplicialabstracto. Entonces

    SUes del tipo de homotopa de |NU|.

    2.2. Homologa Simplicial

    En esta seccion, supondremos queKes un complejo simplicial abstracto, y trabajaremoscon sus simplejos.

    Definicion 2.2.1. Sea k 0. Para cada simplejo de K, escogemos y fijamos una orien-tacion. Definimos el k-esimo grupo de cadenas simpliciales Ck como el grupo libre abelianogenerado por el conjunto de k-simplejos orientados, y poniendo [] =[] si = y [] y[] tienen diferentes orientaciones. Los elementos de Ck son llamadosk-cadenas simpliciales.

    Observacion 2.2.2. De manera alternativa, podemos definir las k-cadenas simpliciales concoeficientes enteros como funciones del conjunto de k-simplejos orientados a los enteros talesque

    1. c() =

    c(0) si y 0 son orientaciones opuestas del mismo simplejo.

    2. c() = 0 para todos salvo una cantidad finita de p-simplejos orientados .

    Definicion 2.2.3. Sea k1. Definimos el operador de frontera k :Ck Ck1 como elhomomorfismo inducido por

    k=X

    i

    (1)i[v0, v1, . . . , vi, . . . , vk],

    donde = [v0, . . . , vk] es unk-simplejo y vi indica quevi no aparece en el simplejo. Ponemos0= 0.

    Proposicion 2.2.4. Para k

    1, k1k= 0.

    Definicion 2.2.5. Para k 0, definimos Zk = ker k Ck yBk = im k+1 Ck, llamadoslos grupos de ciclos y fronteras, de manera respectiva, y definimos el k-esimo grupo dehomologa simplicial de Kcon coeficientes enteros como

    Hk(K) =Hk(K;Z) =Hk(C) = ZkBk

    . (2.4)

    15

  • 7/25/2019 Homologia Persistente

    16/51

    Definicion 2.2.6. Dado Mun modulo sobre los enteros, definimos la homologa simplicialde Kcon coeficientes en M como

    Hk(K; M) =Hk(C M). (2.5)

    En particular, si Mes un anillo conmutativo con identidad, le podemos dar a H(K; M)estructura de M-modulo.

    Observacion 2.2.7. Si M es un campo, podemos definir la homologa simplicial de Kcon coeficientes en M simplemente como en la definicion 2.2.1 reemplazando grupo libreabeliano por espacio vectorial sobre M.

    Proposicion 2.2.8. Para Kfinito,Hk(K; M) es un M-modulo finitamente generado.

    Proposicion 2.2.9. Si Mes un dominio de ideales principales, Hk(K; M) visto como M-modulo se descompone como la suma directa de una parte libre de torsion (y por lo tanto

    libre sobre M, puesMes un DIP) y una parte de torsion.Definicion 2.2.10. Denotamos por k al rango de la parte libre de torsion de Hk(K; M)comoM-modulo y le llamamos el k -esimo numero de Betti de K.

    Ejemplo 2.2.11 (Homologa del toro sobre R). Consideremos la siguiente triangulacion Kdel toro:

    0

    1

    2

    0

    3

    5

    6

    3

    4

    7

    8

    4

    0

    1

    2

    0

    Figura 2.11: Una triangulacion del toro.

    En este caso, las orientaciones que escogeremos para cada simplejo al generar las cadenasseran las que llevan los vertices en orden ascendente, y las bases estandares consistiran delos simplejos ordenados lexicograficamente. Determinaremos primero Im 1. Tenemos que 1

    esta representado matricialmente como:

    1=

    1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 00 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 00 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 00 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 10 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1

    16

  • 7/25/2019 Homologia Persistente

    17/51

    La forma escalonada reducida por filas de la transpuesta de esta matriz es

    RREF(t1) =

    1 0 0 0 0 0 0 0 10 1 0 0 0 0 0 0 10 0 1 0 0 0 0 0 10 0 0 1 0 0 0 0 10 0 0 0 1 0 0 0 10 0 0 0 0 1 0 0 10 0 0 0 0 0 1 0 1

    0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0

    por lo que su imagen esta generada por los 8 vectores fila no cero. Por lo tanto

    H0(K) =Z0/B0= C0/B0= R9/ Im 1 = R.

    Ahora calculamosH1(K). Primero determinamos ker1. Una base de este espacio consistede los 19 vectores fila

    1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 10 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 00 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 00 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 10 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 10 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1

    Ahora determinamos Im 2. La matriz asociada es

    2=

    1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

    0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 00 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 00 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 00 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0

    0 0 0 1 0 0 0 0 0 0 0

    1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 00 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 00 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 00 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 00 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 00 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1

    17

  • 7/25/2019 Homologia Persistente

    18/51

    Y la forma escalonada reducida por filas de su transpuesta es

    RREF(t2) =

    1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 00 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 00 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 00 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 10 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 10 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1

    ,

    luegoH1(K) =Z1/B1= ker 1/ Im 2= R

    2.

    Por ultimo, se sigue de un calculo directo que ker 2 esta generado por el vector

    (1,

    1, 1,

    1, 1, 1,

    1, 1,

    1, 1,

    1,

    1,

    1, 1,

    1, 1,

    1, 1),

    por lo queH2(K) = R.

    Mas adelante usaremos maneras mas eficientes de determinar la homologa de complejossimpliciales, incluyendo algoritmos para calcular homologa sobre los enteros.

    Un k-ciclo que tambien es una frontera corresponde a 0 en homologa. Estos k-ciclos noven huecos en el complejo y decimos que son triviales en homologa. Los k-ciclos no trivialesen homologa, por otro lado, detectan huecos en el complejo simplicial en el que estamostrabajando. Esto no quiere decir que cada ciclo no trivial en Zk induzca una clase distintaen homologa, ya que puede haber muchos ciclos no triviales en Zk que sean homologos.

    Que quiere decir que dos ciclos sean homologos? De la definicion de homologa, estoquiere decir que difieren por una frontera. Una manera de visualizar esto es como sigue:

    0

    1 2

    3

    Figura 2.12: El triangulo sin relleno y la orilla del cuadrado son cicloshomologos. La orilla del triangulo relleno es un ciclo que tambien esuna frontera.

    En la Figura 2.12, tenemos que los ciclos

    [0, 1] + [1, 2] [0, 2]

    18

  • 7/25/2019 Homologia Persistente

    19/51

    y[0, 1] + [1, 2] + [2, 3] [0, 3]

    son homologos, puesto que

    [0, 1] + [1, 2] + [2, 3]

    [0, 3]

    ([0, 1] + [1, 2]

    [0, 2]) = [0, 2] + [2, 3]

    [0, 3].

    y [0, 2] + [2, 3] [0, 3] es frontera del 2-simplejo [0, 2, 3].Proposicion 2.2.12. Cada mapeo de complejos simpliciales f :K K0 induce de maneracanonica un mapeo en homologa Hi(f) :Hi(K) Hi(K0). Si tenemos K f K0 g K00entonces Hi(g f) =Hi(g) Hi(f), yHi(id) = id.

    19

  • 7/25/2019 Homologia Persistente

    20/51

    20

  • 7/25/2019 Homologia Persistente

    21/51

    Captulo 3

    Homologa persistente

    3.1. Propiedades basicas

    En lo que sigue, la notacion {Ki}iI representa una correspondencia entre ndices en Iy complejos simpliciales, y decir que K pertenece a o es un elemento de {Ki}iI, quieredecir que K esta en la imagen de dicha correspondencia. Ademas, los superndices no sonexponentes ni gradacion en cohomologa, sino que denotan ndices en filtraciones o en familiasde conjuntos.

    Definicion 3.1.1. Dado I un conjunto totalmente ordenado, decimos que una familia decomplejos simpliciales {Ki}iI que satisfacen K

    i Kj si i j es un complejo simplicialfiltrado (ascendente) sobre I.

    Definicion 3.1.2. SeaKun complejo simplicial. Decimos que {Ki}iIes una filtracion deK si{Ki}iIes un complejo simplicial filtrado tal que

    SKi =K.

    Usualmente se toma a I como R, Z, Z+ o Z+ {0}. Nosotros trabajaremos en estaseccion con filtraciones de complejos sobre Z+{0}. De ahora en adelante, y a menos que seindique lo contrario, en estas notas filtracion querra decir filtracion finita, esto es, unafiltracion en la que el numero de complejos distintos Ki es finito. Usualmente omitiremos elconjunto de ndices en la notacion. Tambien abusaremos de notacion para denotar por K aun complejo simplicial filtrado o a la union de todos los elementos de nuestra filtracion.

    Podemos representar cada una de estas filtraciones como

    K0 ( K1 ( ( Km =K=Km+1 =Km+2 =

    poniendo Ki =K i m. Una visualizacion de un caso particular aparece en la figura 3.1.

    21

  • 7/25/2019 Homologia Persistente

    22/51

    0K

    00

    1 2

    3K

    10

    1 2

    3K

    20

    1 2

    3K

    30

    1 2

    3K

    4

    Figura 3.1: Un complejo filtrado.

    Observacion 3.1.3. Las inclusiones en un complejo simplicial filtrado K

    K0 ( K1 ( ( Km =K

    inducen una familia de complejos de cadenas y morfismos entre ellos

    C(K0) i#

    C(K1) i#

    i#

    C(Km),lo que a su vez, para cada l, induce una familia de morfismos y grupos de homologa

    Hl(K0)

    i Hl(K1) i i Hl(Km). (3.1)Partiendo de esta observacion, damos la siguiente definicion.

    Definicion 3.1.4. Para cada i ,p,l con p 0, definimos el l-esimo grupo de homologap-persistente de Ki como

    Hi,pl (K) = im(Hl(Ki)

    i

    Hl(K

    i+p)).

    Si tomamos coeficientes en un DIP, decimos que el rango de la parte libre de Hi,pl es ell-esimonumero de Betti p-persistente de Ki.

    Notemos que Hi,0l (K) =Hl(Ki).

    Definicion 3.1.5. Sea zun l-ciclo que no es frontera en Ki y que no esta en la imagen dei# (es decir, aparece por primera vez en K

    i). Sizse vuelve trivial en homologa para algunKj0, tomamos j como el mnimo entero tal que zse vuelve trivial en homologa y decimosquezy [z] tienen persistencia j i 1. En otro caso decimos quezy [z] tienen persistencia.

    Con esta ultima definicion, podemos darle una interpretacion a la Definicion 3.1.4: ge-neradores de Hi,pl (K) provienen de ciclos no triviales en homologa nacidos antes de o en eltiempo i con persistencia al menos p.

    Nota 3.1.6. Algunos autores definen Hi,jl como im(Hl(Ki)

    i Hl(Kj )). Nosotros usamosla notacion empleada por Zomorodian en Topology for Computing.

    22

  • 7/25/2019 Homologia Persistente

    23/51

    Ejemplo 3.1.7. Tomaremos como ejemplo el complejo filtrado Kde la figura 3.1. Tenemosque el ciclo

    [0, 1] + [1, 2] + [2, 3] [0, 3]aparece enK1 y se vuelve trivial en homologa enK4, por lo que su persistencia es de 2. De

    hecho tenemos que H1,21 (K) = Z,

    y que

    H1,31 (K) = 0.

    Por otro lado, la persistencia del ciclo [0, 1]+[1, 2] [0, 2], que aparece enK2 y que se vuelvetrivial en homologa enK4, es 1. De hecho tenemos que

    H2,11 (K) = Z,

    y que

    H2,21 (K) = 0.

    Ahora que tenemos definida la persistencia para ciclos, podemos enfocarnos en la estruc-tura global que tiene (3.1) para cada l, siguiendo Computing Persistent Homology, deCarlsson y Zomorodian.

    Teorema 3.1.8 (Descomposicion de A-modulos f.g.). SeaA un DIP. Si Mes unA-modulofinitamente generado, entonces existe un isomorfismo de A-modulos

    M=Am1

    m2

    Mi=1

    A/diA!donde di A para i = 1, . . . m2 es no cero y no es una unidad, y d1|d2| |dm2 . Estadescomposicion es unica salvo orden en los factores y multiplicacion por unidades.

    Existe una version analoga para modulos graduados:

    Teorema 3.1.9 (Version graduada del Teorema 3.1.8). SeaA un DIP graduado sobre Z+ {0}. Si M es un A-modulo graduado sobre Z+ {0} finitamente generado, entonces existeun isomorfismo de A-modulos graduados

    M= m1Mi=1

    siA! m2M

    i=1

    riA/diA!

    (3.2)

    donde l denota aumentar en l el grado, si y ri son enteros no negativos para toda i,di A es homogeneo, no cero y no es una unidad, para i= 1, . . . m2 y d1|d2| |dm2. Estadescomposicion es unica salvo orden en los factores y multiplicacion por unidades.

    23

  • 7/25/2019 Homologia Persistente

    24/51

    Definicion 3.1.10. SeaR un campo. En este caso,R[t] es un DIP graduado. Le damos unaestructura a (3.1) de modulo graduado sobre R[t] poniendo

    M=

    Mi=0

    Hl(Ki),

    definiendo la accion de elementos de R sobre Mque ya se tena coordenada a coordenada,y poniendo

    t (m1, m2 . . .) = (0, i(m1), i(m2), . . .)

    Llamamos a este modulo sobre R[t] el modulo graduado correspondiente a la homologapersistente de K.

    Lo que deseamos es una manera sistematica de obtener, a partir del moduloM, la formaexplcita de la parte derecha del isomorfismo (3.2) tomando A= R[t]. Para que queremosel isomorfismo, y para que queremos la forma explcita mencionada?

    Pongamos por ejemplo que estamos trabajando con un complejo que cuenta con unl-ciclozenK2 con persistencia infinita. Haciendo la construccion anterior, tenemos que estocorresponde al elemento

    z0 = (0, 0, [z], 0, . . .) M.

    Al considerar la accion del anillo R[t] sobre z0, tenemos que tnz0 6= 0 n 0. Esto es, elelemento z0 no tiene torsion respecto a R[t], y esta en la parte libre de M.

    Por otro lado, supongamos que en este complejo hay un l-ciclow en K1 con persistencia3. Ponemos

    w0 = (0, [w], 0, . . .) M.

    Entonces tenemos que t1w0, t2w0 y t3w0 son no cero y tnw0 = 0 si n 4, por lo que w0 tienetorsion respecto a R[t], y consecuentemente esta en la parte de torsion de My en la partederecha del isomorfismo (3.2).

    Lo que estamos ilustrando con este ejemplo es el hecho de que, respecto a R[t], generadoresen H con persistencia infinita corresponden a elementos en la parte libre y elementos conpersistencia finita corresponden a elementos con torsion.

    Ejemplo 3.1.11. Consideremos el complejo de la Figura 3.2.

    24

  • 7/25/2019 Homologia Persistente

    25/51

    0K

    00

    1 2

    3K

    10

    1 2

    3K

    20

    1 2

    3

    4

    K3

    0

    1 2

    3

    4

    K4

    0

    1 2

    3

    4

    K5

    Figura 3.2: Un complejo filtrado con 6 etapas.

    Aunque aun no tenemos una forma sistematica de determinar en general la forma quenos interesa de la homologa de esta filtracion, podemos hacerlo de la manera siguiente:Tomamos el modulo graduado M sobre R[t] correspondiente al complejo filtrado K. Paracadal-ciclozde Ki, denotaremos por z0 a la imagen de [z] enM.

    Consideremos ahora los ciclos

    z1 = [0, 1] + [1, 2] + [2, 3] [0, 3],

    z2= [0, 2] + [2, 3] [0, 3],y

    z3 = [2, 4] [3, 4] [2, 3].Es claro que z1 nace en la etapa 1 y tiene persistencia 3, que z2 nace en la etapa 2 y supersistencia es 1 y que la persistencia dez3, nacido en la etapa 4, es infinita. Como habamosobservado anteriormente, esto quiere decir que z01 tiene torsion t

    3 y z02 tiene torsion t. Porotro lado, z03 no tiene torsion.

    Hay mas ciclos en este complejo, que aparecen en diversas etapas de la filtraci on, perouna verificacion rutinaria nos dice que en homologa son combinaciones lineales de z1, z2y z3 al considerarlos en las etapas adecuadas. Para efectos de una descripci on como la delisomorfismo (3.2), solo estos ultimos son necesarios. De manera explcita, tenemos:

    M= 4R[t] 1R[t]/(t4) 2R[t]/(t2) .Ahora veremos una manera algortmica de darle solucion a este problema.

    25

  • 7/25/2019 Homologia Persistente

    26/51

    3.2. Calculo de Homologa Persistente

    Antes de continuar, necesitamos citar resultados acerca de las conexiones entre matricesy la estructura de modulos f.g. sobre DIPs.

    Teorema 3.2.1 (Forma Normal de Smith). SeaXuna matriz de tamanom

    ncon coefi-cientes en un DIPA. Entonces existen matricesP yQ invertibles de tamanosmmy nnrespectivamente tales que

    P XQ=

    d1 0 0 . . . 00 d2 0 . . . 0

    0 0 . . . 0

    ... dr...

    0. . .

    0 . . . 0

    con d1|d2| |dr. Estos elementos son unicos salvo multiplicacion por unidades en A. Lla-mamos a la matriz P XQ la Forma Normal de Smith de X. La denotaremos por SNF(X).Notemos que SNF(X) es de tamano m n, al igual que X.

    Si Xrepresenta un morfismo M f M0, podemos interpretar a SNF(X) como la repre-

    sentacion de frespecto a bases obtenidas al aplicar los cambios de base P y Q a las basestomadas enM0 yMpara la representacion original, de manera respectiva.

    La importancia de este teorema en este contexto consiste en que existen algoritmos paracalcular SNF(X), y esta tiene una conexion con la representacion del Teorema 3.1.8.

    Proposicion 3.2.2. SeaA un DIP. TodoA-moduloMfinitamente generado es finitamentepresentado. Esto es, existe una sucesion exacta

    Am f An M 0,

    conm, n N.Podemos ahora aplicar el Teorema 3.2.1 a una representacion de f y tenemos:

    Teorema 3.2.3. En el Teorema 3.1.8, los elementos di corresponden con los elementos dela diagonal de la Forma Normal de Smith que no son unidades al considerar la presentaci ondel modulo M sobre A. Cada sumando en la parte libre corresponde con un elemento ceroen la diagonal.

    Habiendo establecido todo lo anterior, veamos ahora un algoritmo para, dada X6= 0 detamanomnrepresentando algunk, obtener SNF(X) cuando trabajamos con coeficientesmodulo 2. Este algoritmo se encuentra en [3].

    26

  • 7/25/2019 Homologia Persistente

    27/51

    Algoritmo. (Reduccion modulo 2)

    void Reducir(t)Si existen k

    t, l

    t con X(k, l) == 1

    intercambia filas t y k;intercambia columnas t y l;De i= t + 1 hasta n

    Si X(i, t) == 1 entonces

    suma fila t a fila i;

    Fin Si

    Fin De

    De j=t + 1 a m

    Si X(t, j) == 1 entoncessuma columna t a columna j

    Fin Si

    Fin De

    Reducir(t + 1)

    Fin Si

    A continuacion presentamos un algoritmo para calcular SNF(X) para X de tamanom

    n con coeficientes en un anillo de polinomios en una variable sobre un campo F[t].Este algoritmo se encuentra en [5], y se compone de varias funciones. Usamos evaluacion deexpresiones antes de asignaciones, paso de parametros por copia (usual), y por referencia(indicadas por * y &). La notacionMi,j denota la entradai, j de la matrizM, y la notacionCi denota la i-esima entrada de la fila o columna C.

    La funcion principal, SNF, lo que hace es tomar una matriz, hacer que en su esquinasuperior izquierda quede un elemento tal que tenga solo ceros a la derecha y hacia abajo yque divida a todos los elementos del menor 1, 1 de la matriz argumento. Despues se vuelvea llamar a s misma, pero ahora el parametro es el menor 1, 1 de la matriz argumento pararepetir este proceso hasta que la matriz original este en la Forma Normal de Smith. Las demasfunciones son las que realizan la carga fuerte. El que el algoritmo alcance tras un numero

    finito de pasos su final es una consecuencia del teorema del algoritmo de la division parapolinomios de una variable sobre un campo, y la justificacion completa puede ser encontradaen [5].

    Sin embargo, cabe notar que este algoritmo no esta particularmente optimizado paracalcular los codigos de barras. Existen implementaciones de algoritmos en javaplex ([9]), porejemplo, que estan hechas para ese proposito especfico.

    27

  • 7/25/2019 Homologia Persistente

    28/51

    Algoritmo (Sobre F[t]). Funciones: cerocolumna, cerofila, ceropivote, SNF.

    matriz cerocolumna(matriz M)

    C= Primera columna de M;l(C) = mnimo de los grados de las entradas de C;

    k= ndice de la primera entrada de C con deg(Ck) ==l(C);M= intercambia filas 1 y k de M;De i= 2 hasta numero de filas de M

    q= cociente de dividir Ci entre C1;M= suma fila i multiplicada porq a fila 1 de M;

    Fin De

    C= Primera columna de M;Si Ci == 0 para toda i 2 entonces

    Salida = M;

    Si no

    Salida = cerocolumna(M);

    Fin Si

    Fin cerocolumna

    matriz cerofila(matriz M)

    C= Primera fila de M;l(C) = mnimo de los grados de las entradas de C;k= ndice de la primera entrada de C con deg(Ck) ==l(C);M= intercambia columnas 1 y k de M;De i= 2 hasta numero de columnas de M

    q= cociente de dividir Ci entre C1;M= suma columna i multiplicada porq a columna 1 de M;

    Fin De

    C= Primera fila de M;Si Ci == 0

    i

    2 entonces

    Salida = M;

    Si no

    Salida = cerofila(M);

    Fin Si

    28

  • 7/25/2019 Homologia Persistente

    29/51

    Fin cerofila

    matriz ceropivote(matriz M)

    l(M) = mnimo de los grados de las entradas de Mi,k;

    k= columna de la primera entrada de M con deg(Mi,k) ==l(M);M= intercambia columnas 1 y k de M;Mientras M1,i6= 0 o Mj,16= 0 para algunos i, j 2

    M= cerocolumna(M);M= cerofila(M);

    Fin Mientras

    Salida = M;

    Fin ceropivote

    void SNF(matriz N)

    Si N== 0

    Romper SNF;

    Fin Si

    M= N;M= ceropivote(M);

    Para Mi,j tal que M1,16|Mi,jM= suma columna j a la columna 1 de M;M= ceropivote(M);

    Fin Para

    Si numero de filas de M >1 y numero de columnas de M >1

    SNF(&(Menor 1,1 de M));

    Fin Si

    Fin SNF

    29

  • 7/25/2019 Homologia Persistente

    30/51

    30

  • 7/25/2019 Homologia Persistente

    31/51

    Captulo 4

    Categorificacion de persistencia

    Habiendo visto ya una presentacion de la homologa persistente, con ejemplos explcitosy algoritmos, podemos ahora pensar en un marco de referencia en el cual muchas de las defi-niciones admiten generalizaciones, y donde se pueden considerar mas modos de persistencia:

    El marco de la teora de categoras.

    4.1. Definiciones de teora de categoras

    Definicion 4.1.1. Una categora C es una coleccion de objetos Obj(C) y, para cada pareja(A, B) de objetos enC una coleccion de flechas C(A, B) sujeta a las siguientes condiciones:

    1. La composicion de flechas esta definida: para f C(A, B) y g C(B, C) existe unaunica flecha gf C(A, C).

    2. La composicion de flechas es asociativa: para todas f C(A, B), g C(B, C), hC(C, D),h(gf) = (hg)f.

    3. Para cada objeto A Obj(C), existe un elemento 1A C(A, A) tal que para todoobjetoX Obj(C) tenemos

    a) Para todo f C(A, X),f1A= f.b) Para todo f C(X, A), 1Af=f.

    Las flechas son usualmente llamadas morfismos. Abusaremos de notacion escribiendoA Cpara indicar que Aes objeto de C. Otra notacion para C(A, B) es HomC(A, B).

    En el estudio de las matematicas, uno se encuentra frecuentemente con objetos queforman categoras. Ponemos algunos ejemplos usuales a continuacion, y ejemplos que yahemos encontrado en estas notas.

    Ejemplo 4.1.2. Set, la categora de conjuntos. Los objetos son conjuntos y los morfismosson funciones entre ellos.

    Ejemplo 4.1.3. VectF, la categora de espacios vectoriales sobre un campo F. Los objetosson espacios vectoriales sobre F y los morfismos son transformaciones lineales. Una gene-ralizacion de esto es cuando R es un anillo conmutativo con identidad y consideramos lacategora ModR de modulos unitarios sobre R y morfismos de modulos.

    31

  • 7/25/2019 Homologia Persistente

    32/51

    Ejemplo 4.1.4. FinVectF, la categora de espacios vectoriales de dimension finita sobre uncampo F. Los objetos son espacios vectoriales sobre Fy los morfismos son transformacioneslineales.

    Ejemplo 4.1.5. Top, la categora de espacios topologicos. Los objetos son espacios topologi-

    cos y los morfismos son funciones continuas.Ejemplo 4.1.6. , la categora simplicial. Los objetos son conjuntos [n] ={0, . . . , n} paratodan Z+ {0} y los morfismos son funciones monotonas.Ejemplo 4.1.7. AbsSimp, la categora de complejos simpliciales abstractos. Los objetosson complejos simpliciales abstractos y los morfismos son mapeos simpliciales.

    Ejemplo 4.1.8. Dadas categoras C yD, tenemos la categora de funtores de Ca D: DC.Los objetos son funtores y los morfismos son transformaciones naturales entre ellos.

    Ademas de ejemplos de este tipo, tenemos que un objeto particular con ciertas pro-piedades puede ser modelado a traves de una categora. Ponemos un par de ejemplos acontinuacion.

    Ejemplo 4.1.9. Sea G un grupo. Podemos considerar la categora G dada por un soloobjeto*y G(*, *) =G, interpretando la composicion de morfismos en la categora como lamultiplicacion de elementos del grupo.

    Ejemplo 4.1.10. Sea (S,) un conjunto preordenado (un preorden en S es una relaciontransitiva y reflexiva). Podemos considerar la categora S con Obj(S) = Sy poniendo ununico morfismo x y si y solo si x y.Definicion 4.1.11. SeanA,Bcategoras. Un funtorF :A Bes una regla de asignaciontal que:

    1. Asocia a cada A Aun unicoF(A) =B B.2. Asocia a cada morfismoA

    f B un unico morfismo F(A) F(f) F(B).3. La asociacion de morfismos es compatible con composicion: F(gf) =F(g)F(f).4. F(1A) = 1F(A) para toda A A.

    Proposicion 4.1.12. La composicion de funtores es un funtor.

    Definicion 4.1.13. SeanF, G DC dos funtores. Decimos que una coleccion de morfismos{X :F(X) G(X)}XC tal que para todo morfismo A f B deC se tiene un diagramaconmutativo

    F(A) F(f)//

    A

    F(B)

    B

    G(A)G(f)

    // G(B)

    es una transformacion natural de F aG, denotada por : F G.

    32

  • 7/25/2019 Homologia Persistente

    33/51

    Definicion 4.1.14. Si tenemos un funtor F :A Bcon Obj(A) conjunto, decimos queFes un diagrama.

    Presentamos algunos ejemplos de funtores a continuacion.

    Ejemplo 4.1.15. Un complejo filtrado {Ki}iI es un ejemplo de un funtor

    K :I AbsSimp, considerandoIcomo una categora como en el Ejemplo 4.1.10.Ejemplo 4.1.16. Para cada l 0, la l-esima homologa de Kcon coeficientes en F es unfuntor Hl : AbsSimp VectF.

    De los dos ejemplos anteriores, vemos que podemos reinterpretar la homologa de uncomplejo simplicial filtrado simplemente como composicion de funtores.

    Ejemplo 4.1.17. Sea X Topy sea f : X R una funcion continua. Interpretamos aRcomo categora como en 4.1.10. Definimos un funtor

    F : R Topdado por

    F(t) =f1(, t]y

    F(s t) =F(s) F(t).Ejemplo 4.1.18. Sea S Rn un conjunto finito. Definimos la funcion f : R2 R dadacomo

    f(x) = distancia de x aS,

    y le aplicamos la construccion del Ejemplo 4.1.17 a f. Para cada t R+, tenemos que F(t)es una cubierta por bolas cerradas deS. Por el teorema del nervio, la realizacion geometricadel nervio de esta cubierta es un complejo simplicial geometrico del tipo de homotopa de

    la union de los elementos de la cubierta. Esto, de manera directa, nos da un funtor F queesta vez cae en AbsSimp. Ademas de esto podemos considerar Hsingl , el funtor del-esimahomologa singular con coeficientes en F. Al considerar las composiciones

    R F Top H

    singl VectF

    y

    RF AbsSimp Hl VectF,

    tenemos que son iguales en este caso, que es el de un conjunto finito S Rn.Ejemplo 4.1.19. Consideremos los funtores Id, F : FinVectF FinVectF, donde Iddenota al funtor identidad yF esta dado por

    F(V) =V

    y

    F(V f W)() = ,

    donde (h) =(h f). Los funtores Fe Id son naturalmente isomorfos.

    33

  • 7/25/2019 Homologia Persistente

    34/51

    Observacion 4.1.20. Aunque un espacio vectorial de dimension finita es naturalmenteisomorfo con su doble dual, no lo es con su dual, incluso si se toma en cuenta la contravarianciadel funtor.

    4.2. Casos con ndices reales.Una ventaja de pensar en ndices en Res que diagramas con dominio en {0, 1, . . . , n}, Z,

    o Z+ pueden ser interpretados como diagramas con ndices en R:

    Proposicion 4.2.1. SeaF :C Topun funtor, conC= {0, 1, . . . , n}, Z, o Z+. Entoncesexisten funtores S(C) :C R,R(C) : R Ctales que F S(C)R(C) =F.Definicion 4.2.2. Definimos losl-esimos grupos de homologa p-persistentes, para un com-plejo simplicial abstracto filtrado F sobre R, como la imagen de HlF(a a +p).Definicion 4.2.3. Definimos losl-esimos grupos de homologap-persistentes de un diagrama

    F :R Topsobre R, como la imagen de HlF(a a +p).Tambien podemos generalizar el teorema de descomposicion para modulos f.g. que usamos

    anteriormente, como sigue:

    Definicion 4.2.4. Sea I R un intervalo. Definimos el diagrama I : R FinVectFcomo

    I(a) =

    (F sia I,0 en otro caso,

    y

    I(a

    b) = (IdF si a, b I,0 en otro caso.

    Decimos que F : R FinVectF tiene tipo finito si F=Ln

    k=1 Ik .

    La descomposicion de los diagramas de tipo finito en FinVectRF

    es unica salvo orden:

    Teorema 4.2.5. SiF= Lnk=1 Ik yF= Lmk=1 I0k entonces n = m y se tiene (I1, . . . , I n) =(I0

    (1), . . . , I 0

    (m)) para alguna permutacion .

    Esto nos permite asignar un codigo de barras a cada diagrama de tipo finito:

    Definicion 4.2.6. SeaF=L

    nk=1 Ik FinVectRF un diagrama de tipo finito. Definimos su

    codigo de barras como el multiconjunto {Ik}nk=1.

    Y, como en el caso discreto, tenemos que los codigos de barras caracterizan a diagramasde tipo finito:

    Teorema 4.2.7. Existe una biyeccion entre clases de isomorfismo de diagramas de tipofinito enFinVectR

    Fy multiconjuntos finitos de intervalos.

    34

  • 7/25/2019 Homologia Persistente

    35/51

    Captulo 5

    Una aplicacion: analisis de imagenesnaturales de alto contraste

    En este captulo desarrollaremos los pasos seguidos en el artculo [?]. En ese artculo,se empieza con una base de datos de imagenes naturales en blanco y negro, y se obtienena partir ellas parches de 3 3 pixeles. El estudio se hace sobre el espacio de todos estosparches, procesados adecuadamente. Todas las porciones de codigo en este captulo, a menosque se especifique lo contrario, seran codigo para Python. Los modulos usados son numpy[10] y matplotlib [6] (y sus dependencias).

    5.1. Preparacion de la base de datos

    La base de datos usada es una base de datos de imagenes naturales en escala de grises

    con resolucion de 15361024 pixeles en las que cada pixel usa 16 bits (sin signo, BigEndian,lineal). La base de datos fue compilada por van Hateren y van der Schaaf [4]. Un posiblecodigo para visualizar cada imagen es como sigue:

    i m po r t n u mp y

    i m po r t a r ra y

    i m po r t m a t pl o t li b . p y p l ot a s p p lt

    f in = o pe n ( " D :/ D o w nl o ad s / I ML s / i mk 00 0 01 . i ml " , rb )

    s = f in . r ea d ()

    f i n . c l o s e ( )a rr = a rr ay . a r ra y ( H , s )

    a r r . b y t e s w a p ( )

    i m g = n u mp y . a r r ay ( a r r , d t yp e = u i nt 1 6 ) . r e s ha p e ( 1 0 24 , 1 5 3 6 )

    p p l t . i m s h o w ( i m g , c m a p = G r e ys _ r , i n t e r p o l a t i o n = n e a r e st )

    p p l t . s h o w ( )

    35

  • 7/25/2019 Homologia Persistente

    36/51

    Figura 5.1: Ejemplo de salida para el archivo imk00001.iml.

    Por supuesto, no es necesario visualizar en cada paso los resultados obtenidos, pero ayudaa una mejor comprension del proceso.

    Cada parche de 3 3 es considerado como un vector en R9, y sacamos el logaritmo decada entrada. Trabajaremos con este nuevo vector de R9. Ademas de esto, trasladamos losvectores de tal manera que todos satisfagan que sus entradas tengan media cero. La raz on

    para hacer esto es porque en principio no nos interesan parches que pueden ser obtenidos apartir de otros sumando una constante a todas las entradas (lo que es basicamente modificarel brillo del parche).

    Parche 1 Parche 2

    Figura 5.2: El parche 2 es obtenido al subir el brillo del parche 1 (suma de una mismaconstante a todas las entradas).

    Para extraer y procesar de esta manera un parche de 3 3 pixeles podemos usar:

    36

  • 7/25/2019 Homologia Persistente

    37/51

    d ef f pa r ch e ( x , y , i ma ge ) :

    "" "

    E x tr a ct s a nd r e tu r ns a 9 - v ec t or w it h l o ga r it h ms o f a 3 x 3 p at ch

    f ro m a n i ma ge w it h p a ra m et e rs :

    x = x c oo rd in at e of t he u pp er l ef t c or ne r o f t h e p at ch t o

    compute

    y = y c oo rd in at e of t he u pp er l ef t c or ne r o f t h e p at ch t o

    compute

    i ma ge = i ma ge f ro m w hi ch w e e x tr ac t t he p at ch

    "" "

    p at ch = i ma ge [ x: x + 3 , y :y + 3]

    t r y :

    v e ct o r = n p . v e c to r i ze ( m a t h . l og ) ( p a t c h )

    e x c e p t :

    p ri nt " P r ob le m w it h v ec t or \ n " + s tr ( p a tc h ) + " \ n"

    v ec to r = np . a rr ay ( [[ 0 , 0 , 0 ], [ 0, 0 , 0] , [0 , 0 , 0 ]] )

    v ec to r = v ec t or - v e ct or . m e an ( )r e tu r n n p . n d ar r a y . f l at t e n ( n p . r es h a pe ( v e c to r , ( 1 , 9 ) ) )

    Extraeremos, para cada imagen, 5000 parches y descartaremos algunos.

    Figura 5.3: Ejemplo de salida para el archivo imk00001.iml con coordenadas (1471, 809).

    Definicion 5.1.1 (Norma D). Seax R9. Definimos la norma D de x como

    kxkD=sX

    ij

    (xi xj)2,

    dondei j si y solo si son adyacentes horizontalmente o verticalmente (la suma se hace sinrepeticiones).

    37

  • 7/25/2019 Homologia Persistente

    38/51

    Proposicion 5.1.2.kxkD=

    xDxT, donde

    D=

    2 1 0 1 0 0 0 0 01 3 1 0 1 0 0 0 00 1 2 0 0 1 0 0 0

    1 0 0 3

    1 0

    1 0 0

    0 1 0 1 4 1 0 1 00 0 1 0 1 3 0 0 10 0 0 1 0 0 2 1 00 0 0 0 1 0 1 3 10 0 0 0 0 1 0 1 2

    .

    Podemos implementar una funcion que obtenga la norma D de un vector (fila) de lasiguiente manera:

    d e f n o rm a D ( x ) :

    D = np . ar ra y ([[2 , -1 , 0 , -1 , 0 , 0 , 0 , 0 , 0 ] , \[ -1 , 3 , -1 , 0 , -1 , 0 , 0 , 0 , 0] , \

    [0 , -1 , 2 , 0 , 0 , -1 , 0 , 0 , 0] , \

    [ -1 , 0 , 0 , 3 , -1 , 0 , -1 , 0 , 0] , \

    [0 , -1 , 0 , -1 , 4 , -1 , 0 , -1 , 0 ], \

    [0 , 0 , -1 , 0 , -1 , 3 , 0 , 0 , -1] , \

    [0 , 0 , 0 , -1 , 0 , 0 , 2 , -1 , 0 ], \

    [0 , 0 , 0 , 0 , -1 , 0 , -1 , 3 , -1] , \

    [0 , 0 , 0 , 0 , 0 , -1 , 0 , -1 , 2 ]])

    r e tu r n m a th . s q r t ( n p . do t ( x , n p . d ot ( D , ( x . t r a n sp o s e ( ) ) ) ))

    Por ejemplo, la norma D del parche de la Figura 5.3 es 87,8977.La norma D basicamente mide el contraste de un parche. Parches con alto constratetendran norma D mayor que parches con menos contraste. Nosotros estamos interesadosen parches de alto contraste, puesto que contienen la mayor parte de la informacion de lasimagenes:

    Alto contraste Bajo contraste

    Figura 5.4: Ejemplos de parches.

    Despues de este paso, quitamos 80 % de parches, correspondientes a los que hayan tenidola menor norma D. Para hacer esto de manera directa, primero ordenamos los parches de

    38

  • 7/25/2019 Homologia Persistente

    39/51

    manera ascendente por su valor en norma D, despues seleccionamos los 1000 vectores y losnormalizamos respecto a la normaD. La razon para normalizar los vectores es porque no nosinteresan parches que pueden ser obtenidos a partir de multiplicacion por escalares positivosde otros parches (lo que es basicamente modificar el contraste del parche).

    Parche 1 Parche 2

    Figura 5.5: El parche 2 es obtenido al subir el contraste del parche 1 (multiplicaci on porescalar).

    El codigo resultante es el siguiente:

    d e f p a r c he s 5 0 00 ( f i l e n a me ) :

    "" "

    G e ne r at e s a nd r e tu r ns a c o ll e ct i on o f 1 00 0 h ig h - c o nt r as t

    p a t c h e s i n t e r p r e t e d

    a s n o rm a li z ed 9 - v ec to r s w it h r e sp e ct t o t he D - n or m . T he

    s e l e c t i o n

    o f t he p at c he s i s r a nd om . P a ra m et e rs :

    f il en am e = n am e o f t he f il e f ro m w he re t o g en er at e t he

    c o l l e c t i o n

    o f p a t ch e s"" "

    p ri nt " P r oc e ss i ng f il e : " + f i le n am e

    v e c to r e s = n p . z e ro s ( ( 5 00 0 , 9 ) )

    n or ma s = n p . ze ro s ( (5 00 0 , 2 ) )

    x = n p . a r ra y ( r a n ge ( 1 5 3 4 ) )

    y = n p . a r ra y ( r a n ge ( 1 0 2 2 ) )

    x y = c a r t es i a n _p r o d uc t 2 ( ( x , y ) )

    r x y = n p . a r ra y ( r a n do m . s a m p le ( x y , 5 0 00 ) )

    w i th o p en ( f i l en a me , rb ) a s h a n dl e :

    s = h an dl e . r ea d ()

    a rr = a rr ay . a r ra y ( H , s )

    a r r . b y t e s w a p ( )

    i m g = n p . a r ra y ( a rr , d t yp e = u in t 16 ) . r e sh a p e ( 10 24 , 1 5 36 )f or i i n x ra n ge ( 5 0 00 ) :

    v e c to r e s [ i , : ] = f p a rc h e ( r x y [ i ][ 1] , r x y [ i ][ 0] , i m g )

    n or ma s [ i , 0 ] = n or ma D ( v ec t or es [ i , : ])

    n or ma s [i , 1 ] = i

    n o rm a s = n o rm a s [ n o r ma s [ : , 0 ]. a r g s o rt ( ) ]

    39

  • 7/25/2019 Homologia Persistente

    40/51

    p a r c h es a l t oc o n t r as t e = n p . z e ro s ( ( 1 00 0 , 9 ) )

    f or i i n x ra n ge ( 1 0 00 ) :

    x = v ec to re s [ no rm as [ 40 00 + i , 1 ], : ]

    # p r in t s t r ( n or m a D ( x ))

    t r y :

    x = n p. i nn er ( x , 1 / n or ma D (x ))e x c e p t :

    p ri nt " T hi s p at ch h as n o c o nt ra s t .\ n "

    p a rc h es a lt o co n tr a st e [ i , : ] = x

    r e t u r n p a r c h e s a l t o c o n t r a s t e

    Recapitulando, lo que hemos hecho es tomar vectores en R9, aplicarles logaritmo, cen-trarnos en parches que tienen medida cero, remover 80 % de ellos y normalizarlos respectoa la norma D. Este proceso nos ha dejado con vectores que dependen de 7 variables. Acontinuacion lo que haremos sera efectuar un cambio de base para que estos vectores esten

    en una variedad de dimension 7, a saber: S

    7

    R

    8

    .Los elementos del arreglo DCTbasis son calculados a partir de la transformada discretaen cosenos en dos dimensiones, que definimos a continuacion:

    Definicion 5.1.3. Dado un parche de 3 3 pixelesx, definimos su DCT en 2D Xcomo

    Xk1,k2 =N11Xn1=0

    N21Xn2=0

    xn1,n2cos

    N1

    n1+

    1

    2

    k1

    cos

    N2

    n2+

    1

    2

    k2

    . (5.1)

    En este caso, cada elemento de DCTbasis es obtenido al fijar k1 y k2, y dejando variarn1 y n2 en el rango apropiado. Esto nos arroja 9 vectores de 9 entradas cada uno, con

    uno de los 9 vectores constante no tomado en cuenta. De manera explcita, al ejecutar unaimplementacion de esta formula y desplegando los arreglos como filas obtenemos:

    X1 =

    1 1 1 1 1 1 1 1 1

    X2 =

    0 .8 66 0 0 .8 66 0 0 .8 66 0 0 .0 00 0 0 .0 00 0 0 .0 00 0 -0 .8 66 0 - 0. 86 60 - 0. 86 60

    X3 =

    0 .5 00 0 0 .5 00 0 0 .5 00 0 -1 .0 00 0 - 1. 00 00 - 1. 00 00 0 .5 00 0 0 .5 00 0 0 .5 00 0

    X4 =

    0 .8 66 0 0 .0 00 0 -0 .8 66 0 0 .8 66 0 0 .0 00 0 -0 .8 66 0 0 .8 66 0 0 .0 00 0 -0 .8 66 0

    X5 =0 .7 50 0 0 .0 00 0 - 0. 75 00 0 .0 00 0 0 .0 00 0 - 0. 00 00 - 0 .7 50 0 - 0. 00 00 0 .7 50 0

    X6 =

    0 .4 33 0 0 .0 00 0 - 0. 43 30 - 0 .8 66 0 - 0. 00 00 0 .8 66 0 0 .4 33 0 0 .0 00 0 - 0. 43 30

    X7 =

    0 .5 00 0 -1 .0 00 0 0 .5 00 0 0 .5 00 0 -1 .0 00 0 0 .5 00 0 0 .5 00 0 -1 .0 00 0 0 .5 00 0

    40

  • 7/25/2019 Homologia Persistente

    41/51

    X8 =

    0 .4 33 0 - 0. 86 60 0 .4 33 0 0 .0 00 0 - 0. 00 00 0 .0 00 0 - 0. 43 30 0 .8 66 0 - 0. 43 30

    X9 =

    0 .2 50 0 - 0. 50 00 0 .2 50 0 - 0. 50 00 1 .0 00 0 - 0. 50 00 0 .2 50 0 - 0. 50 00 0 .2 50 0

    Comparado con DCTbasis, vemos que faltan solo multiplicaciones por escalares y reor-denamiento de filas:

    D C Tb a si s [ 0 , : ] =

    n p. i nn er ( 1 / m at h . sq rt ( 6) , [1 , 0 , -1 , 1 , 0 , -1 , 1 , 0 , - 1])

    D C Tb a si s [ 1 , : ] =

    n p. i nn er ( 1 / m at h . sq rt ( 6) , [1 , 1 , 1 , 0 , 0 , 0 , -1 , -1 , - 1])

    D C Tb a si s [ 2 , : ] =

    n p. i nn er ( 1 / m at h . sq rt ( 54 ) , [1 , -2 , 1 , 1 , -2 , 1 , 1 , -2 , 1 ])

    D C Tb a si s [ 3 , : ] =

    n p. i nn er ( 1 / m at h . sq rt ( 54 ) , [1 , 1 , 1 , -2 , -2 , -2 , 1 , 1 , 1 ])

    D C Tb a si s [ 4 , : ] =

    n p. i nn er ( 1 / m at h . sq rt ( 8) , [1 , 0 , -1 , 0 , 0 , 0 , -1 , 0 , 1 ])

    D C Tb a si s [ 5 , : ] =

    n p. i nn er ( 1 / m at h . sq rt ( 48 ) , [1 , 0 , -1 , -2 , 0 , 2 , 1 , 0 , - 1])

    D C Tb a si s [ 6 , : ] =

    n p. i nn er ( 1 / m at h . sq rt ( 48 ) , [1 , -2 , 1 , 0 , 0 , 0 , -1 , 2 , - 1])

    D C Tb a si s [ 7 , : ] =

    n p. i nn er ( 1 / m at h . sq rt ( 21 6) , [1 , -2 , 1 , -2 , 4 , -2 , 1 , -2 , 1 ])

    Los vectores de DCTbasis son eigenvectores de la matriz D, con eigenvalores dados por

    1

    kDCTbasis[i,:]k2 ,

    para 0 = 1, . . . , 7. El codigo

    d e f g e n e ra p a rc h e ( p at h , f i l en a m e ) :

    "" "

    C o nv e rt s a nd r e tu r ns 1 00 0 9 - v ec to r s t o 8 - v ec to r s l i ne ar l y u si ng

    t he D CT

    b as is a nd a h el pe r m at ri x G . P a ra m et e rs :

    p at h = p at h t o f il e c o nt a in i ng t he v ec t or s

    f i le n am e = n am e o f t he f il e c o nt a in i ng t he v ec t or s

    "" "

    t em p = p a r ch e s5 0 00 ( p a th + f i l en a me )

    r es ul t = n p . ze ro s ( (1 00 0 , 8 ) )

    41

  • 7/25/2019 Homologia Persistente

    42/51

    f or j i n x ra n ge ( 1 0 00 ) :

    r e su l t [ j , : ] = n p . d ot ( G , n p . d ot ( D C T ba s is , ( t e mp [ j , : ] .

    t r a n s p o s e ( ) ) ) )

    r e tu r n r e su l t

    manda los vectores DCTbasisen los vectores de la base estandar. Mas aun, tenemos que

    DCTbasist G2 DCTbasis = D,

    por lo que, para x tal quekxkD= 1, tenemoskG DCTbasis xtk2 = (G DCTbasis x)t G DCTbasis xt

    = x DCTbasist G2 DCTbasis xt

    = x D xt

    = 1.

    Esto es, el codigo anterior mandax con kxkD= 1 a un vector en S7 R8, como deseabamos.La razon por la cual descartamos al primer vector de la transformada discreta en cosenos,

    y la razon por la que el resultado yace en R8, es porque si denotamos por DCTbasis a lamatriz de los nueve vectores, tenemos que para x con media cero (que es el caso para los queestamos trabajando) el vector DCTbasis xt siempre tiene primera entrada cero.

    Denotaremos al espacio de todos los parches procesados de esta manera como M. Aun-que estamos interesados en todo M, resulta que M rellena bastante bien a S7, por lo quesu homologa persistente mas que nada nos dara la homologa de S7. En lugar de conside-rar entonces todo M, podemos fijarnos en subconjuntos densamente poblados, variando elparametro de densidad, y estudiando su homologa persistente. Tenemos la siguiente defini-

    cion:Definicion 5.1.4. Seanx M,k Z+. Definimos la codensidad con parametrok de x enMcomo

    k(x) =d(x, x0) conx0 elk-esimo vecino cercano ax.

    Observacion 5.1.5. Esta definicion tiene sentido para cualquier espacio metrico finito.

    Observacion 5.1.6. k(x) vara de manera inversa respecto a la densidad de xenM.

    x1 x2

    Figura 5.6: 5(x1) < 5(x2): los primeros 5 vecinos cercanos a x1 estan mas cerca que losprimeros 5 vecinos cercanos a x2, esto es, x1 es mas denso que x2.

    42

  • 7/25/2019 Homologia Persistente

    43/51

    En [1] se trabaja con una subcoleccion X de 50000 seleccionados aleatoriamente de M.Notemos que la misma objecion que haba a aplicar directamente homologa persistente aMaplica aX, pues la eleccion es aleatoria, y se estudia la homologa persistente de subconjuntosdensos en Xrespecto a la codensidad de la Definicion 5.1.4. Ponemos un poco de notacion.

    Definicion 5.1.7. SeaMun espacio metrico finito. Definimos

    M(k, T) ={x M| k(x) esta en los T% menores valores de k enM}

    En estas notas primero haremos un estudio de M(15, 30). Para realizar un analisis en unabase de datos de tamano tan grande (aprox. 4 106 elementos), numerosas optimizacionesy consideraciones tecnicas debieron ser hechas. Para calcular vecinos k-esimos, usamos laimplementacion de KDTrees encontrada en el paquete Scikit-learn [8]. La funcion principalpara obtener los vecinos es:

    d ef v ec i no s ( k , s ta rt , e nd , X , k dt ) :"" "

    T hi s i s t he m ai n c o mp u ti n g f u nc t io n f or k - t h n e ig hb o r d i st a nc e .

    T he p a ra m et e rs s ta rt a nd e nd a re r e qu ir e d f or g r an u la r it y .

    P a r a m e t e r s :

    X : the space of pa tche s

    k : is the nu mber of cl oses t neig hb or

    kd t: K DT re e s tr uc tu re

    "" "

    t e mp = k dt . q u e r y ( X [ s ta r t : e nd ] , k = k )

    r et ur n [ i te m [ -1] f or i te m i n t e mp [ 0] ] # s om e j u gg li ng is r eq ui re d

    t o g et t he i n fo r ma t io n w e w an t

    En principio, esto puede ser llamado de manera secuencial una y otra vez hasta obtenertodas las distancias y los elementos que tengan la densidad deseada. Sin embargo, se puedeparalelizar facilmente todo este proceso pues el valor de l es independiente para cada ele-mento. Las siguientes dos funciones obtienen los parches ordenados por codensidad usandovarios (ocho) nucleos.

    d ef v e ci n os g ra n de ( k , p os , s ta rt , e nd , o ut pu t , X , k dt ) :

    "" "

    T hi s f u nc t io n w as m ad e f or g r an u la r it y i n m u lt i pr o ce s si n g a nd

    a v oi d in g r u nn in g o ut o f m em or y"" "

    Y = []

    f or i in x ra ng e ( in t (( e nd - s ta rt ) / 1 00 0) + 1 ):

    p ri nt " W or ke r " + s tr ( po s) + " p ro ce ss in g : [ " + s tr ( s ta rt +

    i * 1 00 0) \

    43

  • 7/25/2019 Homologia Persistente

    44/51

    + " a " + str (min ( start + i * 1000 + 1000 , end )) +

    " ) . \ n "

    Y + = v e ci n os ( k ,

    s ta rt + i * 1000 ,

    min ( start + i * 10 00 + 10 00 , en d ) ,

    X ,k d t )

    o u tp u t . p ut ( ( p os , Y ) )

    p ri nt ( " W o rk er " + s tr ( p os ) + " d on e .\ n " )

    d e f i n it ( f u l l f i l en a m e ) :

    X p ri m e = n p . l oa d ( f u l l f il e n am e )

    s t a rt t i me = t i me . t i m e ( )

    k d t = K D T re e ( X p ri m e , l e a f_ s i ze = 1 0 )

    p ri nt ( " T im e e la p se d f or t re e g e ne r at i on : %s s e co n ds . \ n " % ( t i me .

    t i me ( ) - s t a rt t i me ) )

    r e t u r n X p r im e , k d t

    d e f k v e c i n o s m p ( k , p a t h s o u r ce , f i l e n a m e s o u rc e , p a th , f i l e n a m e ) :p ri nt " C om pu ti ng d is ta nc es t o k - n e ig hb or w it h k = " + s tr ( k) + " .\ n

    "

    X , k dt = i ni t ( p at h so u rc e + f i le n am e so u rc e )

    N = le n( X)

    o ut = [] # o ut pu t a rr ay f or t he d is ta nc es , o rd er ed b y i nd ex

    # ( i .e . o ut [ 0] is t he d is ta nc e to t he k - th n ei gh bo r o f

    p a t c h e s [ 0 ] )

    n u m_ p ro c es s es = 8

    s t a rt t i me = t i me . t i m e ( )

    o u tp u t = m p . Q u eu e ( )

    p r o c e s s e s = [ m p . P r o c e s s ( t a r g e t = v e c i n o s g r an d e ,

    a rg s = (k , i , i nt ( i * N / n u m_ p ro c es s es ) ,

    i nt ( (i + 1) * N / n um _p ro ce ss es ) ,

    output ,

    X ,

    k d t ) )

    f or i i n x r an g e ( n u m _ p ro c e s se s ) ]

    f or p i n p r oc e ss e s :

    p . s t a r t ( )

    Y = [ o ut pu t . ge t () f or p i n p ro ce ss es ]

    f or p i n p r oc e ss e s :

    p . j o i n ( )

    p ri nt ( " T im e e la p se d f or f ul l c o mp u ta t io n : %s s e gu nd o s .\ n " % ( t i me .

    t i me ( ) - s t a rt t i me ) )

    Y . s or t ( ke y = l am bd a x : x [0 ]) # s or t b y w o r ke r t o p r es e rv e o r ig i na lordering

    for x in Y :

    o u t . e x t e n d ( x [ 1 ] )

    n p . sa ve ( p a th + f il en am e , o ut ) # s av es t he d i st a nc e s

    44

  • 7/25/2019 Homologia Persistente

    45/51

    Se considero, basandose en sugerencias aportadas en un seminario, usarkk1 en lugar dekk2 para acelerar un poco el proceso, pero no se encontraron ganancias significativas.

    5.2. Complejos de Testigos

    Para estudiar la homologa persistente de los datos obtenidos en la seccion anterior,usamos JAVAPLEX. Usaremos una variante de Python llamada Jython para tener compa-tibilidad con JAVAPLEX. Para entender un poco mas de como es que el codigo obtiene lahomologa persistente a partir de los datos, daremos un breve repaso acerca de complejossimpliciales llamados complejos de testigos.

    Definicion 5.2.1. SeaXun espacio metrico, L Xun subespacio finito, y > 0. Definimosel complejo de testigos de L con parametrocomo

    W(X,L, ) ={{l0, . . . , lk} L | x Xtal que d(x, li) d(x, L) + para i = 0, . . . , k}

    Existe una version floja de este complejo de testigos, que es la siguiente:Definicion 5.2.2. SeaXun espacio metrico, L Xun subespacio finito, y > 0. Definimosel complejo de testigos flojo de Lcon parametrocomo:

    WV R(X,L, ) ={{l0, . . . , lk} L | {li, lj} W(X,L, ) i, j {0, . . . , k}}Una ventaja de trabajar con complejos de testigos es que, usando el conjuntoLde puntos

    de referencia (usualmente mucho menor que X), podemos obtener mas rapido la homologapersistente de los datos X.

    Proposicion 5.2.3. Si 1 2, entonces WV R(X,L, 1) WV R(X,L, 2).

    Observacion 5.2.4. En vista de la Proposicion 5.2.3, tiene sentido hablar de la homologapersistente de un complejo filtrado sobre el parametro . La eleccion de trabajar con complejosde testigos es una decision practica: en principio nada nos impedira considerar el complejode Vietoris-Rips o el Cech de nuestra nube de datos, aparte de que los c alculos tomaranmucho mas tiempo.

    Observacion 5.2.5. La construccion de JAVAPLEX usada para complejos de testigos esligeramente distinta a esta. Detalles adicionales pueden encontrarse en las secciones 5.3 y 5.4de la documentacion de JAVAPLEX o en [1]

    5.3. Resultados Experimentales

    Para calcular la homologa persistente usamos el siguiente codigo, adaptado del codigoque viene en el archivo optical image example.m, incluido en los ejemplos de JAVAPLEX,ajustando parametros dependiendo del caso de las variables k y T y del numero total deparches. Esta vez se hace uso de Jython. Primero obtenemos los valores de los intervalos depersistencia:

    45

  • 7/25/2019 Homologia Persistente

    46/51

    f r om e d u . s t an f o rd . m a t h . p l ex 4 i m p or t *

    i mp or t c Pi c kl e a s c p

    f r om j a va . l a n g i m po r t R u n ti m e

    d e f b a r c o d e s ( k , t , p a t h s o u r ce , f i l e n a m e s o u rc e , p a th , f i l e n a m e ) :

    m a x_ d im e n si o n = 3;

    n u m _ l an d m a rk _ p o in t s = 5 0 ;

    n u = 1 ;

    n u m _ di v i s io n s = 1 0 0;

    D i nt e rv a ls = [ ]

    p a r ch e s = c p . l oa d ( o p en ( p a t h s o ur c e + f i l en a m es o u rc e , rb ) )

    p r in t " C r e a t in g m a xm i n l a n dm a r k s e l ec t o r "

    p r in t " T o t al a v a il a b le m e mo r y : " + s tr ( R u n t i me . g e t R u n ti m e ( ) .

    t o t a l M e m o r y ( ) )

    # c r ea te a s e qu e nt i al m a xm in l a nd ma r k s el e ct or

    l a n d m a r k _ s e l e c t o r = a p i . P l e x 4 . c r e a t e M a x M i n S e l e c t o r ( p a r c h es ,

    n u m _ l a n d m a r k _ p o i n t s ) ;# R = l a n d ma r k _ se l e c to r . g e t M a x D i s t an c e F r om P o i n ts T o L a n dm a r k s ( )

    m a x _ f i l t ra t i o n _ v a lu e = .3 # R *.7 ;

    p r in t " C o n s t r uc t i ng l a zy w i t ne s s s t r ea m "

    # c r ea te a l az y w i tn es s s tr ea m

    s t re a m = s t r ea m s . i m pl . L a z y W i t n es s S t r ea m ( l a n d m a r k _s e l e ct o r .

    g e t U n d e r l y i n g M e t r i c S p a c e ( ) ,

    landmark_sele ctor ,

    max _dime nsio n ,

    m ax _f i lt ra ti on _ va lu e ,

    nu ,

    n u m _ d i v i s i o n s ) ;

    s t r e a m . f i n a l i z e S t r e a m ( )p r in t " L a z y w i t ne s s s t re a m c o n s tr u c t io n c o m pl e t e "

    # p ri nt o ut t he s iz e of t he s tr ea m

    # n u m _ s i mp l i c es = s t r ea m . g e t S iz e ( )

    # g et p e rs i st e nc e a l go r it h m o ve r Z / 2 Z

    p e r s i s t e n c e = a p i . P l e x 4 . g e t M o d u l a r S i m p l i c i a l A l g o r i t h m ( m a x _ d i m e n s i on

    , 2) ;

    p r in t " C o m p u ti n g i n t er v a ls "

    # c o mp u te t he i n te r va ls

    i n t er v a ls = p e r s is t e n ce . c o m p u t e I n te r v a ls ( s t r e a m ) ;

    # p r oc e ss a nd p i ck le t he i n te r va l s

    f o r d i m en s i on i n x r an g e ( m a x _ d im e n si o n ) :temp = [] #

    c o l le c t io n o f i n t er v a ls a t d i m en s i on

    t e mp 0 = i n t er v a ls . g e t I n t e r v al s A t D im e n s i on ( d i m e n s io n )

    f o r n i n te r v al i n x r a ng e ( l e n ( t e mp 0 ) ) :

    t e m p . a p p e n d ( [ t e m p 0 [ n i n t e r v a l ] . g e t S t a r t ( ) ,

    46

  • 7/25/2019 Homologia Persistente

    47/51

    temp0 [ ni nt er va l ]. g etEnd () ]) #

    i n t er v a ls a s p a ir s [ s t ar t , e n d ]

    D in te rv a ls . append ([ dimension , temp ]) # adds

    d i m en s i on i n f or m a ti o n f o r t h e c o l le c t io n o f i n t er v a ls

    # = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

    # D i nt e rv a ls a re i n t he f or ma t :

    # [ [ d i m _1 , l i s t o f i n t e r v a l s o f d i m _ 1 ] , . . . , [ d i m _k , l i s t o f i n t e r v a l s o f d i m _ k

    ]]

    # = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

    c p . d um p ( D i n te r va l s , o p en ( p a t h + f i le n am e , wb ) )

    p r in t " I n t e r va l s s a ve d . "

    i m po r t m a t pl o t li b . p y p l ot a s p l t

    i mp or t n um py a s n p

    i mp or t c Pi c kl e a s c p

    i f _ _ na m e_ _ = = " _ _ ma i n_ _ " :

    k = 3 0 0

    T = 0 . 3

    x = c p . lo ad ( o p en ( b ar co de k + s tr ( k ) + T + s tr ( T ) + . p , rb ) )

    x = n p . as a ny a rr a y ( x)

    M AX _X = . 8

    p l t . f i g u r e ( 1 )

    f or i i n x ra n ge ( l en ( x ) ):

    a x = p lt . s ub pl ot ( l en ( x) , 1 , i + 1 )

    a x . s e t _t i t le ( D i m e n s io n + st r ( i ) )

    ax . mar gins (0 , .2) # padd ing in x and y axis ,

    r e s p e c t i v e l y

    ax . se t_x li m (0 , MAX_X ) # l imits of graph in axis x

    ax . se t _y ti ck s ([]) # r emo ves ticks and labe ls

    a lo ng t he y - a xi s

    f o r j i n x r an g e ( l e n ( x[ i ] [ 1 ]) ) :

    p ri nt s tr ( i ) + " : " + s tr ( x [ i ][ 1] [ j ])

    pl t. pl ot ( x[ i ][ 1] [j ], [ j * .1 + 1 , j * .1 + 1] )

    i f x [ i ][ 1] [ j ] [1 ] = = N on e :

    p lt . pl ot ( [ x[ i ][ 1] [ j] [0 ] , M AX _X ] , [ j * . 1 + 1 , j * . 1 +

    1] )pl t. su pt it le (" B ar co de s for k = " + str ( k) + " and T = " + str ( T) )

    p lt . s a ve fi g ( ba rc od ek + s tr ( k ) + T + s tr ( T ) + .p ng )

    p l t . t i g h t _ l a y o u t ( )

    p l t . s u b p l o t s _ a d j u s t ( t o p = . 8 9 )

    p l t . s h o w ( )

    47

  • 7/25/2019 Homologia Persistente

    48/51

    Esto genera una imagen con el codigo de barras. A continuacion presentamos los codigosde barras obtenidos al aplicar el codigo a diversos casos.

    Caso 1. Aplicamos el procedimiento con los parametros k = 15 y T = 30 a 50000 parcheselegidos aleatoriamente de los 4167000.

    Proyeccion de la nube

    0 0.1 0.2 0.3 0.4 0.5

    50000 puntos, k=15 T=30 (dimension 0)

    0 0.1 0.2 0.3 0.4 0.5

    50000 puntos, k=15 T=30 (dimension 1)

    0 0.1 0.2 0.3 0.4 0.5

    50000 puntos, k=15 T=30 (dimension 2)

    Codigo de barras

    Caso 2. Aplicamos el procedimiento con los parametrosk = 15 yT= 30 al conjunto de todoslos parches, obteniendo:

    Proyeccion de la nube

    0 0.1 0.2 0.3 0.4 0.5

    4167000 puntos k=15 T=30 (dimension 0)

    0 0.1 0.2 0.3 0.4 0.5

    4167000 puntos k=15 T=30 (dimension 1)

    0 0.1 0.2 0.3 0.4 0.5

    4167000 puntos k=15 T=30 (dimension 2)

    Codigo de barras

    48

  • 7/25/2019 Homologia Persistente

    49/51

    Caso 3. Aplicamos el procedimiento con los parametros k = 1200 y T = 30 al conjunto detodos los parches, obteniendo (cf. Figura 7 de [?]):

    Proyeccion de la nube

    0 0.1 0.2 0.3 0.4 0.5

    4167000 puntos k=1200 T=30 (dimension 0)

    0 0.1 0.2 0.3 0.4 0.5

    4167000 puntos k=1200 T=30 (dimension 1)

    0 0.1 0.2 0.3 0.4 0.5

    4167000 puntos k=1200 T=30 (dimension 2)

    Codigo de barras

    Figura 5.9

    49

  • 7/25/2019 Homologia Persistente

    50/51

    50

  • 7/25/2019 Homologia Persistente

    51/51

    Bibliografa

    [1] G. Carlsson and V. de Silva. Topological estimation using witness complexes.

    [2] Gunnar E. Carlsson, Tigran Ishkhanov, Vin de Silva, and Afra Zomorodian. On thelocal behavior of spaces of natural images. International Journal of Computer Vision,76(1):112, 2008.

    [3] H. Edelsbrunner and J. Harer. Computational Topology: An Introduction.

    [4] J. H. van Hateren and A. van der Schaaf. Independent component filters of naturalimages compared with simple cells in primary visual cortex. Proceedings: BiologicalSciences, 265(1394):359366, Mar 1998.

    [5] K. Hoffman and R. Kunze. Linear Algebra.

    [6] J.D. Hunter. Matplotlib: A 2d graphics environment.Computing in Science Engineering,9(3):9095, May 2007.

    [7] D. Letscher. On persistent homotopy, knotted complexes and the alexander module.

    [8] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blon-del, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau,M. Brucher, M. Perrot, and E. Duchesnay. Scikit-learn: Machine learning in Python.Journal of Machine Learning Research, 12:28252830, 2011.

    [9] Andrew Tausz, Mikael Vejdemo-Johansson, and Henry Adams. JavaPlex: A researchsoftware package for persistent (co)homology. In Han Hong and Chee Yap, editors,Proceedings of ICMS 2014, Lecture Notes in Computer Science 8592, pages 129136,2014.

    [10] S. van der Walt, S.C. Colbert, and G. Varoquaux. The numpy array: A structure for

    effi

    cient numerical computation. Computing in Science Engineering, 13(2):2230, March2011.