Saltar al contenido

Diario de clases

Clases de Jesús Soto

Menú
  • Fórmulas
Menú

MAD: Principio de inclusión-exclusión

Posted on 18 de mayo de 2026

El principio de inclusión-exclusión permite calcular el cardinal de la unión de varios conjuntos, mediante los cardinales de cada uno de ellos y todas sus posibles intersecciones. Si consideramos que tenemos dos conjuntos finitos \(A\) y \(B\), resultará: \[|A \cup B| = |A| + |B| – |A \cap B|.\]

Imaginemos que tenemos tres conjuntos finitos:
\[|A \cup B \cup C| = |A| + |B| + |C| – |A \cap B| – |A \cap C| – |B \cap C| + |A \cap B \cap C|.\]

Ejercicio: En una clase de 1º de Ingeniería Informática con 60 alumnos, se realiza una encuesta sobre los lenguajes de programación que conocen. Los resultados son los siguientes:

  • 25 conocen Python.
  • 26 conocen Java.
  • 18 conocen C++.
  • 9 conocen Python y Java.
  • 11 conocen Java y C++.
  • 7 conocen Python y C++.
  • 3 conocen los tres lenguajes.

¿Cuántos alumnos conocen al menos uno de estos tres lenguajes? ¿Cuántos alumnos no conocen ninguno de los tres?

Para resolver este problema, utilizaremos el Principio de Inclusión-Exclusión(PIE). Definimos los siguientes conjuntos:

* $P$: Alumnos que conocen Python.
* $J$: Alumnos que conocen Java.
* $C$: Alumnos que conocen C++.

### 1. Cálculo de alumnos que conocen al menos uno

Queremos hallar el cardinal de la unión de los tres conjuntos, es decir, $|P \cup J \cup C|$. La fórmula del PIE para tres conjuntos es:

$$|P \cup J \cup C| = (|P| + |J| + |C|) – (|P \cap J| + |J \cap C| + |P \cap C|) + |P \cap J \cap C|$$

Sustituimos los valores proporcionados:

* Sumamos las capacidades individuales: $25 + 26 + 18 = 69$
* Restamos las intersecciones dobles (porque las hemos contado dos veces): $-(9 + 11 + 7) = -27$
* Sumamos la intersección triple (porque al restar las dobles, la habíamos eliminado por completo): $+3$

$$|P \cup J \cup C| = 69 – 27 + 3 = 45$$

Resultado: 45 alumnos conocen al menos uno de los lenguajes.

### 2. Alumnos que no conocen ninguno

Si el total de la clase es de 60 alumnos ($|U| = 60$), para hallar los que no conocen ninguno, simplemente restamos al total aquellos que conocen al menos uno:

$$|U| – |P \cup J \cup C| = 60 – 45 = 15$$

Resultado: 15 alumnos no conocen ninguno de los tres lenguajes.


Principio de Inclusión-Exclusión(PIE): Si A1, …, An son conjuntos finitos entonces:

\[\begin{align}\biggl|\bigcup_{i=1}^n A_i\biggr| & {} =\sum_{i=1}^n\left|A_i\right|-\sum_{i,j\,:\,1 \le i < j \le n}\left|A_i\cap A_j\right| \\& {}\qquad +\sum_{i,j,k\,:\,1 \le i < j < k \le n}\left|A_i\cap A_j\cap A_k\right|-\ \cdots\ + \left(-1\right)^{n+1} \left|A_1\cap\cdots\cap A_n\right|\end{align}\]

Una consecuencia muy práctica es la siguiente.

Si consideramos un conjunto universal $S$ y una serie de subconjuntos $A_i$ (aquellos que cumplen la propiedad $i$), la cantidad de elementos que no cumplen ninguna de las propiedades se expresa como el cardinal de la intersección de sus complementos $\bar{A}_i$.

$$\left| \bigcap_{i=1}^{n} \bar{A}_i \right| = \left| S – \bigcup_{i=1}^{n} A_i \right| = |S| – \sum_{i=1}^{n} |A_i| + \sum_{1 \le i < j \le n} |A_i \cap A_j| - \cdots + (-1)^n |A_1 \cap \cdots \cap A_n|$$ Nota: Esta estructura es la base de algoritmos de conteo en grafos y es vital para entender la complejidad de problemas combinatorios donde el espacio de búsqueda es muy grande.

Ejercicio: Un administrador de sistemas está analizando un lote de 100 peticiones HTTP sospechosas en un servidor. Para limpiar el tráfico, necesita identificar cuántas peticiones son «seguras», es decir, aquellas que no presentan ninguno de los siguientes tres fallos de seguridad:

* Propiedad $A_1$: La petición proviene de una IP en lista negra.
* Propiedad $A_2$: La petición contiene caracteres SQL maliciosos.
* Propiedad $A_3$: La petición supera el tamaño de buffer permitido.

