Fórmulas Booleanas Mínimas: Elegancia y Desafíos en el Diseño de Algoritmos

2025-06-23

Este artículo describe el proceso de calcular el número mínimo de operadores AND u OR necesarios para expresar cualquier función booleana de cinco variables. Inicialmente, se utilizó una variante del algoritmo de Floyd-Warshall, pero resultó ineficiente. El autor y Alex Healy colaboraron posteriormente, aprovechando las simetrías de las funciones y otras propiedades para optimizar significativamente el algoritmo, calculando finalmente el resultado como 28. El artículo detalla el proceso de optimización del algoritmo, incluyendo la reducción de la computación mediante simetrías de funciones y clases de equivalencia, y la transición de una construcción de abajo hacia arriba a una búsqueda de arriba hacia abajo. El algoritmo final redujo el tiempo de computación de los meses estimados a menos de medio día.

Desarrollo función booleana