이산수학: 벼락치기 팩

공식 모음, 모든 주제의 핵심 풀이 단계, 연습 문제 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)
전건 긍정법, 후건 부정법
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

방법

  1. 서로 다른 변수의 개수를 세세요. 진리표는 2ⁿ개의 행을 가지며, 첫 행은 모두 1입니다.
  2. 모든 부분식에 각각 열을 하나씩 주고, 안쪽부터 바깥쪽으로 열을 채우세요.
  3. 각 연결자의 규칙을 적용하세요. →는 1 → 0일 때만 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. 최대공약수는 유클리드 호제법으로 계속 나누세요. 0이 아닌 마지막 나머지가 최대공약수입니다.
  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.명제논리와 증명보통
pqrq → ¬(¬p ∧ r)q ↔ r(q → ¬(¬p ∧ r)) → (q ↔ r)111?110?101?100?011?010?001?000?

(q → ¬(¬p ∧ r)) → (q ↔ r)의 진리표 8개 행 중 몇 개에서 참인가? 이 수를 N(이)라 하자.

(q → ¬(¬p ∧ r)) → (q ↔ r)
N =
2.명제논리와 증명어려움

진리표의 16개 행 중 몇 개에서 ((b → c) ∧ (c → ¬a)) ∧ (d ∧ (a ↔ d))이(가) 참인가? 이 수를 N(이)라 하자.

((b → c) ∧ (c → ¬a)) ∧ (d ∧ (a ↔ d))
N =
3.집합, 관계, 함수보통
UMPC

1학년 학생 48명 중 17명이 수학(M), 25명이 물리(P), 30명이 화학(C)에 합격했다. 11명이 M과 P에, 9명이 M과 C에, 14명이 P와 C에 합격했고 5명이 세 과목 모두에 합격했다. 세 집합 어디에도 속하지 않는 것은 몇 개인가?

|U| = 48
|(M ∪ P ∪ C)′| =
4.집합, 관계, 함수어려움

원소가 2개인 집합 위의 대칭적 관계는 몇 개인가? 그 수를 N(이)라 하자.

|X| = 2
N =
5.그래프 이론보통

완전그래프 K8의 서로 다른 해밀턴 회로는 몇 개(H)인가? 시작 정점이나 방향만 다른 회로는 같은 것으로 센다.

K8
H =
6.그래프 이론어려움
ABCDEF

E에서 A까지 가는 길이 3의 보행은 몇 개인가? 보행에서는 정점과 간선이 반복될 수 있다. 그 수를 N(이)라 하자.

M = 인접 행렬L = 3
N =
7.정수론과 모듈러 연산보통

34x ≡ 37 (mod 71)을(를) 푸시오. 0 < x < 71인 해 x을(를) 구하시오.

34x ≡ 37 (mod 71)
x =
8.정수론과 모듈러 연산어려움

8x ≡ 14 (mod 18)은(는) {0, 1, …, 17}에서 해가 몇 개(N)인가?

8x ≡ 14 (mod 18)
N =

3용액

1.명제논리와 증명

답: N = 4

진리표: 서로 다른 변수가 n개인 식은 참값(1 = 참, 0 = 거짓)의 모든 조합마다 하나씩 2ⁿ개의 행을 가집니다. 안쪽부터 바깥쪽으로 작업하고 모든 부분식에 각각 열을 주세요. ¬a는 값을 뒤집습니다. a ∧ b는 둘 다 1일 때만 1입니다. a ∨ b는 둘 다 0일 때만 0입니다. a → b는 a = 1이고 b = 0일 때만 0입니다. a ↔ b는 양쪽이 같을 때 1입니다.

행별 진리표

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

값이 1인 행의 수 세기

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

답

N = 4
2.명제논리와 증명

답: N = 1

진리표: 서로 다른 변수가 n개인 식은 참값(1 = 참, 0 = 거짓)의 모든 조합마다 하나씩 2ⁿ개의 행을 가집니다. 안쪽부터 바깥쪽으로 작업하고 모든 부분식에 각각 열을 주세요. ¬a는 값을 뒤집습니다. a ∧ b는 둘 다 1일 때만 1입니다. a ∨ b는 둘 다 0일 때만 0입니다. a → b는 a = 1이고 b = 0일 때만 0입니다. a ↔ b는 양쪽이 같을 때 1입니다.

열

b → c; ¬a; c → ¬a; (b → c) ∧ (c → ¬a); a ↔ d; d ∧ (a ↔ d); ((b → c) ∧ (c → ¬a)) ∧ (d ∧ (a ↔ d))

a을(를) 기준으로 나누기

a = 1: 1
a = 0: 0
N = 1 + 0 = 1

답

N = 1
3.집합, 관계, 함수

답: |(M ∪ P ∪ C)′| = 5

집합과 벤 다이어그램: 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|.

가운데와 쌍

M ∩ P ∩ C: 5
M ∩ P 만: 11 − 5 = 6
M ∩ C 만: 9 − 5 = 4
P ∩ C 만: 14 − 5 = 9

한 집합씩

M 만: 17 − 6 − 4 − 5 = 2
P 만: 25 − 6 − 9 − 5 = 5
C 만: 30 − 4 − 9 − 5 = 12

