29
1 제4제 제제 (Functions) 제제제 제제 제제제 제제제 제제 제제 , 제제 제제 , 제제제 제제 제제 제제 제제 제제제 제제제제제 제제제 제제

제 4 장 함수 (Functions)

  • Upload
    holt

  • View
    108

  • Download
    0

Embed Size (px)

DESCRIPTION

제 4 장 함수 (Functions). 함수의 정의 함수의 그래프 단사 함수 , 전사 함수 , 전단사 함수 여러 가지 함수 컴퓨터 언어에서의 함수의 역할. 4.1 함수의 정의. 함수의 정의 두 집합 X 와 Y 에서 함수 f 는 집합 X 에서 Y 로의 관계의 부분 집합 집합 X 에 있는 모든 원소 x 는 집합 Y 에 있는 원소 중 한 개와 관계 집합 X 로부터 집합 Y 로의 함수 f - PowerPoint PPT Presentation

Citation preview

Page 1: 제 4 장  함수  (Functions)

1

제 4 장 함수 (Functions)

함수의 정의 함수의 그래프 단사 함수 , 전사 함수 , 전단사 함수 여러 가지 함수 컴퓨터 언어에서의 함수의 역할

Page 2: 제 4 장  함수  (Functions)

2

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 의 원소를 단 하나만 대응시킴

Page 3: 제 4 장  함수  (Functions)

3

[Ex01]다음 그림에서 나타내는 관계가 함수인지 아닌지 판별하여라 .

[ 풀이 ]

(1) 함수가 아니다 .(2) 함수다 . (3) 함수가 아니다 .

Page 4: 제 4 장  함수  (Functions)

4

[ 정의 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

치역은 공역의 부분집합으로서 , 함수에 의해 실제 매핑이 일어난 원소의 집합이다 .

Page 5: 제 4 장  함수  (Functions)

5

[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} 이다 .

Page 6: 제 4 장  함수  (Functions)

6

< 예제 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.2예제 4.2

예제 4.3예제 4.3

예제 4.1예제 4.1

Page 7: 제 4 장  함수  (Functions)

7

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정의 4.2

함수 f 의 그래프는 (x, f(x)) 로 구성되는 순서쌍 (pair) 의 집합이다 .)

●●

Page 8: 제 4 장  함수  (Functions)

8

4.2 함수의 그래프

< 예제 4.4> 다음 함수의 그래프를 순서쌍의 집합으로 표시하고 , 좌표 도면상에 표시하여라 . 모든 함수 f : R R 이다 .

(1) y = x + 2 (2) y = x2

(3) y = |x| (4) y = 2x

예제 4.4예제 4.4

Page 9: 제 4 장  함수  (Functions)

9

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.3

Page 10: 제 4 장  함수  (Functions)

10

< 정의 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.4

Page 11: 제 4 장  함수  (Functions)

11

< 정의 4.5> 전단사 함수 (Bijective function)

함수 f : A B 에서 f 가 단사 함수인 동시에 전사 함수일

때 , 함수 f 를 전단사 함수라 한다 .

1 대 1 대응 함수 (one-to-one correspondence)

|A| = |B|

정의 4.5정의 4.5

Page 12: 제 4 장  함수  (Functions)

12

그림 4.1

(a) 단사 함수 (b) 전사 함수

(c) 전단사 함수

Page 13: 제 4 장  함수  (Functions)

13

< 예제 4.5> 함수 f1, f2, f3 가 다음과 같이 주어졌을 때 , 이

함수가 단사 함수 , 전사 함수 , 전단사 함수인지를 구별하여라 .

예제 4.5예제 4.5

Page 14: 제 4 장  함수  (Functions)

14

< 예제 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.6

Page 15: 제 4 장  함수  (Functions)

15

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.6

Page 16: 제 4 장  함수  (Functions)

16

< 예제 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.9예제 4.9

예제 4.8예제 4.8

g ◦ f ≠ f ◦ g ( 교환법칙이 성립하지 않음 )

Page 17: 제 4 장  함수  (Functions)

17

< 정리 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.10예제 4.10

정리 4.1정리 4.1

Page 18: 제 4 장  함수  (Functions)

18

< 정리 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.3정리 4.3

정리 4.2정리 4.2

Page 19: 제 4 장  함수  (Functions)

19

< 예제 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예제 4.11

Page 20: 제 4 장  함수  (Functions)

20

항등 함수 (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.7

예제 4.12예제 4.12

Page 21: 제 4 장  함수  (Functions)

21

역함수 (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.8

Page 22: 제 4 장  함수  (Functions)

22

< 예제 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.14예제 4.14

예제 4.13예제 4.13

Page 23: 제 4 장  함수  (Functions)

23

< 정리 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 -1 f, f f -1 을 구하여라 .

예제 4.15예제 4.15

정리 4.4정리 4.4

Page 24: 제 4 장  함수  (Functions)

24

상수 함수 , 특성 함수

< 정의 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.10정의 4.10

정의 4.9정의 4.9

Page 25: 제 4 장  함수  (Functions)

25

특성함수

[Example]전체집합 U={1, 2, 3, 4, 5, 6, 7} 일 때 부분집합 A={2, 3, 4,

5, 6} 에 대한 특성함수를 구하고 , 화살도표로 나타내어라 .

[ 풀이 ]

전체집합 U 의 부분집합 A 에 대한 특성함수는 다음과 같다 .

Page 26: 제 4 장  함수  (Functions)

26

특성 함수의 성질

(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.17예제 4.17

예제 4.16예제 4.16

Page 27: 제 4 장  함수  (Functions)

27

올림 함수 , 내림 함수

< 정의 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.11

Page 28: 제 4 장  함수  (Functions)

28

4.6 컴퓨터 언어에서의 함수의 역할

컴퓨터 프로그램 작성 복잡한 문제를 여러 개의 독립적 기능을 갖는 부프로그램으로 나누어

문제 해결

부프로그램 (subprogram) 논리적으로 독립적 계산을 할 때 동일한 수행을 반복할 때

함수 (function) 정의역에 있는 매개 변수값을 받아 하나의 값을 되돌려 줌 함수 호출 ( Function Call) 리턴 (return)

라이브러리 : 컴퓨터 언어자체가 미리 만들어 놓은 함수 사용자 정의 함수 : 프로그래머가 상황에 편리하게 만든 함수

Page 29: 제 4 장  함수  (Functions)

29

예제 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 번 호출됨