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

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

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

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

Бос. 25 (1923), 135-154; 1еап Нггеп, АММ 76 (19б9), 871 — 889; Ресег Неппс!, Арр!ж3 апс1 Сотри1айопа1 Сотр!ех Апа(уяа 1 (%11еу, 1974), Сбарсег 1. А теперь давайте рассмотрим основные методы работы с производящими функциями. А. Сложение. Если С(з) — производящая функция для (о„) = оо,ам... и Н(з)— производящая функция для (Ьь) = Ьо,Ьм..., то аС(з) + ДН(з) — производящая функция для (аа„+ ~ЗЬ„) = аао + ~ЗЬо, аа1 + бЬм....

а ~ а„з" +,9 ~ 6„з" = Я (ао„+ рЬ„)з". ь>0 ьйо В. Сдвиг. Если С(г) — производящая функция для (а„) = ао,ам..., тол С(з)— производящая функция для (а„) = О,..., О, оо, а1„..... а„з = ~а„„,г . ю~ я ь ь>0 г ~~ о„з"=~ а„е з". ь>0 В предыдущем разделе для решения задачи Фибоначчи мы комбинировали операции А и В: С(г) была производящей функцией для (Р;,), гС(с) — для (Р„1), гзС(з) — для (г' з), а (1 — з — гэ)С(з) — для (гь — г'„-1 — г'„з). Затем, так как разность г„— Е„1 — г'„з равна нулю при и > 2, мы выяснили, что (1 — г — зз)С(з)— это многочлен. Аналогично производящая функция для любой линейной рекурреитпиой последовательности (т. е. такой последовательности, для которой а„ = с1а„1+ + с„,о„) является многочленом, деленным на (1 — с1г — — с,ьса).

Давайте рассмотрим простейший пример. Если С(з) — -производящая функция для постиояииой последовательности 1, 1, 1,..., то зС(з) порождает последовательность О, 1, 1,..., поэтому (1 — г) С(г) = 1. В результате получаем простую, но очень важную формулу: — =1+з+г +. 1 2 (б) 1 — з С. 'Умножение. Если С(з) — производящая функция для ао,ам... и Н(з)— производящая функция для 6о,6м., ., то С(х)Н(з) = (по+ а1з+ аз» + )(Ьо+ Ьгз+Ьзгз+...) = (ооЬо) + (аоЬ1 + агЬо)з + (аоЬз + агЬ! + озЬо)з~+ С(г)Н(г) — производящая функция для последовательности се, Следовательно, см..., где с„= ~~~ аьЬ„ы азин (6) В сумме справа суммирование можно распространить на все и > О, если считать, что а„= О для любого отрицательного и.

Аналогично (С(з) — оо — а1 з — ° — а ~вы ~)/㙠— производящая функция для (о~+~) = от~от+и Соотношение (3) является частным случаем (6). Другой важный частный случай имеет место, когда все 6„равны единице: 1 — С(з) = ао + (ао + а1)з + (ас + а1 + аг)зз + (7) 1 — з Здесь мы получаем производящую функцию для частных сумм исходной последовательности. Из соотношения (6) следует правило для произведения трех функций; Р(з) С(з) Н(г) порождает последовательность 4„4, Нз,..., где г(„= ~~~ а;6,сь. (8) ол>о з ьз.~-э=и Общее правило для произведения любого числа функций (в тех случаях, когда это имеет смысл) выглядит следующим образом; П ~~' азь~ = ~з" ~ ась,аыч ....

(О) 1>о ь>о в>о з.,ь,...,>о зг+ач+- = Когда в рекуррентном соотношении для некоторой последовательности содержатся биномиальные коэффициенты, часто возникает необходимость в получении производящей функции для последовательности со,сы..., которая определяется формулой с„= ~ ( )аь6„ы (10) (См. упр. 14.) Например, если т = 3 и г = 1, то и = — — + — з (комплексный кубический корень из единицы). Отсюда следует, что агз+а4з +агз + = -'(С(г)+ы С(юз)+а С(ы з)). В этом случае, как правило, лучше воспользоваться производящими функциями последовательностей (а„/и!), (6„/и!), (с„/и!), поскольку (. .

. Н . . . )=(. . . ) аэ а1 аз з ~76с 6з 6з з '1 /со сз сз з — + — г+ — з + — + — 3+ — з + ) = ( — + — 3+ — 3 +, (11) 0', 1! 2! / 1 О! П 2! ) 1 О! 1! 2! где с„определяется формулой (10). Р. Замена переменной в. Очевидно, что С(сз) — производящая функция для последовательности ас, сам сзаз,.... В частности, пРоизводЯщей фУнкцией длЯ последовательности 1, с, сз, сз,...

