Está en la página 1de 37

UNIVERSIDAD NACIONAL DE TRUJILLO

Facultad de Ciencias Fı́sicas y Matemáticas

Escuela de Informática

Tema:

L–SYSTEM

Curso:

Lenguajes Formales y Autómatas

Integrantes:

Cerna Arqueros, Kevin


Garcı́a Lopez, Paola
Rodrı́guez Luján, Alexis
Rodrı́guez Mejı́a, Giulliana
Toledo Mestanza, Marco

3 de Diciembre de 2018
RESUMEN

La simulación con computadoras de diversos procesos fı́sicos complejos en cualquier


rama cientı́fica ha sido siempre un área de gran interés debido a su versatilidad, eco-
nomı́a y posibilidad de reproducir experimentos cuya realización podrı́a resultar costosa
o hasta imposible en la vida real, es por eso por lo que muchos cientı́ficos han dedicado
sus estudios a este campo.
Tal es el caso de Aristid Lindenmayer, que se hacı́a la siguiente pregunta: de qué
forma estará codificada la información que hace que una semilla prácticamente amorfa
llegue a desarrollarse como un árbol o una hierba de gran complejidad estructural?
Pues tratando de responder a ello, fue como inventó los sistemas que llevan su apellido
en su honor.
En el siguiente trabajo monográfico se hace una descripción general de estos siste-
mas, sus caracterı́sticas, elementos, tipos y algunas de sus posibles aplicaciones.

I
II
Índice general

RESUMEN I

Lista de figuras IV

INTRODUCCIÓN VII

1. CONCEPTOS BÁSICOS 1
1.1. Definiciones Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Gramática Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1. Contexto de usos . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Fractal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1. Caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Fractales Naturales . . . . . . . . . . . . . . . . . . . . . . . . . 3
Conjunto de Mandelbrot . . . . . . . . . . . . . . . . . . . . . . 3
Paisajes Fractales . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Fractales de Pinturas . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2. Sistema Iterativo de Funciones . . . . . . . . . . . . . . . . . . . 3
Algoritmo de Representación . . . . . . . . . . . . . . . . . . . . 4
1.3.3. Vida Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Filosofı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. L–SYSTEM (SISTEMAS LINDENMAYER) 9


2.1. Concepto de L–System . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4. Elementos de un Sistema–L . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5. Familias de Sistemas–L . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6. Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6.1. Sistemas 0L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.6.2. Sistemas 0L Determinı́sticos (Sistemas–D0L) . . . . . . . . . . . 13
2.6.3. Sistemas T0L . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6.4. Sistemas–0L estocásticos . . . . . . . . . . . . . . . . . . . . . . 14
2.6.5. Sistemas–IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7. Cómo Generar un Sistema–L . . . . . . . . . . . . . . . . . . . . . . . . 15
2.8. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

III
IV ÍNDICE GENERAL

3. EJEMPLOS 17
3.1. Ejemplo 1: Algas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Ejemplo 2: Árbol Fractal (binario) . . . . . . . . . . . . . . . . . . . . . 17
3.3. Curva Dragón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4. IMPLEMENTACIÓN DE SISTEMAS LINDEMAYER 19


4.1. Crecimiento de algas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.1. Alfabeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.2. Generación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.3. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2. Implementación Sistema–L . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.1. Alfabeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.2. Organización . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.3. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.4. Pantallazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

5. APLICABILIDAD DE LOS SISTEMAS LINDEMAYER 23


5.1. Generación Automática de Música Mediante Gramáticas de Sistemas–L 23
5.1.1. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2. Argumento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

CONCLUSIONES 25

BIBLIOGRAFÍA 27
Índice de figuras

1.1. Relación cadena de caracteres–FBM–Teoremas . . . . . . . . . . . . . . 1


1.2. Aparición de la geometrı́a fractal en la naturaleza. (brécol romaneco). . 4
1.3. Inicio del algoritmo de iteración aleatoria. . . . . . . . . . . . . . . . . 5
1.4. Primera iteración aleatoria. . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5. Segunda iteración aleatoria. . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6. Tercera iteración aleatoria. . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.7. Simulación de un vehı́culo de braitenberg. . . . . . . . . . . . . . . . . 6

2.1. Tres estados transitorios de una célula y sus reglas.Fuente: Sandoval(2002) 12


2.2. Ejemplo de desarrollo en Anabaena catenula.Fuente: Sandoval(2002) . . 13
2.3. Euphotbia pulchérrima. Fuente: Sandoval(2002) . . . . . . . . . . . . . 14
2.4. Probabilidad de que una producción se lleve a cabo. Fuente: Sando-
val(2002) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5. Componentes. Fuente: Sandoval(2002) . . . . . . . . . . . . . . . . . . 15

4.1. Generación y ası́ sucesivamente ... . . . . . . . . . . . . . . . . . . . . . 19


4.2. Pantallazo de la Implementación – Crecimiento de Algas . . . . . . . . 20
4.3. Implementación – Sistema L . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4. Ejecución código – Sistemas L . . . . . . . . . . . . . . . . . . . . . . . 21

V
VI ÍNDICE DE FIGURAS
INTRODUCCIÓN

En el curso de geometrı́a se aprende sobre las formas en una dimensión, dos dimen-
siones y tal vez incluso tres.
Cuál es la circunferencia de un cı́rculo? El área de un rectángulo? La distancia entre
un punto y una lı́nea?, utilizando vectores para describir el movimiento de los cuerpos
en el espacio cartesiano.
Este tipo de geometrı́a se conoce generalmente como geometrı́a euclidiana, después
del matemático griego Euclides. Ahora, nos planteamos la siguiente cuestión: Pode-
mos describir nuestro mundo con geometrı́a euclidiana? La pantalla LCD que se está
mirando ahora mismo parece un rectángulo. Y la ciruela que una persona comió es
circular.
Pero qué pasarı́a si se mirará más lejos y considerara losárboles que bordean la calle,
las hojas que cuelgan de esos árboles, los rayos de la tormenta de la noche anterior, la
coliflor que se comió para cenar, los vasos sanguı́neos en el cuerpo, las montañas y las
costas que cubren la tierra más allá de la ciudad de Trujillo? La mayorı́a de las cosas
que se encuentran en la naturaleza no pueden ser descritas por las formas geométricas
idealizadas de la geometrı́a euclidiana.
Entonces, si queremos comenzar a construir diseños computacionales con patrones
más allá de las formas simples elipse (), rect () y line (), es hora de que se aprenda sobre
los conceptos subyacentes y las técnicas para simular la geometrı́a de la naturaleza: los
fractales y su forma de expresión mediante L–System o Sistemas Lindenmayer.

