Главная » Просмотр файлов » Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)

Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189), страница 102

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 102 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 1022019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Если мы сможем построить такое дерево, то кодовые слова для х и у будут иметь одинаковую длину и отличаться только последним битом. Пусть а и Ь вЂ” два символа, представленные листьями с общим родительским узлом на максимальной глубине в Т. Без потери общности считаем, что а. отед < Ь.отед и х.отед < у. зтед. Поскольку х.отед и у.отед — две самые маленькие частоты (в указанном порядке), а а. (тед и 6.отед — две произвольные частоты, мы имеем х.отед < а.

отед и у. Геев < 6. (тед. В оставшейся части доказательства возможно выполнение равенства х.)тед = а.~год или у.отед = 6.)тед. Однако если х.)тед = Ь.отед, то должно выполняться и а.отед = Ь.отед = х./тед = у.отед (см. упр. 16.3.1), и лемма тривиально истинна. Таким образом, мы будем считать, что х.отед ~ Ь.отед, что означает, что х Ф 6. Как показано на рис.16.6, в результате перестановки в дереве Т листьев а и х получается дерево Т', а при последующей перестановке в дереве Т' листьев Ь и у получается дерево Т", в котором х и у — листья-братья на максимальной глубине.

(Заметим, что если х = 6, но у ф а, то х и у в дереве Тн не являются листьями-братьями на максимальной глубине. Поскольку мы считаем, что х ~ 6, такая ситуация возникнуть не может.) Согласно уравнению (1бс4) разность стоимостей Т и Т' равна В(Т) — В(Т') с.,отед гбг(с) — ~~~ с.отед . ебг (с) сеС сеС = х.Угад ебт(х) + а.(тед .

е(т(а) — х.(тед . е(т (х) — а4тед йт (а) = х.отед йг(х) + а.отед. е)т(а) — х.Род еут(а) — а.отед е(т(х) = (а. (тед — х.(тед)(ест(а) — ебт(х)) >О, поскольку и а. (тед — х. (тед, и еЬг(а) — еуг(х) неотрицательны. Точнее говоря, величина а.(тед — х.гтед неотрицагельна, поскольку х является листом с минимальной частотой, а з2г(а) — е(т(х) неотрицательна, поскольку а представляет собой лист максимальной глубины в Т.

Аналогично обмен у и Ь не увеличивает стоимости, так что значение В(Т') — В(Тн) неотрицательное. Следовательно, В(Тн) < В(Т), а поскольку Т вЂ” оптимальное дерево, мы имеем В(Т) < В(Тн), откуда вытекает В(Тн) = В(Т). Таким образом, Тн является оптимальным деревом, в котором х и у представляют собой листья-братья на максимальной глубине, что и доказывает лемму. Из леммы 16.2 следует, что процесс построения оптимального дерева путем объединения узлов без потери общности можно начать с жадного выбора, при Глава!6. Жадные олгорилгмы т,, (Ь, (че 1 Рис 16.6. Иллюсгряция ключевых этапов доказательства леммы 16.2.

В оптимальном дереве Т лисья а н Ь являются двумя братьями нв максимальной глубине. Листья к и у предствввпст собой двя символе с наименьшими чвстствми; они ряспалегвются в произвольных позициях в Т. В предпслхкении, что х Ф Ь, обмен листьев а и х двег дерево Т', после чего обмен листьев Ь и у двег дерево Т". Поскальку каждый обмен не увеличивает стоимость, полученное дерево Т" также является оптимальным. котором объединению подлежат два символа с наименьшими частотами.

Почему такой выбор будет жадным? Стоимость объединения можно рассматривать как сумму частот входящих в него элементов. В упр. 16.3.4 предлагается показать, что полная стоимость сконструированного таким образом дерева равна сумме стоимостей его составляющих. Из всевозможных вариантов объединения на каждом этапе в процедуре Нг!Ррмлм выбирается тот, в котором получается минимальная стоимость.

В приведенной ниже лемме показано, что задача о составлении оптимальных префиксных кодов обладает свойством оптимальной подструктуры. Пусть имеется алфавит С, в котором для каждого символа с Е С определены частоты с.~ген. Пусть х и у — два символа из алфавита С с минимальными частотами. Пусть С' — алфавит, полученный из алфавита С путем удаления символов х и у и добавления нового символа л, так что С' = С вЂ” (х, у) 1! (л). Определим частоты ~гид в С', как и в С, за исключением того, что л.~ген = х.~тед + у.~ген. Пусть Т' — произвольное дерево, представляющее оптимальный префиксный код для алфавита С'.

Тогда дерево Т, полученное из дерева Т' путем замены листа л внутренним узлом с дочерними элементами х и у, представляет оптимальный префиксный код для алфавита С. Докзгзавзелвсизво. Сначала покажем, как выразить стоимость В(Т) дерева Т через стоимость В(Т') дерева Т', рассматривая стоимость компонентов в уравнении (1б.4). Для каждого символа с е С вЂ” (х, у) мы имеем г)т(с) = г(т Я, и, следовательно, с.~ген. г(т(с) = с!ге!! г(т (с). Поскольку г(т(х) = г!Т(у) = г(т'(л) + 1. получаем х.У Ч. 1т(х)+ у Рй.

(т(у) = ( РМ+ у4 й)(1 (х)+1) .~г д г(т (л) + (х.!тес?+ у.Х д), откуда заключаем, что В(Т) = В(Тг) + х.~ген + у.~ген Часть!и Усовершенствованные методы разработки и аназиза 470 или, что то же самое, В(Т ) = ВзТ) — х.~ге0 — у.~ге0 . Докажем лемму методом от противного. Предположим, дерево Т не представляет оптимальный префиксный код для алфавита С. Тогда существует дерево Т", для которого справедливо неравенство В(Тн) < В(Т). Согласно лемме 16.2 х и у без потери общности можно считать дочерними элементами одного и того же узла в Т".

Пусть дерево Тш получено из дерева Тн путем замены родителя х и у листом х с частотой х.~те0 = х.~те0 + у.~ге0. Тогда можно записать В(Тт) = В1,Тн) — х.~тес! — у.~тед < В(Т) — х.~сед — у.1гед = В(Т'), что противоречит предположению о том, что дерево Т' представляет оптималь- ный префиксный код для алфавита С'. Таким образом, дерево Т должно пред- ставлять оптимальный префиксный код для алфавита С.

Теорема 16.4 Процедура Нпррмлм дает оптимальный префиксный код. Доказательство. Справедливость лемм !6.2 и 16.3. теоремы непосредственно следует из Упражнении 1б.3.1 Поясните, почему в доказательстве леммы 16.2 при х.,1гес = Ь.1зед должно вы- полняться соотношение а.~тес! = 6 ~ге0 = х 7ге0 = у 1гез! 16.3.2 Докажите, что бинарное дерево, не являющееся полным, не может соответство- вать оптимальному префиксному коду. а:1 Ы с:2 с1:3 е:5 й:8 д:13 Ь:21 Попытайтесь обобщить ответ на случай первых п чисел Фибоначчи. 16.3.4 Докажите, что полную стоимость дерева, представляющего какой-нибудь код, можно также вычислить как сумму частот двух дочерних узлов по всем внут- ренним узлам.

16.3З Что собой представляет оптимальный код Хаффмана для представленного ниже множества частот, основанного на первых восьми числах Фибоначчи. 477 Глава Га Жадные ал.оритмы И3.5 Докажите, что если символы отсортированы в монотонно невозрастающем порядке частот, то существует оптимальный код, длины слов в котором представляют собой монотонно неубывающие величины. И3.6 Предположим, имеется оптимальный префиксный код для множества символов С = (О, 1,..., и — Ц, и мы хотим передать его, использовав как можно меньше битов.

Покажите, как представить любой оптимальный префиксный код для множества С с помощью всего 2п — 1 + и (18 п1 бит. (Указание: для представления структуры дерева, определяемой его обходом, достаточно 2п — 1 бит.) И3.7 Обобщите алгоритм Хаффмана для кодовых слов в троичной системе счисления (т.е. для слов, в которых используются символы О, 1 и 2) и докажите, что с его помощью получается оптимальный троичный код. 16.3,8 Предположим, что файл данных содержит последовательность 8-битовых символов, причем все 256 символов встречаются почти одинаково часто: максимальная частота превосходит минимальную менее чем в два раза.

Докажите, что в этом случае кодирование Хаффмана по эффективности не превышает обычный 8-битовый код фиксированной длины. И3.9 Покажите, что в среднем ни одна схема сжатия не в состоянии даже на один бит сжать файл, состоящий из случайных 8-битовых символов. (Указаниел сравните количество возможных файлов с количеством сжатых файлов.) * 16.4. Матронды н жадные методы В этом разделе в общих чертах рассматривается элегантная теория жадных алгоритмов. Она оказывается полезной, когда нужно определить, когда жадный метод дает оптимальное решение. Эта теория содержит комбинаторные структуры, известные под названием "матроиды". Несмотря на то что рассматриваемая теория не описывает все случаи, в которых применим жадный метод (например, она не описывает задачу о выборе процессов из раздела 16.1 или задачу о кодах Хаффмана из раздела 16.3), она находит применение во многих случаях, представляющих практический интерес.

Более того, эта теория быстро развивается н обобщается, находя все больше сфер приложения (см, в конце данной главы ссылки на литературу по этой теме). 472 Часть гк 'есовершенствованные метооы разработки и анашва Матроиды Матроид (ша1гоЫ) — это упорядоченная пара М = (5,2), удовлетворяющая сформулированным ниже условиям. 1. Я является конечным множеством. 2. 2 — непустое семейство подмножеств множества Я (которые называются независимыми подмножествами), таких, что если В и 2 и А С В, то А Е 2.

Если семейство 2 удовлетворяет этому свойству, то его называют наследственньин (пегедйагу). Заметим, что пустое множество 6 с необходимостью принадлежит семейству 2. 3. Если А е 2, В е 2 и (А~ < (В(, то существует такой элемент х Š — А, что А О (х) Е 2. Говорят, что структура М удовлетворяет свойству замены (ехсЬапяе ргорег1у). Термин "матроид" был введен Хасслером Уитни (Наяз1ег %Ыпзеу). Ои изучал матричные матроиды, элементами Я в которых являются строки заданной матрицы. Множество строк является независимым, если они линейно независимы в обычном смысле.

Легко показать, что эта структура определяет матроид (см. упр. 1бА,2). В качестве другого примера матроида рассмотрим гравровый матроид Мсв = (Яс:,То), определенный ниже в терминах неориентированного графа С = (Ъ; Е) следующим образом. Множество Яо представляет собой множество Е ребер графа С. Если А является подмножеством множества Е, то А е 2г; тогда и только тогда, когда множество А ациклическое, т.е, множество ребер А является независимым тогда и только тогда, когда подграф Са = (17, А) образует лес. Графовый матроид Мс: тесно связан с задачей о минимальном остовном дереве, подробно описанной в главе 23.

Теорема 16. 5 Если С = (17, Е) представляет собой неориентированный граф, то Мсс = (Ясс, 2О) является матроидом. Доказательство. Очевидно, что Ясс = Š— конечное множество. Кроме того, Ъс — наследственное семейство, поскольку подмножество леса является лесом. Другими словами, удаление ребер из ациклического множества ребер не может привести к образованию циклов. Таким образом, осталось показать, что структура Мсв удовлетворяет свойству обмена.

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

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

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