This lesson is only available in Korean for now.
Lesson 9 of 20

관계 — 누가 누구와 이어져 있는가

반사 · 대칭 · 추이, 그리고 데이터베이스의 조상

관계 — 누가 누구와 이어져 있는가
관계는 짝들의 집합입니다. 화살표 하나하나가 원소예요.

8강 끝에서 곱집합 A × B — 가능한 모든 짝의 모임 — 을 만들었습니다. 그 짝들 중에서 우리가 관심 있는 것만 골라낸 것이 관계(relation)입니다.

예를 들어 사람 집합 {민준, 서연, 지호} 에서 "~는 ~를 팔로우한다"는 관계는 이런 짝들의 집합이에요.

R = {(민준, 서연), (서연, 지호), (지호, 민준), (민준, 지호)}

(a, b) ∈ R 을 a R b 라고도 씁니다. "a와 b가 이 관계에 있다"는 뜻이에요. 우리가 아는 <, =, "~의 부모이다", "같은 반이다" 모두 관계입니다.

관계 행렬 — 이어져 있으면 1, 아니면 0.
Python Runs in your browser

🎮 칸을 눌러 관계를 만들어 보세요

표의 칸을 클릭하면 화살표가 생기고 사라집니다. 그때그때 이 관계가 반사적인지 · 대칭적인지 · 추이적인지 판정해 드립니다. 성질이 깨지면 어느 짝 때문에 깨졌는지도 알려 줘요.

관계 행렬 실험실 — 반사 · 대칭 · 추이를 직접 확인
Loading…

관계의 세 가지 성질

성질조건말로 하면예
반사적∀a, (a,a) ∈ R자기 자신과도 이어진다"같은 반이다", "≤"
대칭적aRb → bRa이어지면 반대도 이어진다"친구다", "="
추이적aRb ∧ bRc → aRc징검다리로 건너뛸 수 있다"<", "조상이다"

세 가지를 모두 만족하면 동치관계(equivalence relation)라고 합니다. 동치관계는 집합을 겹치지 않는 조각으로 깔끔하게 쪼갭니다 — 이걸 분할이라고 해요. "같은 반이다"라는 관계가 전교생을 반별로 쪼개는 것처럼요.

같은 조 = 동치관계. '<' 는 추이적이지만 반사·대칭이 아닙니다.
Python Runs in your browser

순서관계 — 줄을 세우는 관계

반사적 · 반대칭적(aRb이고 bRa이면 a = b) · 추이적인 관계를 부분순서(partial order)라고 합니다. ≤, "~의 부분집합이다", "~를 먼저 해야 한다" 같은 것들이에요.

작업 사이의 "먼저 해야 한다" 관계를 순서대로 늘어놓는 것을 위상 정렬이라 하고, 빌드 시스템·패키지 설치·과목 선수 관계가 전부 이 문제입니다.

순서관계를 한 줄로 펼치는 것을 위상 정렬이라 합니다.
Python Runs in your browser
🤔 Check yourself
관계 R 이 대칭적이라는 것은?
🤔 Check yourself
정수에서 관계 "a < b" 가 갖지 못한 성질은?
🤔 Check yourself
동치관계가 집합에 하는 일은?