Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

110212 [아꿈사발표자료] taocp#1 1.2.8. 피보나치수열

3,198 views

Published on

아꿈사 스터디 발표자료.
발표일자 : 2011. 2. 12.
스터디 주제 : TAOCP (The Art Of Computer Programming) #1
발표주제 : 1.2.8. 피보나치 수

Published in: Technology
  • Be the first to comment

  • Be the first to like this

110212 [아꿈사발표자료] taocp#1 1.2.8. 피보나치수열

  1. 1. TAOCP #1 1.2.8. 피보나치 수열 아꿈사 http://cafe.naver.com/architect1 최성기
  2. 2. 이 챕터는 이렇게 시작합니다.0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
  3. 3. 발표내용과, 각각의 난이도 입니다. 80 70난이도 10 10 역사 이야기 여러가지 성질 gcd에 관한 생성함수 정리A Agenda
  4. 4. 가볍게 역사 이야기부터 해보죠. 80 70난이도 10 10 역사 이야기 여러가지 성질 gcd에 관한 생성함수 정리A Agenda
  5. 5. 레오나르도 피보나치 (1170 – 1250)13세기 이탈리아의 수학자.한 달에 한 쌍씩의 새끼를 낳는 토끼의마리 수를 구하는 연습문제를 저서에 소개. I Hate You! T.T…자연현상에서 관찰되는 피보나치 수는토끼문제의 가정과 비슷한 이유일 거라고 추정된다.[Conway, Guy, The Book of Numbers (New York: Copernicus, 1996)]
  6. 6. 한 쌍의 어린 토끼가 있습니다.한 쌍의 토끼는 한달 후면 어른토끼가 되고,어른토끼 한 쌍은 매달 한 쌍의 토끼를 낳습니다. 1 1 2 3 5 8 13 http://blog.naver.com/devotion20/80120887670
  7. 7. 알고리즘과는 뭔 상관인가?! 덧셈에 대한 좋은 컴퓨터 연습문제. 1.1E (유클리드 알고리즘) 의 수 m과 n이 보다 크지 않으면 단계 E2는 많아야 k+1번 수행됨. 아니오E1. 나머지를 구한다. E2. 나머지가 0인가? E3. 맞줄임 예 수학자 뤼까는 피보나치 수를 이용해 39자리 수 이 소수임을 증명.
  8. 8. 잠시 삼천포로… 황금비율 1.2.1에서 귀납법으로 증명. 초기 유럽 수학자 제이콥(Simon Jacob)이 알아냄.
  9. 9. 자, 이제 몇 가지 성질들을 알아보죠. 80 70난이도 10 10 역사 이야기 여러가지 성질 gcd에 관한 생성함수 정리A Agenda
  10. 10. ������ ������������������+������ ������������−������ − ������������ = (−������) … (4)증명: 1. 귀납법으로 쉽게 증명 2. 좀 더 난해한 방법으로 증명 : 다음과 같은 행렬 항등식을 간단한 귀납법으로 증명하고, 양변의 행렬식을 취한다. ������������+1 ������������ ������ 1 1 = ������������ ������������−1 1 0 저는 1번 바로 귀납법 증명은 못 풀었고요, 2번이 더 쉬웠습니다.
  11. 11. ������������+1 ������������ ������ 1 1 = 임을 귀납법으로 증명해보자. ������������ ������������−1 1 0n=1일 때, ������2 ������1 1 1 1 1 1 = = 이므로 참이다. ������1 ������0 1 0 1 0
  12. 12. ������������+1 ������������ ������ 1 1 = ������������ ������������−1 1 0n=k일 때, ������������+1 ������������ 1 1 ������ = 가 참이라면 ������������ ������������−1 1 0 ������+1 ������ ������������+1 ������������1 1 1 1 1 1 1 1 = =1 0 1 0 1 0 ������������ ������������−1 1 0 ������������+1 + ������������ ������������+1 ������������+2 ������������+1 = = ������������ + ������������−1 ������������ ������������+1 ������������ … 이므로 n=k+1도 참이다.
  13. 13. ������ ������������������+������ ������������−������ − ������������ = (−������) …… (4)관계식 (4)는 ������������ 과 ������������+������ 이서로 소임을 보여준다……고…하던데…
  14. 14. ������ ������������������+������ ������������−������ − ������������ = (−������) …… (4)• ������������ 과 ������������+������ 가 공약수 a를 가진다면 식 (4)의 좌변은 공통의 약수로 묶어낼 수 있고, a(p + q) 형태가 된다.• 우변은 (−������)������ 이니까, 좌변의 약수 a는 -1의 제곱으로만 표현되는 수다.• 그럼 a는 고작 해봐야 1 아니면 -1밖에 될 수 없겠네.• 따라서 ������������ 과 ������������+������ 의 공약수는 1뿐이다 : 서로 소.
  15. 15. ������0 = 0; ������1 = 1; ������������+2 = ������������+1 + ������������ , ������ ≥ 0 …… (2)������������+2 = 1������������+1 + 1������������������������+3 = ������������+2 + ������������+1 = 2������������+1 + 1������������������������+4 = ������������+3 + ������������+2 = 3������������+1 + 2������������������������+5 = ������������+4 + ������������+3 = 5������������+1 + 3������������������������+6 = ������������+5 + ������������+4 = 8������������+1 + 5������������������������+7 = ������������+6 + ������������+5 = 13������������+1 + 8������������…귀납법을 통해 일반화하면, 임의의 양의 정수 m에 대해 ������������+������ = ������������ ������������+1 + ������������−1 ������������ (6)
  16. 16. ������������+������ = ������������ ������������+1 + ������������−1 ������������ (6) 식 (6)에서 m이 n의 배수이면, 귀납법을 통해서 다음을 알 수 있다. ������������������ 는 ������������ 의 배수이다.0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, …0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, …0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, …
  17. 17. gcd에 관한 정리 A. 안전벨트 하세요. 80 70난이도 10 10 역사 이야기 여러가지 성질 gcd에 관한 생성함수 정리A Agenda
  18. 18. 정리 A (뤼카 E. Lucas, 1876). d=gcd(m,n) 이라고 할 때, 어떠한 수가 만일 ������������ 를 나눈다면, 그리고 오직 그럴 때에만 그 수는 ������������ 과 ������������ 모두를 나눈다. 즉,gcd(������������ , ������������ )= ������gcd(������,������) .������������ 0 1 1 2 3 5 8… ������������ ������������ ������������������ 0 1 2 3 4 5 6… d m n
  19. 19. gcd(������������ , ������������ )= ������gcd(������,������) . 증명. 유클리드 알고리즘을 이용. ������������+������ = ������������ ������������+1 + ������������−1 ������������ …… 식 (6)• ������������ 과 ������������ 의 모든 공약수는 ������������+������ 의 약수이기도 하다.• ������������+������ 과 ������������ 의 모든 공약수 역시 ������������ ������������+1 의 약수. 서로 소• ������������+������ 과 ������������ 의 모든 공약수 역시 ������������ 의 약수. 오직 d가 ������������+������ 과 ������������ 을 나눌 때에만 …… 명제 (8) d는 ������������ 과 ������������ 을 나눈다.
  20. 20. 명제 (8)을 만족하면서 ������0 = 0인 임의의 수열 < ������������ >이 정리 A를 만족함을 증명 (피보나치 수열은 명제 (8)도 만족하고 ������0 = 0인 수열니까 같이 증명되는 셈.)오직 d가 ������������+������ 과 ������������ 을 나눌 때에만 d는 ������������ 과 ������������ 을 나눈다. k에 대한 귀납법을 거치면…오직 d가 ������������+������������ 과 ������������ 을 나눌 때에만 d는 ������������ 과 ������������ 을 나눈다. 이 결과를 좀 더 간명하게 표현하면… 오직 d가 ������������ 과 ������������ 을 나눌 때에만 … 명제 (9) d는 ������������ ������������������ ������ 과 ������������ 을 나눈다.
  21. 21. 명제 (9) 오직 d가 ������������ 과 ������������ 을 나눌 때에만 d는 ������������ ������������������ ������ 과 ������������ 을 나눈다.r = ������ ������������������ ������라고 적어보면, (r은 m을 n으로 나눈 나머지) 오직 d가 ������������ 과 ������������ 을 나눌 때에만 d는 ������������ 과 ������������ 을 나눈다.*������������ , ������������ }의 공약수들은 *������������ , ������������ }의 공약수와 같다.유클리드 알고리즘 조작과정에서 m과 n이 변해도*������������ , ������������ }의 공약수 집합은 변하지 않음.(마지막 r=0일 경우, 공약수 집합은 ������0 = 0과 ������gcd(������,������) 의 공약수들)
  22. 22. 이제 마지막 내용, 생성함수 입니다. 80 70난이도 10 10 역사 이야기 여러가지 성질 gcd에 관한 생성함수 정리A Agenda
  23. 23. 다음과 같은 무한급수를 설정한다.������ ������ = ������0 + ������1 ������ + ������2 ������ 2 + ������3 ������ 3 + ������4 ������ 4 +… = ������ + ������ 2 + ������ 3 + ������ 4 + ⋯ 115페이지.네, 교수님은 낙관적이셔서 참 좋으시겠어요.이런 시도 안 하는 나는 비관적인 거야 뭐야…
  24. 24. ������ ������ = ������0 + ������1 ������ + ������2 ������ 2 + ������3 ������ 3 + ������4 ������ 4 +…z와 ������ 2 을 곱해서 두 식을 만든다.������������ ������ = ������0 ������ + ������1 ������ 2 + ������2 ������ 3 + ������3 ������ 4 + ������4 ������ 5 +…������ 2 ������ ������ = ������0 ������ 2 + ������1 ������ 3 + ������2 ������ 4 + ������3 ������ 5 +…처음 식에서 두 식을 빼고 정리하면,1 − ������ − ������ 2 ������ ������ = ������0 + ������1 − ������0 ������ + ������2 − ������1 − ������0 ������ 2 + ������3 − ������2 − ������1 ������ 3 + ������4 − ������3 − ������2 ������ 4 + ⋯ = z 2������ ������ = ������/ 1 − ������ − ������ (11)
  25. 25. 이제 ������ ������ 의 조작을 통해서 < ������������ >에 대해 더 많은 것을 알아낼 수 있다. 2 ������ ������ = ������/ 1 − ������ − ������ 1분모 1 − ������ − ������ 2 의 실근은 −1 ± 5 . 부분분수 기법으로 전개(?) 2 1 1 1 여기서 ∅는 ������ ������ = − 1 5 1 − ∅������ 1 − ∅������ ∅ = 1 − ∅ = (1 − 5) 2수량 1/(1- ∅������)은 무한 등비급수 1 + ∅������ + ∅2 ������ 2 + ⋯ 의 합이므로 1 ������ ������ = (1 + ∅������ + ∅2 ������ 2 + ⋯ − 1 − ∅������ − ∅2 ������ 2 − ⋯ ) 5 다음 페이지 계속…
  26. 26. 1������ ������ = (1 + ∅������ + ∅2 ������ 2 + ⋯ − 1 − ∅������ − ∅2 ������ 2 − ⋯ ) 5������ ������ = ������0 + ������1 ������ + ������2 ������ 2 + ������3 ������ 3 + ������4 ������ 4 +… (제일 처음 정의)여기서 ������ ������ 의 계수들은 ������������ 의 값들과 같아야 하며, 따라서 1 ������ ������ ������������ = (∅ − ∅ ) 5 (14)피보나치 수의 중요한 닫힌 형식 공식. 18세기 초에 처음 발견됨.
  27. 27. 1 ������������ = (∅������ − ∅������ )를 통해 알 수 있는 여러 가지 것들: 51. ∅가 음수(-0.61803…)이고 절대값이 단위원보다 작으므로, n이 커지면 ∅이 매우 작아진다. 따라서, ∅������ ������������ = 를 가장 가까운 정수로 반올림한 것. 5 2 1 1 1 22. ������(������) = ( + − 2) 5 (1−∅������)2 (1−∅������)2 1−������−������3. ������(������)2 의 ������ ������ 항의 계수는 ������ ������=0 ������������ ������������−������ 이므로 다음식이 유도된다. ������ 1 2 ������������ ������������−������ = ������ − 1 ������������ + ������������������−1 ������=0 5 5
  28. 28. 끝. 질문은 님께~

×