본문 바로가기
프로그래밍/수학

점화식이란 무엇인가?

by bantomak 2024. 3. 5.

점화식이란?

수학에서 점화식(漸化式) 또는 재귀식(再歸式, 영어: recurrence relation)이란 수열에서 이웃하는 두 개의 항 사이에 성립하는 관계를 나타낸 관계식이다.

 

프로그래밍에서 어떤 함수 안에서 자기 자신을 다시 호출하는 함수를 재귀함수라고 한다. 이때 호출하는 함수 그 자체와 재귀적으로 호출되는 함수 사이에는 어떤 상관관계가 있기 마련이다. 아래의 점화식은 이웃하는 두 개의 항 사이에 성립하는 관계에 대한 것을 말하고 있다.

 

 

an과 an + 1이 인접한 항이라고 할 때, 어떤 함수를 an에 씌워 an +1 이라는 결과를 얻을 수 있다면 함수 f가 수열 {an}의 점화식이 된다.

 

피보나치수열을 만들 때의 재귀식을 간단히 하면 다음과 같다.

 

function fibonacci(n) {
  if ( n <= 1) {
    return n;
  }
  return fibonacci(n - 1) + fibonacci(n - 2);
}

 

이때 if 내용을 제외한 fibonacci(n - 1) + fibonacci(n - 2)가 바로 피보나치수열에 대한 점화식이 된다.

 

하노이의 탑 문제도 점화식으로 간단하게 정리해 둔 내용을 확인할 수 있다.

 

n 개의 원판을 이동하는 회수를 수열 an으로 정의하자. n 개의 원판을 이동시키기 위해서는 그 위쪽 n - 1개의 원판을 다른 막대로 이동한 후, 맨 아래쪽 원판을 이동하고 다시 n - 1개의 원판을 이동해야 하므로 다음과 같은 점화식이 성립함을 알 수 있다.

 

 

 

5개의 원판을 옮겨야 한다면 위에부터 4개의 원판을 두 번째 막대로 이동하고 맨 마지막 원판을 세 번째 막대로 이동한다. (+ 1) 그리고 두 번째 막대에 있는 4개의 원판을 모두 세 번째 막대로 이동하면 된다.

 

함께 읽으면 좋은 글

 

[프로그래머스 Programmers] 피보나치 수

문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) =

jettstream.tistory.com

 

지구 종말에 대한 하노이 예언

만약, 지구에 종말이 온다면 남은 시간 동안 무엇을 할까? 다음은 베트남의 수도 하노이의 불교 사원에서 전해 내려오는 지구 종말에 대한 '하노이 탑' 예언이다. 고대 인도 베나레스(지금의 바

jettstream.tistory.com

 

[하노이탑의 최소 횟수 구하는 방법]-점화식 이용하기

☞ 상황 세 개의 기둥에 크기가 다른 여섯 개의 원반이 그림처럼 꽂혀있습니다. 이 원반들을 규칙에 따라 ...

blog.naver.com

 

참고 사이트

 

점화식 (TIL 42일차)

"본투비 문과, 수학을 배우다" Intro 저는 한 학년이 13명 남짓한 한 반으로 구성된 외국의 아주 작은 학교를 다녔는데요. 그러다보니 문과/이과 구분도 없었고, 수학을 깊게 배울 일이 없었습니다.

velog.io

댓글