Главная » Просмотр файлов » Лекции о сложности алгоритмов. С. А. Абрамов

Лекции о сложности алгоритмов. С. А. Абрамов (1121249), страница 9

Файл №1121249 Лекции о сложности алгоритмов. С. А. Абрамов (Лекции о сложности алгоритмов. С. А. Абрамов) 9 страницаЛекции о сложности алгоритмов. С. А. Абрамов (1121249) страница 92019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Алгоритм, использующий только аддитивные операции и сравнения целых чисел для проверки того, является ли данное целое положительное n точным квадратом, может быть основан на вычислении последовательности значений 1, 1 + 3, 1 + 3 + 5, ... до появленияв ней первого большего или равного n элемента. Сложность по числуаддитивных операций и операций сравнения этого алгоритма (назоpвем его sq1 ) допускает оценку Θ( n). Сохранится ли эта оценка, еслидополнительно использовать операцию нахождения целой части половины числа (считается, что затратность этой операции такая же,как у аддитивных операций) для того, чтобы предварительно выяснять, на какую максимальную степень двойки — четную или нечетную — делится n (алгоритм sq2 )?. (Продолжение предыдущей задачи.) Пусть Tsq1 (n), Tsq2 (n) —сложности, соответственно, первого и второго вариантов рассмотренного алгоритма иTsq∗ 1 (m) =max2m−1 ¶n<2mTsq1 (n),Tsq∗ 2 (m) =max2m−1 ¶n<2mTsq2 (n),m = 2, 3, ...а) Как связаны значения функций Tsq∗ 1 (m) и Tsq∗ 2 (m)?б) Имеются ли среди оценок Θ(m), O(log m), Θ(2m/2 ), O(2m ) такие,которые верны для Tsq∗ 2 (m), и если да, то какие именно?.

Изменим в алгоритме Грэхема (пример .) этап удалениявдавленных вершин: будем обходить — возможно, многократно —против часовой стрелки вершины построенной несамопересекающейся ломаной и удалять вдавленные вершины до тех пор, пока приочередном обходе не окажется безуспешной попытка найти хотя быЗадачиодну вдавленную вершину. Сложность этого варианта рассматриваемого этапа алгоритма Грэхема есть Ω(n2 ), где n — начальное числовершин ломаной (в то время как сложность этого этапа в алгоритмеГрэхема есть O(n)).. Рассмотрим в главных чертах алгоритм Шеймоса—Хоя  построения пересечения P ∩ Q двух выпуклых многоугольников P и Qсодержащих соответственно l и m вершин.

Считаем, что многоугольники задаются массивами P1 , P2 , ..., Pl и Q1 , Q2 , ..., Qm координат своих последовательных вершин.Упорядочим множество всех абсцисс обоих многоугольников повозрастанию (для простоты считаем, что абсциссы попарно различны, хотя это и несущественно), в результате получим абсциссыa1 < a2 < ... < al +m (рис. ).

Теперь для каждого i = 1, 2, ..., l + m − 1a1a2 a3...aia i +1...a m+lРис. . Алгоритм Шеймоса—Хоя (l = 5, m = 4).строим пересечение трапеций, вырезаемых прямыми x = ai , x = ai+1в заданных многоугольниках. (В вырожденном случае такая трапеция превращается в треугольник.) Из получившихся пересеченийтрапеций можно собрать P ∩ Q, удаляя лишние вершины.Привлекая дополнительно те или иные структуры данных (массивы, списки, ...) и уточняя по мере надобности какие-то этапы алгоритма, добиться того, чтобы в итоге алгоритм (обозначим его буквами SH) имел следующие сложностные характеристики. Если размер входа — это r = l + m, то TSH (r) = Θ(r); если размер входа — это′s = max{l, m}, то TSH(s) = Θ(s); если размер входа имеет два параметраСм.

[, гл. ]. Глава . Сложности алгоритмов как функции числовых аргументов′′l и m, то TSH(l, m) = Θ(l + m) — мы рассматриваем операции сравнения и перемещения элементов, арифметические операции, как мультипликативные, так и аддитивные, все вместе. Для пространственнойсложности — SSH (r), S′SH (s) или S′′SH (l, m) в зависимости от выбора размера входа — получаем те же оценки Θ(r), Θ(s) или Θ(l + m).Указание. Если исходные многоугольники представить, например, двунаправленными списками координат последовательных вершин, то список абсцисс (a1 , a2 , ..., al+m ), a1 < a2 < ... < al+m , можно получить с временными затратами, не превосходящими c0 (l + m).При определении пространственной сложности можно заметить, что общее число вершин искомого пересечения не превосходит 3(l + m) — это следует непосредственно из самого алгоритма Шеймоса—Хоя: при построениипересечения двух трапеций может возникнуть не более двух дополнительныхвершин..

