Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 1)

Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 1) (1119452), страница 6

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

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

Чему предположительно равен максимальный период в этом случае? 17. [10] 0бабщнте ситуацию нз предыдущего упрахснения так, чтобы Х„+с зависело от предылущих Х значений последовательности. 18. [М20] Придумайте метод, аналогичный мепиСу из упр. 7, для определения цикла генератора случайных чисел, описанного в упр. 17, в общем виде.

19. [М4В] Выполните упр. 11, используя упр. 15, в более общем, случае, когда Х„ьс зависят от й предыдущих значений последовательности; каждая из щ" ' функций 1(хм...,хг) считается равиовероятиой. [Замечание. Число функций, которые дают максимдаьнмо период, анализируется в упр. 2.3.4.2-23.] 20. [ВО] Найдите вс» неотрицательные числа Х < 10'а, которые при использовании алгоритма К в конечном счете приводят к самовоспроизводящимся числам из табл.

1. 21. [49] Докажите или опровергните следующее утверждение: отображение Х ~-> 1(Х), определенное алгоритмом К„имеет ровно пять циклов длиной 3178, 1606, 1024, 943 и 1. 22. [21] (Г. Роллетшек (Н. Во!!еще)се)г).) Хороша ли идея генерирования случайных чисел с помощью последовательности 1(0), 1(Ц, 1(2), ..., где 1 — случайная функция, вместо того, чтобы использовать ха, у(хе), Щ(хо)) и т.

д.? ь 23. [М25] (Д. Фоата (!1. Рааса) и А, Фучс (А. гссс)сэ), 1970.) Покажите, что каждая из пс функций 1(х), рассмотренных в упр. б, может быть представлена квк последовательность (ха, хм..., х ~ ), имевшая такие свойства. !) (ха,хн ., ., х с) — это перестановки последовательности (7(О), 1(1),..., 1(пс — 1)). й) (1(О),, /(пс — 1)) может быть единственным обрезом восстановлена из последова. тельностн (хе,хм..,,хм с). О!) Элементы, которые появляются в циклах из 1, имеют внд (хе,хм...,хг ~), где Ь— самый большов индекс, такая, что эти й элементов различны.

!") х1 и (ха хс °, хз-с) влечет ху с = 1(х1), если хз ие является наименьшим элементом в цикле нз 1. к) (Д0), У(1),..., Х(пт -1)) — это переспхновка последовательности (О, 1,, т -1) тогда и только тогда, когда (хе, хм..., х„~) предстаяляет собой оброгвярм перестаиовкр к той перестановке, кокорин в разделе 1.З.З нелввна необычным соответствием, ы) хо = х~ тогда и только тогда, когда (хи..., х,) представляет собой ориентированное дерево, построенное в упр.