является 1/(1 — сз) . Воспользуемся известным приемом для извлечения членов ряда через один: -(С(з) + С(-з)) = ао + аззз + агзз + (12) з(С(г) С(-з)) = азз + аззз + аззз + Извлекая комплексные корни из единицы, можно развивать эту идею и выбирать каждый т-й член. Пусть и = ез"7' = соз(2л/т) + з з!п(2х/т). Тогда а„з" = — ~~ ы ь"С(ызз), 0 < т < т. 1 (13) и тод п~=~ о<э< Е. Дифференцирование и интегрирование.

С помощью методов дифференциального и интегрального исчислений можно выполнять над производящими функциями дополнительные операции. Если С(») определяется формулой (1), то ее производная равна С (») = ак + 2аг» + Заз»г + ° = "~ (е + 1)ак~кк»". (14) к>о Производящей функцией для последовательности (па„) является»С'(»). Следовательно, выполняя операции над производящей функцией, мы можем найти производящую функцию для последовательности, полученной из предыдущей умножением каждого члена а„на многочлен от и. Обратный процесс, т.

е. интегрирование, дает еще одну полезную операцию: С(Ф)й = ао»+ -а~» + — аг» + = ~~ — ак к» . г 1 3 1 к 2 3 )о (15) В качестве частных случаев возьмем производную и интеграл от функции (5): 1 (1 — »)г =1+ 2»+ 3»г+ = ~~~ (1+1)»"; (16) к>о 1п — =»+-» +-» + .= у -». г 1г т 1к М 1 — » 2 3 ~к к>1 (1+») =1+т»+» +.-.=~ ~ )», т(т — 1) г /т'к 2 к>о (19) Если т — неотрицательное целое число, то получаем частный случай, который уже отражен в соотношениях (5) и (16): (20) Существует также обобщенная формула, доказанная в упр.

1.2.6 — 25: т(т — 21 — 1) . тт — Й~ т и" = 1+г»+ »г+ =Я ) — "; у.-и к>о Сопоставляя (17) и (7), найдем производящую функцию для последовательности гармонических чисел: — 1и — =»+ -» + — » + = у Нк» . 1 †» 1 †» 2 6 к>о Р. Известные производящие функции. В каждом случае, когда функция разлагается в степенной ряд, мы, по сути, получаем производящую функцию для некоторой последовательности. Эти специальные функции могут быть очень полезны в сочетании с операциями, описанными выше. Ниже приведены самые важные случаи разложения в степенной ряд. 1) Биномиальнал теорема. с.

