반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- AI경량화
- 모델경량화
- 스타수열 파이썬
- 메뉴리뉴얼 파이썬
- 프로그래머스 누적합
- 광고삽입 파이썬
- 딥러닝 가중치 갱신
- 프로그래머스 2차원동전뒤집기 파이썬
- 과적합방지
- 딥러닝학습
- 프로그래머스
- 머신러닝 학습 검증
- MLE
- 딥러닝파라미터
- 스타수열
- 자율성장 인공지능
- 비트마스킹
- 2차원동전뒤집기
- 프로그래머스광고삽입
- 인공지능 경진대회
- 프로그래머스 2차원동전뒤집기
- 프로그래머스 스타수열
- 인공신경망 학습
- 로지스틱 최대우도
- k겹 교차검증
- 카카오 코테 메뉴리뉴얼
- 카카오 메뉴리뉴얼
- 데이터축소
- 딥러닝
- 확률과우도
Archives
- Today
- Total
머신러닝 개발자의 러닝머신
Dynamic Programming 본문
반응형
점화식 관계가 뚜렷하다면 dp 재귀적 호출 기억하기,,!
(1) top-down 방식
: 내가 원하는 값을 구하기 위해 재귀적으로 호출하며 더 낮은 쪽으로 계속 파헤치기
(ex) 피보나치 수열 F[n] = F[n-1] + F[n-2] (단, F[0] = 0, F[1] =1)
dp = [-1 for _ in range(30+1)]
def fibo(num):
if num == 0: return 0
if num == 1: return 1
if dp[num] != -1:
return dp[num]
dp[num] = dp[num-1] + dp[num-2]
return dp[num]
print(fibo(30))
(2) bottom-up 방식
: 가장 작은 항부터 구하고자 하는 항까지 모든 dp 테이블 완성하기
def fibo(num):
dp = [-1 for _ in range(num+1)]
dp[0] = 0
dp[1] = 1
for i in range(2, num+1):
dp[i] = dp[i-1] + dp[i-2]
print(fibo(30))
반응형