Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 1

Д. Кнут - Искусство программирования том 1 (1119450), страница 18

Файл №1119450 Д. Кнут - Искусство программирования том 1 (Д. Кнут - Искусство программирования том 1) 18 страницаД. Кнут - Искусство программирования том 1 (1119450) страница 182019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 18)

а„! и число Й, 1 < 6 < и; добавим единицу к каждому а, значение которого > Й. В результате получим перестановку ЬгЬ!... Ь„, из элементов (1, ..., 6 — 1, 6+ 1, ..., п): значит, Ь! Ь!... Ь„! Ь вЂ” это перестановка чисел (1,..., п). При таком способе построения тоже очевидно, что каждая перестановка из и элементов встречается только один раз. Аналогичные построения можно выпачнить, помещая й не справа, а слева либо в любой другой фиксированной позиции. Если р„— число перестановок из и объектов, то оба описанных метода показывают, что р„= пр„!, это дает два дополнительных доказательства соотношения р„= п(п — 1) ...

(1), которое мы уже вывели из (2). р„— это очень важная величина, которую называют п-факгпориал и записывают следующим образом: п!=1 2 ....п=Пк' (4) ь=! Из нашего соглашения, касающегося пустых произведений (раздел 1.2.3), следует, что (5) О! = 1. Учитывая это соглашение, видим, что основное то!Кдество (6) и! = (и — 1)!и справедливо для всех целых положительных и. В вычислительных задачах факторналы встречаются довольно часто, поэтому я советую читателю запомнить значения первых из них: О!=1, 1!=1 2!=2, 3!=6, 4!=24, 5!=120. Факториалы растут очень быстро, например 1000! — это целое число, имеющее свыше 2 500 цифр.

Очень полезно запомнить значение 10! = 3 628 800; кроме того, нужно знать, что 10! — это примерно 3-' миллиона. В определенном смысле это число представляет собой некую грань между тем, что реально можно вычислить на компьютере, и тем, что нельзя. Если в алгоритме предусмотрена проверка более чем 10! случаев, то на практике для его выполнения может потребоваться слишком много машинного времени. С другой стороны, если нужно проверить 10! случаев, на каждый из которых требуется, скажем, одна миллисекунда машинного времени, то выполнение алгоритма займег не больше часа. Я согласен, что все эти рассуждения весьма туманны, но во всяком случае они помогут вам получить некоторое представление о том, что реально можно вычислить на компьютере, а что нет.

Естественно, возникает вопрос, как связано и! с другими математическими величинами. Можно ли определить, насколько велико значение 1000(, не выполняя трудоемких операций умножения по формуле (4)? Ответ на этот вопрос дал Джеймс Стирлинг (Лают 81пйпй) в своей знаменитой работе Мегйойв Эйуегепбалэ (1730 г.), с. 137. Он получил формулу и! ш ~/2яп( — ) (7) Здесь "ш" означает "приближенно равно", а "е" — это основание натурального логарифма (см. раздел 1.2.2). Приближенную формулу Стирлинга (7) мы докажем в разделе 1.2.11.2.

А простое доказательство менее точного результата дана в упр. 24. Рассмотрим пример применения формулы Стирлинг. Вычислим гйтэ 40320 = 8! 4~/к ~ — ) = 2зв./хе э и 67108864 1.77245-0.00033546 ш 39902. е В данном случае погрешность составляет приблизительно 1%; впоследствии мы увидим, что относительная погрешность расчетов по этой формуле приблизительно равна 1/(12п).

Помимо приближенного значения, которое вычисляется по формуле (7), можно довольно легко получить точное значение и! с помощью разложения на простые множители. Действительно, простое число р является делителем и! кратности (8) Например, если и = 1000 и р = 3, то имеем =1Т1.Ю Ю Ю Ю1 Ю = 333+ 111+37+12+ 4+1 = 498. Таким образом, 1000! делится на Зюэ, но не на 34ээ. Хотя формула (8) записана в виде бесконечной суммы, на самом деле для любых чисел и и р эта сумма имеет конечное число слагаемых; дело в том, что, начиная с некоторого Й, все эти слагаемые обращаются в нуль.

