lunes, septiembre 26, 2011

Shakespeare, poesía y monos

A estas alturas del día, quizá ya hayan leído por allí del trabajo de Jesse Anderson (el programador gringo y no el duelista de Yu-Gi-Oh), que consiste en recrear los trabajos de Shakespeare en su granja de monos virtuales.

Por monos virtuales me refiero a programitas que corren en la nube de Amazon. Estos monos lanzan cadenas aleatorias de 9 caracteres, y se comparan con palabras de obras de Shakespeare con el fin de, eventualmente, reproducirlas. Por simplicidad se han eliminado espacios y signos de puntuación.

El proyecto comenzó el 21 de agosto y a la fecha, el poema A Lover's Complaint ya fue reproducido casi totalmente. Este proyecto es en alusión al Teorema de los Monos Infinitos, que dice: 

Una infinidad de monos tecleando al azar (con igual probabilidad entre teclas) en un tiempo infinito, A.S. pueden teclear cualquier texto que exista. (esto incluye las obras de Shakespeare).

O en términos de procesamiento de cadenas:

Dada una cadena infinita con caracteres escogidos aleatoriamente, cualquier cadena finita, A.S. será una subcadena de la primera para alguna posición.


Este teorema Schildkröte lo podría explicar mejor, pero él tiene trabajo. La idea es esta:

Supón que tienes 27 caracteres, y una palabra deseada de m caracteres. Si eliges caracteres al azar, con igual probabilidad, entonces la probabilidad de elegir un caracter en específico es 1/27.

Si además para mi elección actual no importa mi elección anterior (es decir, son eventos independientes), la probabilidad de escribir la palabra deseada es:


Así, la probabilidad de NO escribirla el primer intento es 1-P(E), y puesto que cada bloque es independiente, la probabilidad de NO escribirla al n-ésimo intento:


Claramente, cuando el número de intentos tiende a infinito, esta última probabilidad tiende a cero, y por lo tanto la probabilidad de escribir la palabra deseada tiende a 1. Si hay un matemático hipster, por favor, disculpe mi notación.

Como ven, cualquier mono puede escribir sonetos,  y como dijo Shakespeare...

Así que vamos por esa granja de monos ! O programémosla