본문 바로가기

📌 SW전공-개념/이산구조

[이산구조 개념-15] 함수의 성질과 연산 — 단사·전사·전단사부터 합성까지

1. 함수 분류 3종의 큰 그림

이번 강에서 다룰 함수의 3대 분류를 먼저 정리한다.

분류영문핵심 조건별명
단사함수 One-to-One / Injective 중복 타겟 없음 1:1 함수
전사함수 Onto / Surjective 남는 타겟 없음 위로의 함수
전단사함수 Bijection 단사 + 전사 1:1 대응

💡 핵심 한 줄 요약: 단사 = "겹치지 마", 전사 = "남기지 마", 전단사 = "둘 다 지켜!"


2. 단사함수 (Injective / One-to-One) ⭐

정의

서로 다른 입력은 서로 다른 출력으로 매핑되는 함수.

"중복 타겟 절대 불가!"

수학적 표현

동치 표현의미
¬∃x, y: x ≠ y ∧ f(x) = f(y) 다른 입력이 같은 출력 가지면 안 됨
f(x₁) = f(x₂) ⟹ x₁ = x₂ 출력이 같으면 입력도 반드시 같음

학번 비유

한 학생은 학번 하나만 가진다. 마찬가지로, 다른 학생은 절대 같은 학번을 가질 수 없다. 학번이 곧 그 학생을 유일하게 식별한다 → 단사함수의 본질.

단사함수 판별 예시

함수단사?이유
f(x) = x³ (실수) 다른 x는 다른 x³ 값
f(x) = x² (실수) f(2) = f(−2) = 4 (다른 입력, 같은 출력)
f(x) = 2x + 1 (실수) 일대일 직선
f(x) = sin(x) (실수) f(0) = f(π) = 0

시각적 판별

 
 
단사함수 ⭕              단사함수 ❌
   A      B               A      B
   1 ──→  X               1 ──→  X
   2 ──→  Y               2 ──→  X    ← 같은 곳!
   3 ──→  Z               3 ──→  Y

단조 함수 = 단사함수

함수 종류단사 여부
단조 증가(Strictly Increasing) 항상 단사함수
단조 감소(Strictly Decreasing) 항상 단사함수

💡 시험 빈출 트릭: 함수의 그래프가 항상 올라가거나 항상 내려가면 단사함수다. 즉, 수평선 테스트(Horizontal Line Test) — 어떤 수평선을 그어도 그래프와 한 점에서만 만나면 단사함수.

⚠️ 주의 — 역은 항상 성립하지 않음

"단사함수라고 해서 반드시 단조 함수는 아니다."

예: f(x) = 1/x 는 단사함수지만, x = 0에서 정의되지 않아 정의역 전체에서 단조 증가/감소라 보기 어렵다.


3. 전사함수 (Surjective / Onto) ⭐

정의

치역이 공역과 완벽히 동일한 함수.

"남겨진 원소 없음! 공역 전체를 덮어버림"

수학적 표현

∀b ∈ B, ∃a ∈ A: f(a) = b

→ 공역의 모든 원소가 최소 하나 이상의 원상을 가짐.

식당 비유

식당의 모든 메뉴(공역)가 최소 한 번씩은 주문되어 만들어지는 상황(치역) → 전사함수.

메뉴판에 있는데 한 번도 안 만들어진 요리가 있다면? 전사함수 탈락.

전사함수 판별 핵심

치역 = 공역 ⟺ 전사함수

14강에서 배운 "치역 ⊆ 공역" 관계에서 등호가 성립할 때만 전사다.

전사함수 판별 예시

함수공역전사?이유
f(x) = x³ (ℝ → ℝ) 모든 실수가 어떤 x의 세제곱으로 표현됨
f(x) = x² (ℝ → ℝ) 음수가 결과로 안 나옴 (치역 = [0, ∞))
f(x) = 2x (ℤ → ℤ) 홀수가 치역에 없음
f(x) = x + 1 (ℤ → ℤ) 모든 정수가 결과로 나옴

시각적 판별

 
 
전사함수 ⭕              전사함수 ❌
   A       B              A       B
   1 ──→   X              1 ──→   X
   2 ──→   Y              2 ──→   Y
   3 ──→   Z              3 ──→   Z
                                    W   ← 아무도 안 가리킴!

