Los diagramas de Venn ayudan a organizar datos de conjuntos superpuestos. Al separar las regiones correctamente, podemos resolver problemas de conteo, pertenencia y condiciones combinadas.
Los diagramas de Venn son especialmente útiles cuando un problema menciona grupos que pueden superponerse. En esos casos, contar directamente puede llevar a errores porque algunos elementos pertenecen a más de un conjunto.
La clave es dividir el universo en regiones: solo A, solo B, ambos, ninguno y, cuando hay tres conjuntos, las regiones correspondientes a cada combinación posible.
Para resolver problemas con diagramas de Venn, conviene seguir un procedimiento ordenado.
Cuando un dato dice que una cantidad pertenece a dos conjuntos, esa cantidad debe ubicarse en la región común. Si no empezamos por la intersección, podemos contar esos elementos dos veces.
La región común se resta luego de los totales de A y B para obtener las regiones exclusivas.
En un curso hay 40 estudiantes. 25 usan JavaScript, 18 usan SQL y 10 usan ambos lenguajes. ¿Cuántos usan solo JavaScript, cuántos solo SQL y cuántos no usan ninguno de los dos?
Primero ubicamos la intersección: 10 estudiantes usan ambos lenguajes.
Luego calculamos cuántos usan al menos uno:
Finalmente, los que no usan ninguno son:
La fórmula de inclusión-exclusión evita contar dos veces la intersección.
En el ejemplo anterior:
| Región | Cálculo | Resultado |
|---|---|---|
| Solo JavaScript | 25 - 10 | 15 |
| Solo SQL | 18 - 10 | 8 |
| Ambos | Dato directo | 10 |
| Ninguno | 40 - 33 | 7 |
En un grupo de 60 personas, 30 conocen JavaScript, 28 conocen SQL y 20 conocen HTML. Además, 12 conocen JavaScript y SQL, 10 conocen JavaScript y HTML, 8 conocen SQL y HTML, y 5 conocen los tres. ¿Cuántas personas conocen al menos una tecnología?
Para tres conjuntos, sumamos los tamaños individuales, restamos las intersecciones de a dos y volvemos a sumar la intersección triple.
Aplicando los datos:
Por lo tanto, 45 personas conocen al menos una tecnología.
Cuando las intersecciones de a dos incluyen también a quienes pertenecen a los tres conjuntos, primero se calcula la región triple y luego se resta de cada intersección doble.
Luego se pueden calcular las regiones que pertenecen solo a un conjunto.
| Región | Cálculo | Resultado |
|---|---|---|
| Solo A ∩ B | 12 - 5 | 7 |
| Solo A ∩ C | 10 - 5 | 5 |
| Solo B ∩ C | 8 - 5 | 3 |
| Solo A | 30 - 7 - 5 - 5 | 13 |
| Solo B | 28 - 7 - 3 - 5 | 13 |
| Solo C | 20 - 5 - 3 - 5 | 7 |
| A ∩ B ∩ C | Dato directo | 5 |
La suma de las regiones internas es 45, coincidiendo con la fórmula de inclusión-exclusión.
Podemos calcular la unión de varios conjuntos y obtener su cardinalidad con Set.
function union(...conjuntos) {
return new Set(conjuntos.flatMap(conjunto => [...conjunto]));
}
const javascript = new Set(["Ana", "Luis", "Carla"]);
const sql = new Set(["Luis", "Diego", "Carla"]);
const html = new Set(["Carla", "María"]);
const alMenosUna = union(javascript, sql, html);
console.log([...alMenosUna]);
console.log(alMenosUna.size);
El conjunto resultante contiene cada persona una sola vez, aunque aparezca en más de un grupo.
También podemos separar regiones como "solo A" o "A y B".
function union(...conjuntos) {
return new Set(conjuntos.flatMap(conjunto => [...conjunto]));
}
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)));
}
const javascript = new Set(["Ana", "Luis", "Carla"]);
const sql = new Set(["Luis", "Diego", "Carla"]);
const html = new Set(["Carla", "María"]);
const soloJavaScript = diferencia(javascript, union(sql, html));
const javascriptYSql = interseccion(javascript, sql);
console.log([...soloJavaScript]);
console.log([...javascriptYSql]);
Estas funciones permiten traducir regiones del diagrama a operaciones entre conjuntos.
| Área | Uso del diagrama | Ejemplo |
|---|---|---|
| Encuestas | Analizar preferencias superpuestas | Personas que usan varias tecnologías |
| Marketing | Comparar segmentos de clientes | Clientes con compra, suscripción y cupón |
| Bases de datos | Entender condiciones combinadas | Registros que cumplen uno o varios filtros |
| Permisos | Visualizar roles y accesos | Usuarios con permisos compartidos o exclusivos |
Resolver problemas con diagramas de Venn consiste en separar correctamente las regiones y evitar conteos duplicados. Esta técnica combina razonamiento visual con operaciones formales de conjuntos.
En el próximo tema estudiaremos el producto cartesiano.