Matemática discreta: pack de repaso

Hojas de fórmulas, los pasos clave de los métodos de cada tema y 8 problemas de práctica, con las soluciones completas al final.

Problemas nuevosVolver a la asignatura

En la ventana de impresión, elige «Guardar como PDF» para conservar una copia en tu dispositivo.

1Fórmulas y métodos

Lógica proposicional y demostraciones

Filas de una tabla de verdad
2ⁿ
Implicación
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
Implicación negada
¬(p → q) ≡ p ∧ ¬q
Bicondicional
p ↔ q ≡ (p → q) ∧ (q → p)
De Morgan
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
Leyes distributivas
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
Cuantificadores negados
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
Modus ponens, modus tollens
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

Método

  1. Cuenta las variables distintas: la tabla de verdad tiene 2ⁿ filas, y la primera tiene todas ellas en 1.
  2. Dale a cada subfórmula su propia columna y rellena las columnas de dentro hacia fuera.
  3. Aplica la regla de cada conectivo: → solo es 0 en 1 → 0, y ↔ vale 1 cuando ambos lados coinciden.
  4. Para las equivalencias, compara las columnas finales fila por fila; para un argumento, mira solo las filas en las que todas las premisas valen 1.
  5. Para negar un enunciado cuantificado, desplaza ¬ hacia dentro, intercambia ∀ y ∃ y niega la fórmula interior.

Conjuntos, relaciones y funciones

Dos conjuntos
|A ∪ B| = |A| + |B| − |A ∩ B|
Tres conjuntos
|A ∪ B ∪ C| = |A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| + |A ∩ B ∩ C|
Diferencia y complemento
A − B = A ∩ B′, |A′| = |U| − |A|
Conjunto potencia y producto
|𝒫(A)| = 2|A|, |A × B| = |A|·|B|
Subconjuntos de tamaño k
C(n, k) = n!/(k!(n − k)!)
Funciones A → B
nᵐ; injective n!/(n − m)!; surjective Σ (−1)ᵏ C(n, k)(n − k)ᵐ
Relaciones en n elementos
2n²; reflexive 2n² − n; symmetric 2n(n+1)/2
Composición
(g ∘ f)(x) = g(f(x))

Método

  1. Dibuja un diagrama de Venn y decide región por región qué pertenece a la expresión de conjuntos.
  2. En los problemas de recuento, rellena las regiones desde el centro hacia fuera: primero todos los conjuntos, luego los pares, después los conjuntos sueltos y por último el exterior.
  3. Usa la inclusión–exclusión como comprobación: |A ∪ B| = |A| + |B| − |A ∩ B|.
  4. En una relación, comprueba cada propiedad en todos los pares y da un contraejemplo cuando falle.
  5. En una función, cuenta las flechas que llegan a cada elemento de B: como mucho una significa inyectiva, al menos una, sobreyectiva.

Teoría de grafos

Lema del apretón de manos
Σ deg(v) = 2|E|
Grafos completos
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Grafo regular
|E| = n·k/2
Árbol y bosque
|E| = n − 1, |E| = n − c
Hojas de un árbol
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
circuito: todos los grados pares; camino: exactamente 2 grados impares
Circuitos de Hamilton en Kn
(n − 1)!/2
Actualización de Dijkstra
d(v) = min(d(v), d(u) + w(u, v))
Recorridos de longitud L
(Mᴸ)ij

Método

  1. Anota el grado de cada vértice; los grados suman el doble del número de aristas.
  2. En las preguntas de Euler, comprueba que el grafo sea conexo y cuenta los vértices de grado impar.
  3. En los árboles, usa n − 1 aristas y el lema del apretón de manos.
  4. En Dijkstra, lleva una tabla de distancias provisionales y fija en cada ronda el vértice no fijado de menor distancia.
  5. Para un árbol generador mínimo, ordena las aristas por peso y descarta toda arista que cierre un ciclo (Kruskal), o haz crecer un único árbol desde un vértice inicial (Prim).

Teoría de números y aritmética modular

División con resto
a = q·n + r, 0 ≤ r < n
Euclides
gcd(a, b) = gcd(b, a mod b)
Mínimo común múltiplo
lcm(a, b) = a·b/gcd(a, b)
Inversa
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Congruencia lineal
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Función φ de Euler
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

