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

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

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

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

В работе Р. В. М!!сегяеп, М. Расегяоп, 3. Тэгш,,УАСЛХ 43 (1996), 147-165, теорема Р доработана и установлена нижняя оценка М(т,п) > э((т+гг)!6(т+ 1) — т/!п2) пРи 1 < т < и. Следовательно, ЛХ(т,п) = 1э(т+ и) !6пнп(т, и) + 0(гп+ и). Точная формула М(2, и) = С(2, и) = ! 'э п1 доказана в работе А, С.

Уэо, Р. Р. 1(ао, 3АСЛХ 23 (1976), 566-571. Также известно, что значение М(пд а) равно С(т, и) для т = и < 5 (см. упр, 9). Витонная сортировка. Если допустимы одновременные сравнения, то, кпк видно из формулы (12), при четно-нечетном слиянии для 1 < т < и возникает задержка на Г!6(2п)1 единиц времени.

Бэтчер изобрел другой тнп сети слияния, названный битоннмм сортпроещиком (Мсоп!с яог(ег)е. для которого время задержки снижается до ()6(га+ и)1. Но он требует больше модулей компараторов. (См. Г Я. Расеи! 3426946 (1969).) Последовательность (яы..., яр) из р чисел будем называть битотсой, если лг > > ле « ° лу для некоторого й, 1 < й < р.

(Сравните это с обычным определением пмонотоннглхг последовательностей.) Битонный сортировщик порядка р — это сеть компараторов, способная сортировать в порядке неубынания любую битонную последовательность длиной р. Задача слияния я1 « . к с Рл « . ° ° й„является частным случаем задачи битонной сортировки, так как слияние можно осуществить, применив к последовательности (к,п,..., ям ум..., дп) битонный сортировщик порядка т + п. Заметим, что если последовательность (гы, ..,гр) битоннан, то таковыми же явлиотся и все ее подпоследовательности.

Вскоре после того, как Бэтчер открыл сети четно-нечетного слияния, он обнаружил, что аналогичным образом можно построить битонный сортировщик порядка р, сначала независимо сортируя битонные подпоследовательности (лм ля, ля,... ) и (яэ, ам лв,... ), а затем выполняя сравнения- обмены э: я ля: ле, °, (Доказательство приводится в упр.

10.) Если соответству- * Тврппп ейптОННал ООСЛЕдОВатЕЛЬНОСтсз (ЫЮПК ВЕЧПЕПСЕ) ВВЕДЕН Па амаЛОГИИ С тпрНННОН "нонотоннал н хледовательносгь" (глопоеопк веопепсе). — Прим. перев. Рис. 52. Бнтонный сортнровпшк Бэтчерэ порядка 7. ющее число модулей компараторов обозначить через С'(р), то будем иметь С'(р) = С'()р/21) + С'((р/2)) + (р/2) при р > 2; (15) а время задержки, очевидно, равно ~байр). На рис. 52 показан битонный сортировщик порядка 7, построенный этим способом; он может быть использован и как (3, 4)-, и как (2, 5)-сеть слияния с задержкой в три единицы; четно-нечетное слияние для гп =- 2 и и = 5 имеет на один компаратор меньше, но на один уровень задержки больше.

Особый интерес представляет бнтонный сортировщик Бэтчера порядка 2', он состоит нз 1 уровней по 2' ' компараторов в каждом. Пронумеруем входные линии хэ,гм...,гэ 1, .при этом элемент г; сравнивается с гу на уровне ! тогда и только тогда, когда двоичные представления 1 и 7' различаются только в 1-м слева разряде.

Эта простая структура приводит к созданию параллельной сети сортировки„ которая функционирует так же быстро, как обменная сортировка со слиянием (алгоритм 5.2.254), но реализовать ее значительно проще (см. упр. 11 и 13). Битонная сортировка оптимальна в том смысле„что ни один метод параллельного слияния, основанный на одновременно несвязанных сравнениях, не может выполнять сортировку быстрее, чем за ) !5(т + п)1 стадий, независимо от того, используется ли при этом предьгсторня (см. упр.

46). Существует и другой способ достижения оптимума, который требует меньше сравнений, но логика его чуть сложнее. Этот метод анализируется в упр. 57. Если 1 < пг < и, то гг-й (считая от наименьшего) выход (гп,п)-сети слияния должен зависеть от 2т+ [гп < и) входов (см.

упр. 29). Если его можно вычислить, используя компараторы с ! уровнями задержки., то в результат будет вовлечено не более 2' входов; следовательно, 2' > 2ш + (гн < и) и 1 > ! !5(2пг + !гп < п))1. Бэтчер показал (Верогь СЕВ-14122 (А!стоп, ОЬ!о: Оообуеаг Легоэрасе Согрогагюп, 1958)], что это минимальное времн задержки достигается, если в сети допускается разветвление, т. е.

такое разбиение линий, что одно и то же число в одно и то же время используется несколькими модулями. В качестве примера на рис. 53 изображена сеть (п = б), которая сливает один элемент с и другими после всего двух уровней задержки. Конечно, сети с разветвлением не соответствуют нашим соглашениям; довольно легко понять, что любая (1,п)-сеть слияния без разветвления должна иметь время задержки !5(гг + 1) или более (см. упр.

45). Сети выбора. Сети можно применить также к задаче раздела 5.3.3. Пусть Ц(п) обозначает минимальное число компараторов, необходимых в сети, которая перемещает Ф наибольших из и различных входов на Г определенных выходных линий; они могут располагаться на этих выходных линиях в произвольном порядке. Пусть Ъ~(п) обозначает минимальное количество компараторов, необходимых для перемещения Щ ю Рнс.

