The Art of Computer Programming 1.2.5

1,582 views
1,403 views

Published on

The Art of Computer Programming 1.2.5
아꿈사 스터디 발표자료 (2011.01.29)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,582
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

The Art of Computer Programming 1.2.5

  1. 1. The Art of Computer Programming1.2.5 순열과 계승<br />아키텍트를 꿈꾸는 사람들cafe.naver.com/architect1<br />현수명 soomong.net<br />#soomong<br />
  2. 2. 순열 Permutation<br />계승 Factorial<br />
  3. 3. Definition<br />순열Permutation<br />n 객체들의 순열은 n개의 서로 다른 객체들을<br />한 줄로 늘어 놓는 것<br />서로 다른 3개의 객체 에는<br />총 6개의 서로 다른 순열들이 존재<br />(1)<br />
  4. 4. Example<br />3개의 객체들 중 1개를 일렬로 늘어놓는 방법의 수<br />3개의 객체들 중 2개를 일렬로 늘어놓는 방법의 수<br />3개의 객체들 중 3개를 일렬로 늘어놓는 방법의 수<br />(3)<br />
  5. 5. Generalization<br />n개의 객체들 중 k개를 일렬로 늘어놓는 방법의 수<br />(2)<br />따라서 전체 순열의 수는<br />n개의 객체들 중 n개를 일렬로 늘어놓는 방법의 수<br />
  6. 6. 2개 객체들의 순열에서<br />?<br />3개 객체들의 순열을 <br />얻는 방법은 없을까?<br />
  7. 7. 의 순열<br />의 순열<br />?<br />방법 1Example<br />새로운 객체 을 가능한 자리들에 삽입!<br />
  8. 8. 방법 1Generalization<br />의 각 순열 <br />에 대해 수 을 모든 가능한 자리에 삽입!<br />
  9. 9. 방법 2Example<br />이런 배열을 만든다.<br />이름을 객체 크기 순으로 변경<br />
  10. 10. 방법 2Generalization<br />의 각 순열 <br />에 대해 아래 방식으로 나머지 개의 순열을 얻는다.<br />그런 다음 순열의 요소들의 이름을<br />수 을 요소 크기 순으로 사용해서 바꾼다<br />
  11. 11. Definition<br />계승Factorial 차례곱<br />1부터 n 까지의 연속된 자연수를 차례로 곱한 값<br />(4)<br />
  12. 12. 처음 몇 계승들은 <br />기억해두는것이 좋다.<br />(5)<br />(6)<br />
  13. 13. 이렇게 써보자!<br />알고리즘이 10! 개 이상의 경우들을 판단해야만<br />한다면 실용적이지 못한 것이다.<br />알고리즘이 10! 가지를 판단해야하고 각 경우가<br /> 1msec 걸린다면 알고리즘 전체에는 <br />약 한시간 (60.48분) 이 걸린다.<br />
  14. 14. 여기서 떠오르는 자연스러운 의문!<br />?<br />일일히 곱하지 않고 의 값이<br />대략 어느정도인지 알 수 있을까?<br />정말 자연스럽지 않은가?<br />
  15. 15. 의 예측 방법 1 Generalization<br />스털링 James Stirling<br />(7)<br /> : 대략 같다<br /> : 자연로그의 기수(밑) p.50<br />
  16. 16. 의 예측 방법 1Example<br />스털링 James Stirling<br />오차 1%<br />
  17. 17. 의 정확한 값을 소수들로 소인수 분해하는 방법<br />Generalization<br />다음과 같은 중복도를 가진 소수 는<br /> 을 나눌 수 있다<br />(8)<br />
  18. 18. 소인수 분해하는 방법 Example<br />(8)<br />따라서 은 로 나누어지나 로는<br />나누어지지 않는다.<br />
  19. 19. 또 하나의 자연스러운 의문!<br />?<br />음이 아닌 정수 에 대해<br /> 을 정의 할 수 있다면 <br />유리수, 심지어 실수 에 대한 <br />계승함수도 정의 할 수 있지 않겠는가?<br />이 얼마나 자연스러운 의문인가?<br />
  20. 20. Example<br />(4)<br />곱하기 대신 더하기를 생각해보면<br />(9)<br />(10)<br />
  21. 21. Generalization Try…<br />스털링 James Stirling<br />비정수 에 대하여 을 일반화하기 위해서 <br />여러가지 시도를 해 보았다.<br />식(7)을 무한합으로 확장했으나<br />안타깝게도 그 합은 어떠한 값에<br />대해서도 수렴하지 않았다.<br />
  22. 22. Generalization Try…<br />스털링 James Stirling<br />이것을 발견했지만<br />이 음이 아닌 정수에 대해서만 유효<br />이 합이 의 모든 분수값들에 대해 을 정의함을<br />증명하지 못했다.<br />(11)<br />(12)<br />
  23. 23. Generalization !<br />오일러 Leonhard Euler<br /> (1729년)<br />같은 시기에 동일한 문제를 고민!<br />결국 Euler 가 적절한 일반화를 최초로 발견<br />(13)<br />단, 이 음의 정수가 아닐때<br />왜냐하면 이 음의 정수이면 분모가 0 이 되고<br />은 무한대가 되어버리기 때문에<br />
  24. 24. Generalization !<br />에르미트 C.Hermite<br /> (1900년)<br />지금 여러분은<br />즐거운 계승Factorial 의 역사시간을<br />함께 하고 계십니다.ㅜㅜ<br />스털링의 아이디어가<br />실제로 비정수 에 대해 을 성공적으로 정의하며<br />사실 오일러와 스털링의 일반화들이 동일함을 증명!<br />
  25. 25. 계승의 표기 방법<br />오일러Euler<br />가우스Gauss<br />영국과 이탈리아<br />크랑Kramp<br />르장드르A.M.Legendre<br />
  26. 26. Definition<br />감마함수Gamma Funtion<br />이 함수를 감마함수라고 부른다<br />감마함수는 계승의 개념을 실수와 복소수까지<br />확장시킨 함수이다<br />(wikipedia)<br />(14)<br />(15)<br />오일러 극한정의<br />
  27. 27. 저 위에 (4,6).<br />(3,2).<br />(1,1).<br />.(2,1)<br />.<br />X<br />함수<br />실수축 상에서의 감마함수 그래프<br />
  28. 28. 감마함수는 복소수에서도 유효<br />복소수는 보통 대신 라는 글자를 사용<br />(16)<br />오일러 반사공식<br />가 정수가 아닌 경우 항상 성립한다<br />
  29. 29. 복소평면 전체로 확장된 버전의 감마함수<br />(wikipedia)<br />
  30. 30. 는 가 0 이나 음의 정수일때 <br />무한이 되는 반면<br /> 는 모든 복소수 에 대해<br />유효한 정의를 가진다 (well-defined)<br />(17)<br />복소 적분의 경로는 에서 시작해서<br />원점을 반시계방향으로 돌아 로 돌아온다<br />ㅠㅠ<br />
  31. 31. Definition<br />차례거듭제곱Factorial powers<br />가 양의 정수일때<br />(18)<br />의 내림제곱<br />의 올림제곱<br />(19)<br />
  32. 32. n개의 객체들 중 k개를 일렬로 늘어놓는 방법의 수<br />(2)<br />결국 아래와 같음<br />(18)<br />
  33. 33. 차례거듭제곱들의 관계<br />(20)<br />(21)<br />이상 스털링에서 오늘날에 이르기까지의<br />계승의 흥미로운 역사 였습니다. ㅜㅜ<br />
  34. 34. Reference<br />Factorial http://ko.wikipedia.org/wiki/%EA%B3%84%EC%8A%B9<br />Gamma Functionhttp://en.wikipedia.org/wiki/Gamma_function<br />
  35. 35. 감사합니다<br />

×