Las operaciones booleanas permiten construir expresiones con valores 0/1 o falso/verdadero, y la simplificación permite reducirlas sin cambiar su comportamiento.
El álgebra booleana permite operar con valores lógicos mediante NOT, AND, OR y otras operaciones derivadas. Con esas operaciones construimos expresiones booleanas.
Simplificar una expresión booleana significa transformarla en otra equivalente, generalmente más corta, clara o eficiente.
| Operación | Símbolo lógico | Forma booleana | JavaScript |
|---|---|---|---|
| NOT | ¬p | p' | !p |
| AND | p ∧ q | p · q | p && q |
| OR | p ∨ q | p + q | p || q |
Además de NOT, AND y OR, existen operaciones derivadas importantes.
| Operación | Significado | Expresión equivalente |
|---|---|---|
| NAND | No AND | ¬(p ∧ q) |
| NOR | No OR | ¬(p ∨ q) |
| XOR | O exclusivo | (p ∧ ¬q) ∨ (¬p ∧ q) |
| XNOR | Equivalencia | (p ∧ q) ∨ (¬p ∧ ¬q) |
La simplificación busca una expresión equivalente que sea más fácil de usar.
| Ley | Ejemplo |
|---|---|
| Identidad | p ∧ 1 = p, p ∨ 0 = p |
| Dominación | p ∧ 0 = 0, p ∨ 1 = 1 |
| Complemento | p ∧ ¬p = 0, p ∨ ¬p = 1 |
| Idempotencia | p ∧ p = p, p ∨ p = p |
| De Morgan | ¬(p ∧ q) = ¬p ∨ ¬q |
| Distributiva | (p ∧ q) ∨ (p ∧ r) = p ∧ (q ∨ r) |
Simplifiquemos:
Paso a paso:
Simplifiquemos:
Una proposición y su negación no pueden ser verdaderas al mismo tiempo:
Simplifiquemos:
Factorizamos p:
Simplifiquemos:
Factorizamos p:
Como q ∨ ¬q = 1:
Expresión original:
const puedeAcceder = (cuentaActiva && esAdmin) || (cuentaActiva && esEditor);
Forma simplificada:
const puedeAcceder = cuentaActiva && (esAdmin || esEditor);
Las leyes de De Morgan ayudan a reescribir negaciones complejas.
const invalido = !(nombreValido && emailValido);
Forma equivalente:
const invalido = !nombreValido || !emailValido;
Podemos verificar una simplificación probando todas las combinaciones booleanas.
const valores = [true, false];
for (const p of valores) {
for (const q of valores) {
const original = !(p && q);
const simplificada = !p || !q;
console.log(original === simplificada);
}
}
En circuitos digitales, simplificar una expresión booleana puede reducir la cantidad de puertas necesarias.
La forma original requiere varias operaciones. La forma simplificada requiere solo la señal p.
Las operaciones booleanas permiten construir reglas lógicas, y la simplificación permite expresarlas de forma más clara o eficiente. Esta base será útil para estudiar puertas lógicas digitales.
En el próximo tema estudiaremos las puertas lógicas digitales.