💡 시험 빈출 함정: f(x) = x²는 단사도 아니고 전사도 아니다(공역 = ℝ일 때). 음수 입력 시 양수가 나와 같은 출력 발생(단사 X), 음수 결과는 절대 안 나옴(전사 X).


4. 단사 vs 전사 헷갈리지 않는 법 ⭐

이 둘을 구분하는 가장 쉬운 방법.

구분단사 (Injective)전사 (Surjective)
핵심 질문 "같은 곳을 가리키는 입력이 있나?" "아무도 안 가리키는 공역 원소가 있나?"
위반 조건 다른 입력 → 같은 출력 공역 원소 중 매핑 안 된 것
별명 "겹치지 마" "남기지 마"
판별 시각 입력 쪽 (정의역) 검사 출력 쪽 (공역) 검사

4가지 가능한 함수 패턴

케이스단사전사명칭
1 전단사 (Bijection)
2 단사만
3 전사만
4 둘 다 아님

💡 함수 분석 표준 절차: 어떤 함수가 주어지면 단사인가? 전사인가? 를 각각 판별 → 두 결과를 조합해 분류.


5. 전단사함수 (Bijection / 1:1 대응) ⭐⭐⭐

정의

단사함수이면서 동시에 전사함수인 함수. 완벽한 1:1 매칭.

핵심 조건

조건의미
단사 다른 입력 → 다른 출력
전사 모든 공역 원소가 매핑됨
결과 정의역과 공역의 1:1 짝짓기

두 반 학생 짝짓기 비유

두 반의 학생 수가 정확히 같아서 한 명씩 짝을 지으면, 양쪽 모두 아무도 남지 않는 상황 → 전단사함수.

전단사함수의 핵심 가치

가치의미
역함수 존재 보장 전단사여야만 역함수가 존재
가역성(Invertibility) 출력에서 입력으로 되돌아갈 수 있음
정의역 = 공역 크기 |정의역| = |공역| 필수 조건

전단사함수 판별 예시

함수단사?전사?전단사?
f(x) = x + 1 (ℤ → ℤ)
f(x) = x² (ℝ → ℝ)
f(x) = x³ (ℝ → ℝ)
f(x) = 2x (ℕ → 짝수ℕ)

응용 분야

분야활용
암호학 암호화 ↔ 복호화 (1:1 대응 필수)
데이터 구조 해시 함수의 이상적 형태
데이터베이스 Primary Key (한 행당 고유 식별자)
수학 무한 집합의 크기 비교 (셀 수 있는 무한)

💡 암호학 직결: 메시지를 암호화할 때 다른 메시지가 같은 암호문으로 변환되면(단사 X) 복호화가 불가능하고, 만들 수 없는 암호문이 있으면(전사 X) 일부 메시지를 표현할 수 없다. 따라서 암호화 함수는 반드시 전단사함수여야 한다.


6. 항등함수 (Identity Function, I) ⭐

정의

정의역의 모든 원소를 자기 자신에게 대응시키는 유일한 함수.

I(a) = a

거울 비유

거울에 비친 자신의 모습처럼, 입력과 출력이 항상 동일.

항등함수의 특징

특징의미
자기 자신과 짝짓기 f(a) = a
항상 단사함수 다른 입력 → 다른 출력 (자명)
항상 전사함수 모든 출력이 매핑됨 (자명)
항상 전단사함수 위 두 조건 모두 만족

일상의 항등함수

연산항등 원소식
덧셈 0 x + 0 = x
곱셈 1 x × 1 = x
합집합 A ∪ ∅ = A
교집합 U A ∩ U = A
함수 합성 I f ∘ I = f

💡 수학적 의미: 항등함수는 함수 합성의 "단위원소" 역할을 한다. 마치 곱셈에서 1을 곱하는 것과 같다.


7. 역함수 (Inverse Function, f⁻¹) ⭐⭐⭐

정의

함수 f가 전단사일 때만 존재하며, f(a) = b일 때 f⁻¹(b) = a로 되돌리는 함수.

"되감기 버튼" 비유