Tras un análisis automatizado, se obtienen los siguientes datos:

* $|A_1| = 12$, $|A_2| = 18$, $|A_3| = 15$
* Peticiones con dos fallos: $|A_1 \cap A_2| = 7$, $|A_2 \cap A_3| = 8$, $|A_1 \cap A_3| = 5$
* Peticiones con los tres fallos simultáneos: $|A_1 \cap A_2 \cap A_3| = 2$

Utilizando la forma complementaria del Principio de Inclusión-Exclusión, calcula cuántas peticiones son seguras (no tienen ningún fallo).

Para resolverlo, aplicamos directamente la fórmula de la intersección de complementarios sobre el conjunto universal $|S| = 100$:

$$\left| \bigcap_{i=1}^{3} \bar{A}_i \right| = |S| – \sum |A_i| + \sum |A_i \cap A_j| – |A_1 \cap A_2 \cap A_3|$$

1. Sustituimos los valores:

* Total ($|S|$): $100$
* Suma de fallos individuales: $12 + 18 + 15 = 45$
* Suma de intersecciones dobles: $7 + 8 + 5 = 20$
* Intersección triple: $2$

2. Operamos siguiendo los signos alternados:

$$\text{Peticiones seguras} = 100 – (45) + (20) – (2)=73$$

Respuesta: Hay 73 peticiones seguras que pueden procesarse sin riesgo.


Nota: Este enfoque es mucho más eficiente cuando programamos filtros. En lugar de intentar identificar cada caso «limpio» por separado, es más sencillo restar del total las ocurrencias de errores conocidos, ajustando las intersecciones para no sobre-contar o infra-contar los casos críticos.

Ejercicio: ¿Cuántos números de 9 cifras tiene, al menos una vez cada uno, los dígitos 1, 3 y 7? Por ejemplo, 123456789, 13777777, 000000137.


Desarreglos

Uno de las aplicaciones de este principio la encontramos en la cuenta de desarreglos.

Consideremos el conjunto de las permutaciones \(S_n\), donde un elemento será de la forma:
\[\displaystyle \left(\begin{array}{cccccccc}1 & 2 & 3 & 4 & 5 \cdots & n\\ \sigma_1 & \sigma_2 & \sigma_3 & \sigma_4 & \sigma_5 \cdots & \sigma_n \end{array}\right) .\]
Siendo \(\sigma_i\in I=\{1,2,3,4,…,n\}\) y de modo que \(\sigma_i\neq \sigma_j\forall i\neq j\).
Hemos visto que \(S_n\) con la operación composición de permutaciones, \(\circ\), le confiere una estructura de grupo; \((S_n,\circ)\) es un grupo.

Definimos un desarreglo como una permutación \(\sigma\in S_n\) talque \(\sigma_i\neq i\forall i\in I\). El Principio de inclusión-exclusión nos ayuda a contar el número de desarreglos que podemos encontrar en el conjunto \(S_n\).

El número de desarreglos de \(n\) elementos también se conoce como subfatorial, a veces escrito como \(!n\), que resulta:
\[{\displaystyle !n=n!\sum _{k=0}^{n}{\frac {(-1)^{k}}{k!}}}.\]

Teniendo en cuenta que el sumatorio anterior se puede expresar como el número \(e\), puede verse que

\[{\displaystyle !n=\left\lfloor {\frac {n!}{e}}\right\rceil \qquad {\mbox{para }}n\geq 1}\]
donde \(\lfloor \,\rceil \) denota la función parte entera más cercana.

Ejercicio: Construye una función en maxima que nos devuelva $D_n$

(%i1) desarreglo(n):=round(factorial(n)/%e);

\[{ }{desarreglo}(n){:=}{round}\left( \frac{n{!}}{\% e}\right) \]

(%i2) makelist(desarreglo(i),i,0,9);

\[{ }\left[ 0{,}0{,}1{,}2{,}9{,}44{,}265{,}1854{,}14833{,}133496\right] \]


Ejercicio: Construye una función en maxima que nos devuelva \(D_n\) utilizando
\[{\displaystyle !n=n!\sum _{k=0}^{n}{\frac {(-1)^{k}}{k!}}}.\]

(%i4) D(n):=factorial(n)·sum((−1)^k/factorial(k),k,0,n);
makelist(desarreglo(i),i,0,9);

\[\operatorname{ }\operatorname{D}(n)\operatorname{:=}n\operatorname{!} \sum_{k=0}^{n}{\left. \frac{{{\left( -1\right) }^{k}}}{k\operatorname{!}}\right.}\]

