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

С.А. Абрамов - Лекции о сложности алгоритмов (pdf) (1123764), страница 15

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

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

Представить p (возможно, с небольшой погрешностью) в видеaaaконечной суммы вида 1 + 22 + ... + kk , где ai — это 0 или 1 для всех i,222а k — некоторое целое положительное число.Глава . Сложность в среднем. Пусть изначально у нас имеется генератор случайных вещественных чисел, принадлежащих отрезку [0, 1], и вероятность появления числа, принадлежащего отрезку [a, b], 0 ¶ a ¶ b ¶ 1, есть b − a.Пусть даны неотрицательные вещественные числа α0 , α1 , ..., αN −1 такие, что α0 + α1 + ...

+ αN −1 = 1. Как определить генератор чисел, принадлежащих множеству {0, 1, ..., N − 1}, такой, что вероятность появления числа k, 0 ¶ k ¶ N − 1, равна αk ?. Предположим, что у нас нет другого генератора случайных чисел, кроме генератора, в результате обращения к которому появляется 0 с вероятностью p или 1 с вероятностью 1 − p, причем о p мыничего не знаем, кроме того, что p 6= 0 и p 6= 1. Как с помощью этогогенератора можно сконструировать генератор, в результате обращения к которому появляется 0 или 1 с одинаковой вероятностью 1/2?Указание. Порождая подряд две цифры с помощью имеющегося генератора, мы получаем комбинации 0, 1 и 1, 0 с одинаковой ненулевой вероятностью.. (Продолжение предыдущей задачи.) Чему равно математическое ожидание числа обращений к изначально имеющемуся генератору случайных чисел при построении последовательности пар до появления 0, 1 или 1, 0? Найти сложность в среднем алгоритма полученияk «равновероятных» нулей и единиц с помощью сконструированногогенератора (затраты определяются количеством обращений к изначально имеющемуся генератору).

Можно ли указать значения p, длякоторых эта сложность имеет минимальное и, соответственно, максимальное значение?. Предложенную в указании к задаче  идею обобщить на случай, когда необходимо сконструировать генератор random(N), N ¾ 1,описанный в § . Найти сложность в среднем алгоритма полученияk равновероятных случайных чисел из отрезка [0, N − 1] (затратыопределяются числом обращений к изначально имеющемуся генератору).. Сохранится ли для сложности в среднем формула 2n ln n + O(n),если в задаче о разрезании полоски клетчатой бумаги на отдельныеклетки (см. пример .) считать, что плата за вырезание одной случайно выбранной клетки равна не n − 1, а n рублей? Тот же вопрос,если эта плата составляет n2 рублей..

Известное утверждение (теорема Дирихле,  г.), что два6случайных числа x, y ∈ N+ с вероятностью P, равной 2 , оказываютсяπвзаимно простыми, имеет тот смысл, что если ввести в рассмотрениечисло M(n), равное количеству пар (x, y) таких, что x и y взаимноЗадачипросты и, дополнительно, 1 ¶ x, y ¶ n, то предел limn→∞6M(n)существуетn2и равен 2 .

Предполагая (не обосновывая и не вникая в то, можπно ли это обосновать; это соответствует «физическому уровню строгости»), что множество N+ может быть превращено в вероятностное пространство так, что случайное x ∈ N+ кратно фиксированно1му d ∈ N+ с вероятностью , можно предложить несколько довольноd6простых доказательств равенства P = 2 . Для этого можно воспольπзоваться тем, что∞X1π2=2n =1n6(доказано Эйлером в  г.) или свойством дзета-функции Римана,согласно которому∞XY11s =sn =1np — простое1− pи которое справедливо, например, для всех целых s > 1, и, в частности, для s = 2.6В упомянутых выше предположениях доказать равенство P = 2 ,πиспользуя следующие подходы.а) Для произвольного d ∈ N+ вычислить вероятность ϕ (d) того,что для случайных x, y ∈ N+ выполнено d = íîä(x, y).

Из равенства∞PP =1−ϕ (d) определить P. d =2б) Для произвольного простого p вычислить вероятность ψ(p) то+го, что по крайней мереQ одно из случайных x, y ∈ N не делится на p.Из равенства P =ψ(p) определить P.p — простоеУказания. а) ϕ (d) =1P; б) ψ(p) = 1 − 2 .d2pДля того чтобы сделать доказательство «настоящим», надо для произвольного n ∈ N+ детально рассмотреть ситуацию 1 ¶ x, y ¶ n и перейти к пределупри n → ∞, что потребует более кропотливой работы. См.

[, разд. ..].См. [, гл. I, разд. , прим. .].См. [, разд. .., упр. ].Глава Оценивание числа шагов (итераций)алгоритма§ . Функции, убывающие по ходу выполнения алгоритмаЧасто выполнение алгоритма является последовательностью однотипных шагов (итераций). Если все шаги равнозатратны по времени, тообщее их число с точностью до постоянного множителя эквивалентновременным затратам рассматриваемого алгоритма для данного входа, и важной задачей является определение или хотя бы оцениваниечисла этих шагов.Пример ..

Пусть a0 , a1 — натуральные числа, a0 ¾ a1 . Поиск наибольшего общего делителя (íîä) чисел a0 , a1 по алгоритму Евклидатребует выполнения серии однотипных шагов, каждый из которых —деление с остатком:a0 = q1 a1 + a2 ,a1 = q2 a2 + a3 ,...................a n −3 = q n −2 a n −2 + a n −1 ,a n −2 = q n −1 a n −1 + a n ,(.)a n −1 = q n a n .В этом случае an = íîä(a0 , a1 ), так какíîä(a0 , a1 ) = íîä(a1 , a2 ) = ...