VII
VIII ÍNDICE DE FIGURAS
Capı́tulo 1

CONCEPTOS BÁSICOS

1.1. Definiciones Preliminares


El objetivo de este capÍtulo es analizar los conceptos elementales que se trabajarán
a lo largo de esta investigación. Dado que se trata de conceptos discutibles, es necesario
plantear las definiciones que se usarán a lo largo del trabajo.

1.2. Gramática Formal


Una gramática formal es una estructura matemática con un conjunto de reglas de
formación que definen las cadenas de caracteres admisibles en un determinado lenguaje
formal o lengua natural. Una gramática formal es un conjunto de reglas para reescribir
cadenas de caractéres, junto con un sı́mbolo inicial desde el cual debe comenzar la
reescritura. Por lo tanto, una gramática formal generalmente se piensa como una gene-
radora de lenguajes. Sin embargo, a veces también puede ser usada como la base para
un ´´reconocedor”: una función que determina si una cadena cualquiera pertenece
a un lenguaje o es gramaticalmente incorrecta.

Figura 1.1: Relación cadena de caracteres–FBM–Teoremas

1
2 CAPÍTULO 1. CONCEPTOS BÁSICOS

1.2.1. Contexto de usos


Las gramáticas formales aparecen en varios contextos diferentes: la lógica matemáti-
ca, las ciencias de la computación y la linguı́stica teórica, frecuentemente con métodos
e intereses divergentes. En un lenguaje formal, a las cadenas formadas según las reglas
de la gramática formal se las llama fórmulas bien formadas, y el conjunto de todas las
fórmulas bien formadas constituye un lenguaje formal.
Una gramática formal no describe el significado de las fórmulas bien formadas,
sino solamente su forma. La teorı́a de los lenguajes formales estudia las gramáticas y
los lenguajes formales, y es una rama de la matemática aplicada. Sus aplicaciones se
encuentran en la ciencia computacional teórica, la lingà 41 ı́stica, la semántica formal, la
lógica matemática y otras áreas.

1.2.2. Ejemplo
Hay distintos tipos de gramáticas formales que generan lenguajes formales Imagi-
nemos una gramática con estas dos reglas:

A → bA

A→c

El elemento en mayúsculas es el sı́mbolo inicial. Los elementos en minúsculas son los


sı́mbolos terminales. Para generar cadenas de caracteres, la idea es sustituir el sı́mbolo
inicial de la izquierda por los sı́mbolos de la derecha, y luego repetir el proceso hasta
que sólo haya sı́mbolos terminales. Por ejemplo:

A→bA→bbA→bbbA→bbbc

Esta gramática da lugar a un lenguaje formal que consiste en el conjunto de todas las
cadenas de caracteres que pueden ser generadas por medio ellas.
Por ejemplo: bbbc, bbbbbbbbc, c, bc, etc.

1.3. Fractal
Un fractal es un objeto geométrico cuya estructura básica, fragmentada o aparen-
temente irregular, se repite a diferentes escalas. El término fue propuesto por el ma-
temático Benoit Mandelbrot en 1975 y deriva del latı́n fractus, que significa quebrado o
fracturado. Muchas estructuras naturales son de tipo fractal. La propiedad matemáti-
ca clave de un objeto genuinamente fractal es que su dimensión métrica fractal es un
número racional no entero.

1.3.1. Caracterı́sticas
A un objeto geométrico fractal se le atribuyen las siguientes caracterı́sticas:

Es demasiado irregular para ser descrito en términos geométricos tradicionales.

Es autosimilar, su forma es hecha de copias más pequeñas de la misma figura.


1.3. FRACTAL 3

Su dimensión de Hausdorff–Besicovitch es estrictamente mayor que su dimensión


topológica.

Se define mediante un simple algoritmo recursivo.

Las copias son similares al todo: misma forma, pero diferente tamaño. Ejemplos
de autosimilaridad:

Fractales Naturales

son objetos naturales que se pueden representar con muy buena aproximación me-
diante fractales matemáticos con autosimilaridad estadı́stica. Los fractales encontrados
en la naturaleza se diferencian de los fractales matemáticos en que los naturales son
aproximados o estadı́sticos y su autosimilaridad se extiende solo a un rango de esca-
las (por ejemplo, a escala cercana a la atómica su estructura difiere de la estructura
macroscópica).

Conjunto de Mandelbrot

es un fractal autosimilar, generado por el conjunto de puntos estables de órbita


acotada bajo cierta transformación iterativa no lineal.

Paisajes Fractales

este tipo de fractales generados computacionalmente pueden producir paisajes rea-


listas convincentes.

Fractales de Pinturas

se utilizan para realizar el proceso de calcomanı́a.


No basta con una sola de estas caracterı́sticas para definir un fractal. Por ejemplo, la
recta real no se considera un fractal, pues a pesar de ser un objeto autosimilar carece
del resto de caracterı́sticas exigidas. En el caso de un fractal natural es un elemento
de la naturaleza que puede ser descrito mediante la geometrı́a fractal. Las nubes, las
montañas, el sistema circulatorio, las lı́neas costeras o los copos de nieve son fractales
naturales. Esta representación es aproximada, pues las propiedades atribuidas a los
objetos fractales ideales, como el detalle infinito, tienen lı́mites en el mundo natural.

1.3.2. Sistema Iterativo de Funciones


Un sistema iterativo de funciones (SIF o IFS acrónimo del inglés Iterated function
system) es una construcción matemática usada para representar de manera simple
ciertos conjuntos fractales que presenten autosimilaridad. Muchos fractales clásicos au-
tosimilares, auto afines y auto conformes pueden representarse como el único conjunto
compacto invariante por un sistema iterativo de funciones contractivas.
4 CAPÍTULO 1. CONCEPTOS BÁSICOS

