Vinculaciones autosimilares

12
Autosimilaridad en vinculaciones Francisco Berrizbeitia Universidad Simón Bolívar Teoría de la Computación Mayo 2014 Introducción En este trabajo exploraremos la noción de autosimilaridad en estructuras de vínculos de manera formal. Consideramos de interés realizar esta exploración porque los vínculos, entendidos en su forma más genérica como una relación entre dos objetos cualesquiera, siendo los objetos “aquello en lo consciencia puede centrarse” (Baralt Torrijos, Objetos, 2014) nos brinda un marco mucho más amplio para el modelado de la información que modelos restringidos a objetos meramente matemáticos. En las siguientes secciones introduciremos el concepto de autosimilaridad en vinculaciones y propondremos algunos métodos para generar este tipo de estructuras a partir de la combinación de operaciones simples o el uso de reglas. Sobre la autosimilaridad y la generación de complejidad Comencemos por definir autosimilaridad. En Wikipedia (Wikipedia, 2014) se define como: “En Matemática, la autosimilaridad, a veces llamada autosimilitud o autosemejanza, es la propiedad de un objeto (llamado objeto autosimilar) en el que el todo es exacta o aproximadamente similar a una parte de sí mismo, por ejemplo cuando el todo tiene la misma forma que una o varias de sus partes. Muchos objetos del mundo real, como las costas marítimas, son estadísticamente autosimilares: partes de ella muestran las mismas propiedades estadísticas en diversas escalas. La autosimilaridad es una propiedad de los fractales.” Como podemos en ver la definición se refiere a la autosimilitud como una propiedad de un objeto y no impone restricciones sobre el tipo de este objeto que pueden entidades físicas como la costa de Gran Bretaña u objetos matemáticos como los fractales. Esto nos permite explorar la posibilidad de estudiar esta cualidad en las

description

Artículo para la materia Teoría de la Computación de la maestría en ciencias de la computación en la Universidad Simón Bolívar

Transcript of Vinculaciones autosimilares

Page 1: Vinculaciones autosimilares

Autosimilaridad en vinculaciones

Francisco Berrizbeitia Universidad Simón Bolívar Teoría de la Computación

Mayo 2014

Introducción

En este trabajo exploraremos la noción de autosimilaridad en estructuras de vínculos de manera formal. Consideramos de interés realizar esta exploración porque los vínculos, entendidos en su forma más genérica como una relación entre dos objetos cualesquiera, siendo los objetos “aquello en lo consciencia puede centrarse” (Baralt Torrijos, Objetos, 2014) nos brinda un marco mucho más amplio para el modelado de la información que modelos restringidos a objetos meramente matemáticos.

En las siguientes secciones introduciremos el concepto de autosimilaridad en vinculaciones y propondremos algunos métodos para generar este tipo de estructuras a partir de la combinación de operaciones simples o el uso de reglas.

Sobre la autosimilaridad y la generación de complejidad

Comencemos por definir autosimilaridad. En Wikipedia (Wikipedia, 2014) se define como:

“En Matemática, la autosimilaridad, a veces llamada autosimilitud o autosemejanza, es la propiedad de un objeto (llamado objeto autosimilar) en el que el todo es exacta o aproximadamente similar a una parte de sí mismo, por ejemplo cuando el todo tiene la misma forma que una o varias de sus partes. Muchos objetos del mundo real, como las costas marítimas, son estadísticamente autosimilares: partes de ella muestran las mismas propiedades estadísticas en diversas escalas. La autosimilaridad es una propiedad de los fractales.”

Como podemos en ver la definición se refiere a la autosimilitud como una propiedad de un objeto y no impone restricciones sobre el tipo de este objeto que pueden entidades físicas como la costa de Gran Bretaña u objetos matemáticos como los fractales. Esto nos permite explorar la posibilidad de estudiar esta cualidad en las

Page 2: Vinculaciones autosimilares

vinculaciones tal como fue definida por (Baralt Torrijos, Vinculación, 2014) en sus clases.

Otro aspecto importante en la definición es la noción que la similitud puede ser exacta o aproximada, esta flexibilidad en la relación de semejanza es la que permite modelar estructuras naturales como estructuras autosimilares.

Figura 1. Autosimilaridad aproximada en la generación de una montaña (Wikipedia, 2014)

En la figura 1 podemos ver un ejemplo de autosimilitud aproximada en la representación geométrica de una montaña y un triángulo. En algunos fractales se puede hablar de autosimilaridad exacta, pues sin importar la escala lo que se observa es una copia exacta del todo. En la figura 2 podemos ver el ejemplo clásico de la curva de Koch (Wikipedia, 2014) , podemos ver claramente la repetición exacta del patrón.

Figura 2. Curva de Koch. En tres iteraciones

Benoît Mandelbrot, publico un artículo en el año 1967 en la revista Science (Mandelbrot, How Long Is the Coast of Britain? Statistical Self-Similarity and Fractional Dimension', 1967) titulado ¿Cuánto mide la costa de Gran Bretaña? donde a partir de datos empíricos plantea el problema de calcular la longitud de una curva con características de autosimilitud estadística y el hecho que mientras menor sea la escala de los intervalos de medición mayor será la medida de longitud. En el artículo se declara que es posible ajustar las medidas empíricas (en diferentes escalas) a un fractal a lo largo de un conjunto de medidas.

Este trabajo y otros donde de vinculan las nociones de autosimilitud con objetos y fenómenos observables que van desde el comportamiento de la bolsa de valores

Page 3: Vinculaciones autosimilares

(Madelbrot, 2008) hasta el análisis de secuencias de ADN (Shun-Chao, 2002) nos motivaron a tratar de expresar algunos conceptos básicos en términos de vínculos y estructuras de vinculación intentando proveer una marco más general para el modelado de información.

Actualmente están tomando auge el modelado de datos como grafos, sea directamente en bases de datos orientadas a grafos (graph databases) o través de los estándares RDF y OWL usandos en campo de la web semántica. El paralelo de esta forma de representación de datos y las estructuras de vinculación es evidente, por lo que creemos que estudio de la autosimilitud en las vinculaciones puede tener una aplicación directa en la obtención de invariantes de datos empíricos o en la generación de datos sintéticos para las pruebas de este tipo de tecnologías.

Otra de las propiedades interesantes de los fractales es que permiten la generación de elementos muy complejos a partir de estructuras o reglas muy sencillas, como se pudo apreciar en la figura 2 con la curva de Koch.

Una de las formas de para generar estas estructuras complejas son los llamados sistemas de Lindenmayer (Wikipedia, 2014). En la figura 3 vemos un ejemplo de plantas obtenidas a través del uso de este tipo de sistemas.

Figura 3. Ejemplo de plantas obtenidas generadas a partir de un sistema de Lindenmayer

Page 4: Vinculaciones autosimilares

En la segunda parte del trabajo proponemos un acercamiento para utilizar este tipo de sistemas aplicado a vinculaciones para generar vinculaciones más complejas a partir de reglas.

En resto del trabajo está estructurado de la siguiente manera, primero repasaremos algunos conceptos básicos de los vínculos y vinculaciones tomados de las notas de clase, luego introduciremos los conceptos de autosimilitud e isomorfismo en las vinculaciones y finalmente propondremos tres métodos para generar vinculaciones complejas, dos utilizando combinaciones de operaciones básicas y unas reglas para formar sistemas de Lindenmeyer en vinculaciones.

Autosimilitud en vinculaciones

Definamos primero el concepto de vinculo y vinculación según lo propuesto por (Baralt Torrijos, Vinculación, 2014)

Vinculo

• Un vínculo es un duo asimétrico • Para romper la simetría del duo se marca uno de sus constituyentes que se

considera el inicio del vinculo • Al constituyente no marcado se le considera el final del vinculo • Se expresa simbólicamente indicando sus constituyentes entre los signos <: y :> • De esta forma <:a,b:> es un vínculo cuyo inicio es el individuo a y b es su final.

Vinculación

• Una vinculación es una colección de vínculos

Veamos ahora la definición propuesta por Benoît Mandelbrot para un objeto autosimilar.

Según B. Mandelbrot, un objeto es autosimilar o autosemejante si sus partes tienen la misma forma o estructura que el todo, aunque pueden presentarse a diferente escala y pueden estar ligeramente deformadas.

(Mandelbrot, Los objetos fractales. Forma, azar y dimensión, 1993)

Para llevar este concepto a las vinculaciones debemos primero definir formalmente la estructura de las vinculaciones, para hacer esto creemos que el mejor acercamiento es

Page 5: Vinculaciones autosimilares

interpretar las vinculaciones como un grafo dirigido cuyos vértices son los elementos de los vínculos y los lados dirigidos representan los vínculos que van del elemento destacado al no destacado. Esto nos permite visualizar las convergencias y divergencias de las vinculaciones.

Por ejemplo tomemos la siguiente vinculación:

{¦<:a,b:>,<:a,c:>,<:b,d:>,<:c:d:>}

Se puede expresar gráficamente manteniendo todas sus relaciones de la siguiente manera:

Como podemos ver el largo de los lados y la forma de figura no aportan ninguna información, la información esta únicamente en la adyacencia de los nodos y la orientación de los arcos.

En este sentido las representaciones de la figura anterior representan exactamente la misma vinculación, tal como ocurre en los grafos.

En teoría de grafos se dice que dos grafos son Isomorfos, es decir que tiene la misma forma, que podemos interpretar como que son estructuralmente equivalentes de la siguiente manera

En teoría de grafos, un isomorfismo entre dos grafos G y H es una biyección f entre los conjuntos de sus vértices

que preserva la relación de adyacencia. Es decir, cualquier par de

vértices u y v de G son adyacentes si y solo si lo son sus imágenes, f(u) y f(v), en H.

(Wikipedia, 2013)

Page 6: Vinculaciones autosimilares

Como vemos dos grafos son isomorfos si se mantiene la relación de adyacencia entre los nodos lo que es cierto también para las vinculaciones por ejemplo

Las vinculaciones de la figura son isomorfas entre sí porque mantienen la relación de adyacencia de los vínculos, es decir, los elementos, aunque distintos, están relacionados de la misma manera.

Utilizando la expresión en términos de colecciones del ejemplo anterior podemos decir que la colección {¦<:a,b:>,<:a,c:>,<:b,d:>,<:c:d:>} es isomorfa a {¦<:e,g:>,<:e,f:>,<:f,h:>,<:g:h:>} algo que utilizando estas expresiones no resulta evidente como en su representación gráfica.

Volviendo a la definición de Maldelbrot vamos a decir que una vinculación es autosimilar si se puede expresar como la unión de vinculaciones isomorfas entre sí.

Por ejemplo la siguiente vinculación es autosimilar porque se puede representar como {¦<:a,b:>,<:a,c:>,<:b,d:>,<:c:d:>} U {¦<:c,d:>,<:c,e:>,<:e,f:>,<:d:f:>} U {¦<:e,f:>,<:e,g:>,<:f,h:>,<:g:h:>} que son claramente isomorfas entre sí.

En este trabajo vamos a restringir el estudio únicamente a los isomorfismos aunque la definición de autosimilitud de Mandelbrot permite variaciones entre los componentes del objeto, lo que se llama autosimilaridad aproximada o estadística pues se escapa del alcance planteado en esta primera exploración.

Page 7: Vinculaciones autosimilares

Generación de complejidad en estructuras de vinculación

Una vez definidas las vinculaciones autosemenjantes vamos a proponer tres métodos que permitan generar este tipo de vinculaciones realizando sustituciones, anexiones y a partir de reglas utilizando sistemas de Lindenmeyer o sistemas-L adaptados a mundo de las vinculaciones y colecciones.

Por sustitución

Vamos a definir la operación sustitución como el reemplazo de un vínculo por una vinculación, obteniendo así una vinculación más compleja.

Formalmente vamos a decir que:

Dado un vínculo <:a,b:> en una vinculación V, y una vinculación V’con un único inicio y un único final tal como está definido en (Baralt Torrijos, Vinculación, 2014)

La sustitución <:a,b:> por V’ en V el resultado de sustraer <:a,b:> de V, sustituir el inicio de V’ por el elemento marcado de <:a,b:> , el final de V’ por el elemento no marcado de <:a,b:> y unir V’ a V.

Visto de manera gráfica

Este ejemplo lo podemos ver en términos de colecciones de la siguiente manera

Sean V = {¦<:w,x:>,<:x,y:>,<:y,z:> } , V’={¦<:a,b:>,<:a,c:>,<:b,d:>,<:c:d:>} sustituir <:x,y:> por V’ en V es la colección {¦<:w,x>,<:x,b:>,<:x,c:>,<:b,y:>,<:c:y:>,<:y,z:>}

La repetición sucesiva del proceso de sustitución de vínculos por vinculaciones más complejas nos permite aumentar la complejidad de forma parecida a los fractales geométricos como la curva de Koch siempre y cuando estas nuevas vinculaciones sean

Page 8: Vinculaciones autosimilares

isomorfas entre sí y la sustitución haya ocurrido en cada vínculo de la vinculación inicial.

Veamos un ejemplo:

En la segunda iteración la vinculación resultante no es autosimilar exacta, pero lo será una vez se hayan realizados las sustituciones de <:w,c:>,<:c,x:> y <:b,x:> por vinculaciones isomorfas.

Por Anexión

Sean V’ y V dos vinculaciones donde V tiene un único final y V’ un único inicio, la anexión de V’ a V es el resultado de crear un vínculo <:v,v’:> donde v corresponde al elemento no marcado del final de V y v’ es el elemento marcado del inicio de V’ y unir ambas vinculaciones y el nuevo vínculo.

Visto de manera gráfica:

Page 9: Vinculaciones autosimilares

El ejemplo en términos de colecciones se vería de la siguiente manera

Sean V = {¦<:w,x:>,<:x,y:>,<:y,z:> } , V’={¦<:a,b:>,<:a,c:>,<:b,d:>,<:c:d:>} anexar V’ a V es la colección {¦<:w,x>,<:x,y:>,<:y,z:>, <:z,a>,<:a,b:>,<:a,c:>,<:b,d:>,<:c:d:>}

Esta regla se puede generalizar aún más eliminando la restricción de final único en la primera vinculación y permitiendo que acepte como parámetro cualquier elemento de V como el elemento a ser vinculado con V’.

Anex(V)(V’)(a) donde a es un elemento de V {

1. Crear el vínculo <:a,i:> donde i es el inicio de V’ 2. Union(V)(V’)({ ¦<:a,i:>})

}

Aplicando sucesivamente la anexión sobre una serie de vinculaciones isomorfas podemos generar vinculaciones que serán claramente autosimilares exactas pues se construyen según la definición (unión de vinculaciones isoformas).

Sistemas de Lindenmeyer en vinculaciones

Los sistema L son definidos como un conjunto G = {V, S, ω, P}, Donde

• V (el alfabeto) es un conjunto de símbolos que contiene elementos que pueden ser remplazados (variables)

• S es un conjunto de símbolos que contiene elementos que se mantiene fijos

(constantes)

• ω es una cadena de símbolos de V que definen el estado inicial del sistema (inicio o axioma)

• P es un conjunto de reglas o producciones que definen la forma en la que las variables pueden ser remplazadas por combinaciones de constantes y otras variables. Una producción está formada por dos cadenas — el predecesor y el sucesor.

Las reglas gramaticales de los sistemas-L se aplican iterativamente a partir de un estado inicial.

Tomado de (Wikipedia, 2013)

Page 10: Vinculaciones autosimilares

También en (Wikipedia, 2013) encontramos el siguiente ejemplo para generar la curva de Koch mediante un sistema-L

Variables : F Constantes : + − Inicio : F Reglas : (F → F-F++F-F)

Aquí, F significa "dibujar hacia adelante", + significa "vuelta de 45° hacia la izquierda", y - significa "vuelta de 45° hacia la derecha".

La pregunta que nos planteamos es si el posible dar una interpretación en términos de vinculaciones como la conocemos de este tipo de gramáticas y generar de esta manera vinculaciones complejas a partir de reglas de sustitución.

Inspirados en el trabajo de (Boers, 1995) donde se propone una interpretación en términos de grafos de un L-sistema vamos a proponer la siguiente interpretación para las vinculaciones.

Sea 𝑽 = 𝒁 ∪ 𝜹 donde Z son los número enteros y 𝜹 la colección de los elementos posibles en una vinculación. En la cadena un número 𝒋 ∈ 𝒁 a la derecha de un elemento significa que hay vínculo cuyo elemento destacado es el elemento a la izquierda del número y el no destacado el j-esimo elemento de la cadena (a la derecha si es positivo o a la izquierda si es negativo) de la cadena.

Para ejemplificar tomemos la siguiente cadena:

C = a12b2c1d genera la siguiente vinculación V = {¦<:a,b:>,<:a,c:>,<:b,d:>,<:c,d:> } cuya representación gráfica es

Lo siguiente que queremos proponer es realizar una extensión en la reglas de producción para permitir que los elementos de la cadena de salida no estén “fijos” sino que se muevan en un rango de valores posibles de forma que la regla de producción y la cadena resultante forman un patrón o una morfología y los elementos de cada vinculo se seleccionan o instancian al final del proceso.

Page 11: Vinculaciones autosimilares

Por ejemplo:

Variables: A,B,C,D Inicio: A Reglas: A → A12B2C1D

Haciendo dos iteraciones tenemos:

V = A12B2C1D12B2C1D

Si permitimos que la variables “se instancien” como elementos de una colección podemos obtener una vinculación mucho más interesante ya que los vínculos no estarían repetidos con los mismo elementos.

De hecho podemos interpretar cada colección A,B,C,D como el dominio y rango de una función donde cada vinculo <:a,b:> donde a € A y b € B como f(a) = b. Bajo esta interpretación la vinculación resultante nos modela la representación extensional de una serie de funciones aplicadas concurrentemente a un conjunto de datos.

Conclusiones

En este estudio hemos introducido la noción de autosimilitud en las estructuras de vinculación partiendo de la noción de isomorfismo en grafos que consideramos más apropiada pues se adapta de manera natural al modelo de vinculaciones y propusimos una definición para vinculaciones autosimilares como la unión de vinculaciones isomorfas entre sí.

Habiendo definido el concepto de autosimilitud en las vinculaciones propusimos tres métodos para generarlas, a saber, por anexión, sustitución y sistemas de Lindenmeyer o L-sistemas adaptados a mundo de los vínculos.

Creemos que estos conceptos y métodos pueden ser utilidad, por ejemplo, en la generación de datos sintéticos para bases de datos orientadas a grafos o modelos como RDF, RDFs y OWL. También consideramos que este acercamiento a los datos puede llevar al descubrimiento de invariantes en tipo de bases de datos.

Page 12: Vinculaciones autosimilares

Trabajos citados Baralt Torrijos, J. (14 de 2 de 2014). Objetos. Notas de clase. Caracas.

Baralt Torrijos, J. (12 de 4 de 2014). Vinculación. Notas de clases. Caracas, Venezuela.

Boers, E. J. (1995). Using L-Systems as Graph Grammar: G2L-Systems. Leiden: Leiden University.

Madelbrot, B. (14 de 9 de 2008). How Fractals Can Explain What's Wrong with Wall Street. Recuperado el 26 de 5 de 2014, de Scientific American: http://www.scientificamerican.com/article/multifractals-explain-wall-street/

Mandelbrot, B. (1967). How Long Is the Coast of Britain? Statistical Self-Similarity and Fractional Dimension'. Science, 156(3775), 636-638.

Mandelbrot, B. (1993). Los objetos fractales. Forma, azar y dimensión. Tusquets Editores, S.A.

Shun-Chao, Y. Z.-G.-M. (2002). Fractals in DNA sequence analysis. Chinese Phys.

Wikipedia. (25 de 8 de 2013). Isomorfismo de grafos. Recuperado el 26 de 5 de 2014, de es.wikipedia.org: http://es.wikipedia.org/wiki/Isomorfismo_de_grafos

Wikipedia. (10 de 3 de 2013). Sistema-L. Recuperado el 28 de 5 de 2014, de wikipedia.org: http://es.wikipedia.org/wiki/Sistema-L

Wikipedia. (23 de 4 de 2014). Autosimilitud. Recuperado el 23 de 5 de 2014, de wikipedia.org: http://es.wikipedia.org/wiki/Autosimilitud

Wikipedia. (5 de 5 de 2014). Koch snowflake. Recuperado el 24 de 5 de 2014, de wikipedia.org: http://en.wikipedia.org/wiki/Koch_curve

Wikipedia. (25 de 5 de 2014). L-system. Recuperado el 26 de 5 de 2014, de wikipedia.org: http://en.wikipedia.org/wiki/Lindenmayer_system