Discrete Mathematics - jullio.pe.krjullio.pe.kr/lecture/D_Math/inu2016_D_Math_ch10.pdf ·...
Transcript of Discrete Mathematics - jullio.pe.krjullio.pe.kr/lecture/D_Math/inu2016_D_Math_ch10.pdf ·...
이산수학Discrete Mathematics
인천대학교 컴퓨터공학과
공학시인 이숙 이철호 교수
관계
끈의 길이는?
지름이 20 cm인 두루마리 휴지 3개를 끈으로 묶었다.
이 끈의 길이는?
묶인 부분은 생각하지 않는다. 즉 둘레의 길이를 구는 문제
직사각형의 양 변의 길이 : 40 cm x 2 = 80 cm
반원 2 개의 원주 합 길이(π x 2r) : 20π cm
(단 π를 3.14로 계산)
끈(둘레)의 길이는
80 + 20π [cm]
80 + 62.8 = 142.8 [cm]
2
40 cm
오늘의 강의 목표
관계
• 관계와 특성
• n항 관계
• 관계의 표현
• 동치관계
• 부분순서
3
관계와 특성정의 1-page 625, 예제 2
4
두 집합 원소들 사이의 관계 => 순서쌍(Ordered Pair) 사용
순서쌍 집합 => 이진관계(Binary Relation)
정의 1
A와 B 집합
A에서 B로의 이진관계 => A x B의 부분 집합
A에서 b로의 이진관계 => 순서쌍 집합 R
예제 2
A = {0, 1, 2}이고, B = {a, b}일때{(0, a), (0, b), (1, a), (2, b)}는
A에서 B로의 관계
관계와 특성정의 2-page 627
5
정의 2
집합 A에 관한 관계는 A에서 A로의 관계이다.
집합 A의 관계는 A x A 의 부분집합이다.
예제 4
집합 A = {1, 2, 3, 4}
관계 R = {(a, b) | a divides b}
R={(1,1),(1,2),(1,3),(1,4),
(2,2),(2,4),(3,3),(4,4)}
관계와 특성집합 A 에 대한 관계 R
6
• 반사관계(Reflexive relation) 모든 a∈A 에 대하여 aRa 일 때의 R
• 비반사관계(Ir-reflexible relation)모든 a∈A 에 대하여 일 때의 R
• 대칭관계(Symmetric relation) 모든 a, b∈A 에 대하여 aRb 이면 bRa 일 때의 R
• 반대칭관계(Antisymmetric relation) 모든 a, b∈A 에 대하여 aRb 이고 bRa 이면 a=b 일 때의 R
• 전이(추이)관계(Transitive relation) 모든 a, b, c∈A에 대하여 aRb 이고 bRc 이면 aRc 일 때의 R
aa R
관계와 특성정의 3, 예제 7 – page 628, 629
7
정의 3
집합 A에 관한 관계 R이 모든 원소 a ∈ A에 대해
(a, a) ∈ R 이면 반사적(reflexive)이다.
예제 7
반사관계는 ?R1 = {(1, 1), (1, 2), (2, 1), (2, 2), (3, 4), (4, 1), (4, 4)},
R2 = {(1, 1), (1, 2), (2, 1)},
R3 = {(1, 1), (1, 2), (1, 4), (2, 1), (2, 2), (3, 3), (4, 1), (4, 4)},
R4 = {(2, 1), (3, 1), (3, 2), (4, 1), (4, 2), (4, 3)},
R5 = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)},
R6 = {(3, 4)}.
R3, R5는 (1, 1), (2, 2), (3, 3), (4, 4) 순서쌍으로 모두 가짐
아니면 비반사적(ir-reflexive)
관계와 특성정의 2, 예제 4- page 627
8
정의 2
집합 A에 관한 관계는 A에서 A로의 관계
예제 4
집합 A => {1, 2, 3, 4}
관계
R={(a, b) | a divides b}
에 속하는가?
집합 A => {(1,1), (1,2), (1,3), (1,4), (2,2), (2,4), (3,3), (4,4)}
관계와 특성정의 4 – page 629
9
정의 4
집합 A에 대한 관계 R이 모든 a, b ∈ A에 대해
(a, b)∈ R 일 때, (b, a)∈ R 이면
대칭적(symmetric)이다.
집합 A에 대한 관계 R이 모든 a, b ∈ A에 대해
(a, b)∈ R 이고, (b, a)∈ R 일 때 a=b 이면반대칭적(antisymmetric)이라 함.
관계와 특성정의 5 – page 631
10
정의 5
집합 A에 대한 관계 R이
모든 a, b, c ∈ A에 대해
(a, b) ∈ R 이고, (b, c) ∈ R 일 때,
(a, c) ∈ R 이면 전이(추이)적(transitive)이라 함
관계와 특성관계의 결합, 예제 17 – page 632
11
A에서 B로의 관계는 A x B의 부분집합
두 집합의 결합되는 방법에 의해
A에서 B로의 두 관계는 결합이 가능
예제 17
A={1, 2, 3}, B={1, 2, 3, 4}
R1 = {(1, 1), (2, 2), (3, 3)}
R2 = {(1, 1), (1, 2), (1, 3), (1, 4)} 에서
R1 ∪ R2 = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (3, 3)},
R1 ∩ R2 = {(1, 1)},
R1 − R2 = {(2, 2), (3, 3)},
R2 − R1 = {(1, 2), (1, 3), (1, 4)}
관계와 특성정의 6 –page 633
12
정의 6
R을 집합 A에서 집합 B로의 관계라 하고,
S를 집합 B에서 집합 c로의 관계 일때
R과 S의 합성은 순서쌍 (a, c)로 구성되는 관계
a ∈ A, c ∈ C 이고,
(a, b) ∈ R과
(b, c) ∈ S인 원소 b ∈ B가 존재.
R과 S의 합성을 S ◦R로 표시
관계와 특성정의 7, 정리 1 –page 634
13
정의 7R이 집합 A에 관한 관계일 때n = 1, 2, 3, … 일 때거듭제곱 Rn은R1 = R, Rn+1 = Rn ◦ R
정리 1집합 A에 관한 관계 R이 전이(추이)적만일 n = 1, 2, 3, . . . 에 대해Rn ⊆ R
n 항 관계정리 1 - page 638
14
셋 이상의 집합의 원소들 간의 관계
정리 1
A1,A2, . . . , An 집합
이 집합들에 대한 n항 관계는
A1 × A2 ×・ ・ ・×An의 부분집합
A1, A2, . . . , An : 정의역
N : 차수
n항 관계데이터베이스 관계
15
관계 데이터베이스 모델
레코드, 튜플
필드, 속성, 어트리뷰트
엔트리, 테이블, 관계, 관계변수
n항 관계데이터베이스 관계
16
n항 관계데이터베이스 관계
17
강 개체 타입 사원을 주 개체 타입으로 하는약 개체 타입 부양 가족을표현하기 위한 개체-관계 다이어그램
차수가 2인 경우
차수가 3인 경우
n항 관계데이터베이스 관계
18
선택적으로 참여
필수적으로 참여
n항 관계데이터베이스 관계
19
회사 데이터베이스를 위한 개체-관계 다이어그램
n항 관계데이터베이스 관계
20
표1에 관계에 투사 P1,4 적용=>표2
예제 9
표3의 관계에 투사 P1,2 적용=>표4
예제 10
평점 등록전공
학생
투사 P1,2 적용
투사 P1,4 적용
n항 관계데이터베이스 관계
21
표 5와 표 6의 관계를 결합하여 표 7을 생성
n항 관계데이터베이스(SQL:structured Query Language)
22
SELECT Departure_timeFROM FlightsWHERE Destination=‘Detroit’
결과 : 08:10, 08:47, 09:44
항공편(Flights)
n항 관계데이터베이스(SQL:structured Query Language)
23
SELECT Professor, TimeFROM Teaching_assignments, Class_scheduleWHERE Department=‘Mathmatics’
결과 : Rosen, 3:00 P.M.
관계의 표현행렬 이용:관계 행렬(Relation Matrix)
24
관계 행렬의
행에는 집합 A의 원소,
열에는 집합 B의 원소를 표시
행렬의 각 요소의 값
a ∈ A와 b ∈ B 의 관계에서
관계가 있으면 1
관계가 없으면 0
R={(1, 2), (1, 3), (3, 2)}일 때
행렬에 의한 관계 표현
관계의 표현행렬 이용:관계 행렬(Relation Matrix)
25
A={1, 2, 3, 4}
B={x, y, z}
R={(1, y), (1, z), (3, y), (4, x), (4, z)}
관계의 표현방향성 그래프
26
반사 관계 방향 그래프
방향 그래프
대칭 관계 방향 그래프
전이(추이) 관계 방향 그래프
동치관계정의 1-page 666, 정의 2
27
정의 1
집합 A에 관한 관계가
반사적, 대칭적, 전이(추이)적이면
집합 A와 관계 R은 동치관계이다.
정의 2
동치관계로 두 원소 a와 b가 관계되어 있을 때,
이를 동치라 함.
a와 b가 특정 동치관계에 의한 동치원소임 표시 : a~b
동치관계정의 3-page 669
정의 3R이 집합 A와 동치관계 일때,
A의 원소 a와 관련된 모든 원소의 집합을 a의 동치류라함.
R에 관한 a의 동치류는 [a]R로 표시
하나의 관계 일 때는 [a]로 표시
R이 집합 A에 관한 동치관계이면 원소 a의 동치류는
[a]R = {s | (a, s) ∈ R}.
b ∈ [a]R이면, b를 대표(representative)라고 함
28aRb, [a] = [b], [a] ∩ [b] = ∅정리 1
부분순서정의 1-page 679
29
정의 1
부분 순서(partial ordering) : 집합 S에 관한 관계 R이 반사적, 반대칭적, 전이적인 관계
부분순서 R과 집합 S를 부분순서집합
(partial ordered set, poset)이라 함
표시 (S, R):
S의 member를 부분순서집합의
원소(element)라 함
부분순서
부분순서관계는 관계 ≤를 일반화하는 것
집합 A 에 대한 관계 R 이 부분순서관계일 때
(a, b)∈R 을 나타내기 위해서
‘ ’를 사용하여 라고 나타냄
이고 이면 라고 나타냄
‘a가 b 보다 우선한다(a precedes b)’라는 의미
30
ba
ba ba ba
부분순서
31
집합 A 에 대한 관계 R 이 부분순서관계이고
a, b∈A 일 때
또는 이면 a와 b는 비교가능(comparable)
또는 이면 a와 b는 비교불가능(noncomparable)
완전순서관계(total order relation)
또는 선형순서관계(linear order relation) :
집합 A 에 속하는 원소들의 모든 쌍이 비교 가능할 때의 R
완전순서집합(totally ordered set)
또는 선형순서집합(linearly ordered set) : 집합 A
ba abba ab
부분순서하세도표(Hasse Diagrams)
32
독일의 수학자 하세(Helmut Hasse, 1898~1979)
부분 순서 집합을 그래프로 나타낼 때 사용
방향 그래프의 일종으로 유한한 부분순서집합의 방향성그래프에서 화살표는 표시하지 않고 모든 연결선(edge)을 트리(tree)와 같이 모두 아래 방향을 향하도록 그림
모든 순환(loop)은 표시하지 않고
집합 A의 원소 x, y, z에서 x ≲ y이고
y ≲ z를 만족하는 y가 존재하지 않을 경우에만
x에서 z로의 연결을 그려줌
부분순서하세도표(Hasse Diagrams)
33
방향 그래프 하세도표
({1, 2, 3, 4}, ≤)에 대한 하세도표 만들기
관계 R={(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 4), (3, 3), (3, 4), (4, 4)}
관계 R={(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 4), (3, 3),(4, 4)}
부분순서
34
극대원소(Maximal): 어떤 원소보다 작지 않음
극소원소(Minimal): 어떤 원소보다 크지 않음최대원소: 어떤 원소보다 큰 원소최소원소: 어떤 원소보다 작은 원소상한계(upper bound) : poset 내 부분 집합의 어떤원소 보다도 큰 원소하한계(lower bound) : poset 내 부분 집합의 어떤원소 보다도 작은 원소최소상한계(least upper bound) : 포셋 내 부분 집합A의 다른 모든 상한보다 작은 상한이면 A의 최소 상한최대하한계(greatest lower bound) : 포셋 내 부분집합 A의 다른 모든 하한보다 큰 상한이면 A의 최대 하한
부분순서최소원소, 최대원소
35
(a) 최소원소 a, 최대원소 없음
(b) 최소원소, 최대원소 없음
(c) 최소원소 없음, 최대원소 d
(d) 최소원소 a, 최대원소 d
성당과 시장(The Cathedral and the Bazaar)
36
에릭 레이먼드 작성
자유 소프트웨어 철학을 대변하는 유명한 글
리눅스 커널 개발 과정과 패치메일이라는 오픈 소스 프로젝트를 개발한 경험으로 작성
오픈 소스 개발 방식의 유효성을 설명(1997년 5월 27일 리눅스 회의에서 처음 공개)
성당 모델:
출시 때에만 소스 코드를 공개
그 사이에는 제한된 개발자들만 소스 코드에 접근 가능한 개발 모델
GNU 이맥스와 GNU 컴파일러 모음이 예
시장 모델:
소스 코드가 인터넷으로 일반에 공개된 상태로 개발되는 모델
리눅스 커널 프로젝트의 리더인 리누스 투르발스가 이 방식을 발명
페치메일 프로젝트에 자신이 이 모델을 적용
성당과 시장(The Cathedral and the Bazaar)
37
시장 모델 :
리누스 법칙 :
"보는 눈만 많다면, 어떤 버그라도 쉽게 잡을 수 있다"
많은 사람이 테스트하고
훑어보고 실험해 볼 수 있도록
코드가 공개되어 있으면
버그는 빨리 잡힐 것이란 뜻
성당 모델 :
소스 코드를 여러 명의 개발자들만 볼 수 있으므로
버그를 잡는 데에
엄청난 시간과 노력이 든다고 주장
성당과 시장(The Cathedral and the Bazaar)
GNU 이맥스와 GCC를 포함한
많은 오픈 소스와 자유 소프트웨어 프로젝트들이
시장식의 열린 개발 모델을 사용
넷스케이프가 넷스케이프 커뮤니케이터의 소스를 공개한 것
현재 성당 모델은
상용 소프트웨어의 전형적인 개발 방식
"시장과 성당"이라는 구문은
종종 상용 소프트웨어와 오픈 소스 소프트웨어를 비유하는 데에 사용
자유 소프트웨어들 중에 두 종류를 비교하여 설명
성당과 시장의 예는
위키백과는 시장식의 프로젝트이고,
누피디아나 브리태니커 백과사전은 성당형의 프로젝트
38
다리 건너기
4명이 다리를 건너야 한다.
다리를 건너는 데 각각
1번 사람은 1분, 2번 사람은 2분,
3번 사람은 5분, 4번 사람은 10분 걸린다.
2명만 건널 수 있는 다리를
밤이라서 손전등으로 한 사람이 반대 쪽으로
바래다 주어야 한다.
4명이 모두 건너는 데 소용되는 최소 시간은?
이 때의 방법은?
39