Главная » Просмотр файлов » В.Б. Алексеев - Введение в теорию сложности алгоритмов

В.Б. Алексеев - Введение в теорию сложности алгоритмов (1114530), страница 3

Файл №1114530 В.Б. Алексеев - Введение в теорию сложности алгоритмов (В.Б. Алексеев - Введение в теорию сложности алгоритмов) 3 страницаВ.Б. Алексеев - Введение в теорию сложности алгоритмов (1114530) страница 32019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Следовательно переборный алгоритм имеет экспоненциальную сложность. 11 Теорема 2.2. Юля нахождения оптпимольного порядка умножекия и моторин сутцестпвуетп алгоринтм (тпипв динамического программирования) с числом операций (ориуметпичвскве и сравнений чисел) 0(пз) . Воказонтельстпво. Пусть на вход поступает набор чисел (тпв,нть...,тп ). Введем такие подзадачи Втс найти оптимальный порядок вычислений и наименьшее число кб умножений элементов для произведения Ат х Атчп х ... х А, (1 < т' < т' < п), Очевидно, кн = О для всех т, н общее число подзадач ВО есть 0(пз).

Ъ'твержденне. Если 1 < т < т' < п, тпо (2.2) йт = шш(lттл+ стыд+ пв ттпттпт), где минимум беретпся ио всем в отеките, чтпо т < в < т' — 1. Доказатпельстпво. Если последняя операция умножения делит произведение Ат Аьтт ... Аз на 2 произведения (А; ... А,) (А,+г... Ад), то для получения минимального числа оцерацвй надо использовать минимальное число операций в обеих скобках, то есть всего асти + йт+ту операций. После вычисления этих произведений надо еще перемножить 2 матрицы размеров ттн т х тпт и тпт х тп,. Получаем общее число онераций, стоящее в (2.2) в фигурных скобках. Теперь остается заметить, что для минимизации общего числа умножений достаточно перебором выбрать оцтимальное место для последней операции.

Утверждение доказано. Будем решать подзадачи ВО ярусами, относя к ярусу 1 все подзадачи с у — т = й Рассмотрим последовательно Ф = О, 1, 2,..., п — 1. При Ф = О получим подзадачи Вн, для которых кз = О и скобки вообще не надо расставлять. При решении очередной задачи ВО с т — т = 1 воспользуемся утверждением. При этом легко видеть, что справа в (2.2) будут использоваться результаты подзадач ярусов тт < 1, которые уже решены. Тогда для вычисления утз по формуле (2.2) достаточно сделать 2(у-т) умножений, 2(т — т) сложений и т' — т — 1 сравнений.

Общее число операций для вычисления одного йб не превосходит 0(п), а для вычисления всех ку — не превосходит 0(пз) (поскольку общее число подзадач Ву есть 0(из)). При вычислении йт указанным способом мы накопим и то в, для которою достигается минимум в (2.2). Если мы для всех (т, т') будем фвхснровать это в, то сможем быстро оптимально расставить скобки в задаче Вгв (в исхтвшой задаче), разбивая каждое ироивведение последовательно оптимельным образом на 2 произвевпния. Теорема доказана. Задача о кратчайших путях Пусть 0 — полный ориентированный граф с и вершинами иь эз,..., и„. Пусть каждой дуге (иь о ) сопоставлено действительное число4, > О,либоат =+со.Числодт трактуетсякакрасстояниензит в о.

"напрямую". Ллина ориентированного пути из сз в и. определяется как сумма длин всех дуг этого пути (она равна +ос, если хотя бы одно слагаемое равно +со). Кратчайшее расстояние 4 из ит в и. определим как минимум длин по всем ориентированным путям из гц в ор Соответствующий путь будем называть кратчайшим. Рассмотрим следующую задачу о кратчайших путях. Вход: матрица Р = ))атт)) порядка и (считаем, что дз = О для всех т). Требуетпсят построить матрицу Р = )Щт.)) кратчайших расстояний. Отметим, что аналогичную задачу для неполного графа можно свести к задаче о полном графе, положив тттт. — — +сю для несуществующих дуг. Если дт = дтз для всех т',), то граф С можно считать неорнентированным. Алгоритм для указанной задачи, основанный на переборе всех возможньпс путей, имеет не менее, чем зкспоненпнвльную сложность, поскольку из тц в и существует не менее (и — 2)! путей без повторяющихся вершин.

