Loading [MathJax]/jax/output/CommonHTML/jax.js
728x90
728x90

관계의 폐포

  • 학번을 입력하면 학생의 이름을 비롯한 학생의 기타 정보를 검색할 수 있는 시스템이 있다고 하자. 
    • 하지만, 이 시스템은 등록된 전체 학생 중 재학생만 검색할 수 있다.
    • 이 시스템에서 휴학생의 정보도 검색할 수 있으려면 휴학생의 학번과 정보도 추가해야할 것이다.
  • 이처럼 자료 집합에 필요한 원소를 추가하여 특정 조건을 만족하도록 만드는 것을 관계의 폐포라고 한다.

 

관계의 폐포(Closure)

집합 A 에 대한 관계를 R 이라 하고 관계 R 이 가져야 하는 성질을 P 라고 할 때, 관계 R 을 포함하면서 성질 P 를 갖는  가장 작은 집합 A 에 대한 관계 S
  • 성질 P 를 갖지 않는 관계 R 이 성질 P를 갖도록 순서쌍을 추가할 때는 반드시 필요한 최소한의 순서쌍만 추가한다.
  • 예) 집합 A 에 대한 관계 R 이 반사 관계가 아닐 때, 관계 R반사 폐포 S 를 구하려면 반사 관계이기 위해 반드시 필요한 순서쌍 (a,a)(aA) 만 추가한다.
    • 즉, 관계 R 이 없으면서 반사 관계를 만드는 데도 전혀 상관이 없는 순서쌍은 절대 추가하지 않는다.
  • 관계에 대한 성질에는 반사, 비반사, 대칭, 반대칭, 추이가 있으며, 이 중에서 폐포를 만들 수 있는 성질은 반사, 대칭, 추이이다.

 

반사 폐포(Reflexive Closure)

집합 A 에 대한 관계 R 을 포함하면서 반사 관계를 갖는 가장 작은 관계 S
S=R{(a,a)|aA}
  • 반사 폐포는 반사 관계가 아닌 집합 A 에 대한 관계 R반사 관계를 만족하는 데 필요한 순서쌍 원소 (a,a) 를 추가하여 만든 새로운 관계 S 를 말한다.

 

예 : 집합 A={1,2,3} 에 대한 다음과 같은 관계 R 이 있을 경우
R={(1,1),(1,3),(2,1),(3,2)}
  • 관계 R(2,2)R,(3,3)R 이므로 반사 관계가 아니다.
  • 그러므로 (2,2),(3,3) 을 추가한다면 관계 R 은 반사 관계가 될 것이다.
  • 관계 R 에 순서쌍 (2,2),(3,3) 을 추가한 새로운 관계 S 는 다음과 같다.
S=R{(2,2),(3,3)}={(1,1),(1,3),(2,1),(3,2)}{(2,2),(3,3)}={(1,1),(1,3),(2,1),(2,2),(3,2),(3,3)}
  • 이렇게 구한 관계 S 는 관계 R반사 폐포이다.

 

관계 행렬 및 방향 그래프의 표현

  • 반사 폐포를 구하거나 표현하기 위해 관계 행렬이나 방향 그래프를 활용할 수 있다.
  • 반사 관계가 아닌 관계 R 에 대한 관계 행렬의 경우 주대각 원소 중 1이 아닌 원소가 존재하고, 방향 그래프의 경우 루프가 없는 원소가 존재할 수 있다.
관계 R
123MR=123[101100010]

 

  • 관계R 이 반사 관계가 되도록 관계 행렬의 주대각 원소를 모두 1로 만들고, 방향 그래프의 모든 원소가 루프를 갖도록 나타나면 반사 폐포 S 가 된다.
관계 R 의 반사 폐포 S
123MR=123[101110011]

 

대칭 폐포(Symmetric Closure)

집합 A 에 대한 관계 R 을 포함하면서 대칭 관계를 갖는 가장 작은 관계 S
S=R{(b,a)A×A|(a,b)R}=RR1
  • 대칭 폐포는 대칭 관계가 아닌 집합 A 에 대한 관계 R대칭 관계를 만족하는 데 필요한 순서쌍 원소를 추가하여 만든 새로운 관계 S 를 의미한다.

 