Método

  1. Reduce primero cada número módulo n; los restos están entre 0 y n − 1.
  2. Para un mcd, divide repetidamente con el algoritmo de Euclides; el último resto distinto de cero es el mcd.
  3. Para un inverso, aplica el algoritmo extendido y quédate con el coeficiente de a; suma n si es negativo.
  4. Resuelve a·x ≡ b multiplicando por a⁻¹; combina dos congruencias escribiendo x = r₁ + m₁k.
  5. Para las potencias, escribe el exponente en binario y eleva al cuadrado repetidamente; en RSA, d = e⁻¹ mod φ(n) con φ(n) = (p − 1)(q − 1).

2Problemas de práctica

1.Lógica proposicional y demostracionesMedia
abc(¬a ∧ c) → ¬bc ∧ b((¬a ∧ c) → ¬b) → (c ∧ b)111?110?101?100?011?010?001?000?

¿En cuántas de las 8 filas de su tabla de verdad es verdadera ((¬a ∧ c) → ¬b) → (c ∧ b)? Llama a ese número N.

((¬a ∧ c) → ¬b) → (c ∧ b)
N =
2.Lógica proposicional y demostracionesDifícil
¬p ∧ qp¬pq

Se dan las premisas p → r; r → q; ¬q. ¿Qué conclusión se sigue de ellas? Haz clic en ella.

p → rr → q¬q
  1. 1¬p ∧ q
  2. 2p
  3. 3¬p
  4. 4q
3.Conjuntos, relaciones y funcionesMedia
1234

R = {(1, 3), (1, 4), (2, 4), (3, 2), (3, 4)} es una relación en {1, 2, 3, 4}. ¿Cuál es el menor número k de pares ordenados que hay que añadir a R para hacerla reflexiva?

R = {(1, 3), (1, 4), (2, 4), (3, 2), (3, 4)}
k =
4.Conjuntos, relaciones y funcionesDifícil

¿Cuántas relaciones distintas hay en un conjunto de 3 elementos? Llama al número N.

|X| = 3
N =
5.Teoría de grafosMedia

¿Cuántos circuitos de Hamilton distintos, H, tiene el grafo completo K8? Los circuitos que solo difieren en el vértice inicial o en el sentido cuentan como el mismo.

K8
H =
6.Teoría de grafosDifícil
14102112131215155ABCDEFG

El algoritmo de Dijkstra se ejecuta desde A. Haz clic en el vértice que se fija (se hace permanente) en la ronda 6; la propia A es la ronda 1.

inicio: Aronda 6
  1. 1A
  2. 2B
  3. 3C
  4. 4D
  5. 5E
  6. 6F
  7. 7G
7.Teoría de números y aritmética modularMedia

Halla el menor entero positivo x con x ≡ 9 (mod 11) y x ≡ 3 (mod 13).

x ≡ 9 (mod 11)x ≡ 3 (mod 13)
x =
8.Teoría de números y aritmética modularDifícil
mc = me​ mod n253m = cd​ mod n?(n, e) = (1247, 11)d

Una clave RSA usa p = 29, q = 43 y e = 11. Descifra el texto cifrado c = 253: halla el mensaje m.

p = 29q = 43e = 11c = 253
m =

3Disoluciones

1.Lógica proposicional y demostraciones

Respuesta: N = 2

Tablas de verdad: una fórmula con n variables distintas tiene 2ⁿ filas, una por cada combinación de valores de verdad (1 = verdadero, 0 = falso). Trabaja de dentro hacia fuera y dale a cada subfórmula su propia columna. ¬a invierte el valor; a ∧ b vale 1 solo cuando ambos son 1; a ∨ b vale 0 solo cuando ambos son 0; a → b vale 0 solo cuando a = 1 y b = 0; a ↔ b vale 1 cuando ambos lados son iguales.

Tabla de verdad fila por fila

