Por Mario Castro Ponce, Manuel de León y Antonio Gómez Corral.- Esta entrada fue publicada en el blog Matemáticas y sus fronteras , el día 18 de mayo de 2020.
Comentábamos en una entrada previa sobre Andrei Markov que su interés al crear las cadenas que hoy llevan su nombre no tenía conexión alguna con posibles aplicaciones, excepto las que desarrolló en literatura por su gran afición a la poesía. Ese interés tan peculiar sigue vigente, como veremos, en nuestros días.
De la poesía a las cadenas de Markov
De hecho, el trabajo de Andrei Markov se centró sobre la obra en verso “Eugene Onegin”, de Alexander Pushkin. Andrei Markov dedicó horas, muchas horas, a analizar las secuencias de vocales y consonantes. Y en enero de 1913 presentó sus resultados a la Academia de Ciencias, resultados que no fueron tan importantes para la poesía como sí lo fueron para las matemáticas y sus aplicaciones. A continuación, reproducimos un resumen muy breve del análisis de Andrei Markov. Los lectores de este blog que quieran más detalles sobre esta cuestión pueden seguir el enlace para acceder a un interesante artículo firmado por Brian Hayes.
Andrei Markov no entró en la estructura en sí misma del poema, sino que eliminando puntuaciones, espacios, etc. recogió las 20.000 primeras letras del poema de Alexander Pushkin y organizó éstas en 200 bloques de 10 x10 letras, contando vocales y consonantes en cada fila y cada columna (8.638 vocales y 11.362 consonantes). Calculó medias y varianzas para obtener las medidas de dispersión. A continuación, clasificó pares de letras sucesivas y encontró 1.104 pares de vocales y 3.827 consonantes dobles; el resto serían 15.069 pares de vocal y consonante, o de consonante y vocal.
Ahora podríamos calcular la probabilidad de que una letra elegida arbitrariamente sea una vocal,
8.638/20.000 = 0,43.
Si asumiéramos que todas las letras hubieran sido dispuestas de manera independiente unas de otras, la probabilidad de encontrar dos vocales consecutivas sería
0,43 x 0,43 = 0,19.
Pero la realidad, con lo que hemos contado, es que esa probabilidad debería ser tres veces mayor.
Desde esta observación, la conclusión es clara: las letras no son independientes en el poema y en cada una se observa una dependencia de la letra anterior.
De las cadenas de Markov a la poesía
Cerramos el círculo “cadenas de Markov versus poesía” con algunos ejemplos de cómo este desarrollo probabilístico puede ser usado para crear poesía. Para no ser pretenciosos, vamos a calificarlo como “generar poesía”, pues poca seguridad hay sobre la belleza del resultado final de la composición.
Uno de los instrumentos más interesantes es un generador de poesía llamado Markomposition. Su funcionamiento se inicia cuando, a petición suya, introducimos una frase y el programa, aplicando de manera aleatoria cadenas de Markov, va produciendo el poema.
Recordemos la idea básica de una cadena de Markov: tenemos diferentes estados y las probabilidades de pasar de unos a otros. Para ver cómo se puede aplicar a la literatura, crearíamos estados de modo que cada uno de ellos sea una palabra o una frase, y estableceríamos la probabilidad de pasar de una palabra a otra, o de una palabra a una frase, etc.
En Markomposition se dan algunas instrucciones básicas para su manejo. Por ejemplo, y aunque sea una obviedad, la calidad de lo que obtengamos dependerá no solo de la calidad de los estados posibles, sino también de la variedad de secuenciaciones; es decir, si cada palabra tuviera un solo sucesor, solo habría un poema, así que cuanta mayor variedad en las disposiciones de las palabras introduzcamos, más opciones tendremos de obtener composiciones diferentes. Otra de las variables a considerar se refiere a que debemos fomentar una cierta repetición, base del ritmo poético.
En la página web de Markomposition, la autora, Marie Chatfield, comenta que ha usado el Proyecto Gutenberg, una biblioteca digital con 60.000 libros electrónicos gratuitos. En particular, para los ejemplos que allí muestra, ha empelado las obras en inglés
- Poems, de Emily Dickinson
- The Divine Comedy, de Dante Alighieri
- Grimm’s Fairy Tales
- The Sonnets, Triumps, and Other Poems, de Francesco Petrarca
- The Declaration of Independence of the United States of America
- Hamlet, Prince of Denmark, de William Shakespeare
Invitamos a que el lector cree su propia biblioteca digital y genere sus propios poemas markovianos.
Otro proyecto similar es el desarrollado por Alexander Raichev, de Auckland, Nueva Zelanda. El lector puede acceder a esta herramienta a través de este enlace. Alexander Raichev llama a su método “Markov, a Game of Poems”, que adaptó como un ejercicio de un libro de texto sobre computación, Exercise 13.8 de Think Python, Downey 2012. En la página de internet se describe con detalle el método y se dan algunas normas para obtener resultados más interesantes.
¡No todo es rigurosidad matemática alrededor de las cadenas de Markov y sus aplicaciones, también hay tiempo para la poesía!