\[\operatorname{ }\left[ 0\operatorname{,}0\operatorname{,}1\operatorname{,}2\operatorname{,}9\operatorname{,}44\operatorname{,}265\operatorname{,}1854\operatorname{,}14833\operatorname{,}133496\right] \]


Proposición: Los desarreglos siguen la relación de recurrencia \[D_n = (n-1)(D_{n-1} + D_{n-2}).\]

Ejercicio: Construye una función recursiva en maxima que nos devuelva \(D_n\)

(%i6) /* Definimos los casos base y la regla */
D_rec ( n ) : = if n = 0 then 1 else if n = 1 then 0 else ( n − 1 ) · ( D_rec ( n − 1 ) + D_rec ( n − 2 ) ) ;

makelist ( D_rec ( i ) , i , 0 , 9 ) ;

\[\operatorname{ }\operatorname{D\_ rec}(n)\operatorname{:=}\operatorname{if}\operatorname{ }n=0\operatorname{ }\operatorname{then}\operatorname{ }1\operatorname{ }\operatorname{else}\operatorname{ }\operatorname{if}\operatorname{ }n=1\operatorname{ }\operatorname{then}\operatorname{ }0\operatorname{ }\operatorname{else}\operatorname{ }\left( n-1\right) \, \left( \operatorname{D\_ rec}\left( n-1\right) +\operatorname{D\_ rec}\left( n-2\right) \right) \]

\[\operatorname{ }\left[ 1\operatorname{,}0\operatorname{,}1\operatorname{,}2\operatorname{,}9\operatorname{,}44\operatorname{,}265\operatorname{,}1854\operatorname{,}14833\operatorname{,}133496\right] \]


Imaginemos que ahora pretendemos dejar fijos \(k\) elementos y los restantes se desarreglen; es decir, queremos contar el número de permutaciones de \(n\) elementos que dejan fijos \(k\) de ellos. Este era el problema de los encuentros que ya vimos. Sin embargo, ahora lo podemos afrontar mediante desarreglos:
\[T(n,k)=\binom{n}{k}\,!(n-k)\]

Por último, un resultado que podemos obtener aplicando este tema:

Teorema El número de de aplicaciones sobreyectivas diferentes que se pueden establecer de un conjunto \(A\) de cardinal \(n\) en otro conjunto \(B\) de cardinal \(r\) con \(r\leq n\) es \[ \sum_{i=0}^r(-1)^i\binom{r}{i}(r-i)^n. \]


Ejercicio: ¿Cuál es el valor de \(B_5-B_4\)?

  • 28
  • 37
  • 41

B.)

\[B_5-B_4=\sum_{k=0}^5 \left\{{5\atop k}\right\}-\sum_{k=0}^4 \left\{{4\atop k}\right\}\]

\[\begin{split}B_5&=\sum_{k=0}^5 \left\{{5\atop k}\right\}\\
&=\left\{{5\atop 0}\right\}+\left\{{5\atop 1}\right\}+\left\{{5\atop 2}\right\}+\left\{{5\atop 3}\right\}+\left\{{5\atop 4}\right\}+\left\{{5\atop 5}\right\}\\
&=\left\{{5\atop 0}\right\}+\left[\left\{{4\atop 0}\right\}+1\cdot\left\{{4\atop 1}\right\}\right]+\left[\left\{{4\atop 1}\right\}+2\cdot\left\{{4\atop 2}\right\}\right]+\left[\left\{{4\atop 2}\right\}+3\cdot\left\{{4\atop 3}\right\}\right]+\left[\left\{{4\atop 3}\right\}+4\cdot\left\{{4\atop 4}\right\}\right]+\left\{{5\atop 5}\right\}\\
&\qquad\left(\left\{{4\atop 0}\right\}=\left\{{5\atop 0}\right\},\ \left\{{4\atop 4}\right\}=\left\{{5\atop 5}\right\}\right)\\
&=\left\{{4\atop 0}\right\}+\left[\left\{{4\atop 0}\right\}+1\cdot\left\{{4\atop 1}\right\}\right]+\left[\left\{{4\atop 1}\right\}+2\cdot\left\{{4\atop 2}\right\}\right]+\left[\left\{{4\atop 2}\right\}+3\cdot\left\{{4\atop 3}\right\}\right]+\left[\left\{{4\atop 3}\right\}+4\cdot\left\{{4\atop 4}\right\}\right]+\left\{{4\atop 4}\right\}\\
&=\left[\left\{{4\atop 0}\right\}+\left\{{4\atop 1}\right\}+\left\{{4\atop 2}\right\}+\left\{{4\atop 3}\right\}+\left\{{4\atop 4}\right\}\right]+\left[\left\{{4\atop 0}\right\}+1\cdot\left\{{4\atop 1}\right\}+2\cdot\left\{{4\atop 2}\right\}+3\cdot\left\{{4\atop 3}\right\}+4\cdot\left\{{4\atop 4}\right\}\right]\\
&=\sum_{k=0}^4 (k+1)\cdot\left\{{4\atop k}\right\}\\
&=B_4+\sum_{k=0}^4 k\cdot\left\{{4\atop k}\right\}
\end{split}\]