a = 1, b = 1, c = 1: ¬a = 0, ¬a ∧ c = 0, ¬b = 0, (¬a ∧ c) → ¬b = 1, c ∧ b = 1, ((¬a ∧ c) → ¬b) → (c ∧ b) = 1
a = 1, b = 1, c = 0: ¬a = 0, ¬a ∧ c = 0, ¬b = 0, (¬a ∧ c) → ¬b = 1, c ∧ b = 0, ((¬a ∧ c) → ¬b) → (c ∧ b) = 0
a = 1, b = 0, c = 1: ¬a = 0, ¬a ∧ c = 0, ¬b = 1, (¬a ∧ c) → ¬b = 1, c ∧ b = 0, ((¬a ∧ c) → ¬b) → (c ∧ b) = 0
a = 1, b = 0, c = 0: ¬a = 0, ¬a ∧ c = 0, ¬b = 1, (¬a ∧ c) → ¬b = 1, c ∧ b = 0, ((¬a ∧ c) → ¬b) → (c ∧ b) = 0
a = 0, b = 1, c = 1: ¬a = 1, ¬a ∧ c = 1, ¬b = 0, (¬a ∧ c) → ¬b = 0, c ∧ b = 1, ((¬a ∧ c) → ¬b) → (c ∧ b) = 1
a = 0, b = 1, c = 0: ¬a = 1, ¬a ∧ c = 0, ¬b = 0, (¬a ∧ c) → ¬b = 1, c ∧ b = 0, ((¬a ∧ c) → ¬b) → (c ∧ b) = 0
a = 0, b = 0, c = 1: ¬a = 1, ¬a ∧ c = 1, ¬b = 1, (¬a ∧ c) → ¬b = 1, c ∧ b = 0, ((¬a ∧ c) → ¬b) → (c ∧ b) = 0
a = 0, b = 0, c = 0: ¬a = 1, ¬a ∧ c = 0, ¬b = 1, (¬a ∧ c) → ¬b = 1, c ∧ b = 0, ((¬a ∧ c) → ¬b) → (c ∧ b) = 0

Cuenta las filas con valor 1

((¬a ∧ c) → ¬b) → (c ∧ b): 1, 0, 0, 0, 1, 0, 0, 0
N = 2

Respuesta

N = 2
2.Lógica proposicional y demostraciones

Respuesta: ¬p

Cuantificadores y argumentos: ¬∀x P(x) ≡ ∃x ¬P(x) y ¬∃x P(x) ≡ ∀x ¬P(x). Desplaza la negación hacia dentro, intercambia cada cuantificador que atraviesa y niega la fórmula interior con las leyes proposicionales, como ¬(a → b) ≡ a ∧ ¬b. Un argumento es válido cuando la conclusión vale 1 en todas las filas en las que todas las premisas valen 1. Una sola fila con premisas verdaderas y conclusión falsa es un contraejemplo y demuestra que el argumento no es válido.

Filas con todas las premisas verdaderas

p = 0, q = 0, r = 0: ¬p ∧ q = 0, p = 0, ¬p = 1, q = 0

Conclusión

¬p (modus tollens dos veces)

Respuesta

¬p
3.Conjuntos, relaciones y funciones

Respuesta: k = 4

Relaciones: una relación R en un conjunto X es un conjunto de pares ordenados (x, y). R es reflexiva cuando (x, x) ∈ R para todo x de X; simétrica cuando (x, y) ∈ R siempre va acompañado de (y, x) ∈ R; antisimétrica cuando (x, y) y (y, x) están ambos en R solo si x = y; y transitiva cuando (x, y) y (y, z) en R obligan a que (x, z) ∈ R. Una relación de equivalencia es reflexiva, simétrica y transitiva, y divide X en clases disjuntas.

Pares que añadir

{(1, 1), (2, 2), (3, 3), (4, 4)}

Contar

k = 4

Respuesta

k = 4
4.Conjuntos, relaciones y funciones

Respuesta: N = 512

Relaciones: una relación R en un conjunto X es un conjunto de pares ordenados (x, y). R es reflexiva cuando (x, x) ∈ R para todo x de X; simétrica cuando (x, y) ∈ R siempre va acompañado de (y, x) ∈ R; antisimétrica cuando (x, y) y (y, x) están ambos en R solo si x = y; y transitiva cuando (x, y) y (y, z) en R obligan a que (x, z) ∈ R. Una relación de equivalencia es reflexiva, simétrica y transitiva, y divide X en clases disjuntas.

Cuenta las opciones libres