예 : 집합 A={1,2,3} 에 대한 다음과 같은 관계 R 이 있을 경우
R={(1,1),(1,3),(2,1),(3,2)}
  • 관계 R 은 다음과 같은 이유로 대칭 관계가 아니다.
(1,1)R 일 때 1=1 이고 (1,1)R
(1,3)R 일 때 13 이고 (3,1)R
(2,1)R 일 때 21 이고 (1,2)R
(3,2)R 일 때 32 이고 (2,3)R
  • 그러므로 관계 R 이 대칭 관계이려면 (1,1),(2,3),(3,1) 을 추가해야 한다.
S=R{(1,2),(2,3),(3,1)}={(1,1),(1,3),(2,1),(3,2)}{(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)}{(1,1),(1,2),(2,3),(3,1)}=RR1
  • 이렇게 구한 관계 S 는 관계 R대칭 폐포가 된다.
  • 위에서 알 수 있듯이 대칭 폐포는 관계 R역관계 R1관계 R합집합으로 구할 수도 있다.

 

관계 행렬 및 방향 그래프의 표현

  • 대칭 폐포를 구하거나 표현하기 위해 관계 행렬이나 방향 그래프를 활용할 수 있다.
  • 대칭 관계가 아닌 관계 R 에 대한 관계 행렬의 경우 주대각 원소를 기준으로 마주보는 원소가 다르고, 방향 그래프의 경우 단방향 화살표로만 표현된다.
관계 R
123MR=123[101100010]

 

  • 관계 R 을 대칭 관계로 만들기 위해 관계 행렬에서 주대각 원소를 기준으로 마주보는 원소가 서로 다른 경우에 해당 원소를 모두 1로 나타내면 대칭 폐포 S 가 된다. 
  • 또한 방향 그래프의 경우, 단방향 화살표를 모두 양방향 화살표로 바꿔 그리면 대칭 폐포 S 가 된다.
관계 R 의 반사 폐포 S
123MR=123[111101110]

 

추이 폐포(Transitive Closure)

집합 A 에 대한 관계 R 을 포함하면서 추이 관계를 갖는 가장 작은 관계 S
S=R{(a,c)A×A|(a,b)R(b,c)R}
  • 추이 폐포는 추이 관계가 아닌 집합 A 에 대한 관계 R 추이 관계를 만족하는 데 필요한 순서쌍 원소를 추가하여 만든 새로운 관계 S 를 의미한다.

 

예 : 집합 A={1,2,3} 에 대한 다음과 같은 관계 R 이 있을 경우
R={(1,1),(1,3),(2,1),(3,2)}
  • 관계 R추이 관계인지 판별해보자.
(1,1)R 이고 (1,1)R 일 때 (1,1)R
(1,1)R 이고 (1,3)R 일 때 (1,3)R
(1,3)R 이고 (3,2)R 일 때 (1,2)R
(2,1)R 이고 (1,1)R 일 때 (2,1)R
(2,1)R 이고 (1,3)R 일 때 (2,3)R
(3,2)R 이고 (2,1)R 일 때 (3,1)R
  • 관계 R 이 추이 관계이려면 (1,2),(2,3),(3,1) 을 추가해야 한다.
