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

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

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

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

1 + ~1 5 = '— '. Оптимальное расположение информации па ленте (с точки зрения скорости поиска) можно определить, используя следующую теорему. Теорема Я. Пусть У.; и р; — числа, определенные выше. Размещенгге записей в таблице оптимально тогда и только тогда, когда Р~//~ > Рз/Вз > ' ' ' > Рл'/Тп. Другими словами, минимальное значение ,1, +Р (В, +1 )+ +Р к(В, + +В„) по всем перестановкам а~аз...ая из множества (1,2,...,Х) равно (19) тогда и только тогда, когда выполняется условие (20), Докааательсшво.

Предположим, что мы поменяли местами на ленте Я; и Лг о Тогда значение величины (19) станет равным не '' +Р (Тч + ' + 1ч-~ + тч) +Рыл(/~+ ''+ Хм))+ " +Ргы(Х|+" +~;, +Х.„.,)+Р(~,+" +Т,;...)+" При этом изменение будет равно Р,Л;~.~ — Р;~тЛь Если предположить оптимальность размещения (19), то любая перемена мест двух соседних записей должна приводить к увеличению времени работы, т. е.

р,/Тч > Р;~~/Ь;~п Таким образом, поскольку нз оптимальности размещения следует набор неравенств (20), нами доказана необходимость условия (20) для оптимального размещения. Докажем теперь достаточность выполнения условия (20) для оптимальности размещения. Приведенные выше рассуждения доказывают "локальную оптимальность" расположения — в том смысле, что любая перестановка двух рядом стоящих записей приведет к унелнчению среднего времени работы. Однако зто не доказывает невозможности сложного многоступенчатого обмена для улучшении производительности поиска, не доказывает, так сказать, "глобальной оптимальности". Мы рассмотрим два доказательства, в одном из которых используются знания из области компьютерных наук, а другое основано на некоторой математической хитрости.

Первое доказаптельставо. Предположим, что условие (20) выполнено. Изнестно, что любую перестановку записей можно привести к "рассортированному" состоянию, т. е. привести ее к виду 11т 1тз...Вм с использованием только перестановок даух соседних элемеитоя. Каждая из таких перестановок заменяет ... 111йт...

иа ...йтй ... длЯ некотоРых т ( 1, тем самым Уменьшал вРемЯ поиска на неотРицательиую величину ртХ1 — Р„Ь,. Следовательно, порндок расположения записей Вт Вз... Лн должен иметь минимальное время поиска, т. е. быть оптимальным, Второе доказаптсльсглво, Заменим каждую нероятиость р, иа от(с) =)тт+с — (е +т +'''+с )/Т., (21) где с — очень малое положительное число. При этом равенство хтрт(с) + - ° + янртс(с) = ртрт(с) + . + трнртс(с) спрааедлипо только н том случае, когда ят = рт, ..., ял = рм. Отсюда, я частности, следует, что я (20) равенство никогда ие будет аьтпозняться. Рассмотрим Ф! перелаионок записей. Среди иих есть, по меньшей мере, одна оптимальная, которая и соотяетстаии с нерпой частью доказательства удовлетворяет утшоаию (20). Однако поскольку теперь а условии (20) рааеистиа невозможны, то и оптимальная перестановка может быть только одна.

Следовательно, условие (20) однозначно определяет некоторую оптимальную перестановку для вероятностей р;(с), причем с достаточно мало. Исходя из иепрерыяности тот же порядок должен быть оптимален и при с = О. (Такой тип доказательств нередко используется в комбииаторной оптимизации.) Теорема 8 была доказана В. И. Смитом (тат.

Е. ВтпЫЦ [№га1 Ва~агсЫлятвттсв 1впагтег)у 3 (1956), 59-66]. В принедениых ниже упражнениях содержатся дополнительные результаты оптимальной организации файлов. УПРАЖНЕНИЯ 1. [МЗО[ Пусть все ключи поиска раяновероятны. Определите стандартное среднекеа. дратнчное отклонение числа сравнений прн успешном последовательном пояске в таблице с Ю записями. 2. [15] Измените алгоритм 6 для непользования связанных записей аместо индексов.

(Если Р указЫвает На записЬ э таблице, полагаем, что ХЗУ1Р) — ключ, 1ИРО(Р) — связанная с ключом информация и ь1йх(Р) — указатель на следующую запись. Полагаем также, что Р1йзт указывает иа первую запись, а последняя запись указывает на Л.) 3. [16] Напишите и11-программу для алгоритма нз упр. 2, Чему равно время выполнения программы (с использованием С и 5 из (1))2 ° 4. [1т] Можно ля использовать идею алгоритма т;) для таблиц э виде связанных записей (см, упр.

2)2 б. [Зд] Программа 11' выполняется существенно быстрее программы 1) прн больших значениях С, Суще«снуют лн значения С н о, при которых программа ГЗ' будет выполняться дольше, чем программа ОЗ б. [ЗО] Добавьте трн инструкции в программу тЗ', которые позволят ей выполняться за время около (З.ЗЗС + сопвтапт) и. 7. [МЗО] Определите среднее число сравнений (3) в случае "бинарного" распределения вероятности (3). 8.

[ЛМЗЗ] Найдите асимптотнческнй ряд для Н~ т прн и -+ сю; я тт 1. Исходя из множества Х из и переменных (хц..., х,), положим 1 <)и 1 — ху — — х )йп «.»1 йч Реп* = ~ Уп~(ХЛ и Ху 1<п«- 1-6и Например, Рп = гз(хм хе) ч-уз(хм ха) + Уз(хз,хз) и гхзз = 1/(1 — хг — хз) + 1!(1 — х1— хз) + 1/(1 — ха - хз). По определению полагаем Р е = Юио = 1. а) Предположим, что в самоорганизующийся файл запросы на поиск элемента??, поступакп с вероятностью ри Покажите, что после достаточно длительной работы системы элемент Л; оказывается на гл-м месте с предельной вероятностью р;Р~л гц ц, где множество Х предсчввляет собой (рц...,р~ цр'+ц °,рк).

Ь) Суммируя результат (а) для т = 1, 2,..., получаем тождество Р +Рщ -ц+- +Ре=(г' Получите отсюда следующие соотношения: /п — ги+ 11 ? и — ш+ си 1 Р. +~ ~Р<ои-ц +' ''+ ( )Ро=(;) 9л ( 1 )(З<(т-ц+ ''+( 1) ~ )Ячо = Ри с) Вычислите предельяое среднее расстояние 6, = 3 >, щр,Рл ц 1 записи Рн от начала таблицы; затем вычислите Сл = 3,, р;4. Ф 12. [Мйу[ Используйте (17) для вычисления среднего количества сравнений, необходимого для поиска в самооргаиизующемсн файле при бинарном распределении вероятностей ключей поиска (5). 13.

[Мй?[ Используя (17), вычислите Сл для распределения вероятностей (6). 14. [МЯ1 [ Даны две последователыюсти действительных чисел — (хм хз,..., х„) и (ю, рз, ..., р„), Какая перестановка индексов а1 аз... а„делает сумму 3,',. хоу „, максимальной, минимальной? ь 9. [НОВ) В тексте отмечено, что распределения вероятностей, данные в (11)., (13) и (16), приблизительно одинаковы при О < д < 1 и что среднее число сравнений с использованием (13) равно 3+, АГ+ О(?Ч' ~). а) Означает ли это, что число сравнений равно +,Х+ О(?з' ') при использовании распределения (1Ц? Ь) Верно ли это утверждение для распределения (16)? с) Сравните (11) и (16) с (13) при д < О. 10.

[МЯ0[ Наилучшее расположение записей в последовательной таблице определяется условием (4). А что собой представляет наихудшее расположение? Покажите, что имеется простое соотношение между средним количеством сравнений при наилучшем и наихудшем размещениях записей, 11. [МЯ0[ Цель этого упражншсяя заключается в анализе предельного поведения само- организующегося файла при использовании эвристического метода перемещения записи в начало файла. Сначала введем некоторые обозначения. Пусть (ик(хцхп...,х ) равно бесконечной сумме всех различных упорядоченных произведений хп х„... х„, таких, по 1 < ?ц...,?ь < нг, причем каждое хц хз,..., х~ входит во все произведения.

Йапример, Ь(х,у)= К(х'~зй(х+Р) +Р ' '(х+Р) ) =, „( —,х+ — 1). ?Л>0 ° 1б. [МЯЯ[ В тексте было показано, как оптимально расположить программы на ленте системной библиотеки для поиска только одной программы. Однако при работе с библиотекой подпрограмм, когда для работы программы пользователя необходимо загрузить различные подпрограммы, следует принять другой набор гпюдположений, В этом случае предположим, что запрос на подпрограмму у поступает с вероятностью Рз, причем вызовы различных подпрограмм независимы, Тогда, например, вероятность того, что не потребуется ни одна подпрограмма, равна (1 — Р~)(1 — Рз) .. (1 — Рл), а вероятность того, что поиск прекратится после загрузки у>й подпрограммы, равна Р, (1— Рд.н).

(1 — Рл) Если Ь1 — длина 2-й подпрограммы, то среднее время поиска будет пропорционально И Р~ (1 — Рз)... (1 — Рк) * (Ь| + бз)Рз (1 Рз) .. (1 Рл) + ' ' ' + (Яч + + г л)Рл. Каким в этом случае должна быть оптиыальиое расположение подпрограмм на ленте? 16. [МЯЯ[ (Г Ризель (Н. Шезе!).) Зачастую необходимо проверить, выполняются ли одновременно п заданных условий. (Например, может понадобиться проверить, что х > О и у < г~, и при этом не ясно, какое условие должно проверяться первым.) Предположим, что проверка 2-го условия занимает Т, единиц времени и что условие выполняется с вероятностью р, (причем эта вероятность не зависит от результатов выполнения других условий).

В каком порядке должны выполняться проверки? 17. [МЯЯ[ (В. И. Смит (Ъ'. Е. Яш)гЬ).) Предположим, имеется и заданий; уте задание занимает Т, единиц времени; крайний срок его выполнения — 11,. Другими словами, 2-е задание должно быть выполнено не позже момента )21. Какое расписание работ а~ аз... а» минимизирует»шксиыальное загшздыеание, т е. шах(Т»т»»Т»+2» '~» г Т ~+Т»+'''+2 ~ ) 19. [МУО[ (Сцепленный поиск,) Предположим, что Х записей расположены а памяти в виде линейного массива В,...Ял н вероятность поиска записи В~ равна р,. Поиск называется "сцепленным", если каждый последующий поиск начинаетсл с того места, где завершился предыдущий.

Если последовательные поиски независимы, то среднее время поиска составляет ) р;р»((ь 2), где И(1,2) — время, которое необходимо для поиска, »Я лбл начинающегося в позиции 1 и заканчивающегося в позиции у. Эта модель может быть применима, например, ко времени поиска дискового файла (при этом п(КУ) представляет собой время перемещения между 1- и у'-м пилиндрами диска). Пель данного упражнения — описать оптимальное размеп1ение записей лля сцепленного поиска в случае, когда <111, 2) представляет собой монотонно возрастающую фуихцию от [1 — 2[, т.е.

п(»,2) = бв д и И~ < Яз < . < Ил-~ (величина де не существенна). Докажите, что размещение будет оптимально тогда и только тогда, когда будет выполняться Условие либо р~ < рч < рз < рл-~ < " < р1лг 1еп либо рл < р. < рл-~ < рз < ' < р1лгю (Другими словами, наилучшее расположение — в виде "органных труб'; показанных на рис. 2.) Указанпе. Рассмотрите расположение, которому соответствуют верояттшети Ш дз .. де е гь... гз г~ 1~, . 1,„лля некоторых т > О и й > О; 14 = 2й+ ш+ 1. Покажите, что расположение о', дз...д„'зг'„...г',г',1,,1 лучше, если о'; = ппп(йог;) и г[ = шах (оо г,), за исключением случая, когда е; '= е, и ~'; = г, для всех 1, и случая о,' = г„ г'; = д, и 1з = О для всех 1 и,1.

То же самое справедливо при отсутствии з н Ю = 29+ пз. 19, [МЯО[ Продолжая выполнять упр. 13, найдите оптимальное расположение для сцепленного поиска, если функция Я(г,у) обладает следующим свойством: л(бу) + л(2 1) = с для всех 1 зе,~'. (Такая ситуация возможна, например, прл поиске на ленте без возможности обратной перемотки и с неизвестным нам направлением поиска; для 1 < 2 имеем И(1,2) Рв Рт рн Рис, 2. Распатожение в виде "органных труб" минимизирует среднее время сцепленного поиска. и+Ь(Хвчы+ . +хо) и а(11) = а+Ь(хоев+ +Хн)+т+Ь(ьв+ +гн), где т — время перемотки.) 20.

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

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

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