함수 f가 a를 b로 보냈다면, 역함수 f⁻¹는 b를 다시 a로 돌려보낸다. 마치 영상의 되감기 버튼처럼.

역함수 존재의 절대 조건 ⭐

함수 f가 역함수를 가지려면 반드시 전단사함수여야 한다.

왜 그런가?
조건 위반문제
단사가 아님 f(2) = f(−2) = 4일 때, f⁻¹(4)는 2? −2? 결정 불가
전사가 아님 공역에 매핑 안 된 원소 b가 있을 때, f⁻¹(b)가 정의되지 않음

→ 두 조건 모두 만족해야만 역함수가 함수로서 잘 정의된다.

역함수의 핵심 성질

식의미
f⁻¹ ∘ f = I 원래 함수 → 역함수 = 항등함수 (원상복귀)
f ∘ f⁻¹ = I 역함수 → 원래 함수 = 항등함수 (원상복귀)

역함수 계산 예제

f: ℤ → ℤ, f(x) = x + 1의 역함수는?

단계작업
1 y = x + 1로 놓기
2 x에 대해 풀기: x = y − 1
3 x와 y 교환: f⁻¹(y) = y − 1
검증
입력f 적용f⁻¹ 적용결과
3 f(3) = 4 f⁻¹(4) = 3 원상복귀 ✅

💡 시험 핵심: 역함수 문제에서 가장 먼저 확인할 것은 "이 함수가 전단사인가?". 전단사가 아니면 역함수가 존재하지 않는다고 답해야 한다.


8. 함수의 합성 (Composition, ∘) ⭐⭐⭐

정의

두 함수 g와 f를 순차적으로 적용하여 새로운 함수를 만드는 연산.

(f ∘ g)(a) = f(g(a))

조립 라인 비유

첫 번째 기계 g가 입력 a를 받아 g(a)를 출력 → 두 번째 기계 f가 g(a)를 받아 f(g(a))를 최종 출력.

마치 커피 만들기: 원두 갈기(g) → 커피 내리기(f) = 합성 함수.

합성 순서 — 오른쪽부터 적용 ⭐

 
 
(f ∘ g)(x)
   ↑   ↑
   2번  1번 적용

"f ∘ g"는 g를 먼저, 그 다음 f를 적용. 오른쪽 함수가 먼저!

⚠️ 합성은 교환법칙 성립 안 함

(f ∘ g)(x) ≠ (g ∘ f)(x) (일반적으로)

순서가 매우 중요하다. 일반 산술(+, ×)이나 집합 연산(∪, ∩)과는 결정적으로 다른 점.

합성 계산 예제 ⭐

f(x) = 2x + 3, g(x) = 3x + 2일 때 (f ∘ g)(x)와 (g ∘ f)(x)는?

(f ∘ g)(x) 계산
단계식
1 (f ∘ g)(x) = f(g(x))
2 = f(3x + 2)
3 = 2(3x + 2) + 3
4 = 6x + 4 + 3
5 = 6x + 7
(g ∘ f)(x) 계산
단계식
1 (g ∘ f)(x) = g(f(x))
2 = g(2x + 3)
3 = 3(2x + 3) + 2
4 = 6x + 9 + 2
5 = 6x + 11
비교
식결과
(f ∘ g)(x) 6x + 7
(g ∘ f)(x) 6x + 11

다르다! 합성 순서가 결과를 바꾼다.

💡 시험 핵심: 합성 문제는 순서 실수가 가장 흔한 오답 원인이다. (f ∘ g)는 "g 먼저, f 나중"이라는 순서를 절대 헷갈리면 안 된다.


9. 함수 연산 — 함수도 더하고 곱할 수 있다

정의

실수 집합(ℝ) 기반 함수들 사이의 산술 연산.

연산정의
함수 덧셈 (f₁ + f₂)(x) = f₁(x) + f₂(x)
함수 곱셈 (f₁ × f₂)(x) = f₁(x) × f₂(x)

메가 머신 비유

두 개의 작은 기계(f₁, f₂)를 결합해 하나의 더 큰 기계로 만드는 것.

함수 연산 예제

f₁(x) = x², f₂(x) = x − x²일 때:

덧셈
단계식
1 (f₁ + f₂)(x) = x² + (x − x²)
2 = x
곱셈
단계식
1 (f₁ × f₂)(x) = x² × (x − x²)
2 = x³ − x⁴ ✅

💡 궁극의 통찰 — "모든 것은 함수다!": 우리가 1~13강에서 배운 모든 개념을 함수로 재해석할 수 있다.

개념함수로 보면
명제(Proposition) 상황 → {T, F}에 매핑하는 함수
명제 연산자 AND (T, F) → F에 매핑하는 함수
집합 연산자 ∩ (집합 쌍) → 새 집합에 매핑하는 함수

이것이 함수가 이산구조의 가장 강력한 추상화 도구인 이유다.


10. 특수 함수 ① 바닥 함수 (Floor, ⌊x⌋) ⭐

정의

x 이하의 가장 큰 정수로 내림하는 함수.

⌊x⌋ = max{n ∈ ℤ | n ≤ x}

핵심 부등식

⌊x⌋ ≤ x < ⌊x⌋ + 1

비유

항상 숫자를 '내려놓는' 역할.

바닥 함수 계산 예시

x⌊x⌋
3.1 3
3.9 3
5 5
0 0
−1/2 (즉 −0.5) −1 ⚠️
−2.7 −3 ⚠️

⚠️ 음수에서의 함정

−0.5의 바닥값은 0이 아니라 −1!

"내림"이라는 표현 때문에 0이라 착각하기 쉽지만, 수직선상에서 더 작은 쪽으로 내려가야 한다. −0.5보다 작은 가장 큰 정수는 −1이다.


11. 특수 함수 ② 천장 함수 (Ceiling, ⌈x⌉) ⭐

정의

x 이상의 가장 작은 정수로 올림하는 함수.

⌈x⌉ = min{n ∈ ℤ | n ≥ x}

핵심 부등식

⌈x⌉ − 1 < x ≤ ⌈x⌉

비유

항상 숫자를 '들어 올리는' 역할.

천장 함수 계산 예시

x⌈x⌉
3.1 4
3.9 4
5 5
0 0
−1/2 (즉 −0.5) 0 ⚠️
−2.7 −2 ⚠️

바닥 vs 천장 비교 — 음수 함정 정리 ⭐

x⌊x⌋ (바닥)⌈x⌉ (천장)
3.5 3 4
−3.5 −4 −3
0.5 0 1
−0.5 −1 0

💡 시험 함정: 음수에서 바닥/천장이 헷갈린다면 수직선을 그려보자. 바닥은 왼쪽(작은 쪽), 천장은 오른쪽(큰 쪽).


12. 천장 함수의 컴퓨터 과학 응용 ⭐

실전 문제: 메모리 할당

100 bits를 저장하려면 몇 byte가 필요한가? (1 byte = 8 bits)

단계별 풀이
단계계산
1 100 ÷ 8 = 12.5 bytes 필요
2 byte는 정수 단위로만 존재
3 12.5 bytes로는 부족 → 올림 필요
4 ⌈12.5⌉ = 13 bytes

13 bytes에 100 bits 저장하면 4 bits는 사용하지 않은 채 남게 됨 (메모리 패딩).

천장 함수가 쓰이는 컴퓨터 과학 사례

분야활용
메모리 할당 필요 byte 수 계산
페이지 단위 저장 파일 크기 → 디스크 페이지 수
네트워크 패킷 데이터 → 패킷 수
알고리즘 분석 이진 트리의 최대 깊이 ⌈log₂ n⌉
반올림 분배 손님 N명, 피자 M판 → 한 판당 ⌈N/M⌉명

💡 실무 직결: "리소스 할당은 항상 올림"이 컴퓨터 과학의 황금률이다. 12.5 byte를 12 byte로 내리면 데이터 손실 발생. 천장 함수는 실무에서 매일 쓰는 도구.

바닥 함수의 응용

분야활용
나눗셈 몫 정수 나눗셈 a // b = ⌊a/b⌋
시간 변환 분 → 시간 = ⌊분/60⌋
버킷 분류 데이터를 일정 구간으로 나누기

📌 한눈에 보는 핵심정리