답

|M ∪ P ∪ C| = 43
|(M ∪ P ∪ C)′| = 48 − 43 = 5

답

|(M ∪ P ∪ C)′| = 5
4.집합, 관계, 함수

답: N = 8

관계: 집합 X 위의 관계 R은 순서쌍 (x, y)의 집합입니다. X의 모든 x에 대해 (x, x) ∈ R이면 R은 반사적, (x, y) ∈ R이면 항상 (y, x) ∈ R도 성립하면 대칭적, (x, y)와 (y, x)가 모두 R에 있는 경우가 x = y일 때뿐이면 반대칭적, R에 (x, y)와 (y, z)가 있으면 (x, z) ∈ R이어야 하면 추이적입니다. 동치 관계는 반사적이고 대칭적이며 추이적이고, X를 서로소인 류로 나눕니다.

자유로운 선택 세기

N = 22 + 1 = 8

답

N = 8
5.그래프 이론

답: H = 2520

오일러, 해밀턴, 트리: 연결 그래프는 모든 정점의 차수가 짝수이면 오일러 회로(모든 간선을 한 번씩 지나 출발점으로 돌아옴)를 가지고, 차수가 홀수인 정점이 정확히 두 개이면 회로가 아닌 오일러 경로를 가집니다. 이 경로는 한 홀수 정점에서 다른 홀수 정점까지 이어집니다. 해밀턴 회로는 모든 정점을 한 번씩 방문하며, Kn에는 (n − 1)!/2개가 있습니다. 정점이 n개인 트리는 간선이 n − 1개이고, 간선이 m개인 연결 그래프는 m − n + 1개의 간선을 제거한 뒤에도 신장 트리를 유지합니다.

세기

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

답

H = 2520
6.그래프 이론

답: N = 2

차수: 정점의 차수는 그 정점에 닿는 간선의 수입니다. 모든 간선은 양 끝이 있으므로 차수의 합은 간선 수의 두 배입니다: Σ deg(v) = 2|E|(악수 보조정리). 따라서 차수가 홀수인 정점의 수는 짝수입니다. Kn은 간선이 n(n − 1)/2개이고, 정점이 n개인 k-정규그래프는 nk/2개이며, 정점이 n개인 트리는 간선이 n − 1개입니다.

인접 행렬

A: 0 1 1 0 0 0
B: 1 0 1 0 1 0
C: 1 1 0 0 1 0
D: 0 0 0 0 1 0
E: 0 1 1 1 0 1
F: 0 0 0 0 1 0

한 걸음 더

(M³)EA = 2·0 + 1·1 + 1·1 + 0·0 + 4·0 + 0·0 = 2

답

N = 2
7.정수론과 모듈러 연산

답: x = 70

역원과 합동식: a는 gcd(a, n) = 1일 때, 그리고 그때에만 n을 법으로 하는 역원을 가집니다. 확장 유클리드 알고리즘은 1 = s·n + t·a로 쓰고, 그러면 a⁻¹ ≡ t (mod n)입니다. gcd(a, n) = 1인 합동식 a·x ≡ b (mod n)의 해는 x ≡ a⁻¹·b입니다. 법이 서로소인 두 합동식 x ≡ r₁ (mod m₁)과 x ≡ r₂ (mod m₂)는 m₁·m₂를 법으로 해가 하나 있습니다(중국인의 나머지 정리). 오일러 φ(n)은 1부터 n까지의 수 중 n과 서로소인 수의 개수입니다: φ(n) = n·∏(1 − 1/p).

34의 역원

r = 71, t = 0
r = 34, q = 2, t = 1
r = 3, q = 11, t = −2
r = 1, q = 3, t = 23
34−1 ≡ 23 (mod 71)

풀기

x ≡ 23·37 = 851 ≡ 70 (mod 71)
검산: 34·70 = 2380 ≡ 37 (mod 71)

답

x = 70
8.정수론과 모듈러 연산

답: N = 2

역원과 합동식: a는 gcd(a, n) = 1일 때, 그리고 그때에만 n을 법으로 하는 역원을 가집니다. 확장 유클리드 알고리즘은 1 = s·n + t·a로 쓰고, 그러면 a⁻¹ ≡ t (mod n)입니다. gcd(a, n) = 1인 합동식 a·x ≡ b (mod n)의 해는 x ≡ a⁻¹·b입니다. 법이 서로소인 두 합동식 x ≡ r₁ (mod m₁)과 x ≡ r₂ (mod m₂)는 m₁·m₂를 법으로 해가 하나 있습니다(중국인의 나머지 정리). 오일러 φ(n)은 1부터 n까지의 수 중 n과 서로소인 수의 개수입니다: φ(n) = n·∏(1 − 1/p).

gcd로 나누기

gcd(8, 18) = 2
4x ≡ 7 (mod 9)

줄인 합동식 풀기

4−1 ≡ 7 (mod 9) → x ≡ 4 (mod 9)

18을(를) 법으로 한 해

x ∈ {4, 13}
N = 2

답

N = 2

ExamProblems · examproblems.com/courses/discrete-mathematics