представление коэффициента. Для коэффициента при 2" в выражении для С(2) часто удобно использовать запись [2"[О( ). (31) Например, если С(2) — производящая функция, определяемая формулой (1), то [2"]С(2) = а„и [2"[С(2)/(1 — 2) = 2 ь еаы Одним из самых фУндаментальных результатов теории комплексного переменного является формула О. Л. Коши (А. Ь. Свисту) [Ехегс1сеэ с(е Масй. 1 (1826), 95 — 113 = СЕиггеэ (2) 6, 124-145, Е11.

(11)[, по которой любой нужный коэффициент можно представить в виде интеграла по контуру 1 ~ С(2) ЫЭ 2я1,/~,~, 2""1 (32) если С(2) сходится для 2 = Эе и О < г < [зо[. Главная идея состоит в том, что интеграл у,, 2 ~Ь равен нулю для всех целых т, за исключением т = — 1, когда интеграл равен /. " ' ' = /. = я (ге1 ) 1<((ге1 ) =1 / се = ия1. Рассмотрим общий случай. Пусть есть и чисел х1„хз,...,х„и нужио найти сумму Ь = ~1 х11 ...к 1<1 «" 1 <и Требуется, если возможно, выразить эту сумму через 51, 52, ..., Я, где (33) Я = 2 хь 1=1 (34) представляет собой сумму 1-х степеней. Используя эту более компактную запись, можно переписать приведенные выше формулы следующим образом: ~Э вЂ” эЕ1 + 2Е1Е2 + Э~Э. Ьг = 5 ~1 + йй2 1 2 1 Чтобы решить задачу, рассмотрим производящую функцию С(2) = 1+512+522 +''' ~~~ йье (35) ь>о Формула (32) особенно важна в случае, когда мы хотим изучить поведение коэффициента.

И в заключение раздела вернемся к задаче, которая была лишь частично решена в разделе 1.2.3. Из формулы 1.2.3 — (13) и упр. 1.2.3 — 29 следует, что Согласно правилу умножения рядов находим С(с) =(1+х~г+х,х + )(1+хаю+х~~г + )...(1+х„г+х„г + .) (36) (1 — х~г)(1 — хтл)... (1 — х г) Таким образом, С(г) — это величина, обратная многочлену. Во многих случаях бываег полезно прологарифмировать произведение; сделав это и воспользовавшись формулой (17), получим 1пС(а) =!и + . +1п 1 1 1 — х~г 1 — х„т (37) Таким образом, мы выразили 1п С(э) через Вы Й > 1.

Теперь для получения окон- чательного ответа осталось найти разложение С(г) в степенной ряд с помощью (22) и (9): С(в) = еыО(') = ехр(~ — ) = Ц ез"' /ь ~„~й т ь>1 ь>1 2 Й ) — П Ф" 1"'Й1' 2"'Й2' гп "Йь! ) >о ь„ь„ д >о (38) в~+та~+ +~ьь =из Величина в круглых скобках — Й . Эта внушительная сумма при внимательном рассмотрении оказывается не такой уж сложной. Число членов для конкретного значения гп равно р(т), т. е.

числу разбиений гп (см. раздел 1.2.1). Например, одним из разбиений числа 12 является 12=5+2+2+2+1; 81 В2 оь 1 3 — В!отав 1)1~ 2з3~ 5)1~ 240 который является частью выражения для Ьпь Дифференцируя (37), нетрудно получить рекуррентное соотношение 1 Йь (ЯЙп-1 + Ж~п-2 + ' '+ БпЙО)~ и > 1. (39) п Замечательное введение в теорию применений производящих функций можно найти в книге О. Р61уа, Оп рксиге ит111л8, АММ 63 (1956), 689-697; этот подход это соответствует некоторому решению уравнения Й~ + 2Йт + . + 12Йю — — 12, где Й, — количество слагаемых в разбиении, равных (. В нашем примере Й~ = 1, Йт = 3, Йь = 1, а все остальные Й, равны нулю, поэтому получаем член был использован в СМаг)з, СЬаргег 7.

[См. также книгу Н. Б. 1У()г", Сепета6пбйпс- г)опо)оЯу, весош( еб(г)оп (Асаг)ет!с Ргевв, 1994).] ПРОИЗВОДЯЩЭЯ фУнкция — Зто бельевая веревка, на которую мы вывешиваем последовательность чисел ДЛЯ ВСЕОбЩЕгО ОбозреккЯ вЂ” Г. С. ВИЛЬаз (Н. 5. ЗЛЛ Е) (1989) УПРАЖНЕНИЯ 1. [М1Я] Найдите производящую функцию для последовательности 2, 5, 13, 35, (2»+ 3») 2. [М15] Докажите формулу (11). 3. [НМЯ1] Продифференцируйте производящую функцию (18) для последовательности (Н ) и сравните результат с производящей функцией для последовательности Щ Нз).

Какую связь между ними вы обнаружили? 4. [МО1] Объясните, почему (19) является частным случаем (21). 5, [МЯО] Докажите (23) индукцией по гг 6, [НМ15] Найдите производящую функцию для последовательности продифференцируйте ее и выразите коэффициенты через гармонические числа. 'Т. [М15] Проверьте все этапы вывода соотношения (38) 8. [МЯЗ] Найдите производящую функцию для последовательности р(п) — числа разбиений целого и. 9. [М11] Используя обозначения из соотношений (34) и (35), выразите 1зз через Ян лз, оз и оз ь 10.

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

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

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