EXPÉRIENCE 001 / SYNTHÈSE DE CODE X86-64
Observer le code
qui évolue.
Des fonctions générées, testées et sélectionnées en continu. Un terrain d’observation pour explorer ce qu’un moteur évolutif peut construire.
Windows x64 · Ring 3 · Sandboxie-Plus
Lecture des données du moteur…
LE PRINCIPE
Une recherche.
Pas un résultat prédéfini.
Le moteur fait varier la structure et les constantes de petites fonctions natives. Les candidats s’affrontent sur des tests mesurables ; les meilleurs sont conservés, mutés et croisés.
L’expérience actuelle porte sur trois problèmes connus : compter les bits à 1, calculer un code de Gray et inverser les bits d’un entier. Réussir ces tests ne constitue pas la découverte d’un nouvel algorithme.
Comprendre la rechercheGénérer
Modifier une fonction dans une grammaire d’instructions de calcul contrôlée.
Évaluer
Comparer les sorties attendues et réelles, puis valider les candidats complets dans un enfant.
Conserver
Sauvegarder la population et les meilleurs candidats dans le même run persistant.
BIBLIOTHÈQUE TECHNIQUE
De l’observation à la démonstration.
Modèle mathématique
Des mots binaires, pas des entiers sans borne
05Spécifications de référence
Trois problèmes, trois contrats explicites
06Identités et démonstrations
Des propriétés utiles pour construire des tests
07Fonction de score
Pourquoi un score élevé peut rester trompeur
10Validation expérimentale
Ce que signifie exactement le badge « Réussie »
12Vers la vérification formelle
CEGIS et équivalence de vecteurs de bits