Je fus réveillé ce matin là par les pleurs désespérés de Manini. Le cocon était vide. Tous les HC étaient partis.
De leur mère, ils tenaient le sens du rythme. De leur père, leur affiliation aux algues unicellulaires.
De cette alliance improbable entre la carpe et le lapin se développa une compétence inattendue et redoutable : la maîtrise des algorithmes* : les algues et le rythme !
N’eussent-ils point hérités de ce savoir-faire, nous étions de toute façon perdus dès le départ.
Une femelle pond deux fois par an trois cents œufs. Sachant que dans la première portée, il y avait 153 femelles et qu’elles atteignent leur maturité sexuelle au bout de sept ans, la septième année ces 153 femelles pondirent 153 x 300 x 2 = 91 800 œufs.
Et de même les cinq années suivantes : d’où une population de 550 800 HC dont 275 432 femelles.
L’année suivante ce fut l’explosion démographique.
Nos 275 432 + 153 femelles pondirent
165 351 000 œufs.
Après demandez aux HC et à leurs algorithmes, je ne sais plus.
*Extrait de l’article de Wikipedia sur les algorithmes.
Les algorithmes mathématiques sont des objets historiquement dédiés à la résolution de certains problèmes, comme la multiplication de deux nombres quelconques. Ils ont été formalisés et définis plus précisément bien plus tard à la suite de la crise des fondements des mathématiques et à l’avènement des machines qui permettaient de les mettre en œuvre automatiquement, les ordinateurs, grâce à des modèles formels comme la machine de Turing, l’équivalent mathématique de nos ordinateurs actuels.
Un algorithme est une méthode générale pour résoudre un ensemble de problèmes. Il est dit correct lorsque, pour chaque instance du problème, il se termine en produisant la bonne sortie, c’est-à-dire qu’il résout le problème posé. On mesure l’efficacité d’un algorithme notamment par sa durée de calcul, par sa consommation de mémoire RAM (en partant du principe que chaque instruction a un temps d’exécution constant), par la précision des résultats obtenus (par exemple avec l’utilisation de méthodes probabilistes, comme la méthode de Monte-Carlo), sa scalabilité (son aptitude à être efficacement parallélisé), etc. Les ordinateurs sur lesquels tournent ces algorithmes ne sont pas infiniment rapides : le temps de machine reste une ressource limitée, malgré une augmentation constante des performances des ordinateurs. Un algorithme sera donc dit performant s’il utilise avec parcimonie les ressources dont il dispose, c’est-à-dire le temps CPU et la mémoire RAM. L’analyse de la complexité algorithmique permet de prédire l’évolution en temps calcul nécessaire pour amener un algorithme à son terme, en fonction de la quantité de données à traiter