Está en la página 1de 15

Estructuras algorítmicas: conceptos y

definiciones generales
Autor: Óscar Escudero

[5.1] ¿Cómo estudiar este tema?

[5.2] Cadenas de Markov

[5.3] Algoritmos genéticos

[5.4] Autómatas celulares

[5.5] Referencias bibliográficas

5
TEMA
Esquema

TEMA 5 – Esquema
Tema 5. Estructuras algorítmicas: conceptos y definiciones generales

Cadenas de Markov

2
Algoritmos genéticos

Autómatas celulares
Proyectos de Composición e Interpretación Musical Asistida por Ordenador
Proyectos de Composición e Interpretación Musical Asistida por Ordenador

Ideas clave

5.1. ¿Cómo estudiar este tema?

La estructura de este tema se basa en la explicación de tres grandes modelos


matemáticos que han sido especialmente influyentes para los compositores de la última
mitad del s. XX a la hora de construir nuevos procesos lógicos:
las cadenas de Markov,
los algoritmos genéticos,
y los autómatas celulares.

Por el momento, explicaremos las estructuras exclusivamente desde un punto de vista


lógico para, en el siguiente tema, repasar las aplicaciones musicales que pueden
extraerse de las mismas con ejemplos de compositores.

Para ello, te propongo seguir mis apuntes en la primera parte del tema, que está
dedicada a la profundización en los modelos de Markov y en los algoritmos
genéticos.

En cuanto al estudio de los autómatas celulares, deberás leer el punto 3 (páginas 2


y 3) del siguiente artículo:

Caligaris, M. G. y Rodríguez, G. B. (agosto, 2010). Simulaciones computacionales:


autómatas celulares. Trabajo presentado en el Primer Congreso sobre los Métodos
Numéricos en la Enseñanza, Ingeniería y las Ciencias, San Nicolás, Argentina.
Recuperado de http://puntodeencuentro.utn.edu.ar/wp-
content/uploads/2010/12/SIMULACIONES-COMPUTACIONALES-
AUT%C3%93MATAS-CELULARES.pdf

Objetivos:

Entender el concepto de algoritmo y su uso en la historia de la composición


musical.
Introducir los concepto de cadenas de Markov, autómata celular y algoritmos
genéticos
Analizar procesos estocásticos y explicar sus usos prácticos.

TEMA 5 – Ideas clave 3


Proyectos de Composición e Interpretación Musical Asistida por Ordenador

5.2. Cadenas de Markov

Los denominados como modelos de Markov fueron introducidos


por el matemático ruso Andrey Andreyevich Markov (1856-
1922). Sus investigaciones más importantes se llevaron a cabo en
el campo de la estadística y la probabilidad.

Imagen extraída de
http://cadenasdemarkov4parte.blogspot.com.es/

A Markov le obsesionaba el orden. De sus escritos se trasluce una incesante búsqueda


de racionalización de las estructuras que, aparentemente caóticas, escondían para él
procesos de organización más complejos que trabajaba por desentrañar.

Los modelos con los que Markov trabaja se denominan estocásticos. Estas
construcciones se caracterizan por dos rasgos fundamentales:
Los valores que las componen no pueden predecirse con exactitud a priori.
Sí se pueden determinar las probabilidades de aparición de cualquier valor en
cualquier momento del tiempo.

En la tercera edición de su libro Cálculos de probabilidades, el autor propone un


ejemplo muy clarividente en la aplicación del concepto de «cadena», que él mismo
acuñó como representación de estos mecanismos estadísticos. En él, Markov analiza la
secuencia de 20000 letras en el poema Eugeny Onegin del escritor ruso A. S. Pushkin
descubriendo resultados como por ejemplo: la probabilidad de aparición de una vocal
es p = 0.432; de que a una vocal le siga otra vocal, p = 0.128 o de que a una vocal
continúe a una consonante, p = 0.663. A esta serie de mecanismos o cadenas se les
comenzó a denominar bajo el nombre de su creador, quedando pues hasta nuestros
días.

Los procesos denominados como estocásticos mezclan los cálculos de probabilidad


con la estadística. Los podríamos describir como una secuencia de elementos
aleatorios comprendida en un rango de tiempo (t). Es ese tiempo cerrado al que
están sometidos los parámetros de variabilidad el que determina un proceso estocástico
como cadena. Toda medida de tiempo (t) está sometida a una variable aleatoria (X).

TEMA 5 – Ideas clave 4


Proyectos de Composición e Interpretación Musical Asistida por Ordenador

En el caso de las cadenas de Markov, hablamos de un fenómeno estocástico especial, ya


