AI Study

알고리즘과 수열, 그리고 파이썬과 인공지능의 연결

jimmmy_jin 2025. 3. 26. 08:05

인공지능(AI)을 배우다 보면 꼭 거쳐야 하는 기본 개념들이 있다.
수열, 점화식, 재귀, 분할정복, 알고리즘 같은 것들.
이 글에서는 각각을 간단한 파이썬 코드와 함께 설명하고,
AI와의 실제 연결점도 같이 정리해본다.


🧠 알고리즘 (Algorithm)

문제를 풀기 위한 일련의 절차
AI 모델도 결국 일종의 알고리즘

파이썬 예시: 최대공약수(GCD)

def gcd(a, b):
    while b:
        a, b = b, a % b
    return a

print(gcd(36, 60))  # 12

AI와의 연결:
머신러닝 모델의 최적화 과정도 수학적인 알고리즘을 바탕으로 이루어짐


🔢 수열 (Sequence)

데이터를 순서대로 나열한 구조.
→ 시계열 데이터, 음성, 텍스트 = 다 수열!

등차수열 (Arithmetic Sequence)

a1 = 2
d = 3
n = 5
an = a1 + (n - 1) * d
print(an)  # 14

등비수열 (Geometric Sequence)

a1 = 2
r = 2
n = 5
an = a1 * (r ** (n - 1))
print(an)  # 32

AI와의 연결:
시계열 예측 모델에서 시퀀스(Sequence)를 다루는 감각 필요
→ ex) 주가 예측, 날씨 예측


➕ 급수 & 시그마 (Series & Sigma)

수열의 누적합
누적 손실(loss), 평균 계산, 통계 기반 모델 등에서 자주 사용

파이썬 예시: 1부터 n까지의 합

n = 100
sum_n = n * (n + 1) // 2
print(sum_n)  # 5050

또는 시그마:

print(sum(i for i in range(1, 101)))  # 5050

🔁 점화식 (Recurrence Relation)

다음 항이 이전 항으로 정의됨 → ex) 피보나치
→ RNN, LSTM 같은 순환 신경망의 개념

파이썬 예시: 피보나치

def fibonacci(n):
    a, b = 1, 1
    for _ in range(n - 2):
        a, b = b, a + b
    return b

print(fibonacci(6))  # 8

🧩 수학적 귀납법 (Mathematical Induction)

직접 코딩되는 개념은 아니지만, 알고리즘이 항상 기저 조건 + 재귀 조건을 만족해야 한다는 개념과 연결됨

파이썬 응용 예시: 팩토리얼의 재귀적 정의

def factorial(n):
    if n == 0:
        return 1  # 기저 조건
    return n * factorial(n - 1)  # 재귀 조건

print(factorial(5))  # 120

AI와의 연결:
알고리즘을 설계하거나 수학적 증명 기반의 논문 이해 시 활용


✂️ 분할 정복 (Divide and Conquer)

큰 문제를 나눠서 해결 → 병합정렬, 이진탐색, 딥러닝 모델 쪼개기 등

파이썬 예시: 이진 탐색

def binary_search(arr, target):
    low, high = 0, len(arr)-1
    while low <= high:
        mid = (low + high) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            low = mid + 1
        else:
            high = mid - 1
    return -1

print(binary_search([1, 3, 5, 7, 9], 7))  # 3

AI와의 연결:
대용량 데이터를 쪼개서 처리, GPU 병렬화 등의 기본 구조


🔁 재귀함수 (Recursive Function)

자기 자신을 호출하는 함수
→ 그래프 탐색, 백트래킹, 구조적 데이터 처리 등에서 사용

파이썬 예시: 피보나치 (재귀)

def fib(n):
    if n <= 2:
        return 1
    return fib(n - 1) + fib(n - 2)

AI와의 연결:
NLP 구조 분석, 트리 기반 모델 등에 재귀적 개념이 사용됨


🧠 요약 정리표

개념 영어 명칭 파이썬 예시 AI와의 연결

알고리즘 Algorithm 최대공약수, 정렬 등 모델 설계의 뼈대
수열 Sequence 등차/등비 수열 시계열 예측
급수 Series / Sigma 누적합 통계, 누적 손실
점화식 Recurrence 피보나치 RNN, 순환 모델
수학적 귀납법 Induction 재귀 구조 알고리즘 증명
분할 정복 Divide and Conquer 이진 탐색 데이터 분산 처리
재귀 함수 Recursive Function 팩토리얼, 피보나치 구조적 데이터, 탐색

🚀 마무리

수학과 알고리즘이 딱딱하다고 느껴졌다면, 파이썬으로 풀어보면서 연결하면 감이 온다.
특히 인공지능 분야는 결국 수학 + 코드의 조합이기 때문에,
기본 개념들을 이해하고 구현할 줄 아는 능력이 정말 중요하다.

→ 외울 필요는 없어! 대신 "아, 이런 흐름이구나" 하고 감만 잡아도 충분해.
필요할 때 언제든 꺼내볼 수 있게 📚