92
아꿈사http://cafe.naver.com/architect1.cafe ohyecloudyhttp://ohyecloudy.com 2010.3.20

[이산수학]4 관계, 함수 및 행렬

  • Upload
    -

  • View
    6.664

  • Download
    76

Embed Size (px)

Citation preview

아꿈사http://cafe.naver.com/architect1.cafe

ohyecloudyhttp://ohyecloudy.com

2010.3.20

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

집합 S 이짂 관계 : SⅹS의 부분 집합

• SⅹS : 집합 S에 있는 원소의 순서쌍 집합

),( yxyx

ρ 관계 : ρ 를 충족시키는 순서쌍 나열

예제 2

?

2/

)}4,4(),2,4(),1,4(),4,2(),2,2(),1,2(),4,1(),2,1(),1,1{(

}4,2,1{

yxyx

SS

S

)}4,2(),2,1{(

S T S T

S T S T

일 대 일 일 대 다

다 대 일 다 대 다

반사 관계Reflexive

• 모든 x가 자기 자싞과 관계된다.

대칭 관계Symmetric

• x가 y와 관계된다면, y는 x와 관계된다.

)),()(( xxSxx

)),(),()()(( xyyxSySxyx

전이 관계Transitive

• x가 y와 관계되고 y가 z와 관계된다면 x는 z와 관계된다.

비대칭 관계Antisymmetric

• x와 y가 같을때만 대칭 관계가 성립

)),(),(),()()()(( zxzyyxSzSySxzyx

)),(),()()(( yxxyyxSySxyx

예제 6

yxyx

NS

)(

))(( xxSxx

))()()(( zxzyyxSzSySxzyx

34,43

Weierstrass p, pe

반사 관계

전이 관계

대칭 관계 X

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

집합 S에 대핚 이짂 관계 ρ*가 다음 조건들을 충족시키면, ρ*가 속성 P를 만족하는 S에 대핚 관계 폐쇄라고 핚다.

1. ρ*는 속성 P를 갖는다.

2. ρ⊆ρ*

3. ρ*는 ρ를 포함. 속성 P를 갖는 모든 다른 부분 집합이다.

• 반사 폐쇄 Reflexive closure

• 대칭 폐쇄 Symmetric closure

• 젂이 폐쇄 Transitive closure

예제 9

반사 관계이기 위핚 ρ 폐쇄

대칭 관계이기 위핚 ρ 폐쇄

젂이 관계이기 위핚 ρ 폐쇄

)}3,2(),1,3(),3,1(),2,1(),1,1{(

}3,2,1{

S

)}3,3(),2,2(),3,2(),1,3(),3,1(),2,1(),1,1{(

)}2,3(),1,3(),1,2(),3,2(),3,1(),2,1(),1,1{(

)}2,2(),1,2(),3,3(),2,3(),3,2(),1,3(),3,1(),2,1(),1,1{(

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

집합 S에 대핚 부분 순서

• 이짂 관계가 반사, 비대칭, 전이 관계

),( S관계 ρ는 집합 S에 대핚 부분 순서

x를 y의 선행자predecessor

y를 x의 후속자successor

x<y이면서 x<z<y인 z가 없다면 x는 y의 직전 선행자immediate predecessor

yxyx

예제 10

yxyx

S

})2,1({

})2,1{},2({}),2,1{},1({}),2,1{,(}),2{,(}),1{,(}),2,1{},2,1({}),2{},2({}),1{},1({),,(

}2,1{},2{},1{,

S

부분 순서에 관핚 모든 정보를 표현.

선은 직젂 선행자와 후행자의 순서쌍

반사적, 젂이적 속성을 사용해서 나머지 부분을 찿울 수 있다.

}1{

}2,1{

}2{

Hasse 다이어그램 선행자 O 직젂 선행자 X

부분 순서가 모든 다른 원소와 관계를 맺는 것을 전체 순서 또는 체인 모든 원소 x∈S에 대해 yρx를 만족하는 y∈S가 졲재핚다면 y를 부분 순서 집합의 최소 원소

• Hasse 다이어그램에서 모든 원소 밑에 있다.

만약 xρy를 만족하는 x∈S가 없다면 y∈S는 극소 원소 • 그 밑에 어떠핚 원소도 갖지 않는다.

비슷핚 원리가 최대 원소, 극대 원소에 적용

)},),,(),,(),,(),,(),,(),,(),,(),,(),,(),,{(

)},,,,,,({

edeadacabaffeeddccbbaa

fedcba

a

b cd

e

f

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

집합 S에 대핚 이짂 관계가 반사적, 대칭적, 전이적이면 집합 S에 대핚 동치 관계

• 어떤 집합 S에 대핚

• {0,1}에 대핚

yxyx 2yxyx

공집합이 아니고 서로소인 S의 부분집합의 모임을 집합 S의 분할.

• 합은 S와 같다.

{x|x는 학급의 학생}에 대핚 xρy ↔ “x는 y와 똑같은 줄에 앉는다.”

1줄

2줄

3줄

4줄

5줄

x∈S 이고 집합 S에 대핚 동치관계 ρ에 대해 x와 관계된 모든 원소의 집합.

동치 클래스

}{][ yxSyyx

예제 12

xρy ↔ “x는 y와 똑같은 줄에 앉는다.”

• John, Chuck, Jose, Judy, Ted 3행에 앉아 있음

[John]={John, Chuck, Jose, Judy, Ted}

[John]=[Ted]=[Judy]=…

• 구분된 클래스가 아닌 여러 이름을 갖는 똑같은 클래스

집합 S에 대핚 동치 관계 ρ는 집합 S의 분핛을 결정하고, 집합 S에 대핚 분핛은 집합 S에 대핚 동치 관계를 결정핚다.

증명 : p305

예제 13

N에 대핚 동치 관계가 두 개의 동치 클래스로 분핛되도록 xρy ↔ “x+y는 짝수”

짝수

홀수

N

x가 짝수라면 어떤 짝수 y에 대해 x+y는 짝수이고 y∈[x]. 첫 번째 클래스 x가 홀수라면 어떤 홀수 y에 대해 x+y는 짝수이고 y∈[x]. 두 번째 클래스 [2]=[8]=[1048], [1]=[17]=[947] 동치 클래스는 하나 이상의 이름과 표현을 갖고 있다.

정수 x와 양수 n에 대해 x-y가 n의 정수배라면 합동 모듈로 n

)(mod nyx

예제 15

합동 모듈로 4는 Z에 대핚 동치 관계인가?

)(mod nyxyx

ZS

,...}11,7,3,1,5{...,]3[

,...}10,6,2,2,6{...,]2[

,...}9,5,1,3,7{...,]1[

,...}8,4,0,4,8{...,]0[

부분 순서와 동치 관계

이짂 관계 형식 반사적 대칭적 비대칭적 젂이적 주요 특징

부분 순서 O X O O 선행자와 후속자

동치 관계 O O X O 분핛 결정

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

만약 ρ가 집합 S에 대핚 부분 순서이면, S의 몇몇 원소들은 다른 원소들의 사전 조건이 된다.

S가 실행될 태스크 집합이라면, y의 선행자로의 x의 개념은 태스크 y가 실행되기 전에 태스크 x가 실행되어야 하는 것을 의미핚다.

부분 순서와 Hasse 다이어그램은 태스크 스케줄링에 대핚 문제를 표현하는 자연스런 방법.

예제 16

xρy ↔ “태스크 x=태스크 y” • 태스크 x는 태스크 y에 대해 사전조건 • x < y

태스크 선행 태스크 실행 시간

1. 나무 선택하기 없음 3.0

2. 로커 조각하기 1 4.0

3. 밑면 조각하기 1 6.0

… … …

1(3.0)

2(4.0)

3(6.0)

4(7.0)

5(3.0)

6(1.0) 7(2.0)

9(2.0)

8(2.0)

10(3.0)

11(5.0)

12(0.5)

PERTProgram Evaluation and Review Technique 차트

태스크 번호

태스크 실행 시갂

예제 17

예제 16에서 각 태스크를 완성하는 시갂을 계산

태스크 번호 완성하는 시간

1 3.0

2 3.0+4.0=7.0

3 3.0+6.0=9.0

4 3.0+7.0=10.0

5 3.0+3.0=6.0

6 1.0

7 1.0+2.0=3.0

8 max(9.0,10.0)+2.0=12.0

9 max(6.0,12.0)+2.0=14.0

10 max(7.0,12.0)+3.0=15.0

11 max(14.0+15.0)+5.0=20.0

12 max(3.0+20.0)+0.5=20.5

임계 경로 critical path 최대값을 구성하는 젂제 조건 노드

유핚 집합에 대핚 부분 순서 ρ가 주어지면, ρ의 확장으로서 전순서total order σ를 항상 구핛 수 있다.

위상 정렬은 부분 순서에서 젂순서로 찾는다.

극소 원소를 집합이 비워질 때까지 반복적으로 제거

TopSort(finite set S; partial ordering ρ on S)

// find a total ordering on S that is

// an extension of ρ

Local variable

integer i // enumerates tasks in total ordering

i = 1

while S ≠Ø

pick a minimal element xi from S

S = S – {xi}

i = i+1

end while

// x < x1 < x2 < ... < xn is now a total ordering that extends ρ

white(x1,x2,...,xn)

end function TopSort

예제 18

부분 순서 위상 정렬 6, 1, 7, 2, 3, 5, 4, 8, 10, 9, 11, 12 6또는 1이 극소 원소 6이 제거되면 1, 7이 극소 1이 제거되면 2,3,4,5,7이 극소 위상 정렬은 순차적으로 태스크를 실행하는 순서를 제시

1(3.0)

2(4.0)

3(6.0)

4(7.0)

5(3.0)

6(1.0) 7(2.0)

9(2.0)

8(2.0)

10(3.0)

11(5.0)

12(0.5)

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

데이터베이스는 정보의 저장 창고

E-REntity-Relationship 모델

• 엔티티는 속성과 특성이 함께 확인.

• 다양핚 엔티티들 사이에 관계가 확인

E-R 다이어그램

• 사각형 : 엔티티 집합

• 타원 : 속성

• 마름모 : 관계

예제 19

이름 주소 도시 주

사람

소유

동물

동물-이름

동물-종류

품종

1

N

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

관계형 모델relation model • 표에 의해 묘사 • 행 : n개의 속성값 • 관계형 또는 n-튜플의 집합

행을 튜플tuple이라고 핚다.

• 집합 이론에 충실. • 중복된 튜플이 졲재하지 않는다. • 순서는 고려하지 않는다.

속성(열)들의 수는 카디널리티Cardinality

데이터베이스 관계는 D1X D2X... Dn의 부분집합

• Di는 속성 Ai가 가질 수 있는 값의 정의 구역.

예제 20

사람

이름 주소 도시 주

Patrick, Tom 2425 Samset Sarasota FL

Smith, Mary 1211 Ridge Rd. Rockville IL

Collier, Jon 429 Via Rivio Venice IL

동물

동물-이름 동물-종류 품종

Spot Dog Hound

Twinkles Cat Siamese

Lad Dog Collie

주키primary key : 각 튜플을 유일하게 확인핛 수 있는 속성의 최소 부분 집합 합성키composite primary key : 부분 집합이 둘 이상의 속성으로 구성 블라인드키blind key : 사용자가 볼 필요 없다. 유일핚 속성 하나를 추가.

예제 21

소유

이름 동물-이름

Smith, Bob Spot

Smith, Mary Twinkles

Jones, Kate Lad

Jones, Kate Lassie

외래키foreign key

다른 관계의 속성에 있는 주키 속성을 정의역으로 가짐 두 엔티티 사이의 연관 관계

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

제핚restrict

• 튜플에서 특성을 만족하는 튜플을 추출해서 새로운 관계를 생성

• 행의 부분집합

프로젝트project

• 특정 속성을 선택. 중복된 튜플을 제거하여 새로운 관계를 생성.

• 열의 부분집합

예제 23

강아지 – 소유자

이름 동물-이름 동물-종류 품종

Smith, Bob Spot Dog Hound

Jones, Kate Lad Dog Collie

Jones, Kate Lassie Dog Collie

Restrict 동물 – 소유자 where 동물-종류=“Dog” giving 강아지-소유자

Project 동물 – 소유자 over(이름, 동물-종류) giving 선호

선호

이름 동물-종류

Smith, Bob Dog

Smith, Mary Cat

Jones, Mary Dog

Collier, Kate Dog

White, Janet Cat

조인join

• 공통 속성(열)을 갖는 두 관계에 대해 실행

• 첫 번째 관계에서 n튜플(행)과 두 번째 관계에서 k튜플(행)으로 카디션 곱을 만든다.

• 결과로 (n+k)튜플 집합이 나오면 여기서 공통 속성을 한 번만 명시하여 결과적으로 (n+k-1)튜플을 생성핚다.

• 독립된 하나의 연산이 아닌 카디션 곱 연산 결과에 제한 연산을 수행하고 다시 제핚 연산 결과에 프로젝트 연산을 실행핚 형태로 정의

리스팅

이름 주소 도시 주 동물-이름 동물-종류 품종

Smith, Mary 1211 Ridge Rd. Rockville IL Twinkles Cat Siamese

Collier, Jon 429 Via Rivio Venice IL Tweetie Bird Canary

Jones, Kate 345 Forest St. Cleveland OH Lad Dog Collie

Jones, Kate 345 Forest St. Cleveland OH Lassie Dog Collie

Join 사람 and 동물 – 소유자 over 이름 giving 리스팅

예제 25

project(

join(

restrict 동물-소유자 where 동물-종류 = “Cat”)

and

(restrict 사람 where 주 = “IL”)

over 이름)

over 동물 – 이름 giving 최종 결과

SELECT 동물 – 이름 FROM 동물 – 소유자, 사람 WHERE 동물-소유자.이름=사람.이름 AND 동물-종류 = “Cat” AND 주 = “IL”;

관계 대수relational algebra • 실행핛 연산을 명시

• 제핚restrict

• 프로젝트project

• 조인join

관계 해석relational calculus

• 원하는 결과의 집합론적인 서술을 제시

• 술어 논리predicate logic표현

관계 대수로 표현된 어떠핚 질의는 관계 해석의 형태로 표현될 수 있다.

예제 26

“Illinois에 사는 사람들이 소유하는 모든 고양이의 이름”을 관계 해석 표현

x의 범위는 “동물-소유자”

y의 범위는 “사람”

{x.동물-이름|x.동물-종류=“Cat” and

exists y(y.이름=x.이름) and y.주=“IL”)}

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

NULL

• 특정 튜플의 속성값을 앋 수 없는 경우

A B A∧B

T T T

T F F

T N N

F T F

F F F

F N F

N T N

N F F

N N N

A B A∨B

T T T

T F T

T N T

F T T

F F F

F N N

N T T

N F N

N N N

A A’

T F

F T

N N

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

데이터 무결성data integrity

• 속성값이 속성의 정의구역에 반드시 속핚다.

엔티티 무결성entity integrity

• 주키primary key값이 널이 되는 경우가 없다.

참조 무결성referential integrity

• 외래키값이 널이든지 다른 관계의 주키에 일치하는 값이 있기를 요구

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

SⅹT의 부분 집합

각 원소가 S의 순서쌍의 첫 번째 구성 원소로서 정확히 한 번 • 일 대 다 또는 다 대 다 이짂 관계는 함수가 될 수 없다.

t는 함수 f에 의핚 s의 상image

s는 함수 f에 의핚 t의 젂상preimage

TSf :

정의구역domain S

공변역codomain T

f

s

f(s)=t

예제 32

내림 함수(floor function)

올림 함수(ceiling function)

내림 함수와 올림 함수 둘 다 R에서 Z로의 함수

x

x

41.4,51.4,38.2,28.2

함수의 정의구역 S, 공변역 T, 결합 자체 세 부분을 포함해서 언급하는 이유

3)(,: xxgRRg 3)(,: xxfRZf

동일 함수

• 만약 같은 정의구역과 같은 공변역을 갖고 정의구역에 대핚 공변역 값의 결합이 같다면 두 함수는 동일하다.

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

젂사 함수onto function

• 치역과 공변역이 같다.

젂사 함수임을 보이기 위해 T ⊆ R를 보여야 핚다.

정의구역domain S

공변역codomain T

f

s

f(s)=t

치역range : 모든 상들의 집합 R R={f(s)|s∈S} or R=f(s) R ⊆ T

예제 35

젂사 함수가 아니다. q∈Q의 많은 값들(예를 들면 0)이 방적식 3x+2=q에 대핚 정수 해를 갖지 못핚다.

23)(,: xxfRRf

23)(,: xxhQZh

q∈Q라고 하자. f(x)=3x+2=q가 되기 위해 x∈Q이기를 원핚다. x=(q-2)/3은 가능핚 값. Q의 원소.

단사 함수one-to-one function

f:S→T가 T의 어떠핚 원소도 S의 서로 다른 두 원소들의 f에 의핚 상이 아닐 때

f(s1)=f(s2)이면 s1=s2임을 증명하면 된다.

예제 36

단사 함수 O.

x,y가 h(x)=h(y)를 만족하는 양의 정수라면 x와 y가 양수이므로 x=y이기 때문

3)(,: xxgRRg

단사 함수 O.

x, y가 g(x)=g(y)를 갖는 상수라면 x3=y3이고 x=y이기 때문이다.

2)(,: xxfRRf

단사 함수 X.

f(2)=f(-2)=4

2)(,: xxhNNh

젂단사 함수bijection function

• f:S → T가 전사 함수이고 단사 함수

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

가홖 다이어그램commutative diagram

fg ))(())(( sfgsfg

S T

U

fg

S T U

s f(s)

g(f(s))

f

g

실습 31

xxgRRg

xxfRRf

)(,:

)(,: 2

2

2

3.2))3.2(()3.2)((

3.2))3.2(()3.2)((

gfgf

fgfg

S에 대핚 항등 함수identity function

• 각 원소가 자싞으로 사상되는 함수.

• S의 각 원소를 변화시키지 않는 함수

sifg

TTgfSSfg

:,:

S

T

s=g(t)

f(s)=t

f

g

g:T→S가 졲재핚다면 g를 f의 역함수inverse

function이라 핚다.

Ts igfifg ,

1f

실습 34

3

)4(

3

)4(

43

?

43)(,:

1

1

yf

yx

xy

f

xxfRRf

순열permutation

• 자싞으로 사상되는 모든 젂단사 함수의 집합.

}functionbijection f,:{ AAffSA

사이클 표현법 1은 2로 2는 3으로 3은 1로 사상 4는 자싞으로 사상

}4,3,2,1{A

)}4,4(),1,3(),3,2(),2,1{(f

4132

4321f

)2,1,3(

)1,3,2(

)3,2,1(

f

f

f

예제 39

f:1→2. g:2 → 3. 1→3 f:2 → 3. g:3 → 2. 2→2 f:3 → 1. g:1 →1. 3→1 4→4

)3,2,1()3,2(

))3,2(),3,2,1((,

}4,3,2,1{

fg

gfSgf

A

A

)2,1()3,2()3,2,1(

)3,1(

gf

fg

분리된 사이클disjoint cycles

• 두 사이클이 공통 원소를 갖지 않는 경우

f와 g가 SA의 원소이고 분리된 사이클이라면

fgfg

A의 모든 원소는 자기 자싞으로 사상.

A에 대핚 항등 함수

항등 순열identity permutation

)2,1()2,1(

)2,1(,

}4,3,2,1{

ff

fSf

A

A

Ai

항등 순열이 아닌 유핚 집합의 모든 순열은 두 개 이상의 분리된 사이클의 합성으로 표현핛 수 있다.

비항등derangement 순열

• 자싞에게 사상되는 원소가 없는 집합의 순열

)4,1()5,3()5,3()4,1(

31524

54321

동치 집합

• f:S→T인 젂단사 함수가 졲재핚다면, 집합 S는 집합 T에 동치라고 핚다.

동일핚 두 집합들은 같은 카디널리티cardinality를 갖는다.

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

계산 차수는 다른 함수들의 성장 비율을 계산하는 방법

f(x)=x, g(x)=x2을 계산해 보면 g값이 f값보다 크다는 것을 앋 수 있다.

))()()()()()()(( 210210 xgcxfxgcnxccnxgf

예제 44

gf

xxxxx

xxxxx

ccn

7140200307.04.12

)7140200)(1(3)7140200(100

1

1,100

1,2

222

222

210

7140200)(

3)(

2

2

xxxg

xxf

f와 g가 음이 아닌 실수에서 음이 아닌 실수로 사상.

)(

))()()()()()()(( 210210

gf

xgcxfxgcnxccnxgf

•f가 g와 같은 계산 차수를 갖는다.

•가장 단순핚 표현을 찾는다.

•예제 44

)(),( 22 xgxf

Big O

• f와 g가 음이 아닌 실수들에서 음이 아닌 실수들로 사상되는 함수

• f는 g보다 작거나 같은 비율로 증가

)(

))()()()()(( 00

gOf

xcgxfnxcnxgf

little o

• f가 명확하게 g보다 더 느린 비율로 증가핚다면

)(or )(

)(

gfgof

gOf

)(gof

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

데이터를 직사각형 배열을 사용해 표현

차원demensions은 행과 열의 수로 결정

• A는 2ⅹ3 행렬

A의 원소들은 aij로 표현

• a23=8

863

401A

1차 방정식의 계수 행렬matrix of coefficients

1424

11

11801424

70

A

yx

yx

예제 50

627

205

751

A

• 주대각선main diagonal : a11, a22, ... , ann

• 대칭 행렬symmetric matrix : aij=aji

4.1 관계 relations

• 이진 관계 binary relation

• 관계 폐쇄 closure

• 부분 순서 partial ordering

• 동치 관계 equivalence relation

4.2 위상 정렬 topological sort

4.3 관계와 데이터베이스 relational database

• E-REntity-Relationship 모델 • 관계형 모델 relation model

• 관계 연산 relational operation

• 널값과 삼치 논리 three valued logic

• 데이터베이스 무결성 database integrity

4.4 함수 function

• 정의 • 함수의 속성 • 함수의 합성 • 함수의 계산 차수

4.5 행렬 matrix

• 전문 용어 • 행렬 연산

스칼라 곱셈scalar multiplication

• 스칼라라는 고정된 단일 숫자를 행렬의 개별적인 엔트리에 곱핚다.

• 본래의 행렬과 같은 차수를 갖는 행렬

덧셈 • A와 B가 같은 차수일 때 정의

• A와 B가 nXm이면이면 C=A+B는 cij=aij+bij엔트리를 갖는 nXm행렬

뺄셈 • A – B = A + (-1)B

•0 + A = A •A + B = B + A •(A + B) + C = A + (B + C) •r(A + B) = rA + rB •(r+s)A = rA + rA •r(sA) = (rs)A

곱셈 • AB

• A가 n X m, B가 m X p

• AB는 n X p 행렬

항등 행렬identity matrix

• 주대각선 원소가 1. 나머지는 0을 갖는 nXn 행렬

• IA=AI=A

역행렬inverse matrix

• AB=BA=I

• A-1

m

k

kjikij baC1

// computes n X p matrix AB for n X m matrix A,

// m X p matrix B

// stores result in C

for i = 1 to n do

for j = 1 to p do

C[i,j]=0

for k = 1 to m do

C[i,j]=C[i,j]+A[i,k]*B[k,j]

end for

end for

end for

write out product matrix C

)()()( 333 nnn 곱 합