AOP_Tom3 (1021738), страница 97

Файл №1021738 AOP_Tom3 (Полезная книжка в трёх томах) 97 страницаAOP_Tom3 (1021738) страница 972017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Рис. 93. Оптимальный способ слияния 22 начальных серий равной длины, если а = Д в теореме Н. Эта схема позволяет минимизировать время поиска при предположениях, приведших к формуле (2). Выражение (2) показывает, что всегда, когда используются Р+ 1 буферов равных объемов, будет действительным соотношение а < Д. Предельный случай, когда а = Д, показанный в табл. 1 и на рис. 93, возникает тогда, когда необходимо минимизировать само время поиска безотносительно ко времени передачи. Вернемся к нашей первоначальной задаче.

Мы еще не выяснили, как получить начальные серии на первом месте; без совмещения чтения~записи/вычислений метод выбора с замещением теряет некоторые из своих преимуществ. Возможно, следует заполнить всю оперативную память, рассортировать данные в ней н вывестн результат. Каждую из таких операций ввода и вывода можно выполнить с одним поиском. Или, возможно, лучше использовать, скажем, 20Уо оперативной памяти в качестве комбинированного буфера ввода-вывода и выполнить выбор с замещением. Это требует в пять рвз больше поисков (дополнительно примерно 60 с или около того!), но позволяет уменьшить число начальных серий со 100 до 64; уменьшение будет еще более резким, если исходный файл уже почти упорядочен.

Голи не использовать выбор с замещением, то оптимальное дерево для о = 100, а = 0.00145., Д = 0.01545 [см. (2)] оказывается весьма прозаическим. Это просто 10-путевое слияние, выполняемое за два прохода по данным. Выделив 30 с на внутреннюю сортировку (скажем, 100 быстрых сортировок), получаем, что начальный распределительный проход выполняется примерно за 2.5 мнн, а каждый проход сли- Таблица 1 хАРАктеРистики ОцтимальнОГО ДеРеВА ! (ий ь (и), КОГДА о = и' = 1 и 1 2 3 4 5 6 7 8 9 10 11 12 Дерево и яния — за почти 5 мин; в итоге имеем 12.4 мин. Если использовать выбор с замещением, то оптимальное дерево для л = 64 ока)ывается одинаково неинтересным (два прохода 8-путевого слияния); начальный распределительный проход осуществляется примерно за 3.5 мин, каждый проход слияния — примерно за 4.5 мин, а оценка общего времени составляет 12.5 мин.

Не забудьте, что в обоих этих методах фактически полностью исключается совмещение чтения/записисвычислений с тем, чтобы иметь ббльшие буфера !для уменьшения времени поиска). Ни одна из этих оценок не включает время, которое может потребоваться для операций контрольного чтения. На практике последний проход слиянии отличается от остальных; например, выводные данные часто редактируются и/или записываются на ленту. В таких случаях дерсно, изображающее схему слияния, следует выбирать с использованием иного критерия оптимальности в корневом узле. *Подробности об оптимальных деревьях.

В теоремах Н и К интересно рассмотреть предельный случай, когда )3 = О, несмотря на то что на практике обычно нозникает соотношение между параметрами вида О < сс < б. Какое дерево с и листьями имеет наименьшую возможную длину степенного пути? Любопытно. что в этом случае наилучшим оказывается 3-путеное слияние. Теорема Ь. Длина степенного пути дерева с и листьями никогда не будет меньше, чем ) Зйи+ 2(и — 34), если 2 3' ' < п < 3'1 1 Зби+ 4)п — 34), если 34 < и < 2 3".

