Digital Red Queen – Quand l’IA ressuscite Core War pour une guerre infinie
Et c'est reparti pour une journée de moine à écrire sur le meilleur site tech de l'univers et aujourd'hui, j'ai envie de vous parler de Core War et de cybersécurité.
Core War, c'est un jeu de programmation hyper culte qui est devenu populaire dans les années 80 et dans ce jeu, y'a des sortes de guerriers numériques qui se foutent sur la gueule pour prendre le contrôle d'une machine virtuelle . Et je vous avoue que c'est assez kiffant à voir.
Et croyez le ou non, des chercheurs de Sakana AI et du MIT se sont appuyés sur ce concept pour créer leur Digital Red Queen (DRQ) , c'est à dire un algorithme qui utilise des LLM pour faire évoluer ces programmes de "combat" de façon totalement autonome.
L'idée de base en fait, c'est de simuler la fameuse " Reine Rouge " de l'évolution biologique. Cette théorie de la Reine Rouge explique en gros que les espèces doivent évoluer sans cesse juste pour rester à leur place face à leurs prédateurs.
Et sous la forme de code, ça donne qu'à chaque round, l'algorithme cherche à faire éclore un nouveau "warrior" capable de battre tous les champions précédents. Pour cela, l'algo DRQ s'appuie par défaut sur un modèle gpt-4.1-mini (mais c'est configurable évidemment) qui fait office de moteur de mutation génétique. L'IA génère alors de nouveaux programmes, les fait se combattre, et ne garde que celui qui surpasse la lignée.
C'est une bataille de code sans fin où seuls les meilleures survivent !
Et là où ça devient vraiment balaise, c'est que l'IA ne se contente pas de copier-coller du code existant. Non, cette petite futée invente de véritables stratégies qui feraient bégayer Sun Tzu.
Les chercheurs ont également pu observer certains phénomènes de convergence phénotypique (oui moi aussi j'avais aucune idée de ce que ça voulait dire). C'est-à-dire que des guerriers issus de lignées différentes finissent à un moment par adopter tous les mêmes tactiques de combat. Genre bombardement ciblé, auto-réplication massive ou création intensive de processus. Et ça c'est pas bon.
Alors pour tenter de maintenir une certaine diversité de comportements, l'équipe a utilisé des algos de MAP-Elites ce qui leur a permis de classer les programmes selon des critères comme le nombre de processus créés ou l'occupation de la mémoire pour éviter de tomber dans une sorte de pierre-feuille-ciseaux sans fin !
Et ça a plutôt bien fonctionné car même si les chercheurs notent que la diversité finit par baisser au fil des runs, cela permet quand même de découvrir des stratégies variées avant que l'évolution ne converge.
Maintenant c'est bien rigolo tout ça mais peut-être que vous vous demandez à quoi ça sert à part faire mumuse avec du vieil assembleur ? Et bien les auteurs pensent que leurs travaux pourrait être appliqués en cybersécurité.
En comprenant comment des programmes peuvent s'adapter de façon autonome à des adversaires qui mutent en permanence, on peut imaginer des systèmes de défense plus autonomes et résilients. On est un peu dans la même veine que ce que j'évoquais avec Evo 2 et l'ADN fonctionnel , mais appliqué au logiciel pur.
Voilà, alors je ne sais pas ce que ça va donner mais j'ai trouvé ça cool de voir comment un vieux concept de 1984 est devenu une super sandbox pour tester les limites de l'évolution artificielle des logiciels.
Bien sûr, tout le code est dispo sur GitHub (le simulateur Core War lui-même vient du projet de Rodrigo Setti ), avec des instructions pour installer ça via Conda et lancer vos propres arènes de combat. J'sais pas si vous essayerez mais si c'est le cas, je veux bien un feedback dans quelques temps.
Et surtout, un grand merci à Timothée qui a partagé ça sur son compte LinkedIn .























