Главная » Просмотр файлов » 1626435697-9d9ede204f9baad60159c2d6531787c7

1626435697-9d9ede204f9baad60159c2d6531787c7 (844297), страница 46

Файл №844297 1626435697-9d9ede204f9baad60159c2d6531787c7 (Хопкрофт, Ульман 1979 - Построение и анализ вычислительных алгоритмов) 46 страница1626435697-9d9ede204f9baad60159c2d6531787c7 (844297) страница 462021-07-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Пусть функция разметки й (г'Х у) -~- В определена, как в алгоритме 5.5, а Ао обозначает (пХп)-матрицу с ໠— — 1(о„ог), Следующая лемма связывает вычисление, выполняемое алгоритмом 5.5, с вычислением замыкания Ао матрицы А в полукольце М„ (пХп)-Матриц над В. Лемма 5.11. Пусть б и Ао таковы, как сказано выше. Тогда (1, 1)-й элемент матрицы Ао равен с(о„ог). Д о к а з а т е л ь с т в о. А о — — ХА о, где Аьо 1„и Аз=Аз. ° А'о' для(~1. Индукцией по 1 легко показать, что (1, 1)-й элемент матрицы Аьо равен сумме стоимостей путей длины й, идущих из о, в оь Отсюда непосредственно следует, что (1, 1)-й элемент матрицы Ао равен сумме стоимостей всех путей нз о~ в оь П Из леммы 5,11 вытекает, что алгоритм 5.5 можно рассматривать как алгоритм вычисления замыкания матрицы. В теореме 5.5 утверждалось, что алгоритм 5.5 требует 0 (и') элементарньи операций в.е.

задачи о путях и вмножвнне мдтвип (т. е. операций +, ° и * над элементами полукольца). Обычный алгоритм умножения матриц также требует 0(п') элементарных операций. )т(ы покажем, что, когда элементы берутся из замкнутого полукольца, вычисление произведения двух матриц эквивалентно (по сложности) вычислению замыкания матрицы. Точнее, если дан какой-то алгоритм вычисления произведения матриц, то можно построить алгоритм вычисления замыкания, и обратно, причем порядок времени вычисления будет тем же. Значение этого результата лучше прояснится в гл. 6, где будет показано, что, когда элементы берутся из кольца, для умножения матриц хватает менее чем 0(п') операций.

Рассматриваемая конструкция состоит из двух частей. Теорема 5.6. Если замьлсание произвольной (п)(и)-матрицы над замкнутым полукольцом можно вычислить за такое время Т (и), что Т(Зи)(27Т(п) '), то существует алгоритм умножения двух (ахи)-матриц А и В с временем работы М (и), удовлетворяющим неравенству М(п)(сТ(п) для некоторой постоянной с.

Д о к аз а тел ь от в о. Пусть надо вычислить произведение А В двух (и)(и)-матриц А и В. Сначала образуем (Зих Зи)-матрицу Х= ООВ и найдем ее замыкание. Заметим, что Ха= ОО 0 и Х'=Х'=...= ООО Следовательно, 1„А А В Х'=)ев+Х+Х'= 0 )„В 00 l„ Так как А В можно прочитать в правом верхнем углу, заключаем отсюда, что М (п)(Т(Зп) =2ТТ(п). С) Это доказательство теоремы 5.6 имеет следующую интерпретацию в виде графа. Рассмотрим граф 0 с Зи узлами (1 ° 2,..., Зп).

Разобьем их на три множества У, (1, 2,..., и), У,=(и+1, п+2, ..., 2и) и У, (2п+1, 2п+2, ..., Зп). Будем считать, что все ребра графа 0 идут либо из Ут в У„либо из У, в У,. Такой граф ') Это допущение правдоподобно, поскольку Т(п) есть 0(пе) в худшем слу. яае. На самом деле в теореме подойдет любая постоянная (а не только 27). гл. $.