2,3.4А-18, с Дх) порожлмощнм х. 3.2. ГЕНЕРИРОВАНИЕ РАВНОМЕРНО РАСПРЕДЕЛЕННЫХ СЛУЧАЙНЫХ ЧИСЕЛ В зтоы глздклн будут рассмотрены методы генерирования последовательности случайных дробей, т. е. случайных действительных чисел (7«, равномерно распределенных между кулам и единицей 1'на интервале «О, 1«), 'Гак как компьютер может представлять действительные числа только с определенной точностью, мы будем генерировать целое число Х„между нулем и некоторым числом т: дробь Ь « — Х«/т будет., следовательно, лежать между нулем и единицей. Обычно т выбирают равным размеру слова в компьютере. (В этой книге размером слова (магд гиге) автор называет число Ь', где о — основание системы счислении, используемой в компьютере, а е — число;разрядов машины.

— Прим. род.) Поэтому Х„можно по традиции рассматривать как целое число, занимающее все компьютерное слово, с точкой, которая отделяет целую часть числа от дробной, стоящей в правом конце слова, а Ь'„— если хотите, как содержание того же слова с разделяющей точкой, стоящей в левом конце слова. 3.2.1. Линейный конгруэнтный метод В настоящее время наиболее популярными генераторами случайных чисел являются генераторы, в которых используется следующая схема, предложенная Д. Г. Лехме- ром (О. Н. ЬеЬшег) в 1949 году «см. Ргос. 2пд Бушр. оп Ьвгйе-Бса(е В161га! Са1сп1агшй Масашагу (СашЬг1бяе, Маыл Нагтагд Оп1гегэ(гу Ргеяэ, 1961, 141-146)«.

Выберем четыре "волшебных числа": 0 <т; 0 < а <т; 0<с<т; О<Хо <т. т, модуль; а, множитель; с, приращение; Хо, начальное значение; Затем получим желаемую последовательность случайных чисел (Х„), полагая Х ег = (аХ„+ с) шог( т, и > О. (3) 7, б, 9, О, 7, 6, 9, О, Как показывает этот пример, такая последовательность не может быть "случайной«при некоторых наборах чисел т, а, с и Хо. Принципы выбора подходящих волшебных чисел будут подробно исследованы в следующих разделах этой главы. В примере (3) иллюстрируется тот факт, что конгруэнтная последовательность всегда образует петли, т. е.

обязательно существует цикл, повторяющийся бесконечное число раз. Это свойство является общим для всех последовательностей вида Х«.ы =,Г(Х„), где У преобразует конечное множество само в себя (см. упр. 3.1-6). Эта последовательность называется линейной конгрузнтной последовательностью, Получение остатков по модулю т отчасти напоминает предопределенность, когда шарик попадает в ячейку крутящегося колеса рулетки. Например, для т = 10 и Хо = а = с = 7 получим последовательность Повторяющиеся циклы называются перно»)ами; длина периода последовательностк (3) равна 4. Безусловно, последовательности, которые мы будем использовать, имеют относительно длинный период.

Заслуживает внимания случай, когда с = О, так как генерируемые числа будут иметь меньший период, чем при с ф О. Мы убедимся в дальнейшем, что ограничение с = О уменьшает длину периода последовательности, хотя при этом все еще возм»окно сделать период достаточно длинным. В оригинальном методе, предложенном Д. Г. Лехмером, с выбиралось равным нулю, хотя он и допускал случай, когда с р» О, как один из возможных. Тот факт, что условие с э» О может приводить к появлению более длинных периодов, был установлен В.

Е. Томсоном (%. Е. Т)»о»пэоп) [Сошр. 3. 1 р. 83, 86] и независимо от него А. розенбергов» (А. ВосепЬегб) (3АСМ 7 (1960), 75-77~. Многие авторы называют линейную конгруэнтную последовательность прн с = О мрлвтииилнкатииенмм конгррэюиным мепитдом, а при с ЭЬ О— смешанным конгррэнп»нмм методом. Буквы ти, а, с и Хо будут использованы в этой главе в том смысле, в каком онн вводились раньше. То же самое относится н к константе (4) Ь=а — 1, которая вводится для упрощения многих наших формул. Можно сразу отбросить случай, когда а = 1, при котором последовательность Х„представима в виде Х„= (Хо + ис) пюд ти и ведет себя явно не как случайная последовательность.

Случай, когда а = О, даже хуже предыдущего. Следовательно, для практических целей предполагаем, что а>2, Ь>1. Сейчас можно обобщить формулу (2) Х»+ь = (а"Л» + (а" — 1)с/Ь) пю») ти, Ь > О, и > О, (6) где (и + Ь)-й член выражается непосредственно через и-й. (Случай, когда и = О, в этом уравнении также достоин внимания.) Из (4) следует, что подпоследовательность, содержащая каждый й-й член последовательности (Л „), является также линейной»»онгруэнтной последовательностью, множитель которой равен а тпоб ти и приращение равно ((а — 1) с/Ь) пю»] ти, Важным следствием из (6) является то, что общая последовательность, определенная с помощью а, с и Хо, может быть очень просто выражена в терминах специального случая, когда с = 1 и Хо — О.

Пусть 1'0 = О, 1'»+» = (а)'» + 1) шоб и». (7) В соответствии с (6) получил» 1'ь ы (аь — 1)/Ь (по молу»»ю ти). Значит, последова- тельность, определенная в (2), будет имеет вид Х„= (41'» + Хо) тпоб и», где А = (ХоЬ + с) шо»] и». (8) УПРАЖНЕНИЯ 1. (»О] В примере (3) показана ситуация, когда Х4 = Хв, так что последовательность начинается сначала, При»е»п»те пряыяр линейной копгрузптяой последовательности при ю = 10, для которой число Хв никогда снова не появится, 2. (МЙО] Покажите, что если а и ти взаимно простые, то Хв всегда появится в периоде.

3. [М10] Объясните, почему последовательность имеет определенные недостатки и, вероятно, не очень случайна, если а и т — не взаимно простые числа. Поэтому следует выбирать а и т так, чтобы онн были взаимно простыми, 4. [П] Докажите формулу (6), Ь. [Аууо] Соотношепне (6) справедливо при А > О. Если это возмоясно, получите формулы лля Х»+ь в терминах Х» лля атричаямльимв значений А. 3.2.1.1. Выбор модуля, Первая задача, которую мы рассмотрим, — нахождение хороших значений параметров, определяющих линейную конгруэнтную последовательность. Сначала выясним, как правильно выбрать число т.

Необходимо, чтобы т было дожиьно большим, твк как период не может иметь больше т элементов. (Даже если мы намерены генерировать только случайные нули и единицы, ис следует брать т х» 2, ибо тогда последовательность в лучшем случае будет иметь вид ...,0,1,0,1,0,1,...! Методы получения случайных нулей и единиц из линейной конгрузнтной последовательности обсуждаются в разделе 3.4.) Другой фактор, который оказывает влияние на выбор т, — скорость генерирования: нужно подобрать значение т так, чтобы (аХ„+ с) пюд т вычислялось быстро.

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

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

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