\[B_5-B_4=\displaystyle\sum_{k=0}^4 k\left\{{4\atop k}\right\}=37\]

MAD: Particiones con maxima

Posted on 13 de mayo de 2026

Recordemos que los números de Bell cumplen una relación de recurrencia muy interesante:\[B_n=\sum_{k=0}^{n-1}B_k\binom{n-1}{k}\] Ejercicio: Utilizando la fórmula anterior, construir un algoritmo en maxima que nos calcule cualquier número de Bell. Solución: Primero…

MAD: Particiones

Posted on 11 de mayo de 2026

Partición Una partición del conjunto A es una familia P de subconjuntos no vacíos de A, disjuntos dos a dos, cuya unión es A. Es decir, \(P= \{A_i: i\in I\}\), donde se…

MAD: Combinaciones con maxima

Posted on 6 de mayo de 2026

Sabemos que \[\binom{n}{k} = \binom{n-1}{k-1} + \binom{n-1}{k}\] Ejercicio: Crear una función recursiva que nos permita calcular \[\binom{n}{k}\] Solución: (%i1) /* Definición de la función para un número binomial recursiva */binomio(n,k):=    if…

MAD: Números binomiales y combinaciones

Posted on 4 de mayo de 2026

Números binomiales Definición: Llamaremos número binomial, o coeficiente binomial, a la expresión \(\binom{n}{k}\), dada por la fórmula: \[{\displaystyle {n \choose k}={\frac {n!}{k!(n-k)!}}}\] Teorema (Fórmula de Stiefel): Sea \({n\choose 0}={n\choose n}=1,\ \forall n\in\mathbb{Z}^+,\)…

MAD: Teoría combinatoria

Posted on 29 de abril de 2026

Comenzamos la parte de Teoría combinatoria, recordando las definiciones de Conjuntos, cardinalidad, partes de un conjunto. Unión e intersección de conjuntos. Aplicaciones entre conjuntos finitos Dominio, rango e imagen. Inyectivas, sobreyectivas biyectivas…

MAD: Grafos Eulerianos, Hamiltonianos, planos, mapas, regiones y coloración de grafos

Posted on 27 de abril de 2026

Grafos Eulerianos Un camino euleriano es un camino que pasa por cada arista una y solo una vez. Un ciclo o circuito euleriano es un camino cerrado que recorre cada arista exactamente…

MAD: Laplaciana de un grafo

Posted on 22 de abril de 2026

Sea \(G(V,E)\) un grafo simple y sin bucles con \(|V|=n\) y sea \(A\) la matriz \(n\times n\) de adyacencia del grafo. Como la matriz es real y simétrica, se puede diagonalizar mediante…

MAD: Árboles

Posted on 20 de abril de 2026

1. Definición y Caracterización Un árbol es un grafo simple G = (V, E) que cumple cualquiera de las siguientes condiciones equivalentes: Conectividad y Ciclos: Es un grafo conexo y no contiene…

MAD: Representación matricial de un grafo

Posted on 15 de abril de 2026

Matriz de adyacencia Si tenemos un grafo \(G=(V,E)\) donde \(V=\{v_1,…,v_n\}\), llamamos matriz de adyacencia del grafo a la matriz cuadrada nxn, \(A=[a_{ij}]\), donde \[a_{ij}=\left\{\begin{matrix}1 & \mbox{si } \{v_i,v_j\}\in E\\ 0 & \mbox{si…

Paginación de entradas

1 2 … 9 Siguientes

Novela

La Loba, la lucha fraticida por un reino

La Loba, la lucha fratricida por un reino.

Urraca, señora de Zamora, acusada de instigar la muerte de su hermano, el rey Sancho de Castilla, deberá defenderse de la acusación, al tiempo que luchará por mantener la cohesión entre los hermanos y los reinos cristianos: una lobera de fieros lobeznos.

👉 En amazon

Entradas recientes

  • MAD: Principio de inclusión-exclusión
  • MAD: Particiones con maxima
  • MAD: Particiones
  • MAD: Combinaciones con maxima
  • MAD: Números binomiales y combinaciones
mayo 2026
L M X J V S D
 123
45678910
11121314151617
18192021222324
25262728293031
« Abr    

Categorías

  • Álgebra Lineal
  • general
  • Matemática Discreta
  • MathBio

Etiquetas

Prácticas MAD Prácticas MathBio Prácticas Álgebra

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
©2026 Diario de clases | Diseño: Tema de WordPress Newspaperly