함수의 개념을 살펴보고 그래프의 관계를 살펴봄 컴퓨터 언어에서의 함수의 역할에 대해 알아보기
함수의 정의
함수 (Function)
관계의 특수한 형태 ⇒ 첫 번째 원소가 같지 않은 순서쌍들의 집합
여러 가지 수학적 도구 중 가장 중요한 개념
다양한 공학 분야에 폭넓게 활용 → 함수의 개념을 이해하고 응용하여 주어진 문제 해결에 도움
두 집합 X, Y에서 함수 $f$는 집합 X에서 Y로의 관계의 부분 집합, 집합 X에 있는 모든 원소 x가 집합 Y에 있는 원소 중 오직 하나씩만 대응되는 관계
$f$ : X → Y
이때 X를 함수 $f$의 정의역, Y를 함수 $f$의 공빈역이라함
관계와 함수의 차이점
함수의 개념은 관계와 매우 밀접하고 기본적으로 비슷
관계에서 함수가 되기 위해서는 정의역의 모든 원소가 일대일 대응되는 공빈역의 원소를 가지는 것
따라서 함수는 관계의 특별한 경우로 봐야함
함수 그래프
두 집합 A, B에 대한 모든 함수 f : A→B는 집합 A에서 집합 B로의 관계
함수 그래프
함수 f : A→B에 대한 함수 그래프 G
x∈A이고 y=f(x)인 순서쌍 (x, y)의 집합
G = { (x, y) | x ∈ A, y ∈ B, y = f(x) }
함수 f에 대한 그래프 G의 원소들을 좌표 평면상에 점으로 표시하는 것
단사 함수, 전사 함수, 전단사 함수
단사 함수
함수 f : A→B에서 ai, aj ∈A에 대하여 f(ai) = f(aj)이면 ai=aj일 경우
해당 함수를 단사 함수라고 한다
정의역 A의 모든 원소들이 공변역 B의 서로 다른 원소와 대응되기 때문에 일대일 함수라고 함
단사 함수에서 함수의 치역은 공변역의 부분 집합
전사 함수
함수 f : A→B에서 B의 모든 원소 b에 대하여 f(a)=b가 성립되는 a∈A가 적어도 하나 존재할 때
해당 함수를 전사 함수라고 한다
전사 함수의 정의에서 알 수 있는 것은 공변역 B의 모든 원소가 정의역에 대응되어야 그 자체가 바로 치역
전사 함수는 모든 함수의 관계가 B의 모든 원소에 반영되므로 반영 함수라고도 함
전단사 함수
함수 f : A→B에서 f가 단사 함수인 동시에 전사 함수일 때, 함수 f를 전단사 함수라고 한다
집합 A의 모든 원소들이 집합 B의 모든 원소와 하나씩 대응되기 때문에 일대일 대응 함수라고함
여러 가지 함수들
합성 함수
두 함수 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 와 f∘g와는 다른 함수
#1 합성 함수의 결합 법칙
세 함수 f, g, h를 각각 f : A→B, g : B→C, h : C→D라 할 때, 그들의 합성 함수는 다음 결합 법칙 성립
h∘(g∘f) = (h∘g)∘f
항등 함수
집합 A에 대한 함수 f가 f : A→A, f(a) = a일 때 함수 f를 항등 함수라고함
항등 함수는 x가 항상 자기 자신에게 대응하기 때문에 단사 함수이면서 전사 함수이므로 전단사 함수이다
역함수
함수 f : A→B가 전단사 함수일 때 f의 역함수 f^-1 : B→A로 표기하고 다음과 같이 정의
f(a) = b 일 때 f^-1(b) = a
역함수는 항상 존재하는 것은 아니고 함수 f가 전단사 함수일 경우에만 존재한다
역함수의 필요조건으로 대상 함수가 일대일 대응 함수여야함
상수 함수
함수 f : A→B에서 집합 A의 모든 원소가 집합 B의 오직 한 원소와 대응할 때 함수 f를 상수 함수라고 함
기타 함수
이외에도 특성을 통해 값이 나뉘는 특성 함수
올림을 이용한 올림 함수
내림을 이용한 내림함수가 존재한다
프로그램에서의 함수
프로그램에서 복잡한 문제를 풀기 위해 여러 개의 독립적인 기능을 가진 서브 프로그램으로 나눔 이때, 독립된 계산이나 동일한 수행을 반복하기 위해 함수를 이용
#1 함수 호출
매개 변수를 가지고 함수를 부름
#2 리턴
함수에서 계산된 값을 되돌려 주는 것
프로그래밍 언어에서 미리 만들어 놓은 라이브러리 함수와
사용자가 편리를 위해 만든 사용자 정의 함수로 구분 할 수 있다
이를 통해 프로그램 내에서 복잡한 문제 해결의 도움을 얻을 수 있다
함수의 개념과 여러 가지 종류를 배웠으며 이를 통해 실제 프로그래밍에 적용되는 방법에 대해 알아보았다
'Computer Science > Discrete Mathematics' 카테고리의 다른 글
[이산수학] 트리 (2) | 2023.08.13 |
---|---|
[이산수학] 그래프 (0) | 2023.08.10 |
[이산수학] 관계 (0) | 2023.08.08 |
[이산수학] 증명론 (0) | 2023.08.07 |
[이산수학] 집합론 (1) | 2023.08.06 |