32. Álgebra de conjuntos

El álgebra de conjuntos estudia reglas para operar, transformar y simplificar expresiones formadas por conjuntos. Permite razonar con precisión sobre datos, condiciones y relaciones.

32.1 Introducción

El álgebra de conjuntos reúne las operaciones y propiedades que permiten manipular expresiones con conjuntos. Así como el álgebra numérica transforma expresiones con números y variables, el álgebra de conjuntos transforma expresiones con unión, intersección, diferencia y complemento.

Esta herramienta es útil para simplificar condiciones, comparar consultas, demostrar equivalencias y razonar sobre colecciones de datos.

32.2 Operaciones principales

Las operaciones básicas del álgebra de conjuntos son unión, intersección, diferencia, diferencia simétrica y complemento.

Operación Notación Idea
Unión A ∪ B Elementos que están en A o en B
Intersección A ∩ B Elementos comunes a A y B
Diferencia A - B Elementos de A que no están en B
Diferencia simétrica A △ B Elementos que están en uno de los conjuntos, pero no en ambos
Complemento Aᶜ Elementos del universo que no están en A

32.3 Universo y conjunto vacío

El álgebra de conjuntos necesita dos conjuntos especiales: el conjunto universal U y el conjunto vacío .

U: contiene todos los elementos del contexto ∅: no contiene elementos

Muchas identidades dependen de estos dos conjuntos.

32.4 Identidades básicas

Las identidades permiten eliminar operaciones que no cambian el resultado.

A ∪ ∅ = A A ∩ U = A

Unir con el vacío no agrega elementos. Intersectar con el universo no elimina elementos de A.

32.5 Leyes de dominación

Algunas operaciones producen un resultado determinado sin importar el contenido de A.

A ∪ U = U A ∩ ∅ = ∅

El universo domina la unión y el vacío domina la intersección.

32.6 Idempotencia

Repetir un conjunto en una unión o intersección no cambia el resultado.

A ∪ A = A A ∩ A = A

Esto refleja que los conjuntos no duplican elementos.

32.7 Conmutatividad y asociatividad

La unión y la intersección permiten cambiar el orden y la forma de agrupar.

A ∪ B = B ∪ A A ∩ B = B ∩ A (A ∪ B) ∪ C = A ∪ (B ∪ C) (A ∩ B) ∩ C = A ∩ (B ∩ C)

Estas propiedades permiten reordenar expresiones para simplificarlas.

32.8 Distributividad

La unión y la intersección se distribuyen una sobre la otra.

A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)

Estas reglas son útiles para transformar condiciones compuestas.

32.9 Complemento

El complemento conecta un conjunto con el universo y el vacío.

A ∪ Aᶜ = U A ∩ Aᶜ = ∅ (Aᶜ)ᶜ = A

El complemento de A contiene exactamente lo que falta para completar el universo.

32.10 Leyes de De Morgan

Las leyes de De Morgan permiten transformar complementos de uniones e intersecciones.

(A ∪ B)ᶜ = Aᶜ ∩ Bᶜ (A ∩ B)ᶜ = Aᶜ ∪ Bᶜ

Estas leyes conectan directamente el álgebra de conjuntos con la lógica booleana.

32.11 Absorción

Las leyes de absorción reducen expresiones donde un conjunto ya contiene la información necesaria.

A ∪ (A ∩ B) = A A ∩ (A ∪ B) = A

Son especialmente útiles para eliminar partes redundantes.

32.12 Diferencia expresada con complemento

La diferencia puede reescribirse usando intersección y complemento.

A - B = A ∩ Bᶜ

Esto significa que tomamos los elementos de A y excluimos los que pertenecen a B.

32.13 Diferencia simétrica

La diferencia simétrica puede expresarse de varias formas equivalentes.

A △ B = (A - B) ∪ (B - A) A △ B = (A ∪ B) - (A ∩ B)

