인공지능(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 | 팩토리얼, 피보나치 | 구조적 데이터, 탐색 |
🚀 마무리
수학과 알고리즘이 딱딱하다고 느껴졌다면, 파이썬으로 풀어보면서 연결하면 감이 온다.
특히 인공지능 분야는 결국 수학 + 코드의 조합이기 때문에,
기본 개념들을 이해하고 구현할 줄 아는 능력이 정말 중요하다.
→ 외울 필요는 없어! 대신 "아, 이런 흐름이구나" 하고 감만 잡아도 충분해.
필요할 때 언제든 꺼내볼 수 있게 📚
'AI Study' 카테고리의 다른 글
| Embracing the New Era of Development: Why AI-Native Engineering is My Path (0) | 2025.05.30 |
|---|---|
| 프로그래밍 수학 - 확률과 선형대수, 어디에 쓰일까? (0) | 2025.03.30 |
| 인공지능을 위한 프로그래밍 수학 (0) | 2025.03.23 |
| 인공지능 머신러닝, 어떻게 시작할까? (1) | 2025.03.22 |
| 머신러닝과 데이터 과학에 대한 이해 (0) | 2025.03.22 |