728x90
728x90

관계의 개념

  • 인공지능은 데이터베이스에 저장된 지식을 활용하여 새로운 지식을 생성하거나 문제를 해결한다.
  • 데이터베이스는 자료를 효율적으로 처리할 수 있도록 관련 있는 자료를 중복 없이 통합한 집합으로, 구조화된 자료 형태이다.
  • 이처럼 구조화된 자료에 의미 있는 관계를 부여하면 새로운 정보를 만들 수 있고, 같은 자료 사이의 관계라고 하더라도 부여된 관계에 따라 전혀 다른 정보가 될 수 있다.
  • 그러므로 데이터베이스에 저장된 자료 자체뿐 아니라 그 자료 사이의 관계는 인공지능이 지식을 생성하고 판단하는데 큰 영향을 미친다.

 

  • 다음과 같은 자료 집합이 존재하고, 각 집합에 포함된 자료는 오류와 중복이 없어 정보를 제공하는 데 충분하다고 가정하자.

자료 집합 간 관계의 예

  • 위 그림처럼 자료 집합을 개별적인 정보만으로 구성한다면 학생, 전공, 과목, 교수 각각에 관한 정보만 검색이 가능하다.
  • 그러나 위에서 살펴본 관계를 의미 있게 설정한다면 학번을 이용하여 전공 또는 수강과목을 알수 있고, 과목코드를 이용해 과목 담당 교수를 알 수도 있다.

자료 집합 간 관계의 예

  • 이처럼 개별적인 자료 집합 사이에 관계를 설정하여 새로운 정보를 생성할 수 있으므로 자료 간의 관계 정의는 매우 중요하다.

 

관계(Relation : R:AB,aRbR:AB,aRb) / 이항 관계(Binary Relation)

집합 A,BA,B 가 있을 때, 집합 AA 에서 집합 BB 로 가는 관계로, RRA×BA×B 의 부분 집합
aA,bB일 때,(a,b)R이면 aRb
(a,b)R이면 aRb
  • 두 집합 간의 관계를 이항 관계(Binary Relation)라고 한다.
  • 두 집합 간의 가능한 모든 이항 관계는 두 집합의 곱집합으로 구할 수 있다.
    • 예) A={a,b,c} 에서 집합 B={1,2} 로 가는 가능한 모든 이항 관계는 A×B 로 구할 수 있다.
      • 만약 집합 B 에서 집합 A 로 가능 가능한 이항 관계를 구하려면 B×A 를 구해야 한다.

 

A×B={(a,1),(a,2),(b,1),(b,2),(c,1),(c,2)}
  • A×B 는 집합 A 와 집합 B 의 원소로 만들 수 있는 모든 순서쌍의 모임으로, 집합 A 에서 집합 B 로 가는 가능한 모든 관계를 의미한다.
  • 그러므로 집합 A 에서 집합 B 로의 관계 RA×B 의 모든 원소를 포함할 수도 있고 그렇지 않을 수도 있는 A×B부분 집합이다.
  • 집합 A 에서 집합 B 로의 관계 R 이 다음과 같다고 하자.
R={(a,2),(b,1),(c,2)}
  • A×B 에 포함되는 원소 중 (a,2),(b,1),(c,2) 는 관계 R 에 포함되지만, 그 외의 원소 (a,1),(b,2),(c,1) 은 관계 R 에 포함되지 않는다.
  • 즉, 집합 A 에서 집합 B 로 가는 관계 R 이라고 해서 집합 A 와 집합 B 의 원소로 만들 수 있는 모든 순서쌍을 포함하지는 않는다.
  • A×B 에 포함되는 원소 중 (a,2),(b,1),(c,2) 처럼 관계 R 에 포함되는 경우에는 aR2,bR1,cR2 로 표기하고, (a,1),(b,2),(c,1) 처럼 관계 R 에 포함되지 않는 경우에는aR1,bR2,cR1 로 표기한다.

 

  • 관계에 포함되는 원소는 일반적으로 순서쌍 형태이다.
    • 순서쌍은 구성하는 원소의 순서가 바뀌면 전혀 다른 순서쌍이 되므로 구성 원소의 순서가 중요하다.
  • 다음 두 순서쌍은 모두 a,b 로 구성되지만, 순서가 다르므로 서로 다른 순서쌍으로 판단한다.
