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

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

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

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

Докажем, например, первое неравенство:XX¯T¯A (s) =C AT (x)Ps (x) ¶(max C AT (x))Ps (x) =x ∈ Xsx ∈ Xsx ∈ XsX=TA (s)Ps (x) = TA (s)x ∈ XsXPs (x) = TA (s).x ∈ XsВторое неравенство доказывается аналогично.Ниже в этом параграфе мы рассмотрим временную сложность всреднем ряда алгоритмов.Пример .. Как было уже установлено (пример .), бинарныйалгоритм возведения в степень n требует λ(n) + λ∗ (n) − 2 умножений; если в качестве размера взять m = λ(n), то сложность в худшемслучае будет равна 2m − 2.

Подсчитаем сложность в среднем, привлекая m как размер входа. Всего имеется 2m−1 неотрицательных целыхбитовой длины m; если считать все эти числа равновероятными, тоискомая сложность естьmm2X−12X−111∗(λ(n)+λ(n)−2)=m−2+λ∗ (n).m− 1m− 122n=2m−1n=2m−1Первая цифра каждого из чисел битовой длины m равна 1; количество чисел, имеющих кроме старшейцифрыеще k, 0 ¶ k ¶ m − 1,m−1ненулевых двоичных цифр, равно(т. е. числу сочетаний изkm − 1 по k). Поэтому искомую сложность можно переписать в видеm−1 m−1 ‹XXm−11m−11k.m − 2 + m − 1 2 m −1 +k= m − 1 + m− 12k =1k2Легко проверяется, что при 1 ¶ k ¶ m − 1 выполненоm−1m−2k= (m − 1),kk−1k =1kГлава . Сложность в среднеми возможно дальнейшее упрощение выражения для сложности:m−1+m−12 m− 1m−1Xk =1m−2k−1=m−1+m−12 m− 1m−2Xl =0m−2l32= (m − 1).Если рассматривать m = λ(n) как размер входа бинарного алгоритма вычисления an , n ∈ N+ , то сложность в среднем по числу умно3жений для этого алгоритма есть (m − 1).2Таким образом, при больших m сложность в среднем бинарногоалгоритма возведения в степень приблизительно равна трем четвертым сложности в худшем случае.Анализ сложности в среднем для широкого ряда арифметическихалгоритмов опирается на асимптотический закон распределения простых чисел, который мы приведем без доказательства.Асимптотический закон распределения простых чисел.

Дляфункции π(n), значение которой равно количеству простых чисел,меньших данного натурального n, справедливо асимптотическое равенствоnπ(n) ∼.(.)ln nКак следствие, вероятность того, что при выборе «наугад» одногоиз целых чисел 1, 2, ..., n попадется простое число, асимптотически1 равна.ln nПример .. Вновь вернемся к алгоритму пробных делений, предназначенному для распознавания простоты данного n ¾ 2 (примеры ., .). Будем рассматривать в качестве размера входа битовуюПредположение о справедливости этого закона распределения простых чисел высказывалось, в частности, Гауссом и Лежандром.

Впоследствии в  г. Чебышевымбыло доказано, что для некоторых констант c и Ccnln n< π(n) < Cnln nдля всех достаточно больших n, и, более того, им было установлено, что можно положить C = 1,10555, c = 0,92129. Асимптотическое равенство (.) было полностью доказано в  г. независимо Ж. Адамаром и Ш. Валле Пуссеном. «После доказательстванеравенств Чебышева в  г. речь шла, казалось бы, только о более точном нахождении и сближении постоянных c и C. Однако асимптотический закон распределенияпростых чисел был доказан лишь полвека спустя, в самом конце XIX века, на основании совершенно новых идей, предложенных Риманом...» [].

В [, гл. V] приводится1элементарное доказательство неравенств Чебышева для C = 6 и c = . Полное доказательство асимптотического закона имеется, например, в [].3§ . Понятие сложности в среднемдлину m данного числа. На первый взгляд сложность в среднем этогоалгоритма могла бы оказаться существенно меньшей, чем сложностьв худшем случае, так как для многих входов затраты совсем невелики.Например, для четных входов достаточно одного деления и т.

д. Длясложности в худшем случае по числу делений нами была установлена экспоненциальная оценка Θ(2m/2 ). Существует ли d ∈ N такое, чтосложность в среднем алгоритма пробных делений как функция от mдопускает оценку O(md )? Мы видим, что для довольно обширногомножества входов размера m алгоритм пробных делений работаетбыстро, и предположение, что для сложности в среднем существуеттакое число d, выглядит правдоподобным. На самом деле все обстоит не так, потому что среди всех натуральных чисел доля простых(для которых алгоритм пробных делений работает долго) достаточновелика. Оценка количества V (m) простых среди чисел2 m −1 ¶ n < 2 mможет быть получена из приведенной выше теоремы о распределениипростых чисел: воспользовавшись тем, чтоπ(2m ) ∼2m,(ln 2)mm → ∞,а также равенством V (m) = π(2m ) − π(2m−1 ), получимV (m) ∼11m−22m ∼2m .2 ln 2 m(m − 1)(2 ln 2)m(.)Теперь уже экспоненциальность роста сложности в среднем алгоритма пробных делений выводится легко.