Теорема 2.3. Сушестпвуетп алгоритпм для задачи о кратчайших путпях, стпрояший по матприце Р матприцу .Р, с числом операций (арифметических и сравнений чисел) 0(п~), где п — число вершин в графе. Яокагательство. Введем следующие подзадачи: для каждой пары т,) н натурального к > О вычислить а,:, — минимальную длину Л») среди всех ориентированных путей из ся в и;, проходящих,.

кроме ит и о, только по вершинам иь ом..., о» (возможно только по части или напрямую из и, в и ). Если й = О, то разрешается только переход из о; в и "напрямую". Пусть Р<") = ))ат'.))). Тогда Р~в) = Р н Ргт) = Р. Будем последовательно вычислять РО), Рт'),..., Р»"). Утверждение. Для любых т,) и й > О а(») .,а(»-т) д(»-т) ат»-т)) О =ттп(О м +»т Доказатпельстпво. Все пути из эт в о-, использующие только вершины оп из,...,и», распадаются на 2 множества А и  — не проходящих через и» и проходящих через и».

Минимальная длина путей в А равна тз 4 ь-1) по определению. Каждый путь из В разбивается на 2 части: путь В) из о; в иь по вершинам опии,оь ) и путь Вз из оь в иу по вершннам оп из,..., оь ь Минимальная длина пути в Вт равна а — а . аа, а в Вз — аь) . Сравнивал т)с и д(ь + дь., получаем аб . зать) Утверждение доказано.

Замечание. Вычисляя дб описанным способом, мы, в частнос(ь) ти, узнаем, использовать иь или нет. Тахим образом, для вычисления Ррб по РО ') достаточно пз сложеннй и пз сравнений чисел, а для вычисления,РО), Р1з),..., Р)") = Р по заданной матрипе .Р = Р1ч) достаточно пз сложений и пз сравнений. Теорема доказана.

При этом, учитывая замечание, можно быстро установить и сами кратчайшие пути. 2.2. Метод "разделяй и властвуй". Теорема о рекуррентном неравенстве Лругой рекуррентный метод построения быстрых алгоритмов— это метод, который называют "разделяй и властвуй". В нем также решение задачи сводится к решению подзадач, но, в отличие от метода динамического программирования, рвэмерность подзадач отличается от размерности задачи не на константу, а в константу раз н подзадачи решаются независимо друг от друга. Лля получения оценок сложности таких алгоритмов используется следующая теорема. Теорема 2.4 (о рекуррентном неравенстве).

Пустпь Цп) — функция натпурального параметпра и. Пусть с — натпуральное число, с > 2, и а, б,а - дет)стпвитпельные констпантпы, причем а > О, и пустпь для всех и = сь, где б — любое натпуральное число (б = 1,2,3,...), выполняетпся неравенстпво (2.3) Ь(п) < аЬ( — )+б Пустпь при этом Цп) монотпонно не убьыаетп на каждом отпреэке [с- + 1,с"+)).

Тогда при стпремлении и к бесконечности для всех и выполняетпся 0(п~), если а > 1о3,а, Цп) = 0(п)еа"), если о <!ок„.а, 0(па 1ояп), если ст = 1об, а. Замечание. В оденках вида 0(д(л) 1обь о), где ?с — константа, в основании логарифма предполагается любое постоянное число. При этом переход от одного основания к другому изменяет только константу в О.

