8. 함수

8.1. 함수의 개념

8.1.1. 함수 정의

def
집합 A, B에 대해 집합 A에서 B로 가는 관계가 성립할 때, A의 원소 a에 대해 B의 원소 b 하나가 대응 되는 관계

관계와의 차이 관계는 한마디로 A의 모든 원소와 B의 모든 원소가 어떻게든 엮어만 있으면(관계는 곱집합의 부분집합이다!) 성립하는 것이고, 함수는 a에 대해 딱 하나의 b로만 가야 성립한다.

다음 표를 보자

한글(가,나,다) 동물(강아지,냐옹이,다람쥐,레서팬더)

is관계?

is함수?

(가,가), (냐옹이,냐옹이)

X

X

(가, 강아지), (냐옹이,냐옹이)

X

X

(나, 냐옹이), (나, 레서팬더)

O(한글->동물)

X

(나, 냐옹이), (다, 냐옹이)

O

X

(나, 냐옹이), (다, 레서팬더)

O

X

(나, 다람쥐), (다, 다람쥐), (가, 다람쥐)

O

O(f:한글->동물)

(나, 냐옹이), (다, 다람쥐), (가, 레서팬더)

O

O

어떤 인풋은 아웃풋이 없는 함수가 말이 안되니깐!

8.1.2. 함수의 몇가지 용어들

def
집합 A에서 B로 가는 함수 f:A->B에 대해,
원상, preimage : 집합 B의 원소 b와 대응하는 집합 A의 원소 a (*그니까 출발지, input)
상, image : 집합 A의 원소 a에 대응되는 집합 B의 원소 b(=f(a)) (*그니까 도착지, output)
정의역, domain : set of inputs (=A, =dom(f))
공변역, codomain : universal set of output (=B, =codom(f))
치역, range : set of outputs (=ran(f) = {f(a)|a는 A의 원소}) (*한마디로 B의 모든 원소중에 실제로 아웃풋이 된놈만 모은 것)

8.2. 함수의 특성

8.2.1. 단사함수(injection)

def
f: X->Y 가 있을 때, 임의의 두 정의역 원소에 대하여 x1 != x2 면, f(x1) != f(x2)인 함수

아까 표를 다시보자.

한글(가,나,다) 동물(강아지,냐옹이,다람쥐,레서팬더)

is관계?

is함수?

함수타입

(나, 냐옹이), (다, 다람쥐), (가, 레서팬더)

O

O

단사함수

  • 이런 관계에서 codomain은 domain보다 같거나 커야한다! (왜냐믄 domain의 원소들이 모두 다른 놈으로 가야하기 때문)

  • 따라서 range 또한 codomain과 같거나 작다!

8.2.2. 전사함수(Subjection)

def
f: X->Y가 있을 때, 모든 Y의 원소 y에 대해 f(x) = y인 정의역 원소가 적어도 하나 이상 존재하는 함수

쉽게 말해서 모든 y에 대해서 y로 오는 놈이 1개 이상 있다는 뜻! 그니까 여러 x가 같은 y를 가리켜도 상관없다.

따라서 다음이 성립된다

  • subjection일 경우 domain은 codomain보다 같거나 커야한다!(injection과 반대)

  • subjection일 경우 range는 codomain과 같다!(모든 y가 자기한테 오는 x를 하나 이상 가지고 있으니까!)

8.2.3. 전단사함수(Bi-jective function || One-to-one Correspondence)

def
injection이면서 subjection인 함수

즉, 모든 y가 자기에게 오는 x를 가지고(subjection), 모든 x는 각기 다른 y를 보는 함수(injection)

  • 이러한 경우 domain과 codomain, range의 크기는 같다!(|domain|=|range|=|codomain|)

8.3. 함성함수

8.3.1. 합성함수의 정의

def
f:A->B 와 g:B->C가 있을 때 집합 A의 모든 원소가 집합 C의 원소에 대응하는 새로운 함수
g ο f = (g ο f)(x) = g(f(x)), ∀x ∈ A

f:A->B 가 함수 인 이상 모든 A의 원소에 대응하는 B의 원소가 있다. g:B->C 또한 함수 이므로 모든 B의 원소에 대응하는 C의 원소가 있다. ∴ 모든 A의 원소에 대응하는 C의 원소가 있으므로 [어떤함수:A->C] 라고 할 수 있고, B를 통해 그 대응이 이루어진다. 이 어떤함수를 합성함수라 한다!

8.3.2. 합성함수의 특성

... 너무 길다 책 311페이지 참고...!

8.4. 함수의 종류

8.4.1. 항등함수(Identity Function : Ia)

def
f:A->A가 f(a)=a로 정의 되는 관계
  1. 한마디로 인풋넣으면 그대로 나오는 함수~!

  2. domain === codomain === range (자기 자신이니까)

  3. 2번을 통해 전단사함수(Bi-jective)!

8.4.2. 역함수(Inverse Function)

def
Bi-jective 함수 f:A->B에 대해
f역함수: B->A 이고
f(a)=b 일 때 f역함수(b) = a
  1. 한마디로 인풋아웃풋 바뀐고!

  2. 바뀔라믄 전단사함수여야함!

8.4.3. 상수함수(Constant Function)

def
f:A->B에서 집합 A의 모든 원소가 집합 B의 원소 하나에만 대응되는 관계
∀a ∈ A, ∃b ∈ B 에 대해 f(a) = b

즉 모든 인풋에대해서 하나의 아웃풋만 나올 때!

8.4.4. 특성함수(Charateristic function)

def
U에 속한 어떤 집합 A에 대해 다음과 같은 특성을 갖는 관계
f_a(x) = 1(x ∈ A일 때) 또는 0(x !∈ A)

단순히 말해서 집합 A에 포함되면 1, 아니면 0을 내뱉는 함수. 예를 들어 isInteger() 따위의 함수

8.4.5. 바닥함수와 천정함수

def. 바닥함수
x∈R 에 대해서 x와 같거나 x보다 작은 정수중 가장 큰 정수를 대응하는 함수

걍 자바스크립트의 Math.floor(x)

def. 천정함수
x∈R 에 대해서 x와 같거나 x보다 큰 정수중 가장 작은 정수를 대응하는 함수

걍 자바스크립트의 Math.ceil(x)

Last updated

Was this helpful?