que la probabilidad del futuro valor Xt + 1 (la variable aleatoria X en el momento t + 1)
depende únicamente del valor Xt, lo cual quiere decir que está ausenta de memoria, es
impredecible. Imaginando, pues, unos valores preasignados de tiempo tm y tm + 1, la
probabilidad se manifestaría de la siguiente manera:

P (Xt m +1 = j; Xt m = i ) = pi j (tm , tm + 1)

Las cadenas de Markov son representadas mediante lo que se denomina como


«gráficos de transición», desglosados en las asimismo llamadas «matrices de
transición». Los datos resultantes de la matriz dependerán siempre, por supuesto, de
los datos que nosotros lancemos al tablero. Un ejemplo de ello lo encontramos en la
siguiente imagen. Mediante este gráfico asociado, mostramos las posibilidades de paso
de un elemento a otro (recordemos la propiedad de que el elemento Xt + 1 solamente
depende de Xt .

Partiendo del gráfico, podemos desglosar la matriz siguiente y establecer que, en un


número n de pasos, cada columna representa el punto de salida y cada fila el punto de
destino. Los resultados serían los siguientes:

TEMA 5 – Ideas clave 5


Proyectos de Composición e Interpretación Musical Asistida por Ordenador

En el siguiente tema observaremos algunos ejemplos de traducción musical de las


cadenas de Markov. Desde luego, podemos avanzar que este tipo de procesos se
comportan de manera especialmente sugerente cuando hablamos de música, ya que su
naturaleza misma los engloba necesariamente en un espacio temporal.

5.3. Algoritmos genéticos

Los algoritmos genéticos pertenecen al grupo denominado como algoritmos


evolutivos, lo cual nos da una pista sobre la naturaleza procesual de los mismos.
Inspirados en la Teoría de la Evolución de Charles Darwin, estos algoritmos ofrecen
soluciones a un problema determinado mediante procesos que utilizan conceptos como
el de «mutación», «selección» o «supervivencia del más apto». Su funcionamiento es
sencillo y lo explicaremos con una analogía constante de la naturaleza.

En primer lugar encontramos la computadora, que se comporta como el medio


generador de las unidades y el que las provee de las condiciones idóneas para su
supervivencia y la capacidad de reproducción. En este entorno artificial encontramos
las entidades individuales o cromosomas, que el ordenador produce con una serie de
características diferentes.

En el momento en el que contamos con una población aprovechable de individuos,


ponemos en marcha el mecanismo de funcionamiento y selección algorítmica, que
activará los procesos análogos de selección genética.

Ordenador

I II III IV V VI Cromosomas

Selección algorítmia

Según los procesos de los matemáticos John Holland y David Goldberg, que definieron
en los años 70 los patrones de comportamiento de los algoritmos genéticos, hay una
serie de cinco pasos básicos que establecen sus modos operandi y que Piedad

TEMA 5 – Ideas clave 6


Proyectos de Composición e Interpretación Musical Asistida por Ordenador

Tolmos Rodríguez-Piñero (2002, p. 7) cita esquemáticamente en su artículo


«Introducción a los algoritmos genéticos y sus aplicaciones». Son los siguientes:

1. Generación aleatoria de una población P aleatoria formada por n


cromosomas.

2. Calcular la capacidad f(x) para cada cromosoma x de P.

3. Seleccionar un par de cromosomas padre de P, siendo la probabilidad de


selección una función creciente de la capacidad. La selección se realiza «con
reemplazamiento», es decir, que el mismo cromosoma puede ser seleccionado
en más de una ocasión para ser padre.

Con probabilidad pc (probabilidad de cruce, o tasa de cruce), cruzar el par en un


punto elegido aleatoriamente (con probabilidad uniforme) para formar dos
descendientes. Si no tiene lugar ningún cruce, formar dos descendientes que
sean copias exactas de sus respectivos padres. (Obsérvese que aquí la
probabilidad de cruce se define como la probabilidad de que dos padres se
crucen sobre un único punto).

Mutar los dos descendientes en cada lugar con probabilidad pm (probabilidad


de mutación, o tasa de mutación) y, colocar los cromosomas resultantes en la
nueva población P’. Si n es impar, se puede rechazar aleatoriamente a un
miembro de la nueva población.

4. Remplazar la población actual P con la nueva P’.

5. Volver al paso 2.

Como vemos, se trata de un sistema que, al igual que en la teoría de Darwin, va


«mejorando» las capacidades de los individuos generación tras generación. Esta mejora
depende, como explican los pasos a seguir, de la variable que nosotros introduzcamos y
que determinará la selección considerada como «más válida» entre los cromosomas.
En la siguiente imagen encontramos un esquema muy visual de los procesos anteriores.

TEMA 5 – Ideas clave 7


Proyectos de Composición e Interpretación Musical Asistida por Ordenador

Imagen extraía de http://www.engineering.lancs.ac.uk/

Los algoritmos genéticos han encontrado aplicaciones en muy diversos campos como la
ecología, la sociología o la economía pero también han sido aprovechados por los
creadores artísticos, en especial los compositores, que se han valido, una vez más, de la
ayuda de computadoras para calcular y extraer material constructivo derivado de
patrones de coherencia determinados por las matemáticas.

5.4. Autómatas celulares

Imagen extraída de http://www.redcientifica.com/

TEMA 5 – Ideas clave 8


Proyectos de Composición e Interpretación Musical Asistida por Ordenador

Se denomina autómata celular a un conjunto conformado por autómatas simples


que se hayan conectados entre sí. Estas unidades (células programadas previamente)
son entidades que manifiestan un comportamiento determinado cuando entran en
contacto con otras. Así pues, en función de la programación de las mismas
obtendremos conjuntos que mostrarán comportamientos diferentes.

La conducta de cada uno de los autómatas simples depende exclusivamente de los


estados de las células vecinas, pudiéndose crear condicionantes complejos ad
infinitum. Los autómatas simples pueden tener dos posibles valores para cada célula,
0-1 (en binario) o viva-muerta, y una serie de reglas que afectan al comportamiento de
la célula en relación con sus vecinas. La primera generación de todos los autómatas
celulares simples es la misma, una célula viva (en negro) rodeada de un número de
células muertas (en blanco):

Imagen extraída de http://www.fisem.org/

En la segunda generación, la célula viva (en negro) dependerá del estado de su primera
generación (viva) y del de sus dos vecinas a izquierda y derecha (muertas). Debido a
que cada célula depende de tres valores (su propio estado y el de sus dos vecinas) y a
que cada estado puede tener dos valores (0-1), cada autómata simple puede constar de
23=8 posibles combinaciones: 1-1-1, 1-1-0, 1-0-1, 1-0-0, 0-1-1, 0-1-0, 0-0-1, 0-0-0.

Para ejemplificar, podemos citar uno de los más famosos ejemplos de autómata celular,
el Juego de la vida de Conway. Se trata de un autómata bidimensional y dispuesto
en cuadrículas diseñado por el matemático John Horton Conway. Cada unidad puede
poseer dos propiedades (estar viva o muerta) y en cada generación se aplica un
algoritmo con las siguientes variables:

1. Cada célula viva con dos o tres células vecinas vivas sobrevive a la siguiente
generación.
2. Cada célula viva con ninguna, una, o más de tres células vivas a su alrededor pasa a
estar muerta.
3. Cada célula muerta con tres células vecinas vivas resucita en la siguiente
generación.

TEMA 5 – Ideas clave 9


Proyectos de Composición e Interpretación Musical Asistida por Ordenador

Una de las cualidades más sustanciales de este autómata celular es que, en el plano
teórico, se comporta como una máquina de Turing, es decir, todo lo que se pueda
diseñar algorítmicamente puede computarse en el juego de la vida. Desde su
aparición, ha suscitado el interés de investigadores de todas las ramas como ejemplo de
cómo pueden darse una serie de patrones complejos a partir de la programación de
reglas muy sencillas.

5.5. Referencias bibliográficas

Davis, L. (1991). Handbook of genetic algorithms. Cleveland: CRC Press.

Markov, A.A. (1971). Extension of the limit theorems of probability theory to a sum of
variables connected in a chain. Reimpreso en el Apéndice B en Howard, R., Dynamic
Probabilistic Systems, volume 1: Markov Chains. John Wiley and Sons.

Nierhaus, G. (2009). Algorithmic Composition, Paradigms of Automated Music


Generation. New York: Springer Wien.

Reyes, D. A. (2011). Descripción y aplicación de los autómatas celulares. Trabajo


presentado en los Veranos de Investigación Científica, Puebla, México. Recuperado de
http://uncomp.uwe.ac.uk/genaro/Papers/Veranos_McIntosh.html

Tolmo, P. (2002). Introducción a los algoritmos genéticos y sus aplicaciones. Trabajo


presentado en X Jornadas Madrid 2002, AESMA. Recuperado de
http://www.uv.es/asepuma/X/comunica.htm

Wolfram, S. (1986). Theory and Application of Cellular Automata. Reading: Addison-


Wesley.

Wolfram, S. (1994). Cellular Automata and Complexity: Collected Papers. Reading:


Addison-Wesley.

Wolfram, S. (2002). A New Kind of Science. Champaign: Wolfram Media.

TEMA 5 – Ideas clave 10


Proyectos de Composición e Interpretación Musical Asistida por Ordenador

Lo + recomendado

No dejes de leer…

Simulaciones computacionales: autómatas celulares

Caligaris, M. G. y Rodríguez, G. B. (agosto, 2010). Simulaciones computacionales:


autómatas celulares. Trabajo presentado en el Primer Congreso sobre los Métodos
Numéricos en la Enseñanza, Ingeniería y las Ciencias, San Nicolás, Argentina.
Recuperado de https://www.yumpu.com/es/document/read/7743333/simulaciones-
computacionales-automatas-celulares-punto-de-

Escrito por Marta G. Caligaris y Georgina B. Rodríguez, este documento aborda el uso
del freeware SCILAB, un programa que permite el diseño y la representación de
autómatas celulares. A su vez, aporta un complemento a nuestras explicaciones.

TEMA 5 – Lo + recomendado 11
Proyectos de Composición e Interpretación Musical Asistida por Ordenador

No dejes de ver…

Algoritmos genéticos

Vídeo pedagógico que explica los


mecanismos de funcionamiento de los
algoritmos genéticos mediante esquemas
gráficos muy visuales.

Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://www.youtube.com/watch?v=WZa_5O5KdtU

El significado de la vida. El juego de la vida de Gonway

Vídeo que, mediante animaciones y explicaciones divulgativas, nos ofrece una visión
dinámica de este autómata celular.

Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://www.youtube.com/watch?v=GZ0qR69YnAw

TEMA 5 – Lo + recomendado 12
Proyectos de Composición e Interpretación Musical Asistida por Ordenador

+ Información

A fondo

Profundización en las Cadenas de Markov

Este texto, extraído de la página de la Universidad Nacional de Entre Ríos (Argentina),


nos ofrece una aproximación con numerosos ejemplos prácticos a las cadenas de
Markov.

Accede al artículo a través del aula virtual o desde la siguiente dirección web:
http://www.bioingenieria.edu.ar/academica/catedras/metestad/Cadenas%20de%20M
arkov-1.pdf

Bibliografía

Nierhaus, G. (2009). Algorithmic Composition, Paradigms of Automated Music


Generation. New York: Springer Wien.

TEMA 5 – + Información 13
Proyectos de Composición e Interpretación Musical Asistida por Ordenador

Test

1. Las investigaciones más importantes de Andréi Markov se llevaron a cabo en los


campos de…
A. La lógica y el álgebra.
B. La estadística y la probabilidad.
C. El álgebra y la estadística.
D. La probabilidad y la lógica.

2. Los modelos con los que Markov trabaja se denominan como…


A. Modulares.
B. Autómatas.
C. Estocásticos.
D. Genéticos.

3. En la tercera edición de su libro Cálculos de probabilidades, Markov introduce por


primera el término…
A. Cadena.
B. Cromosoma.
C. Autómata.
D. Célula.

4. ¿En qué teoría se basa el funcionamiento de los algoritmos genéticos?


A. Teoría de la Herencia Genética de Mendel.
B. Teoría de la Evolución de Charles Darwin.
C. Teoría celular de Virchow.

5. ¿Cómo se denominan las unidades más pequeñas que manipulan los algoritmos
genéticos?
A. Celdas.
B. Cromosomas.
C. Átomos.
D. Células.

TEMA 5 – Test 14
Proyectos de Composición e Interpretación Musical Asistida por Ordenador

6. El proceso de selección de los algoritmos genéticos se elabora…


A. Aleatoriamente, tras programar las variables pertinentes.
B. Con anterioridad a la programación de los cromosomas.
C. A lo largo de generaciones que perfeccionan las cualidades de sus elementos.

7. Un autómata celular se compone de…


A. Autómatas simples que actúan de manera independiente entre sí.
B. Cromosomas que conforman entidades más o menos complejas cuando se unen
pero que jamás interactúan.
C. Autómatas simples que se hayan interconectados entre sí.

8. El juego de la vida es un autómata celular que fue diseñado por…


A. Benoit Mandelbrot.
B. John Horton Conway.
C. Andréi Markov.
D. Santiago Ramón y Cajal.

9. ¿Cuántos estados son posibles en una celda del juego de la vida?


A. Dos (vivo o muerto).
B. Tres (vivo, muerto y neutro).
C. Cuatro (vivo, muerto, neutro y dual).

10. Se dice que el juego de la vida actúa como una Máquina de Turing algorítmica
porque…
A. Constituyó una gran arma en el desciframiento de códigos estratégicos
alemanes durante la Segunda Guerra Mundial.
B. Todo lo que se pueda diseñar mediante algorítmicos puede computarse
mediante ella.
C. Ningún examinador humano ha logrado averiguar que se trata de un diseño
artificial.

TEMA 5 – Test 15

También podría gustarte