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

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

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

15). Еще более удивительны эмпирические данные, накопленные Дж. Д, Эппингером (Я. Е. Ерр!пйег) (САСМ 26 (1983), 663-669, 27 (1984), 235), который обнаружил, что длина пути немного уменьшается при небольшом количестве удалений и вставок, однако затем начинает увеличиваться до тех пор, пока не достигнет стабильного состояния после выполнения примерно пэ операций удаления/вставки. Это стабильное состояние хуже поведения случайного дерева при Х, болыпем примерно 150. Дальнейшее исследование Кульберсона (Сп1Ьегэоп) и Мунро (Мппго) (Сошр. ).

32 (1989), 68 — 75; А1аопйписа 5 (1990), 295 — 311) привело к правдоподобному предположению о том, что среднее время поиска в стабильном состоянии асимптотически равно ъ/2Х/юг. Однако Эппингер предложил простую модификацию, при которой алгоритм Р и его зеркальное отражение чередуются в одном алгоритме; он обнаружил, что это приводит к отличному стабильному состоянию, в котором длина пути снижается да примерно 88% от его обычного значения для случайных деревьев. Теоретического пояснения этого факта пока не найдено. Как упоминалось ранее, алгоритм Р не проверяет случай ШяК(Т) = Л, хотя это один из простейших случаев удаления.

Мы можем добавить новый шаг Р1- 1 мелсэу шагами Р1 и Р2. 01э. (Пуста ли ссылка ЬЫяК?) Если Ш(Е(Т) = Л, установить Ц < — йЬ?ИК(Т) и перейти к шагу?)4. В упр. 14 показано, что алгоритм Р с этим дополнительным шагом всегда оставляет дерево с той же, если не меньшей, длиной пути, что и алгоритм Р; иногда же результат оказывается даже лучше ожидаемого.

При комбинировании рассмотренного метода со стратегией симметричного удаления Эппингера длина пути при повторяющихся случайных удалениях/вставках уменьшается до примерно 86% от значения, получаемого при использовании вставок без удалений. 'Частота обращений. Пока что мы предполагали, что каждый ключ может стать объектом поиска с одинаковой вероятностью. Однако в более общем случае следует рассмотреть вероятности рь поиска я-го вставленного элемента (р1 + + ря = 1). Модифицированное выражение (2) (в предположении о случайном порядке дерево остается случайным и выполняется соотношение (5)) показывает, что среднее коли- Рис.

12. 31 наиболее употребительное англяйское слово, вставленное в порядке уменыпе- ния частоты. чество сравнений в случае успешного поиска составляет 1+ ~ рь(2Нг — 2) = 2~ рьНь — 1. Например, если вероятности соответствуют закону Зипфа (6.1 — (8)), среднее количество сравнений сводится к Нн — 1+ Н~ ~!Нн (12) в предположении, что ключи будут вставляться в гюрядке уменьшения нх важности (см. упр. 18). Эта величина примерно в два раза меньше величины, предсказываемой в результате анализа случая с равными частотами, н меньше, чем в случае бинарного поиска. На рис. 12 показано дерево, полученное в результате вставки 31 наиболее часто употребляюшегосн английского слова в порядке убывания частоты появления в текстах.

Относительные частоты, приведенные для каждого слова, взяты из Н. Г. Са1пеэ, СгурСапа!уэ1э (Хек Ъогк: Рояег, 1956), 226. Среднее количество сравнений при успешном поиске в этом дереве равно 4.042; соответствуклцее значение для бинарного поиска с использованием алгоритма 6,2.1В или 6.2.1С требует 4,393 сравнений. Оптимальные бинарные деревья поиска. Рассмотренный материал заставляет задуматься а том, какое дерево является наилучшим для поиска в таблице ключей с заданными частотами. Например, для случая с 31 наиболее употребительным словом оптимальное дерево показано на рис. 13; оно требует в среднем всего лишь 3 437 сравнений при успешном гюнске. Рис.