개념핵심
단사함수(Injective) "겹치지 마" — 다른 입력은 다른 출력
전사함수(Surjective) "남기지 마" — 치역 = 공역
전단사함수(Bijection) 단사 + 전사, 완벽한 1:1 대응
단조함수 → 단사 단조 증가/감소 함수는 항상 단사
항등함수 I(a) = a 자기 자신에 매핑, 항상 전단사
역함수 f⁻¹ 전단사일 때만 존재
역함수 성질 f⁻¹ ∘ f = I, f ∘ f⁻¹ = I
함수 합성 (f∘g)(x) f(g(x)) — g 먼저, f 나중
합성은 교환법칙 X (f∘g) ≠ (g∘f) 일반적으로
함수 덧셈/곱셈 같은 입력의 출력값을 더하거나 곱함
바닥 함수 ⌊x⌋ x 이하 가장 큰 정수 (내림)
천장 함수 ⌈x⌉ x 이상 가장 작은 정수 (올림)
음수 주의 ⌊−0.5⌋ = −1, ⌈−0.5⌉ = 0

🧠 예상문제 2제

문제 1. 함수 분류 종합

함수 f: ℝ → ℝ, f(x) = x³에 대한 설명으로 옳은 것은?

① 단사함수이지만 전사함수는 아니다 ② 전사함수이지만 단사함수는 아니다 ③ 전단사함수이며 역함수가 존재한다 ④ 단사도 전사도 아니다

👉 정답: ③

분석:

항목분석
단사 판별 x³은 단조 증가 함수 → 다른 x는 다른 x³ → ⭕ 단사
전사 판별 모든 실수 y에 대해 y = x³인 x = ∛y가 존재 → ⭕ 전사
결론 단사 + 전사 = 전단사함수
역함수 존재 전단사이므로 역함수 존재: f⁻¹(y) = ∛y
역함수 검증
입력f 적용f⁻¹ 적용
2 f(2) = 8 f⁻¹(8) = ∛8 = 2 ✅
−3 f(−3) = −27 f⁻¹(−27) = ∛−27 = −3 ✅

💡 시험 핵심 비교: f(x) = x²는 단사도 전사도 아니지만, f(x) = x³은 둘 다 만족하는 전단사함수다. 이 차이가 함수 분류 문제의 단골 비교 대상이다.


문제 2. 함수 합성과 천장 함수

f(x) = ⌈x/2⌉, g(x) = 2x − 1일 때, (f ∘ g)(7) 의 값은?

① 6 ② 7 ③ 13 ④ 14

👉 정답: ②

단계별 풀이
단계계산
1 (f ∘ g)(7) = f(g(7)) — g 먼저
2 g(7) = 2(7) − 1 = 13
3 f(13) = ⌈13/2⌉ = ⌈6.5⌉
4 ⌈6.5⌉ = 7 ✅ (천장 함수: 6.5 이상 가장 작은 정수)
흔한 오답 분석
오답잘못된 풀이
① 6 ⌊6.5⌋ = 6으로 바닥 함수와 헷갈림
③ 13 천장 함수 적용 안 함
④ 14 g(7) = 14로 잘못 계산

💡 추가 학습: 합성 함수 문제에서 순서(g 먼저, f 나중)와 천장/바닥 구분(올림/내림)을 모두 정확히 체크해야 한다. 두 개념이 결합된 문제는 부분 점수 없이 통째로 틀리기 쉬우니 단계별로 천천히 풀자.


마치며

이번 15강에서는 함수의 본격적인 분류(단사·전사·전단사)와 핵심 연산(합성·역함수·산술 연산), 그리고 컴퓨터 과학에서 매일 쓰이는 바닥/천장 함수까지 다뤘다.

핵심 통찰

함수 분류 = 역함수 존재의 결정 기준

함수 종류역함수 존재?활용
단사만 부분적 역함수만 가능
전사만 역함수 정의 불가
전단사 암호학·DB 키·1:1 매핑

14~15강 함수 파트 정리

14강15강
함수가 무엇인가 함수의 분류와 활용
정의역·공역·치역 단사·전사·전단사
상·원상·부분집합의 상 역함수·합성·연산
단답형 빈출 계산·서술형 빈출