! 0,0 2 6,2 3 12,3 4 20,4 5 30,5 6 42,2 7 523 8 623 9 723 10 84,3 11 96,3 )г !о8.3 13 121,4 14 134,4 15 147,4 16 160,4 17 175,4 18 190,4 19 205. 4 20 220,4 21 236,5 22 252,3 23 266,3 24 282,3 25 296,3 0,1 б,! 0,1 12) 61 01 18 2 12 1 6 1 24,3 18,1 12,1 32,3 24,1 18,1 40,4 30,2 24,1 50,4 36,3 30,1 60,5 44,3 36,1 72,4 52,3 42,2 82,4 60,4 48,3 92,4 70,4 56,3 102,5 80,4 64,3 114,5 90,4 72,3 124,7 Н]2,4 80,4 134,8 112,4 90,4 !44,9 122,4 100,4 156,9 132,5 110,4 168,9 144,4 120,5 180,9 154,4 132,4 192,10 164,4 142,4 204,11 174,5 152,4 216,12 186,5 162,5 229,12 106,7 !74,4 0,1 6,1 0,1 12,) 6,1 ш,) )г,) 24,1 18,1 30,1 24,1 36,1 30,1 42,1 36,1 48,1 42,1 54,2 48,1 60,3 54,1 68,3 60 1 76,3 66,2 84,3 72,3 92,3 80,3 100,4 88,3 110,4 96,3 120,4 104,3 130,4 112,3 ! )0,4 120,4 1.50,5 130,4 0,1 6,1 0,1 12,) 6,1 18,1 12,) 24,1 18,1 30,1 24,1 36,! 30, 1 42,1 36,1 48,1 42,1 54,1 48,1 60,1 54,1 66,1 60,1 72,1 66,1 78,2 72,1 84,3 78,1 92,3 84,1 )00,3 90,2 108,3 96,3 116,3 104,3 0,1 6,1 0,1 12,1 6,1 0,1 18,1 12,1 6,1 О,! 24,1 18 ! 12,1 б 1 30,1 24,1 18,1 12,1 36,1 30,1 24,1 18,1 42 1 Зб 1 30 1 24 1 48,1 42,1 36,1 30,1 54,1 48,1 42,1 Зб,! 60,1 54,1 48,1 42,1 66,1 60,1 54,1 48,1 72.1 66,1 60,1 54,1 78,1 72,1 бб,! 60,1 84,1 78,1 72,1 66,1 90,1 84,1 78,1 72.1 96,1 90,1 84,1 78,1 1 1:1 2 1 1:! 3 1:1:1:1 4 1:1:1:1;1 5 3:3 б 1:3:3 7 2:3:3 8 3:3:3 9 3:3:4 10 34:4 11 4:4.4 12 3:3:3:4 13 3:3:4:4 14 3:4:4:4 15 4:4:4:4 16 4:4:4:5 17 4:4:5 5 18 4;5:5:5 19 5:5;5:5 20 4:4.4:4:5 21 4:9:9 22 599 23 5:9:10 24 7;9:9 25 Тернарные деревья Т„, определенные правиламп (7) имеют мнзшмвльную длину степенного пути.

Двказатиелъство. Обратите ннимание на то, что /(и) — вмпдклал функция, т. е. /(и+ 1) — /(и) > /(и) — /(и — 1) при всех и > 2. Это свойство существенно в соотнетстнии со следующей леммой, которая двойствен- на результату упр. 2.3.4.5 — 17. Лемма С. Функция д(п), определенная на положительных целых чпсввх, удовле- творяет условию ппп (д(й) + д(п — й)) = д((п/2)) + д((п/2)), и > 2, 1<<в<в (9) тогда и только тогда, когда она выпуклая.

Доказательство. Егли д(п+ 1) — д(п) < д(п) — д(п — 1) при некотором и > 2, то имеем д(п + 1) + д(п — 1) < д(п) + д(п), что противоречит (9). Обратно, если (8) выполняется для д и если 1 < Й < и — Й, то в силу выпуклости д(к+ 1) +д(п — Й вЂ” 1) < д(к) + д(п — 1с).

1 Последнюю часть доказательства леммы С можно обобщить для любого т > 2 и показать, что ппп (д(п~) + .. + д(п„,)) в~т — т пь ...т Ьм = д()п/ш)) + д(((п+ 1)/ш)) +. + д(((п+ ш — 1)/т)), (10) если д выпукла. Пусть /„,(и) = /((и/т)) +/(((и+ 1)/т)) + +/(((и+ ш — 1)/т)). (11) Доказательство теоремы Ь будет полным, если убедиться, что /з(п) + Зп = /(и) и /,„(и) + тп > /(и) при всех т > 2 (см. упр. 11). Было бы очень хорошо, если бы оптимальные деревья всегда характеризовались так же четко, квк н теореме Ь. Но результаты для о = 3, которые приведены в табл. 1, показывают, что функция Аз(п) не нсегда выпукла.