Ambas expresiones describen elementos que están en uno de los conjuntos, pero no en ambos.

32.14 Ejemplo de simplificación

Simplifiquemos una expresión usando propiedades del álgebra de conjuntos.

(A ∩ U) ∪ (A ∩ B) = A ∪ (A ∩ B) = A

Primero usamos identidad de la intersección. Luego usamos absorción.

32.15 Interpretación en lógica

El álgebra de conjuntos se parece mucho al álgebra booleana. La unión se relaciona con "o", la intersección con "y", y el complemento con "no".

Conjuntos Lógica Interpretación
A ∪ B A o B Cumple al menos una condición
A ∩ B A y B Cumple ambas condiciones
Aᶜ no A No cumple la condición A

32.16 Operaciones en JavaScript

Podemos implementar operaciones de conjuntos con Set.

function union(a, b) {
  return new Set([...a, ...b]);
}

function interseccion(a, b) {
  return new Set([...a].filter(elemento => b.has(elemento)));
}

function diferencia(a, b) {
  return new Set([...a].filter(elemento => !b.has(elemento)));
}

function complemento(universo, conjunto) {
  return diferencia(universo, conjunto);
}

Estas funciones permiten construir expresiones más complejas.

32.17 Verificar una identidad en JavaScript

Podemos verificar una identidad comparando ambos lados con conjuntos concretos.

function union(a, b) {
  return new Set([...a, ...b]);
}

function interseccion(a, b) {
  return new Set([...a].filter(elemento => b.has(elemento)));
}

function diferencia(a, b) {
  return new Set([...a].filter(elemento => !b.has(elemento)));
}

function complemento(universo, conjunto) {
  return diferencia(universo, conjunto);
}

function sonIguales(a, b) {
  return a.size === b.size && [...a].every(elemento => b.has(elemento));
}

const universo = new Set([1, 2, 3, 4, 5, 6]);
const a = new Set([1, 2, 3]);
const b = new Set([3, 4]);

const izquierda = complemento(universo, union(a, b));
const derecha = interseccion(complemento(universo, a), complemento(universo, b));

console.log([...izquierda]);
console.log([...derecha]);
console.log(sonIguales(izquierda, derecha));

El ejemplo verifica la ley de De Morgan (A ∪ B)ᶜ = Aᶜ ∩ Bᶜ.

32.18 Aplicaciones prácticas

Área Uso del álgebra de conjuntos Ejemplo
Filtros Simplificar condiciones Usuarios activos y suscriptos
Bases de datos Comparar consultas equivalentes Uniones, intersecciones y exclusiones
Permisos Combinar y excluir accesos Permisos asignados menos bloqueados
Testing Validar resultados esperados Comparar conjuntos de salidas
Lógica Transformar expresiones Aplicar De Morgan a condiciones negadas

32.19 Errores frecuentes

  • Aplicar propiedades de unión o intersección a la diferencia sin verificar.
  • Usar complementos sin definir el universo.
  • Confundir diferencia con complemento.
  • Olvidar cambiar unión por intersección al aplicar De Morgan.
  • Eliminar paréntesis y cambiar el significado de la expresión.

32.20 Qué debes recordar de este tema

  • El álgebra de conjuntos estudia operaciones y reglas de transformación.
  • Unión, intersección, diferencia y complemento son operaciones centrales.
  • Las identidades permiten simplificar expresiones.
  • Las leyes de De Morgan conectan conjuntos y lógica.
  • La diferencia puede escribirse como A ∩ Bᶜ.
  • En JavaScript, Set permite implementar y verificar operaciones de conjuntos.

32.21 Conclusión

El álgebra de conjuntos proporciona un lenguaje formal para transformar expresiones, demostrar equivalencias y simplificar razonamientos sobre colecciones. Es una base directa para lógica, consultas, filtros y programación con datos.

En el próximo tema estudiaremos conjuntos numéricos: naturales, enteros, racionales y reales.