N = 29 = 512

Respuesta

N = 512
5.Teoría de grafos

Respuesta: H = 2520

Euler, Hamilton y árboles: un grafo conexo tiene un circuito euleriano (cada arista una vez, volviendo al inicio) cuando todos los vértices tienen grado par, y un camino euleriano que no es un circuito cuando exactamente dos vértices tienen grado impar; entonces el camino va de un vértice impar al otro. Un circuito hamiltoniano visita cada vértice una vez; Kn tiene (n − 1)!/2 de ellos. Un árbol de n vértices tiene n − 1 aristas, y un grafo conexo con m aristas conserva un árbol generador tras quitarle m − n + 1 aristas.

Contar

H = (8 − 1)!/2 = 5040/2 = 2520

Respuesta

H = 2520
6.Teoría de grafos

Respuesta: E

Caminos mínimos y árboles generadores: el algoritmo de Dijkstra fija un vértice por ronda: el vértice no fijado con la menor distancia provisional. Su distancia es entonces definitiva, y cada vecino v recibe d(v) = min(d(v), d(u) + w(u, v)). El algoritmo de Kruskal construye un árbol generador mínimo tomando las aristas de la más ligera a la más pesada y descartando toda arista que cierre un ciclo; el algoritmo de Prim hace crecer un único árbol desde un vértice inicial añadiendo siempre la arista más ligera que sale de él. Un árbol generador de n vértices tiene n − 1 aristas.

Dijkstra ronda a ronda

1. A (0): B: 14, C: 10
2. C (10): B: 12, G: 25
3. B (12): D: 23, G: 24
4. D (23): E: 25
5. G (24)
6. E (25): F: 38
7. F (38)

ronda 6

E

Respuesta

E
7.Teoría de números y aritmética modular

Respuesta: x = 42

Inversos y congruencias: a tiene inverso módulo n exactamente cuando mcd(a, n) = 1. El algoritmo de Euclides extendido escribe 1 = s·n + t·a, y entonces a⁻¹ ≡ t (mod n). Una congruencia a·x ≡ b (mod n) con mcd(a, n) = 1 tiene la solución x ≡ a⁻¹·b. Dos congruencias x ≡ r₁ (mod m₁) y x ≡ r₂ (mod m₂) con módulos coprimos tienen una solución módulo m₁·m₂ (teorema chino del resto). La φ(n) de Euler cuenta los números de 1 a n que son coprimos con n: φ(n) = n·∏(1 − 1/p).

Primera congruencia

x = 9 + 11k

Segunda congruencia

9 + 11k ≡ 3 (mod 13) → 11k ≡ 7 (mod 13)
k ≡ 6·7 ≡ 3 (mod 13)

Resultado

x = 9 + 11·3 = 42
x = 42
comprobación: 42 mod 11 = 9, 42 mod 13 = 3

Respuesta

x = 42
8.Teoría de números y aritmética modular

Respuesta: m = 885

Potencias modulares y RSA: calcula aᵏ mod n por cuadrado repetido: escribe k en binario, eleva al cuadrado, reduce después de cada paso y multiplica las potencias cuyo bit es 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) para un primo p que no divide a a, así que el exponente se puede reducir módulo p − 1. RSA: elige los primos p y q, n = p·q y φ(n) = (p − 1)(q − 1); el exponente público e es coprimo con φ(n), y el exponente privado es d = e⁻¹ mod φ(n). Cifra con c = mᵉ mod n y descifra con m = cᵈ mod n.

Exponente privado

n = 1247, φ(n) = 1176
d = 11−1 mod 1176 = 107

Descifra por cuadrado repetido

107 = 64 + 32 + 8 + 2 + 1
2531 ≡ 253 (mod 1247)
2532 ≡ 412 (mod 1247)
2534 ≡ 152 (mod 1247)
2538 ≡ 658 (mod 1247)
25316 ≡ 255 (mod 1247)
25332 ≡ 181 (mod 1247)
25364 ≡ 339 (mod 1247)
253107 ≡ 253·412·658·181·339 ≡ 885 (mod 1247)

Mensaje

m = 885
comprobación: 88511 mod 1247 = 253

Respuesta

m = 885

ExamProblems · examproblems.com/courses/discrete-mathematics