6.1 점화 관계 (Recurrence Relations)

Slides:



Advertisements
Similar presentations
10-7 부동소수점 (Floating-Point) 계산  컴퓨터에서 숫자를 표기하는 방법  가수 (Fraction) : 부호화된 고정소수점 숫자 지수 (Exponent) : 소수점의 위치를 표시 ( 예 )10 진수 를 표기하면 Fraction Exponent.
Advertisements

Ⅱ 세포의 주기와 생명의 연속성 Ⅱ 세포의 주기와 생명의 연속성 - 1. 세포주기와 세포분열.
명륜종합사회복 지관. * 강사 : 소 찾는 아이 작가 이상희, 김매화 팀장 외 * 북아트란 : 논술교육의 중요성, 자유로운 사고, 창 의력, 논리력 * 준비물 : 색연필, 사인펜, 연필, 지우개, 딱풀, 가위.
재료수치해석 HW # 박재혁.
ALL IN ONE WORKING HOLIDAY!
Hamming Code 이근용. 2 Error Control Error Detection Parity Check CRC Check Error Correction Hamming Code.
이산수학(Discrete Mathematics)
(Mathematical Induction)
Sources of the Magnetic Field
Chapter 7 ARP and RARP.
19세기 말 프랑스 수학자 Lucas가 제안 전설 Benares(베트남 하노이 외곽)에는 세계의 중심이 있고, 그 곳에는 아주 큰 사원이 있다. 이 사원에는 높이 50cm 정도 되는 다이아몬드 막대 3 개가 있다. 그 중 한 막대에는 천지 창조 때에 신이 구멍이 뚫린 64.
(Numerical Analysis of Nonlinear Equation)
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
REINFORCEMENT LEARNING
Discrete Math II Howon Kim
CHAP 2:순환 순천향대학교 컴퓨터공학과.
Chapter 02 순환 (Recursion).
제 5장. Context-Free Languages
이산수학(Discrete Mathematics) 수학적 귀납법 (Mathematical Induction)
Dynamic Programming.
Internet Computing KUT Youn-Hee Han
Chapter 2. Finite Automata Exercises
점화와 응용 (Recurrence and Its Applications)
2007 1학기 11 프로젝트 기초 실습.
Chapter 07. 기본 함수 익히기.
계수와 응용 (Counting and Its Applications)
이산수학(Discrete Mathematics)
1.4 중첩된 한정기호 (Nested Quantifiers) 이산수학 (Discrete Mathematics)
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
(Relations and Its Properties)
Linux/UNIX Programming
CHAP 2:순환.
Linux/UNIX Programming
이산수학(Discrete Mathematics)
Dynamic Programming.
이산수학(Discrete Mathematics)  명제의 동치 (Propositional Equivalence)
4.1 계수의 기본 원리 (Basics of Counting)
Hanoi Tower.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
1. 2진 시스템.
Discrete Math II Howon Kim
Linux/UNIX Programming
Linux/UNIX Programming
이산수학 (Discrete Mathematics)
이산수학(Discrete Mathematics) 비둘기 집 원리 (The Pigeonhole Principle)
이산수학(Discrete Mathematics)
Internet Computing KUT Youn-Hee Han
이산수학(Discrete Mathematics)  집합 연산 (Set Operations)
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
7. Quicksort.
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
점화와 응용 (Recurrence and Its Applications)
3. 반/전 가산기, 반/전 감산기 제작 컴퓨터 구조 실습 안내서.
CHAP 2:순환.
창 병 모 숙명여대 전산학과 자바 언어를 위한 CFA 창 병 모 숙명여대 전산학과
2.7 행렬 (Matrices] 이산수학 (Discrete Mathematics) Matrix Reloaded
이산수학(Discrete Mathematics)
Python.
이산수학(Discrete Mathematics) 수열과 합 (Sequences and Summations)
이산수학(Discrete Mathematics)  술어와 한정기호 (Predicates and Quantifiers)
Chapter 1. 이산수학의 개요.
수치해석 ch3 환경공학과 김지숙.
(Permutations and Combinations)
7 생성자 함수.
Linux/UNIX Programming
6 객체.
Chapter 4. Energy and Potential
꽃잎의 수로 피보나치 수열하기 장전초등학교 6학년 신찬유.
Chapter 7: Deadlocks.
Sawasdee ka.
Presentation transcript:

6.1 점화 관계 (Recurrence Relations) 이산수학 (Discrete Mathematics) 6.1 점화 관계 (Recurrence Relations) 2006년 봄학기 문양세 강원대학교 컴퓨터과학과

We will cover … in Chapter 6. 6.1 Recurrence Relations $6.1 Recurrence Relations (점화 관계) $6.3 Divide-and-Conquer (분할 정복) $6.5 Inclusion-Exclusion (포함-배제)

Recurrence Relations 6.1 Recurrence Relations A recurrence relation (R.R., or just recurrence) for a sequence {an} is an equation that expresses an in terms of one or more previous elements a0, …, an−1 of the sequence, for all n≥n0. (수열 {an}에 대한 점화 관계란 an을 이전의 항들인 a0, …, an−1들을 사용하여 표시하는 등식이다.) A particular sequence is said to solve the given recurrence relation if it is consistent with the definition of the recurrence. (특정한 수열이 주어진 점화 관계를 만족하면 해당 수열을 주어진 점화 관계의 해라 한다.) A given recurrence relation may have many solutions. (주어진 점화 관계는 하나 이상의 많은 해를 가질 수 있다.)

Recurrence Relation Example 6.1 Recurrence Relations Consider the recurrence relation an = 2an−1 − an−2 (n≥2). Which of the following are solutions? an = 3n an = 2n an = 5 Yes No Yes