Обозначим через D(n)количество делений, требующееся алгоритму пробных делений применительно к натуральному числу n. Для любого простого p ¾¾ 2m−1 , m ¾ 7, выполнено D(p) > 2m/2−1 (в самом деле, D(p) =p= ⌊ p ⌋ − 1 ¾ ⌊2(m−1)/2 ⌋ − 1 > 2(m−1)/2 − 2, и при m ¾ 7 выполнено2(m−1)/2 − 2 ¾ 2m/2−1 ). Интересующая нас сложность в среднем рав2m−1P1D(n). При m ¾ 7 мы имеемна m−12n=2m−112m− 1m2X−1n=2m−1D(n) ¾12m− 1Xm−1D(p) ¾ V(m)2−m/2 .(.)m2¶ p <2p — простоеУчитывая (.), находим, что последняя величина при m → ∞ асимптотически равна12m/2 .(2 ln 2)mГлава .

Сложность в среднемЭто говорит о том,чтоисследуемая сложность по числу делений1 m/2и как функция от m эта сложность не мо2в среднем есть Ωmжет быть оценена как O(md ) ни при каком d ∈ N.Определение .. Вещественная неотрицательная функция f (m),определенная для целых положительных значений аргумента, называется полиномиально ограниченной, если существует полином P(m)с вещественными коэффициентами такой, что f (m) ¶ P(m) для всехm ∈ N+ .

(Очевидно, что мы получим эквивалентное определение, еслидополнительно потребуем, чтобы все коэффициенты полинома P(m)были неотрицательными; другие эквивалентные варианты определения: f (m) = O(md ) для некоторого d ∈ N и f (m) = mO(1) .)Доказанное нами можно сформулировать так:Пусть в качестве размера входа алгоритма пробных делений, предназначенного для распознавания простоты натурального числа n,привлекается m = λ(n). Тогда временные сложности этого алгоритмакак в худшем случае, так и в среднем по числу делений не являютсяполиномиально ограниченными функциями от m.Краткое обсуждение идеи такого алгоритма распознавания простоты числа, который имеет полиномиально ограниченную сложность в худшем случае (тем самым, разумеется, и в среднем), будет проведено в примере ..

При этом речь пойдет не об алгебраической сложности по числу делений, мультипликативной сложности и т. д., а о битовой сложности, что приводит к существенно болеесильным утверждениям. До этого в гл.  будет детально рассмотреносамо понятие битовой сложности.§ . Сортировка и конечные вероятностные пространства.Применение формулы полного математического ожиданияПри рассмотрении сложности в среднем мы, прежде всего, должныпревратить каждое из множеств входов, обладающих фиксированнымразмером, в вероятностное пространство.

Проще работать с конечными вероятностными пространствами, но как обходиться такимипространствами, имея дело, например, с алгоритмами сортировки,входом каждого из которых, при фиксированном размере n, можетбыть любой массив x1 , x2 , ..., xn с попарно различными элементами?Общий принцип заключается в том, что мы разбиваем все имеющиефиксированный размер n входы на некоторые классы, включая в один§ .

Сортировка и конечные вероятностные пространствакласс входы, неразличимые для данного алгоритма в том смысле, чтоалгоритм проделывает одну и ту же последовательность операций длялюбого входа, принадлежащего классу (этот принцип может применяться не только при рассмотрении той или иной сортировки). Числотаких классов может оказаться конечным, даже если само множествовходов размера n бесконечно. Если это не противоречит другим предположениям, то такие классы можно рассматривать как элементарные события, приписывая каждому из них некоторую вероятность.На выполнение любой сортировки с помощью сравнений самизначения элементов x1 , x2 , ..., xn не оказывают никакого влияния, важен лишь их относительный порядок.

Поэтому в один класс естественно объединять все массивы x1 , x2 , ..., xn , имеющие один и тотже порядок элементов по отношению друг к другу. Такой класс может быть представлен перестановкой чисел 1, 2, ..., n с соответствующим порядком элементов (перестановкой длины n). В дальнейшемдля любого n ∈ N∗ мы будем рассматривать функцию ψn , аргументами которой являются любые попарно различные числа x1 , x2 , ..., xn ,а значением — перестановка a = (a1 , a2 , ..., an ) чисел 1, 2, ..., n, отражающая относительный порядок чисел x1 , x2 , ..., xn .

Например,3(.)ψ3 − , −10, 17 = (2, 1, 3).4Множество всех перестановок чисел 1, 2, ..., n будет обозначаться через Πn , так же будет обозначаться и вероятностное пространство,1получаемое приписыванием вероятностикаждой из этих перестаn!новок.Рассмотрим некоторые события в вероятностном пространстве Πn ;Mвероятность каждого из них, очевидно, будет равна , где M — чисn!ло перестановок, составляющих событие. Эту вероятность мы будемобозначать через Pn (·).Пример .. Начнем с события Bvn , 1 ¶ v ¶ n, состоящего в том,что v-й элемент av перестановки (a1 , a2 , ..., an ) равен v.

Перестановку (a1 , a2 , ..., an ) ∈ Πn можно рассматривать как отображение множества {1, 2, ..., n} на себя, при котором 1 переходит в a1 ,  переходитв a2 и т. д., и событие Bvn состоит тогда в том, что v является неподвижной точкой перестановки. Множество, состоящее из перестановок (a1 , a2 , ..., an ) таких, что av = v, содержит (n − 1)! элементов, от(n − 1)!1= при всех рассматриваемых v.сюда Pn (Bvn ) =n!nВ зависимости от выбранной перестановки число неподвижныхточек может быть любым целым из диапазона от 0 до n.

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

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

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