= íîä(an , 0) = an .Последовательность получаемых остатков убывает (остаток меньшеделителя), при этом все остатки — неотрицательные целые. Не существует убывающей бесконечной последовательности, элементамикоторой являются неотрицательные целые числа, поэтому выполнение алгоритма Евклида (будем обозначать его буквой E) завершаетсядля любых натуральных a0 , a1 , и число делений с остатком не пре-§ . Функции, убывающие по ходу выполнения алгоритмавосходит a1 . Обозначив через CE (a0 , a1 ) исследуемое число деленийс остатком, получаемCE (a0 , a1 ) ¶ a1(.)(для упрощения записи мы пишем CE (a0 , a1 ) вместо CET (a0 , a1 )).

Этоговорит о том, что если a1 рассматривается как размер входа или если a0 , a1 рассматриваются как два параметра размера входа, то сложность алгоритма Евклида по числу делений не превосходит a1 . Какмы увидим, эта оценка является весьма грубой, но, привлекая сходные рассуждения, можно получать и более тонкие оценки.Формализуем те соображения, которые привели нас к этой первойоценке. Каждый шаг алгоритма имеет дело с парой неотрицательных целых (ai−1 , ai ) и при условии ai 6= 0 перерабатывает эту парув (ai , ai+1 ), где ai+1 равно остатку от деления ai−1 на ai . На множестве пар неотрицательных целых чисел k, l мы определяем функциюL(k, l), принимающую неотрицательные целые значения.

Эта функция такова, что когда при выполнении алгоритма Евклида мы переходим от пары (ai−1 , ai ) к паре (ai , ai+1 ), значения функции убывают: L(ai−1 , ai ) > L(ai , ai+1 ). Так как функция целочисленна, то ее значение убывает с каждым шагом по крайней мере на единицу.

Отсюда следует, что общее число шагов не превзойдет значения функции L на исходной паре чисел. Мы рассмотрели функцию L(k, l) = l,и это привело нас к выводу, что число шагов не превзойдет значенияL(a0 , a1 ) = a1 .Для обоснования того, что число делений в алгоритме Евклидарастет медленнее, чем a1 , было бы достаточно найти соответствующую функцию L(k, l), значения которой при больших k, l оказываются существенно меньшими, чем l. Эта функция по-прежнему должнабыть определена для любых неотрицательных целых k, l, k ¾ l, принимать неотрицательные целые значения и убывать при замене парыk, l парой l, r, где r — остаток от деления k на l.

Хотя бы одна пара целых неотрицательных k, l, k ¾ l, должна обращать L(k, l) в нуль,иначе вместо L(k, l) можно взять функцию L′ (k, l) = L(k, l) − 1 и т. д.Предложение .. Пусть k, l ∈ N+ , k > l, и пусть r — остаток отделения k на l. Тогда(i) λ(k) > λ(r), где, как обычно, λ(·) — битовая длина данногочисла;(ii) функцияL(k, l) = λ(k) + λ(l) − 2(.)такова, что L(k, l) > L(l, r).Глава . Оценивание числа шагов (итераций) алгоритмаДоказательство.

(i) Имеем k = ql + r, q ¾ 1, откуда k ¾ l + r > 2r.Следовательно, λ(k) > λ(r).(ii) Из λ(k) > λ(r) следует λ(k) + λ(l) − 2 > λ(l) + λ(r) − 2.Очевидно, что функция (.) неотрицательна. Таким образом,справедлива оценкаCE (a0 , a1 ) ¶ λ(a0 ) + λ(a1 ) − 2.(.)Но если a0 очень велико в сравнении с a1 , то λ(a0 ) + λ(a1 ) − 2 > a1 .Тем не менее, теперь для CE (a0 , a1 ) уже легко выводится хорошаяоценка. Пусть число делений с остатком больше 1. ИмеемCE (a0 , a1 ) = CE (a1 , a2 ) + 1 ¶ λ(a1 ) + λ(a2 ) − 1 ¶ 2λ(a1 ) − 1.ОценкаCE (a0 , a1 ) ¶ 2λ(a1 ) − 1,(.)очевидно, верна и в случае единственного деления: CE (a0 , a1 ) = 1 притом, что λ(a1 ) ¾ 1.Если взять a1 за размер входа (a0 , a1 ), то для сложности по числуделений будем иметьTE (a1 ) = max CE (a0 , a1 ) ¶ 2λ(a1 ) − 1 = 2⌊log2 a1 ⌋ + 2 − 1 ¶ 2 log2 a1 + 1.a0 ¾ a1Доказанное нами можно переформулировать так:Если рассматривать a1 как размер входа a0 , a1 алгоритма Евклида, то для сложности TE (a1 ) по числу делений выполнено неравенствоTE (a1 ) ¶ 2 log2 a1 + 1.(.)Эта же оценка имеет место и при рассмотрении двух параметровa0 , a1 размера входа.Для достаточно больших a1 верхняя оценка (.) существенно лучше, чем TE (a1 ) ¶ a1 .

(Несколько более точная, чем (.), оценка даетсяв задаче .)Рассматривая далее оценки сложности по числу делений алгоритма Евклида, мы будем использовать значение a1 в качестве размеравхода (значение a0 может быть очень большим в сравнении с a1 , нопервое же деление с остатком приведет к a1 , a2 , где a2 < a1 ).Известно, что алгоритм Евклида допускает разнообразные обобщения и расширения. Прежде всего, вместе с íîä(a0 , a1 ) можно находить целые s, t такие, чтоsa0 + ta1 = íîä(a0 , a1 ).(.)§ .

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

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

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

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