Formules booléennes minimales : élégance et défis dans la conception d’algorithmes
Cet article relate le parcours de calcul du nombre minimal d’opérateurs ET ou OU nécessaires pour exprimer n’importe quelle fonction booléenne à cinq variables. Au départ, une variante de l’algorithme de Floyd-Warshall a été utilisée, mais elle s’est avérée inefficace. L’auteur et Alex Healy ont ensuite collaboré, en tirant parti des symétries des fonctions et d’autres propriétés pour optimiser considérablement l’algorithme, calculant finalement le résultat comme étant 28. L’article détaille le processus d’optimisation de l’algorithme, notamment la réduction du calcul grâce aux symétries des fonctions et aux classes d’équivalence, et la transition d’une construction ascendante à une recherche descendante. L’algorithme final a réduit le temps de calcul de plusieurs mois estimés à moins d’une demi-journée.
Lire plus