Recursive, Recursion   재귀, 재귀적, 순환 , 순환적

(2021-05-09)

Recursive System, 재귀 시스템, 순환 시스템


1. `재귀적/순환적 (Recursive)` 이란?

  ㅇ 자기 자신을 이용하여 정의하거나 응용하는 것
     - 주로, 반복적으로 스스로를 호출/사용하게 됨

  ㅇ 분야별 의미
     - [수학]  자기자신을 다시 이용하여 대상을 정의하는 것
     - [프로그래밍]  자기자신을 다시 호출하는 프로그램을 일컬음
     - [신호처리/시스템]  출력이 다시 입력으로 되돌아서 사용되는 것
     - [DNS 질의]  자신에게 없으면 타 네임서버에게 질의를 넘겨가며 그 결과로써 응답하는 등


2. [ 수학 ]     재귀적 정의(recursive definition) 또는 귀납적 정의(inductive definition)

  ㅇ 자기자신을 이용하여 표현 대상을 정의하는 것
     - 재귀에 의해 수열,함수,집합 등을 정의할 수 있음                   ☞ 수학적 귀납법 참조
        . 例) 점화관계에 의한 수열의 재귀적 정의
        . 例) 계승(팩토리얼),피보나치 수열,파스칼의 삼각형,프랙털 도형 등

  ㅇ 재귀적 정의의 구성     
     - 기본 단계   : 몇몇 초기 원소(조건)들을 기술함
     - 귀납적 단계 : 이미 존재하는 원소들로부터 새로운 원소들을 구성하는 규칙을 제시함

  ㅇ 例) 팩토리얼귀납적 정의
     - 기본 단계   : f(0) = 1
     - 귀납적 단계 : f(n) = n * f(n-1)


3. [ 프로그래밍 ]  재귀 함수 (Recursive Function)

  ※ ☞ 재귀 함수/재귀 호출 참조
     - 함수 정의에 자기자신을 사용하며 정의하고 호출함 (반복 연산 등에 쓰임)


4. [ 신호처리/시스템 ]  재귀적/비재귀적 시스템

  ㅇ 순환적(재귀적) 시스템
     - 출력이 다시 입력으로 사용되는 시스템
        . 출력이 과거의 출력값과 현재 및 과거의 입력값에 영향을 받음
           ..  y[n] = F ( y[n-1], y[n-2], ..., y[n-N], x[n], x[n-1], ..., x[n-M] )
                 

  ㅇ 비순환적(비재귀적) 시스템
     - 출력이 다시 입력으로 사용되지 않는 시스템
        . 출력이 현재와 과거의 입력에 만 영향을 받음 
           ..  y[n] = F ( x[n], x[n-1], ..., x[n-M] )


5. [ DNS 질의 ]  재귀 질의 (Recursive Query)DNS 클라이언트가 질의한 도메인에 대해,
     - 자신이 갖고있는 정보로부터 즉각 응답하거나, 
     - 자신에게 없으면 다른 서버에게 질의하여 그 결과를 응답하거나,
     - 찾고 있는 정보가 없다는 에러 메시지를 보내주는, 
     - 가장 단순한 DNS 쿼리 유형



Copyrightⓒ   차재복 (Cha Jae Bok)