Из упр. 1.2.4 — 35 следует, что ~ и/р" +') = 1(п/рь)/р); это позволяет упростить вычисления по формуле (8), так как можно просто разделить значение предыдущего члена на р и отбросить остаток. Формула (8) следует из того, что 1п/рь) — это количество целых чисел из (1,2,...,и), кратных рь.

Если рассмотреть целые числа в произведении (4), то станет ясно, что любое целое, которое делится нахр1, но не делится на ру+', учитывается ровно,у рэз: один раз — в (и/р), другой раз — в (и/рз), ...и, наконец, в 1п/р~). Таким образом, учитываются все случаи, когда р является простым множителем в и!. Теперь возникает еще один естественный вопрос. Мы определили и! для неотрицательных целых чисел и. Но, возможно, факториальная функция имеет смысл также для рациональных и даже для действительных чисел п? Например, чему равен (г)!7 Для иллюстрации этого вопроса давайте введем "термиальную" функцию п7 = 1+ 2+ + и = ~~~ к, в=1 (9) которая аналогична факториальной, за исключением того, что здесь выполняется сложение, а не умножение. Из формулы 1.2.3 — (15) мы уже знаем, чему равна сумма арифметической прогрессии: и! = 1+ ~1 — — )и+ ~1 — — + — )п(и — 1) 1(У' ~ 1! 2!) 1 1 11 + (1 — — + — — — )п(п — 1)(п — 2) + 1! 2! 3(') (Мы докажем эту формулу в следующем разделе.) Данная сумма из соотношения (11) кажется бесконечной, но на самом деле она конечна для любого неотрицательного целого и.

Тем не менее формула (11) не дает желаемого обобщения для функции и!, так как бесконечная сумма сходится пголько в том случае, если и— неотрицательное целое число (см. упр. 1б). Но Стирлинг не упал духом и нашел последовательность аы аг,..., такую, что 1пи! = аги+ агп(и — 1) + . ° = Е аь+г П (п — у) (12) о<1<э ь>о Однако он не смог доказапгь, что зта сумма определяет функцию и! для всех дробных п, хотя и нашел значение ( г)! = ~(к/2. Приблизительно в то же время данной задачей занимался и Леонард Эйлер (ЬеопЬагт! Еп!ег), и именно он первым нашел обоснованное обобщение; аги! и! = !пп т — ~со (п+ 1)(п+ 2)...

(и + т) (13) Эйлер изложил эту идею в письме Христиану Гольдбаху (СЬНэНал СоЫЬасЬ) от 13 октября 1729 года. В его формуле п! определяется для любого значения и, пу — гп(и + 1). (10) Таким образом., используя формулу (10) вместо (9), можно обобщить определение "термиальной" функции для произвольного п. И, отвечая на заданный выше вопрос, получим (г)7 — й. Стирлинг сам предпринял несколько попыток обобщить понятие факториала п! для нецелых п. Он представил приближение (7) в виде бесконечной суммы, но, к сожалению, эта сумма не сходилась ни для одного значения и.

Формула (7) дает очень хорошее приближение, но ее нельзя продолжить так, чтобы получить пгочное значение. [Эта довольно необычная ситуация обсуждается в книге К. Кнорр, ТЬеогу апд Арр!!сабоп об 1пбл!се Бег!еэ, 2пс1 е0. (С!аяйож: В!аде, 195Ц, 518 — 520, 527, 534.] Стирлинг предпринял еще одну попытку, обратив внимание на то. что — 1 -6 — 4 0 1 2 3 4 -3 -2— Рис. 7. Функция Г(х) = (х — 1)!. Локальный минимум в точке Х имеет координаты (1.46163 21449 68362 34126 26595, 0.88560 31944 10888 70027 88159).

за исключением целых отрицательных, для которых знаменатель в формуле (11) обращается в нуль; в таких случаях п! считается равным бесконечности. В упр. 8 и 22 объясняется, почему формула (13) является обоснованным разумным определением факториала. Примерно двумя столетиями позже, в 1900 году, Ш. Эрмит (С. Негт11е) доказал, что на самом деле формула Стирлинга (12) корректно определяет п! для нецелых п и что фактически обобщения Эйлера и Стирлинга идентичны. В прошлые века для факториалов использовались самые разные обозначения. Эйлер писал [п], Гаусс (Санвз) — П п, а в Англии и Италии были популярны символы (п и п!. В наше время для целых п универсальным обозначением факториала является п1; его ввел сравнительно малоизвестный математик Кристиан Крамп (Спг!611ап Кгатр) в своем учебнике по алгебре (Е!етепз ЕАг!Г)!тес!дне (!и!уегге!!е (Со!обпе: 1808)). Но для пецелых п запись и! не является общепринятой; в этом случае обычно используется обозначение, которое ввел А.

М. Лежандр (А. М. 1ебепдге): (14) п! = Г(п+ 1) = пГ(п). получаем формулу для нее: Функция Г(х) называется гамма-функцией, и из (13) х! пх Г(х) = — = 11т х и -~се х (х + 1) (х + 2) . (х+ т) График функции Г(х) показан на рис. 7. Формулы (13) и (15) определяют факториалы и гамма-функцию как для действительных, так и для комплексных чисел; но если подразумевается переменная, имеющая и деиствителъную; и мнямую части, то для ее обозначения обычно яспользуется буква в, а не и илн х. Связь между факторналом и гамма-функцией выражается не только формуйой в1 = Г(в + 1), но и соотношением ( — в)! Г(в) = (16) шпетт которое выполняется для всех нецелых в (см.

упр. 23). Хотя Г(х) равна бесконечности для отрицательного целого или равного нулю в, функция 1/Г(в) корректно определяетси для всех комплексных в (см. упр. 1.2.7 — 24). Применяя гамма-функцию в теоретических исследованиях, часто приходится падь зоваться интегральным представлением Германа Ганкеля (Неппапп Нап1се1): 1 1 е'~й Г(в) 2~п' ~ Р причем путь интегрирования в комплексной плоскости идет из — оо по отрипдтельной части действительной оси, затем огибает начало координат в положителъном направлении (против ч~совой стрелки) н опись по отрицательной части осн Х возвращаетсл в — оо.

[Хейясйпй 1ш Маей. шк1 РЬувЫс 9 (1864), 1-2Ц Во многих формулах дискретной математики используются произведения факториального типа, которые называются фактлориальнмми стпеяенлми. Для положительного целого й величины хй и хь определяются следующим образом: х- = х(х — 1)...(х — А+1) = П(х — у); (18) *"= (х+Ч (х+ — )=П(х+Я Так, например, величина р„ъ из (2) — это просто нь. Заметим, что (19) х = (х+й — 1)- = ( — 1)"(-х)-. (20) Общие формулы УПРАЖНЕНИЯ т.

[ОО» Сколькими способами можно перетасовать колоду вз 52 карт? 2. [10] Используя обозначения из соотношения (2), покажите, что р„1„П = р, и объясните, почему вто твк. х! 1 Г(х+ к) (21) (х — к)1 Г(х) можно использовать для определения фвкториалъных степеней для не целых значений Е [Обозначение х" ввел А.

Калеллн (А. Саре[5) в работе 01огпа1е сй Масешабсйе й' Ваиай[пи 31 (1893), 291 — 313.] Захватывающая история изучения факториалов со времен Стирлннга до наших дней прослежена в статье Р. Л. ПаИе "ЬеопЬагд Еп1ег'в штейгай А Ь[всог1са[ ргоб!е о1 1Ье йапппа йшсбоп" АММ 66 (1959), 849-869; см.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее