Дискретна математика: шпаргалка-підсумок

Аркуші з формулами, ключові кроки методів для кожної теми та 8 задач для практики, з повними розв’язками наприкінці.

Нові задачіНазад до курсу

У вікні друку виберіть «Зберегти як PDF», щоб зберегти копію на пристрої.

1Формули та методи

Логіка висловлювань і доведення

Рядки таблиці істинності
2ⁿ
Імплікація
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
Заперечена імплікація
¬(p → q) ≡ p ∧ ¬q
Еквіваленція
p ↔ q ≡ (p → q) ∧ (q → p)
Закони де Моргана
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
Закони дистрибутивності
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
Заперечення кванторів
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
Modus ponens, modus tollens
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

Метод

  1. Порахуйте різні змінні: таблиця істинності має 2ⁿ рядків, і починається вона з рядка, де всі змінні дорівнюють 1.
  2. Дайте кожній підформулі власний стовпець і заповнюйте стовпці зсередини назовні.
  3. Застосовуйте правило кожного зв’язника: → дорівнює 0 лише для 1 → 0, ↔ дорівнює 1, коли обидві частини збігаються.
  4. Для еквівалентностей порівнюйте останні стовпці рядок за рядком; для міркування дивіться лише на рядки, де кожна передумова дорівнює 1.
  5. Щоб заперечити твердження з квантором, перенесіть ¬ досередини, поміняйте ∀ і ∃ та заперечте внутрішню формулу.

Множини, відношення та функції

Дві множини
|A ∪ B| = |A| + |B| − |A ∩ B|
Три множини
|A ∪ B ∪ C| = |A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| + |A ∩ B ∩ C|
Різниця та доповнення
A − B = A ∩ B′, |A′| = |U| − |A|
Булеан і декартів добуток
|𝒫(A)| = 2|A|, |A × B| = |A|·|B|
Підмножини розміру k
C(n, k) = n!/(k!(n − k)!)
Функції A → B
nᵐ; injective n!/(n − m)!; surjective Σ (−1)ᵏ C(n, k)(n − k)ᵐ
Відношення на n елементах
2n²; reflexive 2n² − n; symmetric 2n(n+1)/2
Композиція
(g ∘ f)(x) = g(f(x))

Метод

  1. Намалюйте діаграму Вена й вирішіть область за областю, що належить множинному виразу.
  2. У задачах на підрахунок заповнюйте області від центру назовні: спочатку всі множини, потім пари, потім окремі множини, потім зовнішню частину.
  3. Використовуйте принцип включення–виключення для перевірки: |A ∪ B| = |A| + |B| − |A ∩ B|.
  4. Для відношення перевіряйте кожну властивість на кожній парі й наводьте один контрприклад, коли вона не виконується.
  5. Для функції порахуйте стрілки, що приходять до кожного елемента B: не більше однієї означає ін’єктивність, щонайменше одна — сюр’єктивність.

Теорія графів

Лема про рукостискання
Σ deg(v) = 2|E|
Повні графи
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Регулярний граф
|E| = n·k/2
Дерево і ліс
|E| = n − 1, |E| = n − c
Листки дерева
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Ейлер
цикл: усі степені парні; шлях: рівно 2 непарні степені
Гамільтонові цикли в Kn
(n − 1)!/2
Оновлення в алгоритмі Дейкстри
d(v) = min(d(v), d(u) + w(u, v))
Маршрути довжиною L
(Mᴸ)ij

Метод

  1. Випишіть степінь кожної вершини; сума степенів дорівнює подвоєній кількості ребер.
  2. У задачах про Ейлера перевірте, що граф зв’язний, і порахуйте вершини з непарним степенем.
  3. Для дерев використовуйте n − 1 ребро та лему про рукостискання.
  4. Для алгоритму Дейкстри ведіть таблицю попередніх відстаней і щоразу фіксуйте незафіксовану вершину з найменшою відстанню.
  5. Для мінімального остовного дерева відсортуйте ребра за вагою й пропускайте кожне ребро, що замикає цикл (Крускал), або нарощуйте одне дерево від початкової вершини (Прім).

Теорія чисел і арифметика за модулем

Ділення із залишком
a = q·n + r, 0 ≤ r < n
Евклід
gcd(a, b) = gcd(b, a mod b)
Найменше спільне кратне
lcm(a, b) = a·b/gcd(a, b)
Обернена
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Лінійна конгруенція
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Функція Ейлера
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Ферма
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