13. Оптимальное дерево поиска для 31 наиболее употребительного английского слова. Приступим и задаче поиска оптимального дерева. Например, при Х = 3 в предположении, что ключи К| С К2 < Кз имеют вероятности р, д, г соответственно, возможны пять деревьев: 1 11 (13) р+Зд+Зг рч 2д+Зг Сан: Зрд-2д-И 2р-~-Зд-~-г 2рд-д-~2г На рис. 14 показаны диапазоны значений р, д, г, для которых каждое из деревьев является оптимальным; сбалансированное дерево является наилучшим примерно в 45% случаев при случайном выборе р, д, г (см. упр.

21). К сожалению, при больших Ж имеется бинарных деревьев, так что перебрать их все и найти наилучшие — совершенно неразрешимая задача, Позтому стоит познакомиться с ними поближе, чтобы, лучше узнав свойства бинарных деревьев, найти среди них оптимальные. До сих пар нас интересовал успешный поиск, однако на практике неудачный поиск не менее важен (более того, в некоторых специфичных задачах именно он является определяющим; случаями успешного поиска в таких задачах можно попросту пренебречь. — Прим. нерее.). Например, представленные на рис. 13 слова соответствуют примерно 36% слов обычного английского текста; остальные 64%, естественно, повлияют на структуру оптимального дерева поиска.