S=R{(1,2),(2,3),(3,1)}={(1,1),(1,3),(2,1),(3,2)}{(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)S 이고 (1,1)S 일 때 (1,1)S
(1,1)S 이고 (1,2)S 일 때 (1,2)S
(1,1)S 이고 (1,3)S 일 때 (1,3)S
(1,2)S 이고 (2,1)S 일 때 (1,1)S
(1,2)S 이고 (2,3)S 일 때 (1,3)S
(1,3)S 이고 (3,1)S 일 때 (1,1)S
(1,3)S 이고 (3,2)S 일 때 (1,2)S
(2,1)S 이고 (1,1)S 일 때 (2,1)S
(2,1)S 이고 (1,2)S 일 때 (2,2)S
(2,1)S 이고 (1,3)S 일 때 (2,3)S
(2,3)S 이고 (3,1)S 일 때 (2,1)S
(2,3)S 이고 (3,2)S 일 때 (2,2)S
(3,1)S 이고 (1,1)S 일 때 (3,1)S
(3,1)S 이고 (1,2)S 일 때 (3,2)S
(3,1)S 이고 (1,3)S 일 때 (3,3)S
(3,2)S 이고 (2,1)S 일 때 (3,1)S
(3,2)S 이고 (2,3)S 일 때 (3,3)S
  • 앞의 과정을 통해 1차적으로 구한 관계 S 는 추이 관계가 아님을 알 수 있다.
  • 그러므로 관계 S 가 추이 관계가 되어 관계 R 의 추이 폐포이려면 순서쌍 (2,2),(3,3) 을 추가해야 한다.
S=R{(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=n=1Rn=R1R2R3=R
일반적으로 집합 A 의 기수가 n 일 때, 관계 R 의 연결 관계 R 는 다음과 같이 구한다.
R=nk=1Rk=R1R2Rn1Rn
  • 어떤 관계 R추이 폐포 S 를 구할 때 필요한 순서쌍의 포함 여부를 확인하고 추가하는 작업을 여러 번 반복해야 하는 경우도 있어 추이 폐포를 구하는 과정이 쉽지 않을 수 있다.
  • 추이 폐포를 구하기 위한 조금 더 간단한 방법으로 연결 관계를 이용할 수 있다.

 

연결 관계와 추이 폐포의 관계

관계 R 의 연결 관계 R 는 관계 R 추이 폐포이다.
  • 연결 관계 R 가 관계 R추이 폐포임을 증명하려면 다음 두 명제를 모두 증명해야 한다.
(i) 관계 R 의 연결 관계 R 는 추이 관계이다.
(ii) 관계 R 의 추이 폐포 S 가 있다면 RS 이다.

 

증명

(i) 관계 R 의 연결 관계 R 는 추이 관계이다.

(a,b)R,(b,c)R 라고 가정하면 자연수 p,q 에 대하여 (a,b)Rp,(b,c)Rq 이다.

(a,b)Rp 의 경우, 어떤 x1,x2,,xp1 에 대하여 다음을 만족한다.

(a,x1)R,(x1,x2)R,,(xp2,xp1)R,(xp1,b)R

(b,c)Rq 의 경우, 어떤 y1,y2,,yq1 에 대하여 다음을 만족한다.

(b,y1)R,(y1,y2)R,,(yq2,yq1)R,(yq1,c)R

따라서 (a,c)Rp+q 이고, R=RRpRqRp+q 이므로 (a,b)R,(b,c)R,(a,c)R 이다.

∴ 관계 R 의 연결 관계 R추이 관계이다.

 

 

(ii) 관계 R 의 추이 폐포 S 가 있다면 RS 이다.

관계 R 의 추이 폐포 S 가 있다면 RS 이다.

관계 S 는 관계 R 의 추이 폐포이므로 관계 R 에 관한 집합 A 의 기수가 n 일 때 Sn 도 추이 관계이다.

따라서 SnS 이므로 다음이 성립한다.

S=n=1SnSS

또한 관계 S 가 관계 R 의 추이 폐포이므로 관계 S 는 관계 R 을 포함한다.

따라서 RS 이다.

RSS

따라서 연결 관계 R 는 관계 R추이 폐포이다.

 

예 : 집합 A={1,2,3} 에 대한 다음과 같은 관계 R 이 있을 경우
R={(1,1),(1,3),(2,1),(3,2)}
  • 관계 R 의 추이 폐포를 연결 관계를 이용하여 구해보자.
  • 집합의 기수가 3(|A|=3)이므로 거듭 제곱을 세 번하여 연결 관계를 구한다.
MR=[101100010]R2=RR=[101100010][101100010]=[111101101]R3=R2R=[101100010][111101101]=[111111101]R=3n=1Rn=R1R2R3={(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)}

 

728x90
728x90

관계의 폐포관계의 폐포(Closure)반사 폐포(Reflexive Closure)관계 행렬 및 방향 그래프의 표현대칭 폐포(Symmetric Closure)관계 행렬 및 방향 그래프의 표현추이 폐포(Transitive Closure)연결 관계(Connectivity Relation : R)연결 관계와 추이 폐포의 관계증명