관계의 폐포
- 학번을 입력하면 학생의 이름을 비롯한 학생의 기타 정보를 검색할 수 있는 시스템이 있다고 하자.
- 하지만, 이 시스템은 등록된 전체 학생 중 재학생만 검색할 수 있다.
- 이 시스템에서 휴학생의 정보도 검색할 수 있으려면 휴학생의 학번과 정보도 추가해야할 것이다.
- 이처럼 자료 집합에 필요한 원소를 추가하여 특정 조건을 만족하도록 만드는 것을 관계의 폐포라고 한다.
관계의 폐포(Closure)
집합 `A` 에 대한 관계를 `R` 이라 하고 관계 `R` 이 가져야 하는 성질을 `P` 라고 할 때, 관계 `R` 을 포함하면서 성질 `P` 를 갖는 가장 작은 집합 `A` 에 대한 관계 `S`
- 성질 `P` 를 갖지 않는 관계 `R` 이 성질 `P`를 갖도록 순서쌍을 추가할 때는 반드시 필요한 최소한의 순서쌍만 추가한다.
- 예) 집합 `A` 에 대한 관계 `R` 이 반사 관계가 아닐 때, 관계 `R` 의 반사 폐포 `S` 를 구하려면 반사 관계이기 위해 반드시 필요한 순서쌍 $(a, a) \; (a ∈ A)$ 만 추가한다.
- 즉, 관계 `R` 이 없으면서 반사 관계를 만드는 데도 전혀 상관이 없는 순서쌍은 절대 추가하지 않는다.
- 관계에 대한 성질에는 반사, 비반사, 대칭, 반대칭, 추이가 있으며, 이 중에서 폐포를 만들 수 있는 성질은 반사, 대칭, 추이이다.
반사 폐포(Reflexive Closure)
집합 `A` 에 대한 관계 `R` 을 포함하면서 반사 관계를 갖는 가장 작은 관계 `S`
$$S = R ∪ \{(a, a) \; | \; a ∈ A \}$$
- 반사 폐포는 반사 관계가 아닌 집합 `A` 에 대한 관계 `R` 에 반사 관계를 만족하는 데 필요한 순서쌍 원소 `(a, a)` 를 추가하여 만든 새로운 관계 `S` 를 말한다.
예 : 집합 $A = \{ 1, 2, 3 \}$ 에 대한 다음과 같은 관계 `R` 이 있을 경우
$$R = \{ (1, 1), (1, 3), (2, 1), (3, 2) \}$$ |
- 관계 `R` 은 $(2, 2) \not \in R, \; (3, 3) \not \in R$ 이므로 반사 관계가 아니다.
- 그러므로 `(2, 2), (3, 3)` 을 추가한다면 관계 `R` 은 반사 관계가 될 것이다.
- 관계 `R` 에 순서쌍 `(2, 2), (3, 3)` 을 추가한 새로운 관계 `S` 는 다음과 같다.
$$ \eqalign{ S &= R \cup \{(2, 2), (3, 3)\} \\ &= \{(1, 1), (1, 3), (2, 1), (3, 2)\} \cup \{(2, 2), (3, 3)\} \\ &= \{(1, 1), (1, 3), (2, 1), (2, 2), (3, 2), (3, 3) \}}$$ |
- 이렇게 구한 관계 `S` 는 관계 `R` 의 반사 폐포이다.
관계 행렬 및 방향 그래프의 표현
- 반사 폐포를 구하거나 표현하기 위해 관계 행렬이나 방향 그래프를 활용할 수 있다.
- 반사 관계가 아닌 관계 `R` 에 대한 관계 행렬의 경우 주대각 원소 중 1이 아닌 원소가 존재하고, 방향 그래프의 경우 루프가 없는 원소가 존재할 수 있다.
관계 `R` | |
$$\quad \quad \quad \quad \begin{matrix} 1 & 2 & 3 \end{matrix} \\ M_{R} = \begin{matrix} 1 \\ 2 \\ 3 \end{matrix} \begin{bmatrix} 1 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix}$$ |
- 관계`R` 이 반사 관계가 되도록 관계 행렬의 주대각 원소를 모두 1로 만들고, 방향 그래프의 모든 원소가 루프를 갖도록 나타나면 반사 폐포 `S` 가 된다.
관계 `R` 의 반사 폐포 `S` | |
$$\quad \quad \quad \quad \begin{matrix} 1 & 2 & 3 \end{matrix} \\ M_{R} = \begin{matrix} 1 \\ 2 \\ 3 \end{matrix} \begin{bmatrix} 1 & 0 & 1 \\ 1 & 1 & 0 \\ 0 & 1 & 1 \end{bmatrix}$$ |
대칭 폐포(Symmetric Closure)
집합 `A` 에 대한 관계 `R` 을 포함하면서 대칭 관계를 갖는 가장 작은 관계 `S`
$$S = R ∪ \{(b, a) ∈ A \times A \; | \; (a, b) \in R \} = R \cup R^{-1}$$
- 대칭 폐포는 대칭 관계가 아닌 집합 `A` 에 대한 관계 `R` 에 대칭 관계를 만족하는 데 필요한 순서쌍 원소를 추가하여 만든 새로운 관계 `S` 를 의미한다.
예 : 집합 $A = \{ 1, 2, 3 \}$ 에 대한 다음과 같은 관계 `R` 이 있을 경우
$$R = \{ (1, 1), (1, 3), (2, 1), (3, 2) \}$$ |
- 관계 `R` 은 다음과 같은 이유로 대칭 관계가 아니다.
$(1, 1) \in R$ 일 때 `1 = 1` 이고 $(1, 1) \in R$ $(1, 3) \in R$ 일 때 `1 ≠ 3` 이고 $(3, 1) \not \in R$ $(2, 1) \in R$ 일 때 `2 ≠ 1` 이고 $(1, 2) \not \in R$ $(3, 2) \in R$ 일 때 `3 ≠ 2` 이고 $(2, 3) \not \in R$ |
- 그러므로 관계 `R` 이 대칭 관계이려면 `(1, 1), (2, 3), (3, 1)` 을 추가해야 한다.
$$\eqalign{S &= R \cup \{(1, 2), (2, 3), (3, 1)\} \\ &= \{(1, 1), (1, 3), (2, 1), (3, 2) \} \cup \{(1, 2), (2, 3), (3, 1) \} \\ &= \{(1, 1), (1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2) \} \\ &= \{(1, 1), (1, 3), (2, 1), (3, 2) \} \cup \{(1, 1), (1, 2), (2, 3), (3, 1) \} \\ &= R \cup R^{-1}}$$ |
- 이렇게 구한 관계 `S` 는 관계 `R` 의 대칭 폐포가 된다.
- 위에서 알 수 있듯이 대칭 폐포는 관계 `R` 의 역관계 $R^{-1}$ 와 관계 `R` 의 합집합으로 구할 수도 있다.
관계 행렬 및 방향 그래프의 표현
- 대칭 폐포를 구하거나 표현하기 위해 관계 행렬이나 방향 그래프를 활용할 수 있다.
- 대칭 관계가 아닌 관계 `R` 에 대한 관계 행렬의 경우 주대각 원소를 기준으로 마주보는 원소가 다르고, 방향 그래프의 경우 단방향 화살표로만 표현된다.
관계 `R` | |
$$\quad \quad \quad \quad \begin{matrix} 1 & 2 & 3 \end{matrix} \\ M_{R} = \begin{matrix} 1 \\ 2 \\ 3 \end{matrix} \begin{bmatrix} 1 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix}$$ |
- 관계 `R` 을 대칭 관계로 만들기 위해 관계 행렬에서 주대각 원소를 기준으로 마주보는 원소가 서로 다른 경우에 해당 원소를 모두 1로 나타내면 대칭 폐포 `S` 가 된다.
- 또한 방향 그래프의 경우, 단방향 화살표를 모두 양방향 화살표로 바꿔 그리면 대칭 폐포 `S` 가 된다.
관계 `R` 의 반사 폐포 `S` | |
$$\quad \quad \quad \quad \begin{matrix} 1 & 2 & 3 \end{matrix} \\ M_{R} = \begin{matrix} 1 \\ 2 \\ 3 \end{matrix} \begin{bmatrix} 1 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \end{bmatrix}$$ |
추이 폐포(Transitive Closure)
집합 `A` 에 대한 관계 `R` 을 포함하면서 추이 관계를 갖는 가장 작은 관계 `S`
$$S = R ∪ \{(a, c) ∈ A \times A \; | \; (a, b) \in R \; \land \; (b, c) \in R \} $$
- 추이 폐포는 추이 관계가 아닌 집합 `A` 에 대한 관계 `R` 에 추이 관계를 만족하는 데 필요한 순서쌍 원소를 추가하여 만든 새로운 관계 `S` 를 의미한다.
예 : 집합 $A = \{ 1, 2, 3 \}$ 에 대한 다음과 같은 관계 `R` 이 있을 경우
$$R = \{ (1, 1), (1, 3), (2, 1), (3, 2) \}$$ |
- 관계 `R` 이 추이 관계인지 판별해보자.
$(1, 1) \in R$ 이고 $(1, 1) \in R$ 일 때 $(1, 1) \in R$ $(1, 1) \in R$ 이고 $(1, 3) \in R$ 일 때 $(1, 3) \in R$ $(1, 3) \in R$ 이고 $(3, 2) \in R$ 일 때 $(1, 2) \not \in R$ $(2, 1) \in R$ 이고 $(1, 1) \in R$ 일 때 $(2, 1) \in R$ $(2, 1) \in R$ 이고 $(1, 3) \in R$ 일 때 $(2, 3) \not \in R$ $(3, 2) \in R$ 이고 $(2, 1) \in R$ 일 때 $(3, 1) \not \in R$ |
- 관계 `R` 이 추이 관계이려면 $(1, 2), (2, 3), (3, 1)$ 을 추가해야 한다.
$$\eqalign{S &= R \cup \{(1, 2), (2, 3), (3, 1)\} \\ &= \{(1, 1), (1, 3), (2, 1), (3, 2) \} \cup \{(1, 2), (2, 3), (3, 1) \} \\ &= \{(1, 1), (1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2) \} }$$ |
- 그런데 이렇게 1차적으로 필요한 원소를 추가했다고 해서 관계 `S` 가 반드시 추이 폐포인 것은 아니라는 점을 주의해야 한다.
- 즉, 관계 `S` 는 추이 폐포일 수도 있고 아닐 수도 있으므로, 다음과 같이 1차적으로 구한 관계 `S` 가 추이 관계인지 판별해야 한다.
$(1, 1) \in S$ 이고 $(1, 1) \in S$ 일 때 $(1, 1) \in S$ $(1, 1) \in S$ 이고 $(1, 2) \in S$ 일 때 $(1, 2) \in S$ $(1, 1) \in S$ 이고 $(1, 3) \in S$ 일 때 $(1, 3) \in S$ $(1, 2) \in S$ 이고 $(2, 1) \in S$ 일 때 $(1, 1) \in S$ $(1, 2) \in S$ 이고 $(2, 3) \in S$ 일 때 $(1, 3) \in S$ $(1, 3) \in S$ 이고 $(3, 1) \in S$ 일 때 $(1, 1) \in S$ $(1, 3) \in S$ 이고 $(3, 2) \in S$ 일 때 $(1, 2) \in S$ $(2, 1) \in S$ 이고 $(1, 1) \in S$ 일 때 $(2, 1) \in S$ $(2, 1) \in S$ 이고 $(1, 2) \in S$ 일 때 $(2, 2) \not \in S$ $(2, 1) \in S$ 이고 $(1, 3) \in S$ 일 때 $(2, 3) \in S$ $(2, 3) \in S$ 이고 $(3, 1) \in S$ 일 때 $(2, 1) \in S$ $(2, 3) \in S$ 이고 $(3, 2) \in S$ 일 때 $(2, 2) \not \in S$ $(3, 1) \in S$ 이고 $(1, 1) \in S$ 일 때 $(3, 1) \in S$ $(3, 1) \in S$ 이고 $(1, 2) \in S$ 일 때 $(3, 2) \in S$ $(3, 1) \in S$ 이고 $(1, 3) \in S$ 일 때 $(3, 3) \not \in S$ $(3, 2) \in S$ 이고 $(2, 1) \in S$ 일 때 $(3, 1) \in S$ $(3, 2) \in S$ 이고 $(2, 3) \in S$ 일 때 $(3, 3) \not \in S$ |
- 앞의 과정을 통해 1차적으로 구한 관계 `S` 는 추이 관계가 아님을 알 수 있다.
- 그러므로 관계 `S` 가 추이 관계가 되어 관계 `R` 의 추이 폐포이려면 순서쌍 `(2, 2), (3, 3)` 을 추가해야 한다.
$$\eqalign{S' &= R \cup \{(2, 2), (3, 3)\} \\ &= \{(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3) \} }$$ |
연결 관계(Connectivity Relation : $R^{*}$)
집합 `A` 에 대한 관계 `R` 에 대하여,
$$R^{*} = \bigcup_{n=1}^{∞} R^{n} = R^{1} \cup R^{2} \cup R^{3} \cup \cdots = R^{\infty}$$
일반적으로 집합 `A` 의 기수가 `n` 일 때, 관계 `R` 의 연결 관계 $R^{*}$ 는 다음과 같이 구한다.
$$R^{*} = \bigcup_{k=1}^{n} R^{k} = R^{1} \cup R^{2} \cup \cdots \cup R^{n-1} \cup R^{n}$$
- 어떤 관계 `R` 의 추이 폐포 `S` 를 구할 때 필요한 순서쌍의 포함 여부를 확인하고 추가하는 작업을 여러 번 반복해야 하는 경우도 있어 추이 폐포를 구하는 과정이 쉽지 않을 수 있다.
- 추이 폐포를 구하기 위한 조금 더 간단한 방법으로 연결 관계를 이용할 수 있다.
연결 관계와 추이 폐포의 관계
관계 `R` 의 연결 관계 $R^{*}$ 는 관계 `R` 의 추이 폐포이다.
- 연결 관계 $R^{*}$ 가 관계 `R` 의 추이 폐포임을 증명하려면 다음 두 명제를 모두 증명해야 한다.
(i) 관계 `R` 의 연결 관계 $R^{*}$ 는 추이 관계이다. (ii) 관계 `R` 의 추이 폐포 `S` 가 있다면 $R^{*} ⊆ S$ 이다. |
증명
(i) 관계 `R` 의 연결 관계 $R^{*}$ 는 추이 관계이다.
$(a, b) \in R^{*}, \; (b, c) \in R^{*}$ 라고 가정하면 자연수 `p, q` 에 대하여 $(a, b) \in R^{p}, \; (b, c) \in R^{q}$ 이다.
$(a, b) \in R^{p}$ 의 경우, 어떤 $x_{1}, x_{2}, \cdots, x_{p - 1}$ 에 대하여 다음을 만족한다.
$$(a, x_{1}) \in R, \; (x_{1}, x_{2}) \in R, \cdots, (x_{p-2}, x_{p-1}) \in R, \; (x_{p-1}, b) \in R$$ |
$(b, c) \in R^{q}$ 의 경우, 어떤 $y_{1}, y_{2}, \cdots, y_{q - 1}$ 에 대하여 다음을 만족한다.
$$(b, y_{1}) \in R, \; (y_{1}, y_{2}) \in R, \cdots, (y_{q-2}, y_{q-1}) \in R, \; (y_{q-1}, c) \in R$$ |
따라서 $(a, c) \in R^{p + q}$ 이고, $R^{*} = R \cup R^{p} \cup R^{q} \cup R^{p+q}$ 이므로 $(a, b) \in R^{*}, \; (b, c) \in R^{*}, \; (a, c) \in R^{*}$ 이다.
∴ 관계 `R` 의 연결 관계 $R^{*}$ 는 추이 관계이다.
(ii) 관계 `R` 의 추이 폐포 `S` 가 있다면 $R^{*} ⊆ S$ 이다.
관계 `R` 의 추이 폐포 `S` 가 있다면 $R^{*} ⊆ S$ 이다.
관계 `S` 는 관계 `R` 의 추이 폐포이므로 관계 `R` 에 관한 집합 `A` 의 기수가 `n` 일 때 $S^{n}$ 도 추이 관계이다.
따라서 $S^{n} ⊆ S$ 이므로 다음이 성립한다.
$$S^{*} = \bigcup_{n=1}^{\infty} S^{n} \quad \quad ∴ S^{*} ⊆ S$$ |
또한 관계 `S` 가 관계 `R` 의 추이 폐포이므로 관계 `S` 는 관계 `R` 을 포함한다.
따라서 $R^{*} ⊆ S^{*}$ 이다.
∴ $R^{*} ⊆ S^{*} ⊆ S$ |
따라서 연결 관계 $R^{*}$ 는 관계 `R` 의 추이 폐포이다.
예 : 집합 $A = \{ 1, 2, 3 \}$ 에 대한 다음과 같은 관계 `R` 이 있을 경우
$$R = \{ (1, 1), (1, 3), (2, 1), (3, 2) \}$$ |
- 관계 `R` 의 추이 폐포를 연결 관계를 이용하여 구해보자.
- 집합의 기수가 3($|A| = 3$)이므로 거듭 제곱을 세 번하여 연결 관계를 구한다.
$$M_{R} = \begin{bmatrix} 1 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix} \\ R^{2} = R \circ R = \begin{bmatrix} 1 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix} \odot \begin{bmatrix} 1 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix} = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 0 & 1 \end{bmatrix} \\ R^{3} = R^{2} \circ R = \begin{bmatrix} 1 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix} \odot \begin{bmatrix} 1 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 0 & 1 \end{bmatrix} = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 0 & 1 \end{bmatrix} \\ R^{*} = \bigcup_{n=1}^{3} R^{n} = R^{1} \cup R^{2} \cup R^{3} = \{(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3) \}$$ ∴ 관계 `R` 의 추이 폐포는 $S = \{(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3) \}$ |
'Mathematics > 이산 수학' 카테고리의 다른 글
[이산 수학] 합성 함수 (0) | 2022.11.21 |
---|---|
[이산 수학] 함수의 성질 (0) | 2022.11.14 |
[이산 수학] 함수의 개념 (0) | 2022.11.14 |
[이산 수학] 동치 관계와 부분 순서 관계 (0) | 2022.11.06 |
[이산 수학] 합성 관계 (0) | 2022.10.31 |
[이산 수학] 관계의 성질 (0) | 2022.10.31 |
[이산 수학] 관계의 표현 (0) | 2022.10.29 |
[이산 수학] 관계의 개념 (0) | 2022.10.29 |