집합, 관계, 함수 (Sets, Relations, Functions)
Sets Relations Functions, 집합, 관계, 함수, 동치 관계, 부분 순서, 전단사
정의
- 집합 (set): 서로 다른 원소들의 모음
- 관계 (relation): 두 집합 사이의 원소들의 대응 규칙
- 함수 (function): 정의역의 각 원소를 치역의 유일한 원소로 대응시키는 관계
이 세 개념은 이산수학과 컴퓨터 과학의 근본. 자료구조, 데이터베이스, 타입 시스템, 함수형 프로그래밍의 이론적 배경.
집합 (Sets)
표기
나열: ,
조건 제시: = 양의 정수
중요한 집합:
- : 자연수 (또는 )
- : 정수
- : 유리수
- : 실수
- : 복소수
- 또는 : 공집합
기본 연산
주어진 에 대해:
| 연산 | 정의 |
|---|---|
| 합집합 | 또는 의 원소 |
| 교집합 | 그리고 의 원소 |
| 차집합 | 이고 가 아닌 원소 |
| 대칭차 | 또는 이지만 둘 다는 아닌 원소 |
| 여집합 | 전체집합 에서 아닌 원소 |
| 부분집합 | 의 모든 원소가 에 |
| 진부분집합 | 부분집합이면서 같지 않음 |
| 곱집합 | 순서쌍 |
| 멱집합 | 의 모든 부분집합 |
시각화: 벤 다이어그램
flowchart LR
subgraph "합집합 A ∪ B"
A1(("A")):::a
B1(("B")):::b
end
subgraph "교집합 A ∩ B"
A2(("A")):::a
B2(("B")):::b
I2["교집합"]:::i
end
classDef a fill:#fee2e2
classDef b fill:#dbeafe
classDef i fill:#a7f3d0
집합의 크기 (기수)
- 유한 집합: = 원소 개수. .
- 무한 집합: 셀 수 있는 무한 (예: , ) 과 셀 수 없는 무한 (예: ) 이 있음.
집합의 크기 공식
- (부분집합의 수)
포함배제 원리로 3개 이상으로 확장. 조합론 참조.
집합 항등식 (드모르간 등)
| 법칙 | 등식 |
|---|---|
| 결합 | |
| 교환 | |
| 분배 | |
| 드모르간 | |
| 흡수 |
명제 논리와 완전히 대응 (isomorphic to Boolean algebra).
관계 (Relations)
정의
이항 관계 (binary relation) 은 의 부분집합. 즉 순서쌍 들의 모임.
표기: 또는 .
예:
- = 정수의 “미만” 관계
- = 부모-자식 관계
관계의 성질
위의 관계 에 대해:
| 성질 | 정의 |
|---|---|
| 반사 (reflexive) | 모든 에 대해 |
| 대칭 (symmetric) | |
| 반대칭 (antisymmetric) | |
| 추이 (transitive) |
동치 관계
반사 + 대칭 + 추이 를 모두 만족하는 관계. 집합을 동치 클래스 로 나눔.
예:
- “같다” ()
- 정수 mod :
- 그래프의 “연결됨” 관계
부분 순서 (Partial Order)
반사 + 반대칭 + 추이 를 만족.
예:
- (정수, 실수)
- (집합)
- 정수의 나눗셈 관계
- 그래프의 위상 정렬
Hasse Diagram
부분 순서를 시각화:
flowchart TD E["12"] D["6"] C["4"] B["3"] A["2"] Z["1"] E --- D E --- C D --- B D --- A C --- A B --- Z A --- Z
정수 12 의 약수 집합 의 나눗셈 관계.
함수 (Functions)
정의
함수 는 의 각 원소를 의 유일한 원소에 대응시키는 관계.
- : 정의역 (domain)
- : 공역 (codomain)
- : 치역 (range) (공역의 부분집합)
함수의 종류
단사 (injective, one-to-one): . 서로 다른 입력은 서로 다른 출력.
전사 (surjective, onto): 모든 에 대해 인 존재. 치역 = 공역.
전단사 (bijective): 단사 + 전사. 역함수 존재.
시각화
flowchart LR
subgraph "단사 (injective)"
A1["1"] -->|f| B1["a"]
A2["2"] -->|f| B2["b"]
A3["3"] -->|f| B3["c"]
B4["d"]
B5["e"]
end
subgraph "전사 (surjective)"
C1["1"] -->|f| D1["a"]
C2["2"] -->|f| D1
C3["3"] -->|f| D2["b"]
C4["4"] -->|f| D3["c"]
end
subgraph "전단사 (bijective)"
E1["1"] -->|f| F1["a"]
E2["2"] -->|f| F2["b"]
E3["3"] -->|f| F3["c"]
end
- 단사: 안 쓰인 공역 원소 OK, 하지만 중복 대응 안 됨
- 전사: 공역 다 커버, 하지만 여러 정의역이 같은 곳으로 OK
- 전단사: 위 둘 다
함수의 합성
, 이면 정의.
성질:
- 결합:
- 교환 X: 일반적으로
역함수
가 전단사이면 역함수 존재.
,
컴퓨터 과학 응용
자료구조
- 집합:
HashSet,TreeSet,set(Python) - 관계: 데이터베이스의 테이블 = 의 부분집합
- 함수:
Map,Dict,HashMap
함수형 프로그래밍
- First-class function: 함수를 값으로
- 함수 합성:
- 불변성: 수학적 함수처럼
타입 시스템
- 타입 = 집합:
int= 정수 집합,bool= - 함수 타입:
- 곱 타입:
(int, string)= - 합 타입:
Result<T, E>= (disjoint union)
관계형 데이터베이스
- 관계 (테이블):
- 정규화: 함수 종속성 (functional dependency) 이론
- 결합 (JOIN): 관계의 곱
그래프
그래프 는 정점 집합 와 간선 관계 .
함정
1. 집합의 원소 개수 vs 순서
집합은 순서 없음: 순서쌍은 순서 있음:
2. vs
(원소) (부분집합)
는 오류 (숫자 1 은 집합이 아님).
3. 함수의 well-defined
, 는 함수가 아님. 왜? 지만 . Well-defined 하지 않음.
4. 관계 vs 함수
관계는 한 입력에 여러 출력 가능. 함수는 유일.
관련 위키
이 글의 용어 (6개)
- 그래프 이론 기초 (Graph Theory)discrete-math
- 정의 그래프 (Graph) $G = (V, E)$ 는 정점 (vertex) 의 집합 $V$ 와 간선 (edge) 의 집합 $E$ 로 이루어진 이산 구조입니다. 간선은 정점의 쌍 …
- 명제 논리 (Propositional Logic)discrete-math
- 정의 명제 (Proposition) 는 참 (T) 또는 거짓 (F) 값을 가지는 서술문입니다. 참/거짓을 판단할 수 없는 문장 (질문, 명령, 감탄) 은 명제가 아닙니다. 예 (…
- 부울 대수 (Boolean Algebra)discrete-math
- 정의 부울 대수 (Boolean Algebra) 는 두 값 (참/거짓, 1/0) 과 세 연산 (AND, OR, NOT) 을 다루는 대수 시스템입니다. 1854년 George Bo…
- 이산수학 (Discrete Mathematics)discrete-math
- 정의 이산수학 (Discrete Mathematics) 은 이산 (discrete, 셀 수 있는) 대상을 다루는 수학의 분야입니다. 연속 (continuous) 대상 을 다루는 …
- 조합론 기초 (Combinatorics)discrete-math
- 정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세거나 배열하는 방법을 다루는 수학 분야입니다. "경우의 수 계산" 과 "구조의 존재/구성" 이 핵심 주제. 컴퓨…
- 증명 기법 (Proof Techniques)discrete-math
- 정의 증명 (proof) 은 명제가 참임을 논리적으로 확립하는 절차입니다. 컴퓨터 과학에서는 알고리즘 정확성, 자료구조 불변식, 암호 안전성, 형식 검증 등에 필수. 이 문서는 …
💬 댓글