Una fórmula monótona de CNF con m términos en n variables ( ) es una fórmula de la forma f ( x 1 , ... , x n ) = ⋀ C i , donde cada C i es un OR de algún subconjunto de las variables x 1 , ... , x n e i varía de 1 a m .
Por ejemplo, es una fórmula monótona de CNF con 2 términos en 4 variables.
Estoy buscando la fórmula más corta (no necesariamente monótona, no necesariamente CNF, ¡cualquier fórmula funcionará!) En el mismo conjunto de variables que representa la misma función que una fórmula CNF monótona dada en n variables con n términos. (Tenga en cuenta que el número de términos y variables es el mismo).
Una forma obvia de construir una fórmula es expandir la definición CNF dada, lo que nos dará una fórmula de tamaño . (Definamos el tamaño de una fórmula para que sea la longitud de la fórmula cuando se escribe como una cadena). Quiero saber si esta es la construcción general más eficiente o si para cada CNF monótono de término n existe una fórmula de tamaño o ( n 2 ) .
Solo quiero saber si esto es posible, no estoy realmente interesado en un algoritmo. Si esto no es posible, una función que sirva como contraejemplo sería excelente. También se agradecen los consejos sobre dónde puedo encontrar una respuesta en la literatura.
EDITAR: Estoy agregando un ejemplo para aclarar las cosas.
fuente
Considere que para cualquier CNF puede calcular el conjunto de implicados primos (de los cuales cualquier mínimo debe ser un subconjunto) tomando el cierre bajo resolución y aplicando la eliminación de subsunción.
Por supuesto, supongo que no desea introducir nuevas variables.
fuente