53. Сеть, обеспечиваюшая слияние одного элемента с шестью другими н нмеюшая разветвления, в результате чего достигается минимальная задержка. Ф-го входа в порядке убывания из и различных входов на определенную выходную линию, и пусть 14)(п) обозначает минимальное число компараторов, требуемых для перемещения 1 наибольших из п различных входов на определенные г выходные линии в гюрядке неубывания. Нетрудно видеть (см. упр. 17), что (16) Ц(п) < Ц(п) < И'~(п). Сначала предположим, что имеется 21 элементов (хг,..., хэг) и мы хотим выбрать 1 наибольших. В. Е. Алексеев (Кибернетика 5„5 (1969), 99-103) заметил, что зто может быть выполнено, если сначала рассортировать (хю..., хг) и (хд+г,, хш), а затем сравнить и поменять местами (17) х~ хш хз ° хз~ 1 ..

х~ ° хг-ы Так как ни в одной из этих пар не может содержаться более одного из наибольших г элементов (почему7), процедура Алексеева должна выбрать г наибольших элементов. Если нужно выбрать г наибольших из пс элементов, то мы можем применить эту процедуру и — 1 раз (исключая каждый раз г элементов); следовательно, бгг(пс) < (и — 1)(2Л(С) + Г). (15) Алексеев также получил интересную нижнюю оценку для задачи выбора.

Теорема А. (Уг(п) > (п — г) ~)5(г + 1)1. Дояязапгсзьсшеш Удобнее рассматривать эквивалентную задачу выбора наименьших г элементов. Около каждой линии сети компараторов можно выписать числа (1, и)., как показано на рис. 54, где 1 и и обозначают соответственно минимальное н максимальное значения, которые могут появиться в этом месте, если входом служит перестановка (1, 2,..., и). Пусть 1; и 1 — нижние оценки на прямых 1 и у перед сравнением х;:х, и пусть 1,' и 1' — соответствующие нижние оценки после этого сравнения. Очевидно, что Ц = пцп(1,,1 ), а в упр.

24 доказывается соотношение (неочевидное) 1~ < 1;+1;. ьб) нл Рис. 6е. Отделение четырех наибольших от четырех наименьших. (Числа нал линиями используются в лохазательстве теоремы А.) Рис. 66. Иная интерпретация сети, изображенной на рис. 54. 'Теперь дадим другую интерпретацию функционирования сети (рис, 55): предположим, что на всех входных прямых содержится нуль и каждый "компаратор" помещает теперь на верхнюю линию меньший из своих входов, а на нижнюю линию - — больший вход плюс единицу. Получающиеся числа (гам тлю...,гпе) обладают свойством 2 ем в любом месте сети, так как зто свойство первоначально справедливо и сохраняется каждым компаратором в силу (19).

Кроме того, окончательное значение ти~+щз+ -+ пз„равно общему числу компараторов в сети, так как каждый компаратор добавляет к етой сумме единицу. Если сеть выбирает наименьшие $ чисел, то и — ! из чисел 1, больше или равны Ф+ 1; следовательно, и — ! из чисел т; должны быть > !!8($ + 1)~!. $ Нпжняя оценка в теореме А оказывается точной, если ! = 1 нли ! = 2 (см. упр. 19), В табл. 1 даны значения Ц(п), 6~(п) и Фс(п) для небольших 1 и и.

Эндрю Яо (Апс$ген тао) (РЬ. 11. спев!з, О. оЕ 1!1!по!з (1975)) исследовал асимптотическое поведение Ц(и) при фиксированном ! и показал, что ЕУз(п) = 2п + 18п + 0(1) и (7~(п) = и!18(1+ 1)~ + 0((1ойп)рз'!) при п -+ оо; минимальное время задержки равно 18п+ (18г)!818п+0(1об!об!ойп). В работе Х, Р!ррепйег, $100МР 20 (199Ц, 878-887, доказано при помощи неконструктивного метода, что для любого е > О существует сеть выбора с У(„~з! (я) < (2+ е) и !8 и, если только и достаточно велико (В зависимости от е).

Таблица 1 СРАВНЕНИЯ, ИЕОЕХОДИРИЫЕ ЛтйЯ СЕТЕЙ ВЫБОРА (1)с(п), Я(и). ЮЗЮ) 1 в1 1=2 схЗ 1=4 1=5 1=6 (О, О. О) (1,1,1) (0,1,1) (2,2,2) (2,3,3) (0,2,3) (3,3,3) (4,5,5) (3,5,.5) (0,3,5) (4, 4, 4) (6, 7, 7) (6, 7, 8) (4, 7,9) (О, 4,9) (5, 5, 5) (8, 9,9) (8. 10, 10) (8, 10, 12) (5, 9, 12) (О, 5, 12) и=1 п=2 и=3 и=4 Стадия! Стадия 2 Сидни 3 Рис. бб. Нестандартнаи сеть, основанная на битонной сортировке. Если х = (х„...,х„) — зто и-мерный вектор, а о — и-сетгь то обозначим через хо вектор чисел ((ха)м..., (хо)„), порожденных сетью.

Положим также для краткости а Ч Ь = шак(о, Ь), а д Ь = ппп(а, Ь), а = 1 — а; тогда (х(1:у)); = хю д х„(х(ъ':1))з = х; Ч хз и УПРАЖНЕНИЯ (часть 1) Далее в несколькик упражнениях теория сетей сортировки рассматривается более детально, повтому будет удобно ввести некоторые обозначении.

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

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

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