Knuth의 기본 알고리즘에 대한이 진술이 오늘날에도 적용 가능합니까? [닫은]


10

어떤 의미에서 10! (열의 계승)은 계산에 유용한 것들과 그렇지 않은 것들 사이의 대략적인 구분선을 나타냅니다.

이것은 Knuth의 TAOCP Fundamental Algorithms book (1973)에서 발췌 한 것입니다. 이것은 여전히 ​​유효한 진술입니까 아니면 계산 능력이 쓸모 없습니까?


그것이 어떤 의미에서 나에게 분명하지 않다 – 10! 단지 몇 백만입니다. 직접 이해하기에는 너무 크지 만 펜과 종이로도 계산하기가 어렵지는 않습니다.
hobbs

11
@ hobbs 10 의 값 을 계산 하는 것에 대해 말하는 것이 아니라 약 10에 대한 계산 말하는 것입니다 ! 것들 . 즉, 방법에 약 10 이상이 필요한 경우! <작업 단위>, 새로운 방법을 찾아야 할 때입니다.
AakashM

답변:


21

여전히 합리적입니다.

10! = 3,628,880. 그 이후의 모든 단계는 최소한으로 진행됩니다.

(fact 10)
3628800

(fact 11)
39916800 -- about 40 million

(fact 12)
479001600 -- almost 500 million

(fact 13.0)
6227020800.0 -- over 6 billion

머지 않아 의회 지출 수치에 대해 이야기하고 있습니다.


15

좋은 교수는 운 좋게도 여전히 우리와 함께하고 결정적인 답변을 확인하는 가장 좋은 방법은 그를 작성하고 그의 의견을 묻는 것입니다.

즉, 절대 수는 계승이 나타내는 함수만큼 중요하지 않다고 생각합니다. Knuth가 당시에 그것을 실현했는지 여부에 관계없이, 그 진술로 확립 한 모델은 이전 수십 년 동안 계산하기에 실용적인 것을 되돌아 보았고 그 이후의 것을 통해 앞으로 잘 작동합니다.

1973 년에 데이터를 생성, 저장, 전송 및 처리 할 수있는 용량이 10 개로 제한되었습니다! 촬영할 합리적인 "먼 쪽"그림. 나는 Knuth (또는 그 문제에 대한 다른 사람)가 그 이후로 우리가 즐겼던 거의 모든 것에서 지수 개선을 예측할 수 있었을 지 의심하지만, 계승은 실제 숫자에 잘 맞습니다.

나는 이것을 직접 보았다 : 10 년 전에, 우리는 약 50M 레코드를 저장하고 처리하는 방법을 개발하는 동시에 우리가 어떻게 더 큰 규모의 일을하는지 숙고하는 프로젝트를 진행했다. 10 년 후, 비슷한 프로젝트를하고 있습니다. 목표 수치가 모두 요인으로 바뀌 었습니다.

                      2002           2012
Small Test .......  9! / 362K ... 10! / 3.6M
Large Test ....... 10! / 3.6M ... 11! /  40M
Capacity Goal .... 11! /  40M ... 12! / 479M
Capacity Dream ... 12! / 479M ... 13! / 6.3B

두 프로젝트를 수행하는 그룹은 그보다 훨씬 더 둥근 수치를 보였지만 계승은 그리 멀지 않았습니다. 전 세계 Google과 Facebook은 현재 프로젝트가 꿈꾸는 종류의 작업을 수행 할 수있는 리소스를 보유하고 있지만, 내가 앉아있는 곳 13!에서 10 년 이내에 도달 할 수없는 것 같습니다.

나는 1992 년에 대량의 데이터에 대해 생각하지 않았지만, 아마도 모든 것이 한 가지 요인이 아닌 것으로 보았을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.