Метод

  1. Спершу зведіть кожне число за модулем n; залишки лежать між 0 і n − 1.
  2. Для НСД діліть послідовно за алгоритмом Евкліда; останній ненульовий залишок і є НСД.
  3. Для оберненого елемента виконайте розширений алгоритм і візьміть коефіцієнт при a; якщо він від’ємний, додайте n.
  4. Розв’язуйте a·x ≡ b множенням на a⁻¹; поєднуйте дві конгруенції, записавши x = r₁ + m₁k.
  5. Для степенів запишіть показник у двійковому вигляді й послідовно підносьте до квадрата; в RSA d = e⁻¹ mod φ(n), де φ(n) = (p − 1)(q − 1).

2Задачі для практики

1.Логіка висловлювань і доведенняСередня
pqrp ∧ ¬rq ∧ (p ∧ ¬r)((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r))111?110?101?100?011?010?001?000?

У скількох із 8 рядків таблиці істинності ((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)) істинне? Позначте це число N.

((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r))
N =
2.Логіка висловлювань і доведенняСкладна
∃x (A(x) → ¬B(x))∃x (A(x) ∧ ¬B(x))∃x (¬A(x) ∧ B(x))∀x (A(x) → ¬B(x))

Яке твердження еквівалентне ¬∀x (A(x) → B(x)), якщо заперечення перенесено повністю досередини? Клікніть його.

¬∀x (A(x) → B(x))
  1. 1∃x (A(x) → ¬B(x))
  2. 2∃x (A(x) ∧ ¬B(x))
  3. 3∃x (¬A(x) ∧ B(x))
  4. 4∀x (A(x) → ¬B(x))
3.Множини, відношення та функціїСередня
ULTW

Опитування 64 осіб показує, що 30 мають ноутбук (L), 27 — планшет (T), а 31 — смарт-годинник (W). 16 мають L і T, 15 мають L і W, 8 мають T і W, а 4 мають усі три. Скільки не входять до жодної з трьох множин?

|U| = 64
|(L ∪ T ∪ W)′| =
4.Множини, відношення та функціїСкладна
AB123abcін’єктивна, не сюр’єктивнасюр’єктивна, не ін’єктивнабієктивнажодна з цих

Стрілкова діаграма показує функцію f: A → B, де A = {1, 2, 3} і B = {a, b, c}. Клікніть опис, що підходить для f.

f = {(1, c), (2, c), (3, a)}
  1. 1ін’єктивна, не сюр’єктивна
  2. 2сюр’єктивна, не ін’єктивна
  3. 3бієктивна
  4. 4жодна з цих
5.Теорія графівСередня

Дерево має 4 вершин степеня 3, 3 вершин степеня 4, 2 вершин степеня 5, а всі його інші вершини — листки (степінь 1). Скільки листків L воно має?

4 × deg 33 × deg 42 × deg 5
L =
6.Теорія графівСкладна
2015914188192ABCDEF

Алгоритм Пріма будує мінімальне остовне дерево, починаючи з вершини C. Клікніть ребро, яке він додає як ребро номер 3.

початок: Ck = 3
  1. 1ребро AB
  2. 2ребро AC
  3. 3ребро BC
  4. 4ребро CE
  5. 5ребро DE
  6. 6ребро DF
  7. 7ребро EF
  8. 8ребро BE
7.Теорія чисел і арифметика за модулемСередня

Знайдіть обернений до 10 за модулем 17: число x, де 0 < x < 17 і 10·x ≡ 1 (mod 17).

a = 10n = 17
10−1 mod 17 =
8.Теорія чисел і арифметика за модулемСкладна

Скільки розв’язків N має 54x ≡ 22 (mod 80) серед {0, 1, …, 79}?

54x ≡ 22 (mod 80)
N =

3Розчини

1.Логіка висловлювань і доведення

Відповідь: N = 4

Таблиці істинності: формула з n різними змінними має 2ⁿ рядків, по одному для кожної комбінації значень істинності (1 = істина, 0 = хибність). Працюйте зсередини назовні й дайте кожній підформулі власний стовпець. ¬a змінює значення; a ∧ b дорівнює 1 лише тоді, коли обидва дорівнюють 1; a ∨ b дорівнює 0 лише тоді, коли обидва дорівнюють 0; a → b дорівнює 0 лише тоді, коли a = 1 і b = 0; a ↔ b дорівнює 1, коли обидві частини рівні.

Таблиця істинності рядок за рядком