Figura 1.2: Aparición de la geometrı́a fractal en la naturaleza. (brécol romaneco).

Algoritmo de Representación
Algoritmo Determinista: Simplemente construye los sucesivos conjuntos A, F(A),
F(F(A)), .... Como dicha sucesión converge al atractor del SIF independientemente del
conjunto A de partida, puede usarse cualquier valor inicial, con frecuencia una caja
cuadrada.

Algoritmo de iteración aleatoria: En este algoritmo, también llamado juego del


caos, un punto que describe una danza aparentemente aleatoria va perfilando progresi-
vamente la estructura del atractor. Para ello, se elige un punto X0 del espacio métrico
y se forma una sucesión del siguiente modo: en cada paso se escoge aleatoriamente y
con igual probabilidad.

xn { F1 (xk−1 ), ..., Fk (xk−1 )

Se demuestra que la sucesión ası́ formada converge, al atractor del SIF. Este algoritmo
permite una generalización en que se asignan distintas probabilidades pi a la hora de
escoger cada fi .
Diferentes probabilidades permiten obtener diversas texturas y densidades, útiles para
el modelado de escenas naturales. Un SIF en que cada función fi va acompañada de un
número positivo pi de modo que p1 + ... + pn = 1 se denomina SIF con probabilidades.

1.3.3. Vida Artificial


La vida artificial es un desarrollo humano que tiene como objeto de estudio la
investigación de la vida y los sistemas artificiales que exhiben propiedades similares
a los seres vivos, a través de modelos de simulación. Existen tres tipos principales de
vida artificial, nombrados de acuerdo a su enfoque: soft, con un enfoque en el software;
hard, con un enfoque en el hardware; y wet, con un enfoque en la bioquı́mica. El área
de vida artificial es un punto de encuentro para gente de otras áreas más tradicionales
como linguı́stica, fı́sica, matemáticas, filosofı́a, psicologı́a, ciencias de la computación,
biologı́a, antropologı́a y sociologı́a en las que serÃa inusual que se discutieran enfoques
teóricos y computacionales.
1.3. FRACTAL 5

Figura 1.3: Inicio del algoritmo de iteración aleatoria.

Figura 1.4: Primera iteración aleatoria.

Figura 1.5: Segunda iteración aleatoria.


6 CAPÍTULO 1. CONCEPTOS BÁSICOS

Figura 1.6: Tercera iteración aleatoria.

Figura 1.7: Simulación de un vehı́culo de braitenberg.


1.3. FRACTAL 7

Filosofı́a
La filosofı́a en el modelado de vida artificial difiere de manera importante con el
modelado tradicional, ya que no sólo se estudia la vida como la conocemos, sino que
también abarca como podrı́a ser la vida. Un modelo tradicional de un sistema biológico
se enfocarı́a en capturar los parámetros más importantes. En contraste, el acercamiento
que toma el modelado de la vida artificial, en términos generales, buscarı́a descifrar
el principio más simple y genérico subyacente e implementarlo en una simulación.
Posteriormente, la simulación ofrecerı́a la posibilidad de analizar nuevos y diferentes
sistemas similares a la vida.

Aplicaciones
Las aplicaciones de la vida artificial se pueden encontrar en alguno de estos casos:

Los sistemas complejos adaptativos, que han dado paso a una nueva generación
de sistemas expertos, que son capaces de aprender y evolucionar.

Los autómatas celulares, que imitan funciones de los organismos celulares en pro-
gramas complejos, aplicando el conocimiento biológico de los mismos a principios
prácticos de organización en sistemas de cómputo.

Los agentes autónomos, que son cada dı́a más usados en aplicaciones de búsqueda.

En el conocimiento de comportamientos adaptativos, para el desarrollo de robots


adaptativos. En algunos campos de aplicación de la vida artificial se plantean dos
tipos de simulaciones, basadas en el mundo real, las cuáles ayudan a la toma de
decisiones. Estas son:

La primera de ellas se centra en los aspectos de ”más alto nivel”, en cada pro-
blema, utilizando fórmulas y reglas, o hechos históricos, que ayudan a la toma
de decisiones. Un ejemplo de esto pueden ser las fórmulas del tiro parabólico, ya
que estas pueden entenderse como modelos de simulación.

La segunda pone atención en los aspectos de ”más bajo nivel”, mediante fórmulas
o reglas. Una de las ventajas de este tipo de simulaciones es que sus caracterı́sticas
son más sencillas, ya que suelen ser más fáciles de detectar los aspectos de bajo
nivel que aquellos de alto nivel.
8 CAPÍTULO 1. CONCEPTOS BÁSICOS
Capı́tulo 2

L–SYSTEM (SISTEMAS
LINDENMAYER)

2.1. Concepto de L–System


El concepto central de L–System es el de la reescritura. En general, la reescritura es
una técnica para definir objetos complejos mediante la sustitución sucesiva de partes de
un objeto inicial simple utilizando un conjunto de reglas o producciones de reescritura.
El ejemplo clásico de un objeto gráfico definido en términos de reglas de reescritura es
la curva de nieve nevada, propuesta en 1905 por von Koch.Campos Muñoz (2011)

2.2. Historia
El concepto de Sistema de Lindenmayer fue concebido por el biólogo y botánico
teórico húngaro Aristid Lindenmayer de la Universidad de Utrecht, en 1968. Sin em-
bargo, fueron dos de sus estudiantes, Ben Hesper y Pauline Hogeweg los primeros en
darse cuenta del potencial de los sistemas-L para representar plantas (en un principio).
En 1970, Hesper y Hogeweg en dos semanas crearon el primer programa que, a partir
de una secuencia de 5,000 caracteres generados por un sistema-L, imprimió algo que se
parecı́a mucho a una hoja vegetal. Esta primera idea digital no le gustó mucho a Lin-
demayer, ya que él consideraba que no debı́an perder el tiempo y desperdiciar recursos
en esas cosas. Lo cierto es que la idea comenzó a circular. Campos Muñoz (2011)
Cuando en 1986 Lindemayer conoció a Przemyslaw Prusinkiewicz se convenció ple-
namente de las posibilidades de los sistemas–L y empezó también a utilizarlos para
generar imágenes cada vez más realistas de plantas. Juntos, en 1990, escribieron el
libro ”La belleza algorÃtmica de las plantas”,(The Algorithmic Beauty of Plants).
Prusinkiewicz (1990)

2.3. Definición
Un sistema–L es un lenguaje, una gramática formal de derivación paralela, un
conjunto de reglas y sı́mbolos principalmente utilizados para modelar el proceso de
crecimiento de las plantas, aunque también puede modelar la morfologı́a de una gran
variedad de organismos. El concepto central de los sistemas–L es el de re–escritura,

9
10 CAPÍTULO 2. L–SYSTEM (SISTEMAS LINDENMAYER)

una técnica para definir objetos complejos reemplazando sucesivamente ”partes”, de


un objeto inicial simple (el axioma), mediante un conjunto de reglas de reescritura o
de producción. Daniel (2011) SegÃo n: ”Los sistemas de Lindenmayer o sistemas–L
(del inglés L-systems) son conjuntos de reglas de producción (o gramáticas formales)
que modelan procesos de crecimiento”. Lindenmayer (1968)

2.4. Elementos de un Sistema–L


Los sistemas–L también son conocidos como sistemas–L paramétricos definidos co-
mo un conjunto:

G = { V, S, ω, P }

Donde:

V: El alfabeto, es un conjunto de sı́mbolos que pueden ser reemplazados (variables


o sı́mbolos no terminales) y se utilizan para componer cadenas.

S: Es un conjunto de sı́mbolos que se mantienen fijos (constantes o sı́mbolos


terminales).

ω: El axioma, es la cadena que describe al sistema en su estado inicial, formada


por un(os) sı́mbolo(os) de V.

P: Reglas de producción, son las transformaciones que serán aplicadas al axioma


y, sucesivamente, a las cadenas generadas.

Definen la forma en la que las variables pueden ser reemplazadas por combinacio-
nes de constantes y otras variables. Las reglas de producción generan cadenas formadas
únicamente por los sı́mbolos del alfabeto y por lo tanto todas las cadenas pertenecerán
al lenguaje definido por el sistema–L. Campos Muñoz (2011) Una consideración
importante es que las reglas de producción se aplican simultáneamente a todos los
sı́mbolos de la cadena de entrada, sea ésta el axioma o las cadenas resultantes de cada
derivación. Esta propiedad refleja el origen biológico de los sistemas–L, ya que los orga-
nismos vivos crecen simultáneamente en todas sus partes y no secuencialmente. Cabe
señalar que, en cada iteración, la estructura del sistema aumenta su complejidad por lo
que hay que ser cuidadosos en derivar demasiadas veces al sistema. Además, se pueden
incorporar a la definición del sistema un conjunto de parámetros para su interpretación
ya que debemos tener en cuenta que no le hemos dado ningún significado a los sı́mbolos
del alfabeto. Estos sistemas hipotéticamente podrı́an describir muy diversos procesos
reales según su significado (gráfico o sonoro); podrı́an representar la reproducción de
células o el crecimiento de ramas en un árbol. Para generar imágenes se requiere que
los sı́mbolos en el modelo hagan referencia a elementos de un dibujo, interpretando
cada constante en el sistema–L como una operación de dibujo y para generar sonidos,
que se asocien a una nota musical, por mencionar algunos.
2.5. FAMILIAS DE SISTEMAS–L 11

2.5. Familias de Sistemas–L


Definimos un sı́mbolo de nuestro alfabeto y su respectiva regla de producción, itera-
mos y obtenemos la nueva cadena del lenguaje, esa es la idea básica de cómo funciona
un sistema–L. Ahora bien, definimos otra regla que incluye al sı́mbolo original del axio-
ma, por lo que ahora hay 2 reglas que se pueden aplicar al mismo elemento, tendrı́amos
un problema porque este tipo de sistemas tienden a ser muy complejos por la extensa
gama de posibilidades que pueden ocurrir. Ası́ que cómo decidimos que regla aplicar.
Campos Muñoz (2011) En esta ocasión no atenderemos ese tema, pero sı́ esta op-
ción: definiremos un sistema–D0L, que son los más sencillos que existen.
Trabajan bajo las siguientes condiciones

El lado izquierdo de la regla de producción debe ser un solo sı́mbolo del alfabeto.

Un mismo sı́mbolo no puede producir distintas cadenas del lenguaje.

Con estas restricciones aseguramos que para cualquier axioma o cadena introducida en
el sistema–D0L, ésta podrá derivar en exactamente otra única cadena. Y que significa
¿D0L? Determinı́stico 0–context L–systems; sistemas determinı́sticos libres de con-
texto. Campos Muñoz (2011). Algunas definiciones, un sistema–L puede ser:
Libre de contexto, si cada producción se refiere sólo a un sı́mbolo individual y no a
sus vecinos.
Sensitivo al contexto, cuando la aplicación de una regla depende también de sus
vecinos (sistema–IL).
Determinista, si existe exactamente una producción para cada sı́mbolo.
No Determinista si hay al menos un sı́mbolo al que le corresponde más de una pro-
ducción.
Estocástico, Probabilı́stico cuando hay varias producciones para un mismo sı́mbolo y
cada una de ellas es elegida con una probabilidad determinada (sistema–PL).
Con corchetes o extensiones, permiten modelar ramificaciones de organismos (tie-
nen una memoria de pila).
Temporal, porque el tiempo cambia su comportamiento.
Propagativo, si ningún sı́mbolo produce la cadena vacÃa.
No Propagativo, si algún sı́mbolo produce la cadena vacı́a.
Tabular, contiene tablas de producción de modo que cada uno de sus elementos es un
conjunto de reglas de producción sobre el alfabeto (sistemaTL).
Sensitivos al ambiente, cuando en la evolución intervienen factores externos al
sistema–L (reglas que no pertenecen al lenguaje).
Haciendo una relación entre algunos de estos tipos, podemos decir que los sistemas–L
deterministas son un caso particular de los probabilistas, pues asignan implı́citamente
a sus únicas producciones la probabilidad igual a 1, dando la certeza absoluta de que
esa será la cadena elegida en cada derivación para ese sı́mbolo.

2.6. Tipos
Un sistema o modelo de desarrollo tiene un alfabeto y un conjunto de producciones
que son aplicadas en paralelo a todos los sı́mbolos de la cadena para formar la siguiente
cadena en la secuencia de desarrollo. Al alfabeto y las producciones se les conoce como
12 CAPÍTULO 2. L–SYSTEM (SISTEMAS LINDENMAYER)

el esquema de desarrollo. Además, este sistema especifica uno o más sı́mbolos iniciales,
llamados axiomas. Una secuencia de desarrollo es una serie de cadenas v0, v1, v2... de
sı́mbolos del alfabeto tal que v0 es el axioma, y para toda i, vi+1 se obtiene de aplicar
las producciones en paralelo a todos los sı́mbolos de vi . Sandoval (2002)
Los sistemas Lindenmayer pueden representar los diferentes estadios por los que
pasa un organismo vegetal. Para ello se sigue una secuencia de desarrollo utilizando
reglas de producción, las que utilizan un alfabeto de sı́mbolos; que a su vez representan
estructuras del organismo a modelar y estas producciones, dependiendo de sus carac-
terı́sticas, pertenecen a un tipo diferente de L–system como se describe a continuación.

2.6.1. Sistemas 0L
Los sistemas-0L son el conjunto más simple de los sistemas Lindenmayer, los de
contexto libre (para abreviar, sistemas-0L, donde el cero significa cero interaccio-
nes”)Sandoval (2002) Explican que este tipo de sistemas–L imitan un desarrollo
unidimensional, como el de un organismo filamentoso, donde la descendencia se da
por linajes celulares y es independiente de otros factores como las condiciones de las
células vecinas o el clima. Explican que este tipo de sistemas–L imitan un desarrollo
unidimensional, como el de un organismo filamentoso, donde la descendencia se da por
linajes celulares y es independiente de otros factores como las condiciones de las células
vecinas o el clima.

Definición: Un esquema 0L, se representa por G = h V, P, w i , donde V (el alfabeto


de G) es un conjunto finito no vacı́o y P el conjunto de producciones de P es un
subconjunto no vacı́o de V ×?, V , tal que:(∀ a)V (∃ b)V ∗ (< a, b >)P ; y w es la cadena
inicial o axioma. Donde de acuerdo a las convenciones usuales de la teorı́a de lenguajes
formales, una producción de P se puede escribir como a → b, y a → b P representa la
transformación del estado a de la cadena al estado b. Por ejemplo, suponiendo que:

V = { { a, b, c, λ

, w={ a} P = { a → b... (1) a → bc...(2) a → λ}...(3)


a y b representan dos tipos de células. Donde la célula a se puede trasformar en una
célula tipo b, puede duplicarse en células tipo b y c, o simplemente puede desaparecer.
La aplicación de las diferentes reglas de producción se esquematiza en la Figura 8.

Figura 2.1: Tres estados transitorios de una célula y sus reglas.Fuente: Sandoval(2002)
2.6. TIPOS 13

2.6.2. Sistemas 0L Determinı́sticos (Sistemas–D0L)


Los sistemas–0L se pueden dividir en diferentes clases sin perder la caracterı́stica
de que imitan el desarrollo por linajes celulares, determinan que, si dada una cadena
a, esta tiene reglas de transición sencillas donde un sı́mbolo de la cadena produce un
paso de derivación único, entonces ésta pertenece a los sistemas llamados sistemas–
0L determinı́sticos o sistemas–D0. Sandoval (2002 El siguiente ejemplo modela el
desarrollo de la bacteria verde azul Anabaena catenula, donde: V = { a, b}, ω = { b } y
→←→ P = { a → ab...(1) →→ b → a...(2) ←← → a → ba...(3) ←← b → a}...(4)
Las flechas arriba de a y b representan polaridad de la célula. De manera que la
secuencia de desarrollo es la siguiente: Al comparar este modelo con el de la Figura 9

Figura 2.2: Ejemplo de desarrollo en Anabaena catenula.Fuente: Sandoval(2002)

(sistemas 0L), la célula a tiene tres reglas diferentes de producción, mientras que, en
este ejemplo, la célula a con cierta polaridad tiene solo una regla de producción. Esta
es la caracterı́stica que hace la diferencia entre los sistemas–0L y los sistemas–D0L.

2.6.3. Sistemas T0L


Para modelar el desarrollo de plantas cuyo crecimiento depende de factores climáti-
cos se utilizan diferentes conjuntos de reglas de producción correspondientes a diferentes
condiciones ambientales. Las reglas de producción con estas caracterı́sticas formal1 los
sistemas–T0L (Donde la T hace referencia a las tablas de decisión que se utilizan), otra
clase de sistemas–0L. Sandoval (2002)

Definición: Un esquema T0L está definido por G =< V, ω >, donde V (el alfabeto de
G) es un conjunto finito no vacı́o y es un conjunto no vacı́o de tablas de G. Donde cada
elemento P de (llamado una tabla) es un subconjunto no vacı́o de V xV ∗, tal que (∀ α)
V (∃α) V ∗ (< α, β >) ∈ P y W es la cadena inicial o axioma. Donde una producción
de P se puede escribir como α → β, α → β representa la transformación del ρ estado
a de la cadena al estado b. Explica que los sistemas T0L constan de un alfabeto V,
un conjunto finito de tablas de decisión, compuestas a su vez, por un conjunto finito
de reglas de producción P y un sı́mbolo inicial o axioma ω. Dentro de la secuencia de
derivación se puede cambiar de una tabla a otra. En el caso de las plantas que cambian
14 CAPÍTULO 2. L–SYSTEM (SISTEMAS LINDENMAYER)

Figura 2.3: Euphotbia pulchérrima. Fuente: Sandoval(2002)

de un crecimiento vegetativo a la floración dependiendo de las horas luz, como en la


Nochebuena, se pueden utilizar tablas como se muestra en la Figura 10.
Donde a, y A son ápices, H es una hoja, 1 es un internodo y F es la flor. En este
caso se utilizarı́a la primera tabla, mientras las horas luz no fueran las requeridas para
que la planta de flores, ya que el ápice a se transforma en una parte vegetativa I[H]a;
en caso contrario, la planta darı́a flores y se utilizarı́a la segunda tabla donde el ápice
A de la parte vegetativa I[H]A se transforma en una flor, Prusinkiewicz (1990),
previenen que el uso de este tipo de sistemas–L es sólo una solución parcial al modelar
plantas cuyo crecimiento está influenciado por las condiciones ambientales; además es
necesario elegir una tabla adecuada.

2.6.4. Sistemas–0L estocásticos


Se dice que un sistema 0L es estocástico si las reglas de producción tienen una
cierta probabilidad de que sucedan. Los define como una cuádrupla V, w , P, p , donde
V es el vocabulario o alfabeto, w el axioma, P el conjunto de producciones, y p es la
distribución de probabilidad, es decir, la probabilidad de que una producción se lleve a
cabo. Supongamos que las flores de cierta planta puedan ser rojas, moradas y blancas,
y la probabilidad de que sea de un color dado es de 1/3. Sandoval (2002) Entonces
V= {B, F b, F r, Fm}, W = { B}

Figura 2.4: Probabilidad de que una producción se lleve a cabo. Fuente: Sandoval(2002)

Donde B es un botón, Fb son flores blancas, Fr son flores rojas y Fm son flores
moradas. Cada producción puede ser seleccionada con la misma probabilidad de 0.33.

2.6.5. Sistemas–IL
Este tipo de sistemas–L modela las plantas que responden a interacciones celulares,
y sistemas–IL significa ”sistemasL de contexto sensitivo”. Prusinkiewicz explica que las
producciones son de la forma d g R b, donde la letra .a”, puede producir ”b”, si y sólo
2.7. CÓMO GENERAR UN SISTEMA–L 15

si .a”, es precedido por ”d”, y seguido por ”g”. Las letras ”d”, y ”g”forman el contexto
izquierdo y derecho de a en esta producción. Sandoval (2002) Los sistemas–IL se
dividen en los sistemas–2L y en los sistemas lL. Los sistemas–2L tienen dos contextos,
uno izquierdo y uno derecho. Los sistemas–lL, como su nombre lo indica, tienen un
solo contexto, que puede ser de la forma d¡a R b o a¿g R b. Un ejemplo de cómo se
aplican estos sistemas es la difusión de una hormona a lo largo de células filamentosas.
Supongamos que, V = a, b , w = baaaaaaa P=b < aRb Donde w es el estado inicial
del filamento, a es una célula con una concentración baja de hormona y b es una
célula con una concentración excedente. El proceso de difusión se dará de la siguiente
manera: baaaaaaa bbaaaaaa bbbaaaaa bbbbaaaa . . . En estos sistemas, los sı́mbolos:
y R”, sirven para separar los tres componentes de una producción: el predecesor, la
condición y el sucesor.

Figura 2.5: Componentes. Fuente: Sandoval(2002)

Esta producción se entiende ası́: .A se rescribirá como B si n es mayor de 5”. Una


producción se puede aplicar cuando:
a. La letra en la cadena que se está derivando y en el predecesor de la producción es
la misma.
b. El número de parámetros formales en la cadena es igual al número de parámetros
formales en la producción predecesora y
c. La condición evaluada es ”verdadera”,en el valor de los parámetros actuales. Este
tipo de sistemas se puede dar también en los sistemas–IL. Un ejemplo es el desarrollo
de Anabaena catenula. Esta bacteria verde–azul forma un filamento sin ramificacio-
nes con dos tipos de células: vegetativas y heterocistos. Comúnmente, las células
vegetativas se dividen y producen dos células vegetativas hijas, pero en algunos ca-
sos las células se diferencian en heterocistos. La forma en que se distribuyen es un
número relativamente constante de células separadas por heterocistos y la distri-
bución de estos últimos está regulada por compuestos de nitrógeno generados por
los heterocistos, transportados de célula a célula por el filamento hasta que decrece
en las células vegetativas. Cuando la concentración de estos compuestos nitroge-
nados llega a un nivel especı́fico en las células vegetativas, éstas se diferencian en
heterocistos.

2.7. Cómo Generar un Sistema–L


A grandes rasgos, el proceso que se sigue es:
a. Observar el desarrollo de los organismos o del sistema en general que se quiera
modelar.
16 CAPÍTULO 2. L–SYSTEM (SISTEMAS LINDENMAYER)

b. Identificar los distintos tipos de células o elementos que interacúan.

c. Identificar las normas de desarrollo o producción de cada elemento.

d. Considerar caracterı́sticas externas, influencia del entorno, competencia por sobre-


vivir, recursos disponibles, depredadores, la gravedad, etc. Ası́ podemos diseñar un
sistema–L que se aproxime al desarrollo del sistema y entre más detalles considere-
mos, lograremos una representación mucho más fiable.

2.8. Alcances
Como bien se sabe, el Sistema–L fue creado por el biólogo y botánico teórico húngaro
Aristid Lindenmayer, por lo cuál este sistema en sus inicios fue usado principalmente
para moldear procesos de crecimiento de las plantas y en otras variedades de orga-
nismos; pero, esta gramática formal también tiene uso en la generación de fractales
auto–similares como los sistemas de función iterada. Castillo Barrera (2017)
Capı́tulo 3

EJEMPLOS

3.1. Ejemplo 1: Algas


El L–System original de Lindenmayer para modelar el crecimiento de algas. varia-
bles: AB constantes: ninguno axioma: A reglas: (A → AB),(B → A) que produce:
n = 0: A | n = 1: AB
n = 2:
ABA n = 3:
ABAAB n = 4:
ABAABABA n = 5:
ABAABABAABAAB

3.2. Ejemplo 2: Árbol Fractal (binario)


variables: 0, 1 constantes: [,] axioma: 0 reglas: (1 → 11),(0 → 1[0]0) La forma se
construye alimentando recursivamente el axioma a través de las reglas de producción.
Cada caracter de la cadena de entrada se compara con la lista de reglas para determinar
con qué caracter o cadena reemplazarla en la cadena de salida. En este ejemplo, un ’1’
en la cadena de entrada se convierte en ’11’ en la cadena de salida, mientras que ’[’
sigue siendo el mismo. Aplicando esto al axioma de ’0’, obtenemos: axioma: 0
Primera recursión: 1[0]0
Segunda recursión: 11[1[0]0]1[0]0
Tercera recursión: 1111[11[1[0]0]1[0]0]11[1[0]0]1[0]0
Curva de Koch
Alfabeto: F, f, +, −
Axioma: F
Reglas de producción: F → F + F −, −F + F + → +, − → −
Parámetros: f = 60o Asociación a cada sı́mbolo de una instrucción gráfica
(F): avance de una longitud l, con trazado del segmento, desde la antigua posición a la
nueva;
(f): avance, como el anterior, sin hacer descender la pluma al papel (no se dibuja el
segmento);
(+): giro de la orientación de la pluma hacia la izquierda (sentido contrario al de las
agujas de un reloj), un ángulo fijado f=60o .
(−): giro hacia la derecha, en el sentido de las agujas de un reloj. La longitud l y el

17
18 CAPÍTULO 3. EJEMPLOS

ángulo f deben ser especificados antes de comenzar la interpretación. d tiene un impacto


importante en la forma de los resultados gráficos y el valor de l influye en el tamaño
final de la imagen. Iteraciones aplicando las reglas de producción Partiendo del axioma
F y aplicando las reglas definidas obtendremos:

1. Etapa: F + F − − F + F

2. Etapa: (F + F − − F + F) + (F + F − − F + F)− −(F + F − − F + F) + F +


F − − F + F)

3.3. Curva Dragón


Angle 8 ; Incremento de ángulo: 45o
Axiom FX ; Cadena de caracteres axioma o inicial
F= ; Primera regla: Borrar: ’F’
Y= + FX − − FY + ; Sustituye ’Y’ por ”+ FX− − FY +”.
X= − FX + + FY − ; Sustituye ’X’ por ”+ FX + + FY −”. Como puedes ver, aparecen
un par de trucos más. Un blanco como en ”F = ”, significa borrar sı́mbolo (o lı́nea en
este caso). Los sı́mbolos X e Y son variables que no poseen significado geométrico. Es
decir, son ignoradas a la hora de interpretar las cadenas de sı́mbolos gráficamente. Se
usan para conseguir el orden correcto de sı́mbolos gráficos deseados.
Capı́tulo 4

IMPLEMENTACIÓN DE
SISTEMAS LINDEMAYER

4.1. Crecimiento de algas


Se comenzará con un sistema L muy simple. (De hecho, este es el sistema L original
de Lindenmayer para modela el crecimiento de algas).

4.1.1. Alfabeto
Axioma AB: A Reglas: (A → AB) (B → A)

4.1.2. Generación
Al igual que con las formas fractales recursivas, podemos considerar que cada apli-
cación sucesiva de las reglas del sistema L es una generación. La generación 0 es, por
definición, el axioma:

Figura 4.1: Generación y ası́ sucesivamente ...

19
20 CAPÍTULO 4. IMPLEMENTACIÓN DE SISTEMAS LINDEMAYER

4.1.3. Implementación
Se comenzará usando un objeto String para almacenar el axioma.

Se necesitará una cadena completamente separada para realizar un seguimiento


de la próxima generación.

Ahora es el momento de aplicar las reglas a la generación actual y colocar los


resultados en la siguiente:

Y cuando hayamos terminado, la corriente puede convertirse en la siguiente:

Para asegurarse de que esto funciona, empaquetémoslo en una función y llamémos-


lo cada vez que se presione el mouse.

Pantallazo

Figura 4.2: Pantallazo de la Implementación – Crecimiento de Algas

4.2. Implementación Sistema–L


4.2.1. Alfabeto
FG+ −[] Axioma:F Reglas: F − → F F + [+ F F F ] − [−F + F + F ]
4.2. IMPLEMENTACIÓN SISTEMA–L 21

4.2.2. Organización
El siguiente ejemplo se organiza en tres clases:

Regla: una clase que almacena las cadenas del predecesor y sucesor para una regla
del sistema–L.

L–System: una clase para iterar una nueva generación de sistema L (como se
demuestra con la técnica StringBuffer ).

Tortuga: una clase para administrar la lectura de la oración del sistema L y seguir
sus instrucciones para dibujar en la pantalla.

4.2.3. Implementación

Figura 4.3: Implementación – Sistema L

4.2.4. Pantallazo

Figura 4.4: Ejecución código – Sistemas L


22 CAPÍTULO 4. IMPLEMENTACIÓN DE SISTEMAS LINDEMAYER
Capı́tulo 5

APLICABILIDAD DE LOS
SISTEMAS LINDEMAYER

5.1. Generación Automática de Música Mediante


Gramáticas de Sistemas–L
5.1.1. Justificación
La idea de que la música puede ser escrita utilizando procedimientos de azar es an-
tigua [10]. Ya en el siglo XVIII algunos autores, como Joseph Haydn y Philip Emanuel
Bach [3], se divertı́an creando composiciones de este tipo. El mismo Mozart escribió
un Juego Musical de dados, que consiste en una serie de grupos alternativos de notas
para cada compás estándar de un minueto. Las notas que deben ser tocadas en cada
compás se determinan tirando un dado. En 1950, John Pierce sugirió que los ordena-
dores podrı́an ser programados para elegir de forma aleatoria una secuencia de notas,
descartando aquellas que no obedecieran a una determinada pauta fijada, y formar de
esta manera una melodı́a. Se realizaron muchos experimentos, cuya importancia no
está en la música obtenida, sino en la comprensión de los métodos de composición.
En general, el trabajo de composición se realiza en dos fases: en la primera se de-
ben definir racionalmente los procesos de composición, en la segunda se codifica en la
computadora. [6]

5.2. Argumento
Existen varios métodos para la generación automática de música en un lado están
los métodos aleatorios, que consisten en la obtención de una serie de notas por medios
aleatorios o al azar, también se pueden utilizar tablas de probabilidad condicionada,
tales como las cadenas de Márkov o Montecarlo; también está el método determinista,
el cual consiste en aplicar directamente un método de composición, o bien, aplicando
transformaciones a un material musical de entrada; y por otro lado están los métodos
procedentes de las matemáticas, la fı́sica y otros campos extra musicales, este método
se basa mucho en los fractales, los sistemas dinámicos no lineales y los autómatas
celulares.
[3] La generación de música basada en la técnica del fractal muestra el potencial

23
24 CAPÍTULO 5. APLICABILIDAD DE LOS SISTEMAS LINDEMAYER

uso de la recursión, la iteración, la teorı́a formal de gran áticas y las matemáticas


[6] para la composición musical. Lo cual da como resultado que los fractales proveen
una inesperada conexión entre las artes musicales y muchos procesos naturales, ya
que mezclan cualidades determinı́sticas y estocásticas para producir naturalmente un
agradable y no – estético balance entre predictibilidad y novedad.
La estructura jerárquica del fractal autorreferente es análoga a la repetición y desa-
rrollo de motivos musicales usados para crear unidad y coherencia en la música. Una
enorme cantidad de fractales puede ser fácilmente creado con una computadora para
ser usado como fuente inagotable de ideas musicales. Imaginemos 16, 32, 64 o 128 ins-
trumentos musicales tocando una fuga. Comienzan como una sola voz, tocando una
meloı́Ãa a unı́sono, de pronto de separan en son variaciones interconectadas del mismo
tema. Cada uno de estos temas se subdivide, dando lugar a una armonı́a en cuatro
partes. Esto sigue y sigue, poniéndose más y más complicado, y más y más disonante y
confuso, hasta que cada instrumento está tocando su propia melodı́a, y todo el sonido
es completamente caótico. De pronto, se forma una armonı́a de tres instrumentos, que
se subdivide en seis, y volvemos al caos de nuevo.
[5] Otra forma de hacer esta bifurcación musical es la siguiente: Todos los ins-
trumentos comienzan tocando una melodı́a simple. De pronto, la mitad comienza a
interpretar a partir de la mitad de la melodı́a. Luego, la mitad de cada de ellos cambia
a los puntos 1/4, y 3/4 de la melodı́a. Luego, cada uno de ellos se divide, y al final, cada
instrumento está tocando la canción completa, pero ninguno en el mismo momento.
Si musicalizamos un fractal, es decir mapeando números a tonos simples de una
porción del fractal. Los archivos de sonido Si musicalizamos un fractal, es decir ma-
peando nÃo meros a tonos simples de una porción del fractal. Los archivos de sonido
son simples ilustraciones de solidificación de datos. Es como si un micrófono se estu-
viese moviendo sobre una lı́nea de la imagen. Cada pı́xel de la imagen tiene un valor
numérico. A medida que una lı́nea de pixeles se escanea, el valor numérico de cada pı́xel
es mapeado secuencialmente a un conjunto de tonos. En este punto, los números son
mapeados solo a los tonos que ocupan las teclas blancas del piano, desde una octava
menos que el Do central, y tres y media octavas por encima. Los valores del conjunto
del fractal determinan que tonos son tocados, cuando, y por cuanto tiempo. Es por
eso, que cabe la posibilidad de generar música empleando gran áticas de Sistemas–L,
estructurando y formalizando muy bien la gran ática y el valor inicial con el que se
comienza a generar ésta. [10]
kjajajajak
CONCLUSIONES

Los sistemas de Lindenmayer son una herramienta muy poderosa, tienen una
gran capacidad expresiva en la simulación de procesos e interacciones.

Los sistemas de Lindenmayer nos da un nuevo enfoque de trabajo, ya que al


partir de una expresión terminada se busca deducir la regla o la gramática que
la produjo.

Los sistemas de Lindenmayer son aplicables a cualquier estructura en la que se


puede identificar un patrón básico de desarrollo.

25
26 CAPÍTULO 5. APLICABILIDAD DE LOS SISTEMAS LINDEMAYER
BIBLIOGRAFÍA

1 Aho V. Alfred, Sethi, Rabı́ y Ullman Jeffrey D., Compiladores: Principios, Técni-
cas y Herramientas,1998, (2da edición), Addison-Wesley.
2 Castro, David, Esteban. ”Teorı́a de Autómatas, Lenguajes Formales y Gramáticas”,2003–
2004, Apuntes de Clase, Universidad de Alcalá.
3 Desportes, Yvonne–Bernaud, Alain., Manual Práctico para el Reconocimiento de
los Estilos desde Bach a Ravel, Real Musical.
4 DuBois,R., .Applications of Generative String–Substitution Systems in Computer
Music”,2003,Submitted in partial fulfillment of the requirements for the degree
of Doctor of Musical Arts in the Graduate School of Arts and Sciences,Columbia
University.
5 Herrera,Enric,Teorı́a Musical y Armonı́a Moderna,Vol.I,1984,Antoni Bosch Edi-
tor,S.A.
6 Ibaibarriaga, Iigo,KURAIA,Grupo de Música Contemporánea de Bilbao, Música
y Matemáticas. De Schoenberg a Xenakis.
7 Lindenmayer, Aristid y Prusinkiewicz, Przemyslaw,”The Algorithmic Beauty of
Plants”, New York: SpringerVerlag,1990.
8 Mandelbrot,Benoit,Frame, Michael y Nial Neger, Fractal Geometry,2008.
9 Manousakis,S.,”Musical LSystems”,Tesis de Maestrı́a en Sonologı́a, The Royal
Conservatory,The Hague,Junio,2006.
10 Miyara,Federico,”La música de las esferas: de Pitágoras a Xenakis. . . y más
aca”, Apuntes para el coloquio del Departamento de Matemáticas,Facultad de
Ingenierı́a, Universidad Nacional de Rosario,Julio,2005.
11 Prusinkiewicz P. y Hammel,M., Language–Restricted Iterated Function Systems,
Koch Constructions, and L–systems,From New Directions for Fractal Modeling
in Computer Graphics,SIGGRAPH 94 Course Notes. ACM Press, 1994.
12 Prusinkiewicz P., Lindenmayer,and Hanan,”Developmental models of herbaceous
plants for computer imagery purposes”, Computer Graphics (SIGGRAPH 88
Conference Proceedings), vol. 222, no. 4,1988,pp.141–150.
13 Rodriguez,B. y Castillo,F., Üsing Algorithmic Musical Composition in Java to
Generate Musical Sequences”,Proceedings at the 9th World Multiconference on
Systemics, Cybernetics and Informatics (WMSCI 2005),July,Orlando, USA.

27

También podría gustarte