이자율 계산 예제 (1/3) 6.1 Recurrence Relations Recurrence relation for growth of a bank account with P% interest per given period: (이자율이 P%일 때, 총액 계산) Mn = Mn−1 + (P/100)Mn−1 Mn: 이번 달의 총액 Mn−1: 지난 달의 총액 (P/100)Mn−1: 지난 달의 이자

= r·r·(r Mn−3) …and so on to… = rn M0 이자율 계산 예제 (2/3) 6.1 Recurrence Relations Mn = Mn−1 + (P/100)Mn−1 = (1 + P/100) Mn−1 = r Mn−1 (let r = 1 + P/100) = r (r Mn−2) = r·r·(r Mn−3) …and so on to… = rn M0

예제 3: 원금이 10,000 달러이고, 1년 이자가 11%일 때, 복리로 계산하면 30년 후 계좌 잔고는? 이자율 계산 예제 (3/3) 6.1 Recurrence Relations 예제 3: 원금이 10,000 달러이고, 1년 이자가 11%일 때, 복리로 계산하면 30년 후 계좌 잔고는? Mn = Mn−1 + (11/100)Mn−1 = (1.11)Mn−1 M1 = (1.11)M0 M2 = (1.11)M1 = (1.11)2M0 M3 = (1.11)M2 = (1.11)3M0 … Mn = (1.11)Mn-1 = (1.11)nM0 M30 = (1.11)30M0 = (1.11)30 x 10,000 = $228,922.97 // M0 = 10,000

Pn = Pn−1 + Pn−2 (Fibonacci relation) 피보나치 수열의 예제 6.1 Recurrence Relations Growth of a population in which each organism yields 1 new one every period starting 2 periods after its birth. (예제 4: 주어진 (생물, 미생물) 개체는 태어난 지 2주기 이후에는 매 주기마다 하나의 새로운 개체를 생산한다… ) Pn = Pn−1 + Pn−2 (Fibonacci relation) Pn: 현재(n 번째) 주기의 개체 수 Pn−1: 이전 주기에 있었던 개체의 수 Pn−2: 새로 태어난 개체의 수 (2주기 이후에 새로운 개체를 생산하므로)

하노이 탑 예제 (1/3) 6.1 Recurrence Relations Problem: Get all disks from peg 1 to peg 2. (말뚝 1에 있는 모든 디스크를 말뚝 2로 옮긴다.) Only move 1 disk at a time. (한 번에 한 개의 디스크만 옮길 수 있다.) Never set a larger disk on a smaller one. (작은 디스크 위에 큰 디스크를 올려 놓을 수는 없다.) Peg #1 Peg #2 Peg #3

하노이 탑 예제 (2/3) 6.1 Recurrence Relations Let Hn = # of moves for a stack of n disks. (Hn을 n개의 디스크 스택을 옮기는 데 필요한 디스크의 이동 횟수라 하자.) Optimal strategy: Move top n−1 disks to spare peg. (Hn−1 moves) Move bottom disk. (1 move) Move top n−1 to bottom disk. (Hn−1 moves) Note: Hn = 2Hn−1 + 1

하노이 탑 예제 (3/3) Hn = 2 Hn−1 + 1 = 2 (2 Hn−2 + 1) + 1 = 22 Hn−2 + 2 + 1 6.1 Recurrence Relations Hn = 2 Hn−1 + 1 = 2 (2 Hn−2 + 1) + 1 = 22 Hn−2 + 2 + 1 = 22(2 Hn−3 + 1) + 2 + 1 = 23 Hn−3 + 22 + 2 + 1 … = 2n−1 H1 + 2n−2 + … + 2 + 1 = 2n−1 + 2n−2 + … + 2 + 1 (since H1 = 1) = = 2n − 1

More Examples (1/2) 6.1 Recurrence Relations 예제 6 (비트 스트링 문제): 두 개의 연속적인 0들을 갖지 않는 길이 n의 비트 스트링 수에 대한 점화 관계와 초기 조건을 제시하라. # of bit strings of length n with no two consecutive 0s: End with a 1: Any bit string of length n – 1 with no two consecutive 0s 1 an-1 an-2 End with a 0: Any bit string of length n – 2 with no two consecutive 0s 1 0 an = an-1 + an-2 Total: 점화 관계: an = an-1 + an-2 초기 조건: a1 = 2 = |{0, 1}|, a2 = 3 = |{01, 10, 11}|

More Examples (2/2) 6.1 Recurrence Relations 예제 7 (코드 워드 나열): 짝수 개의 0을 포함하는 십진수는 유효한 코드 워드(예: 1230407869는 유효하고, 120987045608은 유효하지 않다)라 하고, an을 n자리 코드 워드라 할 때, an의 점화 관계를 구하라. 한 자리 스트링(0, 1, 2, .., 9) 중 0은 유효치 않으므로, a1 = 9. an에 대해서는 다음 두 가지 경우의 합으로 나타난다. Case 1: (n–1)자리 유효한 스트링에 0이 아닌 수를 더한 스트링의 개수 = 9an-1 Case 2: (n-1)자리 유효하지 않은 스트링에 0을 더한 스트링의 개수 = (10n-1 - an-1) an = 9an-1 + (10n-1 - an-1) = 8an-1 + 10n-1

모든 점화 관계식을 (단순하게) 해결할 수는 없다. 주요 점화 관계식에 대한 풀이는 $6.2를 참조한다. 점화 관계식 풀기 6.1 Recurrence Relations 모든 점화 관계식을 (단순하게) 해결할 수는 없다. 주요 점화 관계식에 대한 풀이는 $6.2를 참조한다.