p = 1, q = 1, r = 1: r → q = 1, ¬p = 0, (r → q) ∧ ¬p = 0, ¬r = 0, p ∧ ¬r = 0, q ∧ (p ∧ ¬r) = 0, ((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)) = 1
p = 1, q = 1, r = 0: r → q = 1, ¬p = 0, (r → q) ∧ ¬p = 0, ¬r = 1, p ∧ ¬r = 1, q ∧ (p ∧ ¬r) = 1, ((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)) = 0
p = 1, q = 0, r = 1: r → q = 0, ¬p = 0, (r → q) ∧ ¬p = 0, ¬r = 0, p ∧ ¬r = 0, q ∧ (p ∧ ¬r) = 0, ((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)) = 1
p = 1, q = 0, r = 0: r → q = 1, ¬p = 0, (r → q) ∧ ¬p = 0, ¬r = 1, p ∧ ¬r = 1, q ∧ (p ∧ ¬r) = 0, ((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)) = 1
p = 0, q = 1, r = 1: r → q = 1, ¬p = 1, (r → q) ∧ ¬p = 1, ¬r = 0, p ∧ ¬r = 0, q ∧ (p ∧ ¬r) = 0, ((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)) = 0
p = 0, q = 1, r = 0: r → q = 1, ¬p = 1, (r → q) ∧ ¬p = 1, ¬r = 1, p ∧ ¬r = 0, q ∧ (p ∧ ¬r) = 0, ((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)) = 0
p = 0, q = 0, r = 1: r → q = 0, ¬p = 1, (r → q) ∧ ¬p = 0, ¬r = 0, p ∧ ¬r = 0, q ∧ (p ∧ ¬r) = 0, ((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)) = 1
p = 0, q = 0, r = 0: r → q = 1, ¬p = 1, (r → q) ∧ ¬p = 1, ¬r = 1, p ∧ ¬r = 0, q ∧ (p ∧ ¬r) = 0, ((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)) = 0

Порахуйте рядки зі значенням 1

((r → q) ∧ ¬p) ↔ (q ∧ (p ∧ ¬r)): 1, 0, 1, 1, 0, 0, 1, 0
N = 4

Відповідь

N = 4
2.Логіка висловлювань і доведення

Відповідь: ∃x (A(x) ∧ ¬B(x))

Квантори та міркування: ¬∀x P(x) ≡ ∃x ¬P(x) і ¬∃x P(x) ≡ ∀x ¬P(x). Переносьте заперечення досередини, міняйте кожен квантор, який воно проходить, і заперечуйте внутрішню формулу за законами логіки висловлювань, наприклад ¬(a → b) ≡ a ∧ ¬b. Міркування коректне, коли висновок дорівнює 1 у кожному рядку, де всі передумови дорівнюють 1. Один рядок з істинними передумовами та хибним висновком — це контрприклад, який показує, що міркування некоректне.

Перенесіть заперечення досередини

¬∀x (A(x) → B(x)) ≡ ∃x (A(x) ∧ ¬B(x))

Відповідь

∃x (A(x) ∧ ¬B(x))

Інші варіанти або залишають квантор без змін, або змінюють порядок кванторів, або неправильно заперечують внутрішню формулу.

3.Множини, відношення та функції

Відповідь: |(L ∪ T ∪ W)′| = 11

Множини та діаграми Вена: A ∪ B містить елементи з A або B (або з обох), A ∩ B — елементи з обох, A − B — елементи A, яких немає в B, а доповнення A′ — усе в U, чого немає в A. На діаграмі Вена кожен множинний вираз — це об’єднання областей, тож рахуйте його область за областю. Включення–виключення: |A ∪ B| = |A| + |B| − |A ∩ B| і |A ∪ B ∪ C| = |A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| + |A ∩ B ∩ C|.

Центр і пари

L ∩ T ∩ W: 4
L ∩ T лише: 16 − 4 = 12
L ∩ W лише: 15 − 4 = 11
T ∩ W лише: 8 − 4 = 4

Окремі множини

L лише: 30 − 12 − 11 − 4 = 3
T лише: 27 − 12 − 4 − 4 = 7
W лише: 31 − 11 − 4 − 4 = 12

Відповідь

|L ∪ T ∪ W| = 53
|(L ∪ T ∪ W)′| = 64 − 53 = 11

Відповідь

|(L ∪ T ∪ W)′| = 11
4.Множини, відношення та функції

Відповідь: жодна з цих

Функції та підрахунок: функція f: A → B дає кожному елементу A рівно один образ у B. f ін’єктивна (один до одного), коли різні елементи мають різні образи, сюр’єктивна (на), коли кожен елемент B є образом, і бієктивна, коли виконується і те, і те. За |A| = m і |B| = n існує nᵐ функцій, n!/(n − m)! ін’єктивних (m ≤ n), а за принципом включення–виключення Σ (−1)ᵏ·C(n, k)·(n − k)ᵐ сюр’єктивних. |𝒫(A)| = 2ᵐ і |A × B| = m·n.

