Dibuja un diagrama de Venn y decide región por región qué pertenece a la expresión de conjuntos.
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.
Usa la inclusión–exclusión como comprobación: |A ∪ B| = |A| + |B| − |A ∩ B|.
En una relación, comprueba cada propiedad en todos los pares y da un contraejemplo cuando falle.
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
Anota el grado de cada vértice; los grados suman el doble del número de aristas.
En las preguntas de Euler, comprueba que el grafo sea conexo y cuenta los vértices de grado impar.
En los árboles, usa n − 1 aristas y el lema del apretón de manos.
En Dijkstra, lleva una tabla de distancias provisionales y fija en cada ronda el vértice no fijado de menor distancia.
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
Reduce primero cada número módulo n; los restos están entre 0 y n − 1.
Para un mcd, divide repetidamente con el algoritmo de Euclides; el último resto distinto de cero es el mcd.
Para un inverso, aplica el algoritmo extendido y quédate con el coeficiente de a; suma n si es negativo.
Resuelve a·x ≡ b multiplicando por a⁻¹; combina dos congruencias escribiendo x = r₁ + m₁k.
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
¿Qué fórmula es lógicamente equivalente a q → p? Haz clic en ella.
q → p
1¬q → ¬p
2q ∨ ¬p
3¬q ∨ p
4¬q ∧ p
2.Lógica proposicional y demostracionesDifícil
El argumento con premisas r → (p ∨ q); r y conclusión p no es válido. Haz clic en la fila de la tabla de verdad que es un contraejemplo.
r → (p ∨ q)r∴ p
1p = 1, q = 1, r = 1
2p = 1, q = 1, r = 0
3p = 1, q = 0, r = 1
4p = 1, q = 0, r = 0
5p = 0, q = 1, r = 1
6p = 0, q = 1, r = 0
7p = 0, q = 0, r = 1
8p = 0, q = 0, r = 0
3.Conjuntos, relaciones y funcionesMedia
R = {(1, 1), (1, 2), (1, 3), (3, 1), (3, 3), (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?
¿Cuántas relaciones simétricas hay en un conjunto de 3 elementos? Llama al número N.
|X| = 3
N =
5.Teoría de grafosMedia
Un árbol tiene 2 vértices de grado 3, 2 vértices de grado 4, 4 vértices de grado 5, 3 vértices de grado 2, y todos sus demás vértices son hojas (grado 1). ¿Cuántas hojas, L, tiene?
2 × deg 32 × deg 44 × deg 53 × deg 2
L =
6.Teoría de grafosDifícil
El algoritmo de Dijkstra se ejecuta desde A. Haz clic en el vértice que se fija (se hace permanente) en la ronda 4; la propia A es la ronda 1.
inicio: Aronda 4
1A
2B
3C
4D
5E
6F
7.Teoría de números y aritmética modularMedia
Halla el inverso de 22 módulo 63: el número x con 0 < x < 63 y 22·x ≡ 1 (mod 63).
a = 22n = 63
22−1 mod 63 =
8.Teoría de números y aritmética modularDifícil
Usa el cuadrado repetido para hallar 9136 mod 94.
a = 91k = 36n = 94
9136 mod 94 =
3Disoluciones
1.Lógica proposicional y demostraciones
Respuesta: ¬q ∨ p
Equivalencia lógica: dos fórmulas son equivalentes (≡) cuando tienen el mismo valor en todas las filas de la tabla de verdad. Una tautología vale 1 en todas las filas, una contradicción vale 0 en todas las filas, y una contingencia no es ninguna de las dos. Leyes útiles: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b y ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contrarrecíproca); ¬(a → b) ≡ a ∧ ¬b; y las leyes distributivas, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
La ley
a → b vale 0 solo cuando a = 1 y b = 0, así que es lo mismo que ¬a ∨ b.
q → p ≡ ¬q ∨ p
Comprueba con la tabla de verdad
p = 1, q = 1: 1 | 1 1 1 0
p = 1, q = 0: 1 | 0 0 1 1
p = 0, q = 1: 0 | 1 1 0 0
p = 0, q = 0: 1 | 1 1 1 0
Respuesta
¬q ∨ p
Las columnas después de la barra son las opciones, en el orden mostrado.
2.Lógica proposicional y demostraciones
Respuesta: p = 0, q = 1, r = 1
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.
Premisas y conclusión fila por fila
p = 1, q = 1, r = 1: 1 1 | 1
p = 1, q = 1, r = 0: 1 0 | 1
p = 1, q = 0, r = 1: 1 1 | 1
p = 1, q = 0, r = 0: 1 0 | 1
p = 0, q = 1, r = 1: 1 1 | 0
p = 0, q = 1, r = 0: 1 0 | 0
p = 0, q = 0, r = 1: 0 1 | 0
p = 0, q = 0, r = 0: 1 0 | 0
Contraejemplo
p = 0, q = 1, r = 1
Respuesta
p = 0, q = 1, r = 1
Un argumento con esta forma parece una regla válida, pero una sola fila basta para demostrar que no lo es.
3.Conjuntos, relaciones y funciones
Respuesta: k = 2
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
{(2, 2), (4, 4)}
Contar
k = 2
Respuesta
k = 2
4.Conjuntos, relaciones y funciones
Respuesta: N = 64
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 = 23 + 3 = 64
Respuesta
N = 64
5.Teoría de grafos
Respuesta: L = 20
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.
Lema del apretón de manos para un árbol
L + 40 = 2(L + 11) − 2
L = 20
Respuesta
L = 20
Atajo: L = 2 + Σ (d − 2) sobre los vértices de grado d ≥ 3.
6.Teoría de grafos
Respuesta: D
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: 13, C: 4
2. C (4): B: 5, E: 14
3. B (5): D: 9
4. D (9): F: 23
5. E (14)
6. F (23)
ronda 4
D
Respuesta
D
7.Teoría de números y aritmética modular
Respuesta: 22−1 mod 63 = 43
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).
Algoritmo de Euclides extendido
Cada resto r se escribe como r ≡ t·22 (mod 63).
r = 63, t = 0
r = 22, q = 2, t = 1
r = 19, q = 1, t = −2
r = 3, q = 6, t = 3
r = 1, q = 3, t = −20
Inversa
1 ≡ −20·22 (mod 63)
x = 43
comprobación: 22·43 = 946 = 15·63 + 1
Respuesta
22−1 mod 63 = 43
8.Teoría de números y aritmética modular
Respuesta: 9136 mod 94 = 83
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.