Расширить алгоритм построения вояжа в ориентированномграфе G = (V , E) с выделенной начальной вершиной v (пример .)так, чтобы помимо вояжа алгоритм выдавал также информациюо том, охватил ли вояж все ребра графа. Размер входа имеет двапараметра m = | V |, n = | E |.

Для графов, не содержащих изолированных вершин, т. е. вершин, подобных вершине 7 на рис. , сложностьрасширенного алгоритма должна быть O(n).. Задача распознавания существования и фактического построения эйлерова цикла в данном графе для ориентированного случая выглядит так: выяснить, имеется ли в данном ориентированном графецикл, проходящий по всем ребрам графа по одному разу, и если существует, то построить этот цикл.

Воспользовавшись рассмотреннымалгоритмом построения вояжа (пример .), дать алгоритм решенияэтой задачи. Размер входа имеет два параметра m = | V |, n = | E |. Дляграфов, не содержащих изолированных вершин, сложность предлагаемого алгоритма должна быть O(n).. Путник столкнулся со стеной, простирающейся бесконечнов обе стороны. Имеется дверь в этой стене, но путник не знает нирасстояния до двери, ни направления к ней. Предложить позволяющий добраться до двери алгоритм, сложность которого допускаетоценку O(n), где n — число шагов (неизвестное путнику), изначально отделяющее путника от двери.Указание. Сумма sk = 1 + q + ... + qk , q > 1, есть величина порядка qk ,т. е.

sk = Θ(qk ).. Будем считать затратностью любого построения на плоскостис помощью циркуля и линейки количество линий (окружностей илиЗадачипрямых), проводимых в ходе построения. Рассмотрим задачу построения отрезка, длина которого равна 1/n от длины исходного отрезка,считая n размером входа. Предложить для этой задачи такой алгоритм решения, сложность которого допускает оценку O(log n). . При n = 15 возможно вычисление an с меньшим числом умножений, чем требуется бинарному алгоритму возведения в степень.. Пусть двоичная запись числа n ∈ N есть βk ...

β1 β0 . Алгоритмu := 1;for i = k downto 0 dou := u · u ;if βi = 1 then u := u · a fiodвычисляет an . Сравнить сложность этого алгоритма по числу умножений с аналогичной сложностью бинарного алгоритма возведения в степень, рассмотренного в примере ., при использовании nили соответственно m = λ(n) в качестве размера входа. (Описанныйв этой задаче алгоритм является еще одним вариантом бинарногоалгоритма возведения в степень.). Для функции l(n), определенной в конце § , выполнено l(ab) ¶¶ l(a) + l(b) − 1 для всех a, b ∈ N+ .. (Продолжение предыдущей задачи.) Можно ли утверждать, чтоl(ab) = l(a) + l(b) − 1 для всех a, b ∈ N+ ?Разбор задач на построение с точки зрения их сложности содержится, например,в [, § ].Глава Сложность в среднем§ .

Понятие сложности в среднемДо сих пор мы исследовали сложность в худшем случае, теперь обратимся к сложности в среднем. Мы ограничимся ситуацией, когда прикаждом фиксированном значении s размера входа сами соответствующие входы образуют конечное множество X s = {x : k x k = s}. Будемпредполагать, что каждому x ∈ X s приписана некоторая вероятностьPs (x):0 ¶ Ps (x) ¶ 1,и при этомXPs (x) = 1.x ∈ XsТаким образом, при каждом допустимом значении s размера входамножество X s превращается в вероятностное пространство; по умолчанию считается, что вероятность распределена равномерно:Ps (x) =1,Nsгде N s — количество элементов множества X s .

Функции от sXXC AT (x)Ps (x) иC AS (x)Ps (x)x ∈ Xs(.)(.)x ∈ Xsназываются временной и, соответственно, пространственной сложностью в среднем алгоритма A. Более подробно:Определение .. Пусть при любом допустимом значении s множество X s всех входов размера s является вероятностным пространством, в силу чего временные и пространственные затраты алгоритма A для входов x (т. е. C AT (x) и C AS (x)) размера s являются случайными величинами на X s .

Сложностью в среднем называется математическое ожидание (первая или вторая сумма из (.)) соответствующейслучайной величины.§ . Понятие сложности в среднемСложность в среднем может принимать и нецелые значения, дажеесли функция затрат целочисленна.Для временной и пространственной сложности в среднем алгоритма A мы будем использовать обозначения ¯T¯A (·), S̄¯ A (·).Теорема .. Для любого алгоритма A при любом распределениивероятностей на множестве X s , где s — некоторое допустимое значение размера k · k, сложность в среднем не превосходит сложностив худшем случае:¯T¯A (s) ¶ TA (s), S̄¯ A (s) ¶ S A (s).Доказательство.

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

Список файлов лекций

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