330 likes | 877 Views
제 4 장 함수 (Functions). 함수의 정의 함수의 그래프 단사 함수 , 전사 함수 , 전단사 함수 여러 가지 함수 컴퓨터 언어에서의 함수의 역할. 4.1 함수의 정의. 함수의 정의 두 집합 X 와 Y 에서 함수 f 는 집합 X 에서 Y 로의 관계의 부분 집합 집합 X 에 있는 모든 원소 x 는 집합 Y 에 있는 원소 중 한 개와 관계 집합 X 로부터 집합 Y 로의 함수 f
E N D
제4장 함수 (Functions) • 함수의 정의 • 함수의 그래프 • 단사 함수, 전사 함수, 전단사 함수 • 여러 가지 함수 • 컴퓨터 언어에서의 함수의 역할
4.1 함수의 정의 • 함수의 정의 • 두 집합 X와 Y에서 함수f는 집합 X에서 Y로의 관계의 부분 집합 • 집합 X에 있는 모든 원소x 는 집합 Y에 있는 원소 중 한 개와 관계 • 집합 X 로부터 집합 Y 로의 함수 f • 함수 f 의 표기 f : X Y • 집합 X 에서 집합 Y로의 사상(mapping) • f 의 정의역(domain) : X • 집합 X 는 함수 f 의 정의역(domain): Dom(f ) Dom (f) = {x | (x, y) f, x X, y Y} • f 의 공변역 (codomain) : Y • 집합 Y 는 함수 f 의 공변역(codomain, 공역): Codom(f) 함수 f는 A의 원소 각각에 대해서 B의 원소를 단 하나만 대응시킴
[Ex01] 다음 그림에서 나타내는 관계가 함수인지 아닌지 판별하여라. [풀이] (1) 함수가 아니다. (2) 함수다. (3) 함수가 아니다.
[정의2] • 함수 f : X→Y 일 때 집합 X 의 원소 x 가 집합 Y 의 원소 y에 대응된다면 f(x)=y 로 나타냄 • y는 x의 상(image, value) • x 는 y 의 원상(pre-image) • 치역(range) • X 의 원소에 대응되는 모든 상의 집합: Ran(f ) • Ran (f) = {y | (x, y) f, x X, y Y} • Ran(f )⊆Y 치역은 공역의 부분집합으로서, 함수에 의해 실제 매핑이 일어난 원소의 집합이다.
[Ex02] 두 개의 집합 X={a, b, c, d}, Y={1, 2, 3, 4}일 때 다음의 관 계가 함수인지 아닌지 판별하고, 함수일 경우 정의역, 공변역, 치역을 구하여라. (1) {(a, 1), (b, 2), (c, 3)} (2) {(a, 1), (b, 2), (c, 4), (d, 4)} (3) {(x, y)| x∈X, y∈Y, y=3} [풀이] (1) 함수가 아니다. (2) 함수며, 정의역은 {a, b, c, d}, 공변역은 {1, 2, 3, 4}, 치역은 {1, 2, 4}다. (3) 함수며, 정의역은 {a, b, c, d}, 공변역은 {1, 2, 3, 4}, 치역은 {3}이다.
<예제4.1> 다음의 관계가 함수인지 아닌지를 구분하고, 함수일 경우 정의역, 공변역, 치역을 구하여라. (1) {(1, a), (1, b), (2, c), (3, b)} (2) {(a, a), (b, b), (c, c)} (3) {(x, y) | x, y Z, y - x = 1} (4) {(x, y) | x, y N, y - x = 1} <예제4.2> A = {-1, 0, 1}, B = {1, 2, 3, 4}에 대한 관계가 {(x, y) | x A, y B, x + 3 = y}일 때 이 관계가 함수인지를 판별하고, A의 원소들에 대한 함수값을 구하여라. <예제4.3> A= {-2, -1, 0, 1, 2}이고 f :A A가 f(x)= |x|일 때 Ran(f)를 구하여라. 예제4.1 예제 4.1 예제 4.2 예제 4.3
● ● ● ● ● ● ● 4.2 함수의 그래프 <정의 4.2> 함수 f : A B에 대한 그래프 G는 x A이고y = f(x)인 순서쌍(x, y)의 집합을 나타낸다. 즉, G는 다음과 같이 표현한다. G = {(x, y) | x A, y B, y = f(x)} • Example • f:: ZZ, f(x) = x2 • graph of f = {…, (-2,4), (-1,1), (0,0), (1,1), (2,4), …) 정의 4.2 함수 f의 그래프는 (x, f(x))로 구성되는 순서쌍(pair)의 집합이다.)
4.2 함수의 그래프 <예제4.4> 다음 함수의 그래프를 순서쌍의 집합으로 표시하고, 좌표 도면상에 표시하여라. 모든 함수 f : R R이다. (1) y = x + 2 (2) y = x2 (3) y = |x| (4) y = 2x 예제 4.4
4.3 단사 함수, 전사 함수, 전단사 함수 <정의 4.3> 단사 함수(Injective function) 함수 f : A B에서 ai , aj A에 대하여 f(ai ) = f(aj )이면ai = aj일 경우, 함수f 를 단사 함수라 한다. ai , aj A, f(ai ) = f(aj ) ai = aj • 1대 1 함수 (one-to-one function) • f : A B에서Ran(f) B • |A| |B| 정의 4.3
<정의 4.4> 전사 함수(Surjective function) 함수 f : A B에서 B의 모든 원소b에 대하여f(a) = b이 성립되는 a A가 적어도 하나 존재할 때 함수 f를 전사 함수라 한다. b B, a A, f(a) = b • 반영 함수 (onto function) • Ran(f) = B • |A| |B| 정의 4.4
<정의 4.5> 전단사 함수(Bijective function) 함수 f : A B에서f 가 단사 함수인 동시에 전사 함수일 때, 함수f를 전단사 함수라 한다. • 1 대 1 대응 함수 (one-to-one correspondence) • |A| = |B| 정의 4.5
그림 4.1 (a) 단사 함수 (b) 전사 함수 (c)전단사 함수
<예제 4.5> 함수 f1, f2, f3가 다음과 같이 주어졌을 때, 이 함수가 단사 함수, 전사 함수, 전단사 함수인지를 구별하여라. 예제 4.5
<예제 4.6> 다음의 함수식들이 R에서 R로의 함수일 때, 이 함수가 단사, 전사, 전단사 함수인지를 구별하여라. (1) f1(x) = sin x (2) f2(x) = x2 (3) f3(x) = 2x (4) f4(x) = x3 + 2x2 예제 4.6
4.4 여러 가지 함수 <정의4.6>합성 함수(composition function) 두 함수 f : A B, g : B C에 대하여 두 함수 f 와 g 의 합성 함수는 집합 A에서 집합 C로의 함수, g f : A C를 의미하며 다음을 만족 한다. g f = {(a, c) | a A, b B, c C, f(a) = b, g(b) = c} (g f )(a) = g(f(a)) • 그림 4.2 정의 4.6
<예제 4.8> f : A B와g : B C이 아래의 그림과 같을 때, 두 함수 f 와g의 합성 함수g f 를 구하여라. <예제 4.9> 두 함수 f 와 g가 각 각 f : R R, f(x) = x + 3 이고, g : R R, g(x) = x2 - 1일 때, 합성 함수f g와g f 를 구하여라. 예제 4.8 예제 4.9 • g ◦ f ≠ f ◦ g (교환법칙이 성립하지 않음)
<정리 4.1>두 함수 f 와 g의 합성 함수 g f 에 대하여(1) g와 f 가 단사 함수이면, g f 도 단사 함수이다. (2) g와 f 가 전사 함수이면, g f 도 전사 함수이다. (3) g와 f 가 전단사 함수이면, g f 도 전단사 함수이다. <예제 4.10>함수 f 와 g가 다음과 같을 때 그의 합성 함수 g f 가 단사 함수, 전사 함수, 전단사 함수인지를 구별하여라. f : R R, f(x) = -x g : R R, g(x) = x - 1 정리 4.1 예제 4.10
<정리 4.2> 두 함수 f 와 g의 합성 함수 g f 에 대하여 (1) g f 가 단사 함수이면, f 는 단사 함수이다. (2) g f 가 전사 함수이면, g는 전사 함수이다. (3) g f 가 전단사 함수이면, f 는 단사 함수이고 g는 전사 함수이다. <정리 4.3> 세 함수 f, g, h를 각 각 f : A B, g : B C, h : C D라 하였을 때, 그들의 합성 함수는 다음과 같은 결합 법칙 (associative law)이 성립한다. h (g f) = (h g) f 정리 4.2 정리 4.3
<예제4.11> 집합 A = {a, b, c}, B = {x, y, z}, C = {1, 2, 3}, D = {p, q, r} 이고 그들 사이의 함수가 아래 그림과 같을 때 g f, h g, h (g f), (h g) f 를 구하여라. 예제 4.11
항등 함수(Identity Function) <정의 4.7> 항등 함수(Identity function) 집합 A에 대한 함수 f 가 f : A A, f(a) = a일 때 함수f 를 항등 함수라 하고IA로 표기 a A, IA(a) = a 모든 원소에 대해 자기 자신을 대응시키므로 전단사 함수 <예제4.12> 집합 A = {-1, 0, 1} 이고 함수 f : A A, f(x) = x3 일 때, 함수f는 항등 함수인가? 정의 4.7 예제 4.12
역함수 (Inverse Function) <정의4.8> 역함수(Inverse function) 함수 f : A B가 전단사함수일 때f 의 역함수는f -1 : B A로 표기 a A, b B, f(a) = b f -1(b) = a • 함수f 가 전단사 함수일 경우에만 역함수 f -1이 존재 정의 4.8
<예제4.13> 함수 f : {1, 2, 3} {a, b, c} 이고f(1) = b, f(2) = c, f(3) = a일 경우 f 의 역함수 f -1이 존재하는가? 존재한다면 f -1을 구하여라. <예제4.14> 함수 f : Z Z 이 f(x) = x - 1일 때f -1 을 구하여라. 예제 4.13 예제 4.14
<정리 4.4> (1) f : A B가 전단사 함수이면, 그의 역함수 f -1 : B A 역시 전단사 함수이다. (2) 함수f 의 역함수f -1 이 존재할 때, (f -1)-1 = f 이다. (3) f : A B 가 전단사 함수이면, f -1 f = IA이고, f f -1 = IB이다. <예제4.15> 집합 A = {1, 2, 3}, B = {a, b, c}이고, A에서 B로의 함수 f = {(1, a), (2, c), (3, b)}일 때 (f -1)-1, f -1f, f f -1을 구하여라. 정리 4.4 예제 4.15
상수 함수, 특성 함수 <정의 4.9> 상수 함수(Constant function) 함수 f : A B 에서 집합 A의 모든 원소가 집합 B 의 오직 한 원소와 대응할 때 함수 f 를 상수 함수라 한다. a A, b B, f(a) = b <정의 4.10> 특성 함수(Characteristic function) 전체 집합 U의 부분 집합 A의 특성 함수 fA : U {0, 1}는 다음과 같이 정의한다. fA(x) = 0, x A 1, x A 정의 4.9 정의 4.10 {
특성함수 • [Example] 전체집합 U={1, 2, 3, 4, 5, 6, 7}일 때 부분집합 A={2, 3, 4, 5, 6}에 대한 특성함수를 구하고, 화살도표로 나타내어라. [풀이] 전체집합 U 의 부분집합 A 에 대한 특성함수는 다음과 같다.
특성 함수의 성질(1) fA B(x) = fA(x) fB(x) (2) fA B(x) = fA(x) + fB(x) – fA(x) fB(x) (3) fA B(x) = fA(x) + fB(x) – 2 fA(x) fB(x) <예제4.16> U = {a, b, c, d, e}이고 A = {a, b, c}, B = {c, d, e} 일 경우 fA B(c), fA B(c), fA B (c), 를 구하여라. <예제4.17> U = {x R | 0 x 2}이고 A = {x R | 1/2 x 3/2}일 때, 특성 함수 fA를 그래프로 나타내어라. 예제 4.16 예제 4.17
올림 함수, 내림 함수 <정의4.11> 올림 함수, 내림 함수 올림 함수(ceiling function): 최대정수함수(greatest integer function) x R에 대한 올림 함수는 x보다 크거나 같은 정수값 중 가장 작은값을 나타내며, x로 표기 내림 함수(floor function): 최소정수함수(least integer function) x R에 대한 내림 함수는 x보다 작거나 같은 정수값 중 가장 큰값을 나타내며, x로 표기 • 3.5 = 4, 3.5 = 3, 2 = 2 = 2 정의 4.11
4.6 컴퓨터 언어에서의 함수의 역할 • 컴퓨터 프로그램 작성 • 복잡한 문제를 여러 개의 독립적 기능을 갖는 부프로그램으로 나누어 문제 해결 • 부프로그램 (subprogram) • 논리적으로 독립적 계산을 할 때 • 동일한 수행을 반복할 때 • 함수(function) • 정의역에 있는 매개 변수값을 받아 하나의 값을 되돌려 줌 • 함수 호출( Function Call) 리턴(return) • 라이브러리: 컴퓨터 언어자체가 미리 만들어 놓은 함수 • 사용자 정의 함수: 프로그래머가 상황에 편리하게 만든 함수
예제main( ) { ... sum = 0; for (i = -5; i < 6; i++) sum += is_positive(i); 함수 호출 ... } int is_positive (int num) { if (num >= 0) return 1; 리턴 else return 0; 리턴 }함수 is_positive의 정의역과 공변역은 모두 정수 치역은 {0, 1} 함수 is_positive는 11번 호출됨