(a,b)(b,a)
  • 그러므로 순서쌍을 원소로 갖는 관계를 정의할 때 집합 간의 방향성이 매우 중요하다.
    • 방향성이란 순서쌍에서 앞에 오는 원소를 포함하는 집합과 뒤에 오는 원소를 포함하는 집합의 순서를 의미한다.
  • 일반적으로 이항 관계를 정의할 때,  '집합 A 에서 집합 B 로 가는 관계 R' 이라고 정의하고, R:AB 로 표기한다.
    • 이는 집합 A 의 원소가 관계 R 에 포함되는 순서쌍의 에 오고, 집합 B 의 원소가 순서쌍의 에 옴을 의미한다.
    • 이 때, 집합 A정의역(Domain), 집합 B공역(Codomain)이라고 한다.
    • 특히, 공역의 원소 중 관계 R 에 포함되는 순서쌍의 원소로 사용되는 원소들의 집합을 치역(Range)이라고 한다.

 

정의역(Domain : dom(R), DR)

집합 A 에서 집합 B 로 가는 이항 관계 R 에 속한 순서쌍의 첫 번째 원소가 포함된 집합, 즉 집합 A
dom(R)={a|aA}

 

공역(Codomain : codom(R))

집합 A 에서 집합 B 로 가는 이항 관계 R 에 속한 순서쌍의 두 번째 원소가 포함된 집합, 즉 집합 B
codom(R)={b|bB}

 

치역(Range : ran(R))

집합 A 에서 집합 B 로 가는 이항 관계 R 에 속한 순서쌍의  번째 원소를 모아놓은 집합, 즉 공역의 부분 집합ran(R)={b|(a,b)R}

 

n 항 관계(n-ary Relation)

n 개의 집합 A1,A2,,An 이 있을 때 A1×A2××An 의 부분 집합

 

  • 관계가 항상 2개의 집합 사이에만 존재하는 것은 아니다.

자료 집합 간 관계의 예

  • 위의 그림에서 3가지 정보 '학생전공 정보', '수강과목 정보', '담당과목 정보'를 이용하여 아래와 같이 관계를 설정하면 학생이 수강하는 과목의 담당교수에 대한 정보를 알 수 있다.
수강과목 담당교수 정보
학번 과목코드 교수번호
  • 이처럼 관계의 정의에 사용되는 집합이 3개 이상일 때, n 항 관계라고 한다.

 

예 : A={a,b,c} 에서 집합 B={1,2} 그리고 집합 C={x,y,z} 로 가는 가능한 모든 관계
A×B×C={(a,1,x),(a,1,y),(a,1,z),(a,2,x),(a,2,y),(a,2,z),(b,1,x),(b,1,y),(b,1,z),(b,2,x),(b,2,y),(b,2,z),(c,1,x),(c,1,y),(c,1,z),(c,2,x),(c,2,y),(c,2,z)}
  • 18(=3×2×3) 개의 관계로 표현할 수 있다.

 

역관계(Reverse Relation : R1)

집합 A 에서 집합 B 로의 관계 R 이 있을 때, 집합 B 에서 집합 A 로의 관계
R1={(b,a)B×A|(a,b)R}

 

자료 집합 간 관계의 예

  • 위의 그림에서 '수강과목 정보'는 각 학생이 수강하는 과목의 정보를 알 수 있는 집합 관계로, (학번, 과목코드) 형태의 순서쌍이 만들어진다.
  • 그러나 각 과목별로 수강생의 정보를 알고 싶다면 (과목코드, 학번)의 순서쌍으로 구할 수도 있다.
  • 이 때, 각 학생이 수강하는 과목에 대한 정보와 각 과목의 수강생에 대한 정보는 모두 아래 그림의 '학생정보 집합', '과목정보 집합'을 이용하지만, 관계의 방향성에 따라 전혀 다른 순서쌍을 만들어 새로운 정보를 제공한다.

자료 집합 간 관계의 예

  • 이처럼 같은 집합에 대하여 방향성이 반대인 관계를 역관계라고 한다.
  • 역관계 R1 은 반드시 관계 R 이 있을 때에만 존재하며, 관계 R 을 구성하는 순서쌍과 순서가 반대인 순서쌍을 원소로 갖는다.
  • 그러므로 관계 R정의역이 역관계 R1공역, 관계 R공역이 역관계 R1정의역이다.
  • 즉, 관계 R:AB 에 대하여 역관계R-1:BA 이다.

 

예 : 집합 A={a,b,c} 에서 집합 B={1,2} 로 가는 관계 R={(a,2),(b,1),(c,2)}
  • R 의 역관계 R-1R1={(2,a),(1,b),(2,c)} 로, 역관계 R1 정의역은 집합 B 이고, 공역은 집합 A 이며 치역{a,b,c} 이다.
728x90
728x90

관계의 개념관계(Relation : R:AB,aRb) / 이항 관계(Binary Relation)정의역(Domain : dom(R), DR)공역(Codomain : codom(R))치역(Range : ran(R))n 항 관계(n-ary Relation)역관계(Reverse Relation : R1)