АлГОРитмы ИА ГРАФАХ а+! 2«+ 3 Рис. 6.2!. Ивтерпретвпия теоремы 6.6 в виде графа. изображен на рис. 6.21. Пусть А и  — такие (пхп)-матрицы, что (1, 1)-й элемент матрицы А служит меткой ребра, идущего из 1 в и+1, а (г, 1)-й элемент матрицы В служит меткой ребра, идущего из п+! в 2«+1. Тогда (1, !)-й элемент произведения А ° В оказывается суммой меток путей, идущих из ( в 2п+1, поскольку каждый такой путь образован ребром из 1 в некоторый узел й, п(й(2п, н следующим за иим ребром из й в 2«+1. Поэтому сумма меток всех путей из 1 в 2п+! совпадает с (1, 1)-м элементом матрицы А В.

Теперь докажем обращение теоремы 6.6. По данному алгоритму умножения матриц можно найти алгоритм замыкания, время работы которого с точностью до постоянного множителя совпадает с временем работы данного алгоритма. Теорема 6.7. Если произведение любых двух (пх п)-матриц над замкнутым полукольцом можно вычислить за такое время М (и), что М (2п)'= 4М (и), то существует алгорипии, вычисляющий замыкание матрицы за время Т(п), удовле«1воряюи(ее неравенству Т(п)(сМ (и) для некоторой постоянной с. Д о к а з а т е л ь с т в о.

Пусть Х вЂ” (п хи)-матрица. Сначала рассмотрим случай, когда и — степень числа 2, скажем 2'. Разобьем Х на четыре матрицы размера 2" 'х2»»! В силу леммы 6.11 можно считать, что матрица Х представляет граф 6= (У, Е), в котором множество узлов разбито на два множества У, и У, размера 2"-'. Матрица А представляет ребра между узлами мйожества У„матрица (1 — ребра между узлами из У„матрица В— ребра, идущие из узлов множества У, в узлы множества У„а мат- ав.

задачи о путях н имножинив матинц Рис. 5.22. Граф О. рица С вЂ” ребра, идущие из узлов множества У, в узлы множества У,. Это отражено на рис, 5.22, Путь из о, в ою концы которого принадлежат Уь либо 1) никогда не выходит за пределы У„либо 2) для некоторого й)1 найдутся такие узлы эн хь у, и ао где 1е~1~й, что все пч их~ лежат в У„всех, ну~ — в У., а рассматриваемый путь идет из о, в в, внутри У„затем по некоторому ребру уходит в х„потом вдоль некоторого пути внутри У, идет в узел у„ после чего по некоторому ребру уходит в ао затем по пути внутри У, идет в вв и т.

д. и, наконец, приходит в гв, откуда вдоль пути внутри У, идет в о,. Этот тип пути показан на рис. 5.23. Сумма меток, приписанных путям, удовлетворяющим условию 1 или 2, очевидно, равна (А+В 0е С)*. А именно, В Ре С представляет пути, идущие из щ в хь затем в р~ и далее в г~ на рис, 5.23. Рис. 5.23. Пути, удовлетворяявиие условию 2. 333 Гл.

а АлГОРитмы ИА ГРАФАХ ~Е Е.В.О» (Е Е~ 1 0'С Е 0'+Р' С.Е-В 0') ~,6 Н)' Матрицы Е, Е, 6 и Н можно вычислить, проделав такую последо- вательность шагов: Т, =0', Т,-В.ТИ Е=(А+Т, С)', Р=Е Т„ Т,=Т, С, Р= Тз'Е Н=Т,+Р Т,. Эти шаги требуют выполнения двух замыканий, шести умножений н двух сложений (2»-'х2»-')-матриц. Поэтому можно записать: Т(1) =1, Т(2»)а 2Т(2» ')+6М(2» ')+2 2'" ', й>1.

