Saltar al contenido

FNC frente a FND: qué forma normal para cada tarea

La forma normal conjuntiva es un AND de cláusulas OR; la forma normal disyuntiva es un OR de términos AND. Para (A -> B) AND (B -> C) la FNC tiene dos cláusulas y la FND tres términos, y el mapa de Karnaugh encuentra una cobertura de dos términos que la FND algebraica no vio.

El motor convierte la fórmula en los dos sentidos. Eliminar las dos implicaciones da la FNC directamente, (NOT A OR B) AND (NOT B OR C), dos cláusulas con cuatro literales: dos restricciones, cada una un eslabón de la cadena. La FND necesita además distribución y un paso de complemento, y sale como (NOT A AND NOT B) OR (NOT A AND C) OR (B AND C), tres términos. La función es VERDADERA en las filas 0, 1, 3 y 7, Σm(0, 1, 3, 7).

El mapa de Karnaugh obtiene (NOT A AND NOT B) OR (B AND C), dos grupos, mientras informa de tres implicantes primos: el término central de la FND algebraica, NOT A AND C, es el consenso de los otros dos y queda cubierto por ellos. Esa es la diferencia entre una conversión y una reducción. El conversor produce una forma normal correcta reescribiendo; el mapa busca una cobertura; ninguno se equivoca, y la comprobación exacta confirma los dos contra el original.

La elección es por uso. La FNC es lo que lee un solucionador SAT, una cláusula por restricción, y lo que produce de forma natural una especificación de requisitos. La FND es lo que una regla parece leída como casos, lo que son las columnas de una tabla de decisión, y lo que produce un mapa de Karnaugh. Los recuentos de compuertas, once NAND y cinco NOR aquí, siguen la estructura y no el nombre de la forma.

Ejemplo

f := (A -> B) AND (B -> C) · salida

Comprobaciones exactas

¿Siempre verdadera (tautología)? No Contraejemplo: A = F, B = V, C = F · Exhaustively checked and solver cross-checked · 3 filas
¿Siempre falsa (contradicción)? No Contraejemplo: A = F, B = F, C = F · Exhaustively checked and solver cross-checked · 1 filas
¿Puede ser verdadera? Sí Asignación de ejemplo: A = F, B = F, C = F · Exhaustively checked and solver cross-checked · 1 filas

Tabla de verdad (8 filas)

FNC frente a FND: qué forma normal para cada tarea
#ABCf
0FALSOFALSOFALSOVERDADERO
1FALSOFALSOVERDADEROVERDADERO
2FALSOVERDADEROFALSOFALSO
3FALSOVERDADEROVERDADEROVERDADERO
4VERDADEROFALSOFALSOFALSO
5VERDADEROFALSOVERDADEROFALSO
6VERDADEROVERDADEROFALSOFALSO
7VERDADEROVERDADEROVERDADEROVERDADERO

Diagrama lógico

CNF vs DNF: differences, examples and when to use each CNF vs DNF: differences, examples and when to use each A B C f AND → →
CNF vs DNF: differences, examples and when to use each CNF vs DNF: differences, examples and when to use each A B C f AND → →

Mapa de Karnaugh

A \ BC
00
01
11
10
0
1m0
1m1
1m3
0m2
1
0m4
0m5
1m7
0m6
  1. celdas m0, m1NOT A AND NOT B
  2. celdas m3, m7B AND C
(NOT A AND NOT B) OR (B AND C) · Derived (NOT A AND NOT B) OR (B AND C). Exactly equivalent on every assignment.

Mintérminos y maxtérminos

f(A, B, C) = Σm(0, 1, 3, 7)f(A, B, C) = ΠM(2, 4, 5, 6)

Orden de variables: A, B, C · 8 filas

Formas normales

Forma normal conjuntiva (FNC)

(NOT A OR B) AND (NOT B OR C)

2 cláusulas, 4 literales · complete · Eliminación de la implicación ×2

Forma normal disyuntiva (FND)

(NOT A AND NOT B) OR (NOT A AND C) OR (B AND C)

3 términos, 6 literales · complete · Eliminación de la implicación ×2, Distributividad ×1, Complemento ×1

Solo NAND, solo NOR

Forma solo con NAND

NAND(NAND(NAND(A, NAND(B, B)), NAND(B, NAND(C, C))), NAND(NAND(A, NAND(B, B)), NAND(B, NAND(C, C))))

11 compuertas · equivalencia verificada en todas las filas

Forma solo con NOR

NOR(NOR(NOR(A, A), B), NOR(NOR(B, B), C))

5 compuertas · equivalencia verificada en todas las filas

El error habitual

Esperar que la FND sea la forma OR-de-AND más corta. La FND de tres términos del conversor es una forma normal válida con un término de consenso que el mapa elimina; «forma normal» promete una forma, no la ausencia de términos eliminables.

Preguntas

¿Una fórmula puede tener varias FND?

Sí. La FND canónica, un mintérmino por fila VERDADERA, es única; las FND más cortas no lo son, y (NOT A AND NOT B) OR (B AND C) y la forma de tres términos son ambas FND de esta función.

¿Por qué la FNC conviene a los solucionadores?

Porque la operación central de un solucionador es comprobar cláusulas, cada una un OR de literales que debe satisfacerse, y la propagación unitaria trabaja cláusula a cláusula. La exportación a SMT-LIB formula sus preguntas para que el trabajo del solucionador sea exactamente este.

Relacionado

Ejercicios

Véase también

Comparar

Generado a partir del motor de Tangibool, semántica tangibool-semantics/1, motor 1.0.0, compilación . Cada tabla, mapa, simplificación y veredicto de estas páginas lo calculó el motor de Tangibool al compilar el sitio, y cada afirmación la volvió a comprobar el mismo verificador exacto que usa la app. Los límites se indican donde aplican. © 2026 Foreranger LTD.