На самом деле данные, приведенные в табл. 1, достаточны, чтобы опровергнуть большинство простых предположений об оптимальных деревьях! Мы, однако, можем спасти часть теоремы Ь для общего случая. М. Шлюмбергер (М. БсЫпшЬегкег) и Ж. Вуйлемен (Д.

"х"ш11ешш) показали, что высоких порядков слияния всегда можно избежать. (12) Теорема М. Если даны о и й, как в теореме Н, то существует оптпматьнос дерево, в котором степень любого узла не превосходпт Доказательство. Пусть и,,..., и,„- — положительные целые числа, такие, что пь + - .. + и = и, А(пь) + .. +.4(пт) = А~(п) и и, < < и„„и предположим, что иь, ~ сХ(а,д) + 1. Пусть 1' — значение, при котором достигается минимум в (12); покажем, что ать(т — 1с) + 17п+ А ь(п) < опт+,9п+ А (п), (13) и, следовательно, минимум н (4) всегда достиьвется прн некотором пь < ь)(а, ь7).

По определению, поскольку т > 1с+ 2, мы должны иметь Аж — ь(ьь) < Аь(пь+ +пьь ь)+Аь(пь, в)+ +Аь(п,„) < а(иь+. +пьч.ь)(1с+1)+/1(гьь+ +пьгь)+Аь(пь)+ +Аь(п ) = (а(1+1)+/1)(пь+ . +иьгь)+А (и) < (а(Й+1)+17)(1с+1)п/т+А (ьь). Отсюда легко вььнодится (13). (Тщательный аяализ чтото доказательства показывает, что оценка (12) является "наилучшей из возможных" в том смысле, что некоторые оптимальные деревья должььы иметь узлы степени д(а, д); см. упр.

13.) 1 Для построения н теореме К требуется 0(ьььз) ячеек памяти и 0(ьь'~ 1ойдь) шагов для вычисления А,(п) при 1 < т < и < ь5ь; н теореме М показано, что необходимо только 0(ььь) ячеек н 0(ььСт) шагов. Шлюмбергер и Вуйлемен открыли еще несколько очень интересных свойств оптимальных деревьев (Ас1а ХпХогтабса 3 (1973), 25-36',. Величина асимптотического выражения для А,(и) ныводится, как продеъьонстрировано в упр. 9, (14) В +..+В, +В.„=М, где М вЂ” общий объем наличной оперативной памяти. Число операций поиска будет приблизительно равно Х,ь + в Хи Х гьь + (15) — + Вр Вггь *Еще один способ распределения буферов.

В работе Паг1ь1 Е. Регйььвоьь. САСЛХ 14 (1971), 476-478, показано, что можно уменьшить время поиска, если не делать все буфера одного размера. Та же мысль и примерно в то же время пришла в голову еще нескольким автоРам [8. 1. Чьаьегз, СотР. Х 14 (1971), 109 — 112, Есс1пй Я. 'ьГа1(сеть Войввге Айс 4 (АпбпвЫЯерсешбег, 1970), 16-17) Предположим, что мы выполняем 4-путевое слияние серий равной длины Вв, располагая оперативной памятью объемом ЛХ симвачов. Если разделить память на равные буфера размером В = ЛХ/5, то придется ныполннть около Вв/В операций поиска для каждого входного файла и 4/с/В операций поиска для выходного, что в сумме дает 8Хв/В = 40йе/ЛХ операций поиска. Но если использонать четыре буфера внода размером ЛХ/6 и один буфер вывода размером ЛХ/3, то потребуется нсего лишь около 4 х (6Хс/ЛХ) + 4 х (ЗХв/М) = 36йс/М операций поиска! Время передачи в обоих случаях одно н то же, так что мы ничего не потеряем от этого изменения.

В общем случае предположим, что необходимо слить рассортированные файлы длиной Хь,...,Х,р в рассортированный файл длиной Хг ь —— Хь + + ьт и предположим, что для 1с-го файла используется буфер объемом Вы Тогда Попытаемся минимизировать эту неличяну при условии (14), считая для удобства, что Вь не обязаны быть целыми. Если увеличить В на д и уменьшить Вь на ту же небольшую неличину, то число поисков изменится на — — б В'+Б В' Вь д Вь Вь(вь д) Ву'(В'+5) т.

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

Тип файла
DJVU-файл
Размер
10,16 Mb
Тип материала
Высшее учебное заведение

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

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