Три слагаемых в правой части неравенства (5.6) — это сложности соответственно замыканий, умножений и сложений. Мы утверждаем, что найдутся такие постоянная с н функция Т, что Т(2»)( (сМ(2») и Т удовлетворяет (5.6) для всех й. Базис, т. е. случай я=О, тривиален, поскольку постоянную с можно взять сколь угодно большой. Для проведения шага индукции предположим, что Т(2»-1)~ (сМ (2»-') для некоторой постоянной с. Из условия теоремы, т. е.

нз неравенства М(2п)~4М(а), заключаем, что М(2»-'))2'»-', (Заметим, что М (1)=1.) Следовательно, из (5.6) вытекает, что Т(2») ((2с-1-8) М(2» '). Снова в силу условия теоремы М(2»-')(",,М(2»), так что Т (2") ( ( — с+ 2 ) М (2"). (5.7) хза Следовательно, А+В О* ° С представляет те пути, соединяющие узлы в У„которые либо состоят из одного ребра, либо прыгают прямо в Ум остаются там на некоторое время и затем прыгают обратно в У,. Все пути, соединяющие узлы из множества Уо можно представить в виде последовательности путей, представленных матрицей А+В ° 0* ° С. Таким образом, (А+В Р* ° С)» представляет все пути, соединяющие узлы из У,.

Следовательно, верхний левый угол матрицы Х» занят матрицей (А+В 0» ° С)». Обозначим (А+В Р' С)» через Е. С помощью аналогичных рассуждений можно представить матрицу Х" в виде 6.Ю. ЗАДАЧИ С ОДНИМ ИСТОЧНИКОМ Если взять с- 4, то (5.7) влечет за собой Т(2А) сМ(2"), а это и требовалось доказать.

Если и не является степенью числа 2, то можно вложить Х в ббльшую матрицу, размер которой есть степень числа 2: (х х1 где 1 — единичная матрица минимально возможного размера. Это вложение увеличит размер матрицы не более чем вдвое, и, значит, постоянная увеличится не более чем в 8 раз. Таким образом, найдется такая постоянная с', что Т(п) =с'М (и) для всех п независимо от того, являются ли они степенями числа 2 илн нет.

П Следствие Е Время, необходимое для вычисления замыкания булевой матрицы, имеет тот же порядок, что и время вычисления произведения двух булевых м триц того же размера. В гл. 5 мы познакомимся с асимптотически более быстрыми алгоритмамн вычисления произведения булевых матриц и тем самым покажем, что транзитивное замыкание графа можно вычислить за время, меньшее 0(п'). Следствие 2. Время, необходимое для вычисления замыкания матрицы над множеством неотрицательных целых чисел с операциями М11Ч и + в качестве сложения и умножения элементов, имеет тот же порядок, ипо и время вычисления произведения двух матриц таково же типа. В настоящее время все известные методы решения задачи о нахождении кратчайших путей для всех пар узлов тратят не меньше сп' времени для некоторой постоянной с.

5ЛО. ЗАДАЧИ С ОДНИМ ИСТОЧНИКОМ Во многих приложениях достаточно находить кратчайшие пути только из одного узла (источника). На самом деле нам, быть может, надо найти кратчайший путь между двумя конкретными узлами, однако неизвестен алгоритм, который решал бы эту задачу эффективнее (в худшем случае), чем лучший из известных алгоритмов для одного источника. Для задач с одним источником мы не знаем объединяющего понятия, аналогичного замкнутым полукольцам и алгоритму 5.5. Если мы хотим только узнать, к каким узлам идут пути из источника, то задача тривиальна и ее можно решить несколькими алгоритмами, работающими 0(е) времени на е-реберном графе.

Так как алгоритм, если не "просматривает" все ребра, не может быть ГЛ. а АЛГОРИТМЫ НА ГРАФАХ 1 б(п !. 5 — (о,»; 2. Р[о,] — 0'1 3. 1ог оЕУ вЂ” (о,» бо Р[и] 1(о„о)1 4. в(т(1е 3~1/ бо Ьед(п б. выбрать узел вЕУ вЂ” Я, для которого Р[в] принимает наименьшее значение; б. добавить в к 3; 1 бР— В до 8.

Р[и] - М1И(Р[и], Р[в]+ 1(в, о)) епб епб Рис. б.яч, Алгоритм дсакстры. корректным, нетрудно убедиться, что время 0(е) наилучшее, на что можно надеяться. В задаче нахождения кратчайших путей из одного источника ситуация иная. Хотя иет причин предполагать, что для ее решения понадобится более 0(е) времени, ни один такой алгоритм не известен. Мы обсудим алгоритм сложности 0(п'), работа которого основана на построении множества 5 узлов, кратчайшие расстояния до которых от источника известны.

На каждом шаге к Я добавляется тот из оставшихся узлов, скажем о, расстояние до которого от источника меньше всех других оставшихся узлов. Если стоимости всех ребер неотрицательны, то можно быть уверенным, что путь из источника в о проходит только через узлы из Я. Поэтому достаточно найти для каждого узла о кратчайшее расстояние до него от источника вдоль пути, проходящего только через узлы из 5, Изложим алгоритм формально.

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

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

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

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