Сформулируем задачу следующим образом. Даны 2п + 1 вероятностей р1,рд, ...,п„и дв,ды...,д„, где р1 — вероятность того, что аргументом поиска является К,; д; — вероятность того, что аргумент поиска лежит между К; н Кг ь1. П,а.а) (о, о, ц Рис. 14. На этой диаграмме показано, какое из пяти деревьев (13) является наилучшим в случае относительных частот (р д т) ключей (Кп Яг, Кг). '1ет факт, что р -т д+ г = 1, делает диаграмму двумерной несмотря на величие трех координат.

(Пусть йе представляет собой вероятность того, что аргумент поиска меньше, чем Км а й„. — вероятность того, что аргумент поиска больше, чем К„.) Таким образом, рг + рг + . + р + В + а + . + д„= 1 и мы хотим найти бинарное дерево, минимизирующее ожидаемое количество сравнений при поиске, а именно р.

(уровень(Я) + 1) + ~~ йь уровень((Я), (14) 1=1 ь=е где ОЗ вЂ” у'-й внутренний узел при симметричном обходе, а (К вЂ” ()с+1)-й внешний узел; корень дерева находится на нулевом уровне. Так, ожидаемое количество сравнений для бинарного дерева (15) равно 2ве+ 2р~ + Зц~ +Зрг+ Зог+рг+ от Назовем это значение ценой дерева.

а дерево с минимальной ценой — опглимальным. При таком определении требование, чтобы сумма всех р и д была равна 1, излишне — мы можем искать дерево с минимальной ценой с любой данной последовательностью весов (ры..., р„; до,..., д„). В разделе 2.5.4.5 мы изучали процедуру Хаффмана (Ни%пап) для построения деревьев с минимальной взвешенной длиной пути, однако этот метод требовал, чтобы все р были нулевыми, н, кроме того, в построенном этим методом дереве внешние узлы с весами (де,..., д„) обычно не располагались в правильном порядке с точки зрения симметричного обхода. Следовательно, нам надо поискать другие подходы к решению этой задачи. Нас спасет то, что все паддеревья оптимального дерева оптимальны.

Например, если (15) представляет собой оптимальное дерево для весов (рмрз рз; йо, Чс чз, с1з) та ега левое поддерево должно быть оптимально для (рырг', Чо, са,йз); любое Улуч- шение поддерева должно приводить к улучшению дерева в целом. Данный принцип предлагает вычислительную процедуру, которая систематично ищет все большие и ббльшие оптимальные поддеревья. Мы использовали эту же идею в разделе 5.4.9 для построения схем оптимального слияния; общий подход, известный как вдинамическае программирование", будет рассмотрен в разделе 7.7".

Пусть с(г,з) — цена аптимальнога поддерева с весами (рсэы .,РП йс . с14) и пусть ш(г',у) = рс, + . + р + ос+ + а — сумма этих весов (ачевидно, чта с(е,у) и ю(е,у) определены для 0 < 1 < у < и). Поскольку минимально возможная цена дерева с корнем ® равна св(г', 1) + с(з, к — 1) + с(/с, у), получим с(4,з) = О, с(с,,с') = го(г',,)) + ппп (с(е, lс — 1) + с((с,з)) при г < 1 (16) 1<451 Через В(г,у') при 1 < у' обозначим множество всех 1, для которых достигается минимум в (16); это множество определяет корни оптимальных поддеревьев.

С помощью уравнений (16) можно вычислить с(е, з) для у' — 1 = 1, 2,..., и; имеется примерно -и таких значений, а операция минимизапии выполняется примерно 1 з з для;и значений я. Зто означает, что мы в состоянии определить оптимальное дерево за О(из) единиц времени с использованием О(из) ячеек памяти. При оценке времени работы свойство монотонности позволяет уменьшить степень при и. Пусть т(е, у) означает элемент множества Я(г,,з'); нет необходимости в вычислении всего множества В(з, у) — - достаточно одного его представителя.

Найдя т(с, з — 1) и т(е'+1, 7) и используя результат упр. 27, мы всегда можем полагать, чта (17) т(е, у' — 1) < т(г, 4') < т(е+1, у') при неотрицательных весах. Зто ограничивает поиск минимума всего лишь т(з+1, у) — т(г,у — 1) + 1 проверяемыми в (16) значениями к вместо у — гй Общий объем работы при у' — е = с1 оценивается как (т(сг 61, с') — т(г, у — 1) + 1) = т(и — с1+1, и) — т(0, д — 1) + и — д + 1 < 2и, 4<~<в с=э — 4 так что общее время работы уменьшается до О(из). Детально эта процедура рассматривается в описании алгоритма К. Алгоритм К (Поиск оиизимальнмх бинарных дерееьео ириска).

Даны 2и+1 неотрицательных веса (ры...,рв; оо,...,д„), Алгоритм строит бинарные деревья ф,~), имеющие минилсальпую цену (в определенном ранее смысле) для весов (р,.ем..., р~", оа..., с1,). ВычислЯютсЯ тРи массива, а именно ф,Я, 0<с<у <и, цена1(е,у); ф,у], 0 < е < 7 < и, корень 4(е, Я; го[с,Я, 0 < г < 4' < и, общий вес с(г,у). * Имеетсв в аиду раздев вз планируемого автором тома 4.

— Приве перев. Результаты работы алгоритма определяются массивом г: при 1 = у У[у,у) пуст; в противном случае левое поддерево — у(у, г[у, у] — 1), а правое поддерево — у(г[Ц у], у'). К1. [Инициализация.] Для О < 1 < и установить с[у, 1] е- О, ю[у,у] е- 4у и уе[у, у] ею[у', у' — Ц+ру+а при у = с+1,..., и.

Затем для 1 < у < и уюптовить с[у — 1, Я ею[у — 1, Я и г[у' — 1, Я е- у. (Эти действия определякут все оптимальные деревья из одного узла.) К2. [Пикл по ~Г.] Выполнить шаг КЗ для сУ = 2, 3,..., и, затем остановить работу алгоритма. КЗ. [Цикл по Я] (К втоцу моменту уже определены оптимальные деревья с менее чем И узлами. На данном шаге определяются все оптимальные деревья с И узлами). Выполнить шаг К4 для у = сУ, 4+ 1, ..., и. к4. [поиск с[у, Я, г~г', у],] Установить у е- у — уУ, затем— с[у,у] ш[у,Я+пни,]ьу у)<ь<,у,~у у1(с[г, Ус — Ц+ с[/с,Я) и присвоить г[у,у] значение Ус, для которого достигается минимум.

(В упр. 22 доказывается, что г[у, у — Ц < с[1+1, Я.) $ 6 ~ бу'„:~у Рис. 15. Оптимальное бинарное дерево поиска для указателя КЧУ1С. В качестве примера алгоритма К рассмотрим рис. 15, основанный на приложении индексирования 'кеу-иогб-'ш-сопФехг" (ключевое слово в контексте -- К%1С). Заглавия всех статей в первых десяти томах УопгпаУ оГ сйе АСМ были рассортированы таким образом, чтобы каждому слову каждого заголовка соответствовала одна строка. Впрочем, некоторые слова наподобие ТНЕ и ЕОБАТ10УУ были признаны неинформативными и не вошли в указатель. Эти специальные слова и частота их появления обозначены внутренними узлами на рис. 15.

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

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

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

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