Локазатлеаьстео. Пусть и = с", где ?с = 1, 2, 3,.... Тогда, применяя несколько раз (2.3), получаем и л газ '* Ца) ~ (а? ( — ) + Ьо' < о(аЪ( — ) + Ь ~-) ) + Ьп с сз с =Ь +оьн -ь зд,( — ) < < Ьл + Ь ( — ) о~ + а (аЕ ( — ) + Ь ( — ) ) = =Ь Ь ( — ") Ы ® '?,( — ")~ ~~...чЬл +Ьо ( — )+...-~Ьп~( — ) +а Е( — ). Пусть Ы = щах(Ь, ? (1)). Так как ч — — 1, то ц ~<ю'(~~ — +( — ) ~-...+( — ) )+~'= ="( -; (;)' (;-)') Рассмотрим 3 случая: 1) 1об,а < а =э — < 1 =~.? (л) < нп салаг = 0(о"); а 2) 1ок,а > а =э — > 1 =~ =~ Цо) < Иа сооз1 = 0(а ОЯ ") = 0(о 'Я' ) (так как а 'Я " = о'ОЯ'ч); 3) 1оя, а = а =ь а = с' =э Е(л) < Ыл (?с+ 1) = йо (1+ 1оя,о) = = 0(о 1ояо).

Пусть теперь п — любое. Тогда существует такое натуральное й, что сь < п < се+~. Рассмотрим 3 случая, учитывал, что по условию Цо) — неубывающая функция на каждом отрезке [сь + 1, с"~~) (р ниже — некоторая константа); 1) ст > 1об,о =ь Ь(п) < Ь(сз~~) = О(па); 2) ст < 1об,а =з Ь(п) < Ь(сь+з) ьч,а 0( !аз,а).

3) сз = 1о8, а =о Ь(п) < з' (сват) < рс~2п'1об,п = 0(па) 1обп. Теорема доказана. <р("")'=р"(сз) <1 < ( ьат)!аз.а аз,а(сь)~аз,а < < рс1з+О 1о8,(сь ~) < рс (сь) 2~ < 2.3. Алгоритм Карацубы для умножения чисел Если требуется сложить два и-разрздных числа, то можно произвести сложение ав столбик". При этом в каждом разряде нам нужно в зависимости от значений данного разряда в слагаемых и от величины переноса из предыдущего разряда вычислить разряд суммы и величину переноса в слелующий разрял.

Лля одною разряда это требует константного числа операций, а в целом для сложения двух и-разрядных чисел О(п) операций над разрядами. Аналогичную оценку 0(п) можно получить и для сложности вычитащы "в столбик". Только здесь вместо переноса в следующий разряд формируется запрос из следующего разряда. Если лва и-разрядных числа умножать ав столбик", то все разряды первого числа сначала надо умножать на первый разряд второго числа, затем на следующий разряд и т. д. Таким образом число операций над рззрялами будет не менее пз.

Более быстрый (по порядку) алгоритм предложил А. А. Карацуба (8], и именно этот алгоритм считается первым алгоритмом типа "разделяй и властвуй". Лля простоты мы не будем рассматривать адресацию, а будем в качестве алгоритмов рассматривать схемы из функциональных элементов в базисе из всех двухместных булевских операпий и пол сложностью алгоритма понимать число элементов в схеме. В этом случае говорят о битлов отз сложности алгоритма. Теорема 2.5 (Карацуба А. А,).

Дзя умножении двух двоичных и-разрядных чисел суитеспзвуеоз аззоритим с битоеот1 сзожностаью 0(пмз,з) Локоэопзельспзво. Покажем сначала, что алгоритм (схему) для умножения (и + 1)-разрядных двоичных чисел можно получить, используя алгоритм (схему) лля умножения и-разрядных двоичных чисел и дополнительно 0(п) битовых операций. Лействительно, пусть требуется перемножить два (и + 1)-разрядных двоичных числа Х1 = (хо х1 ° ° х!!)2 и 1'1 = (Уо! У1 ° - ° ! У!!)2 Обозна'1изг (х1! т2! ° ° ! х!!)2 = Х и (уь уъ уэ)2 = У. При этом Х1 = хо2" + Х 1'1 = уо2" + У и Х1У1 = хоуо22' + (хоУ + УоХ)2" + ХУ. Поэтому дпя вычисления Х11'1 достаточно испопьзовать умножвтепь М„ддя вычисления ХУ, 2и эпементов для вычисления хоУ и уоХ, 1 эпемевт дпя вычиспения хоуо и 3 сумматора порядка (то есть дпя числа разрядов) не более 2и + 2, так как Х1У1 < 22"+2. Отметим, что числа хоуо к хоУ+уоХ надо подавать на сумматоры со сдвигом, одновременно подавая на младшие разряды О.

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

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

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

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