Des singes savants sur Amazon
Vous connaissez peut être ce paradoxe du singe savant qui dit que si on laisse des millions de singes taper pendant une durée infinie sur un clavier, l’un d’entre eux finira tôt ou tard par nous ressortir une œuvre complète comme Hamlet de Shakespeare. Ça semble logique que si on dispose de l’infini devant soi, le singe (qui est en fait un générateur de séquences de lettres aléatoires) arrivera forcement à ses fins.
C’est grosso modo ce que je fais avec ce blog depuis des années… Je fais des mots et des phrases et finalement, vous avez l’impression que je tiens un discours cohérent alors que je suis simplement en train de jouer à un jeu PC tout en tapotant avec mes orteils.
Et bien, Jesse Anderson a voulu vérifier ce phénomène et a mis au point un programme informatique fonctionnant comme le singe du paradoxe, qui génère des chaines ASCII (entre a et z) de manière aléatoire. Pour cela, il a utilisé le soft java Mersenne Twister qui est un exemple en matière de rapidité, qu’il a couplé avec Hadoop, le système de fichiers distribué de la fondation Apache, et a déporté tout ça sur un cloud d’Amazon EC2 pour profiter d’une grosse puissance de calcul. Ensuite, au fur et à mesure, simplement en récupérant les données avec un Core 2 Duo 2.66GHZ avec 4 GB RAM tournant sous Ubuntu 10.10 64-bit, il a été en mesure de comparer ça un poème original de Shakespeare : A lover’s complaint.
Bon, c’est pas tout à fait le même délire que le paradoxe du singe savant, car à chaque fois qu’un mot de 9 lettres ou plus se retrouvait dans la chaine générée aléatoirement, celui-ci était validé et n’était plus à découvrir. Ce n’est donc pas vraiment toute l’œuvre qui a été générée de manière aléatoire en une seule fois mais ça reste quand même amusant, surtout qu’il ne disposait pas de ressources illimitées. Au final, ça ressemble donc plus à un genre de “bruteforce aléatoire par élimination” qu’à un vrai random.