Ін’єктивна?

f(1) = f(2) = c → не ін’єктивна

Сюр’єктивна?

b не отримують стрілок → не сюр’єктивна

Відповідь

жодна з цих

Відповідь

жодна з цих
5.Теорія графів

Відповідь: L = 18

Ейлер, Гамільтон і дерева: зв’язний граф має ейлерів цикл (кожне ребро один раз, з поверненням до початку), коли кожна вершина має парний степінь, і ейлерів шлях, що не є циклом, коли рівно дві вершини мають непарний степінь; тоді шлях іде від однієї непарної вершини до другої. Гамільтонів цикл відвідує кожну вершину один раз; у Kn їх (n − 1)!/2. Дерево на n вершинах має n − 1 ребро, а зв’язний граф з m ребрами зберігає остовне дерево після вилучення m − n + 1 ребер.

Лема про рукостискання для дерева

L + 34 = 2(L + 9) − 2
L = 18

Відповідь

L = 18

Скорочення: L = 2 + Σ (d − 2) за вершинами зі степенем d ≥ 3.

6.Теорія графів

Відповідь: ребро AC

Найкоротші шляхи та остовні дерева: алгоритм Дейкстри фіксує одну вершину за раунд: незафіксовану вершину з найменшою попередньою відстанню. Її відстань тоді остаточна, а кожен сусід v отримує d(v) = min(d(v), d(u) + w(u, v)). Алгоритм Крускала будує мінімальне остовне дерево, беручи ребра від легких до важких і пропускаючи кожне ребро, що замкнуло б цикл; алгоритм Пріма нарощує одне дерево від початкової вершини, завжди додаючи найлегше ребро, що виходить з нього. Остовне дерево з n вершин має n − 1 ребро.

Алгоритм Пріма

1. BC (9)
2. BE (2)
3. AC (15)
4. DE (18)
5. DF (8)

номер ребра 3

AC

Відповідь

ребро AC
7.Теорія чисел і арифметика за модулем

Відповідь: 10−1 mod 17 = 12

Обернені елементи та конгруенції: a має обернений за модулем n саме тоді, коли gcd(a, n) = 1. Розширений алгоритм Евкліда записує 1 = s·n + t·a, і тоді a⁻¹ ≡ t (mod n). Конгруенція a·x ≡ b (mod n) з gcd(a, n) = 1 має розв’язок x ≡ a⁻¹·b. Дві конгруенції x ≡ r₁ (mod m₁) і x ≡ r₂ (mod m₂) зі взаємно простими модулями мають один розв’язок за модулем m₁·m₂ (китайська теорема про лишки). Функція Ейлера φ(n) рахує числа від 1 до n, взаємно прості з n: φ(n) = n·∏(1 − 1/p).

Розширений алгоритм Евкліда

Кожен залишок r записується як r ≡ t·10 (mod 17).

r = 17, t = 0
r = 10, q = 1, t = 1
r = 7, q = 1, t = −1
r = 3, q = 2, t = 2
r = 1, q = 3, t = −5

Обернена

1 ≡ −5·10 (mod 17)
x = 12
перевірка: 10·12 = 120 = 7·17 + 1

Відповідь

10−1 mod 17 = 12
8.Теорія чисел і арифметика за модулем

Відповідь: N = 2

Обернені елементи та конгруенції: a має обернений за модулем n саме тоді, коли gcd(a, n) = 1. Розширений алгоритм Евкліда записує 1 = s·n + t·a, і тоді a⁻¹ ≡ t (mod n). Конгруенція a·x ≡ b (mod n) з gcd(a, n) = 1 має розв’язок x ≡ a⁻¹·b. Дві конгруенції x ≡ r₁ (mod m₁) і x ≡ r₂ (mod m₂) зі взаємно простими модулями мають один розв’язок за модулем m₁·m₂ (китайська теорема про лишки). Функція Ейлера φ(n) рахує числа від 1 до n, взаємно прості з n: φ(n) = n·∏(1 − 1/p).

Поділіть на НСД

gcd(54, 80) = 2
27x ≡ 11 (mod 40)

Розв’яжіть скорочену конгруенцію

27−1 ≡ 3 (mod 40) → x ≡ 33 (mod 40)

Розв’язки за модулем 80

x ∈ {33, 73}
N = 2

Відповідь

N = 2

ExamProblems · examproblems.com/courses/discrete-mathematics