КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Оценивание числа шагов (итераций) алгоритма
Со II Со S_^_J П F 2л Л П П П От Задачи П
=п-1+-п
i =i § 8. Функция затрат рандомизированного алгоритма Итак, п-1 Ег = п - 1 + - У Erk, Ег0 = 0. fc=0 Такого вида соотношения уже встречались в предыдущем параграфе, и по аналогии с (7.1) мы находим ЕХп = 2п In п + 0{п). (8.3) Возвратимся к рандомизированной быстрой сортировке. Для данного массива длины п математическое ожидание затрат, измеряемых числом сравнений, полностью определяется значением п. Поэтому, например, сложность в худшем случае, т. е. максимум математических ожиданий рассматриваемого вида для массивов длины п, есть просто математическое ожидание, найденное при рассмотрении этого п. Мы можем переписать (8.3) как соотношение для сложности fQS(n) по числу сравнений рандомизированной быстрой сортировки: fQS(n) = 2 n In п + 0(п). Вновь можно заметить, что число перемещений, требуемое рандомизированной быстрой сортировкой для конкретного массива, не превосходит числа сравнений, домноженного на некоторую константу, откуда сложность в среднем Т' (п) по числу перемещений элементов допускает оценку 7^s(n) = 0{п log п). Как и обычная быстрая сортировка, рандомизированная быстрая сортировка не использует дополнительных массивов, поэтому S gS(n) = 0(l). Сложность рандомизированной быстрой сортировки как по числу сравнений, так и по числу перемещений элементов допускает оценку 0(n log п). Пространственная сложность по числу одновременно хранимых дополнительных величин, равных каким-то элементам исходного массива, допускает оценку 0(1). При использовании принципа «из двух заданий первым выполняется более простое», мы получаем, согласно теореме 7.1, для сложности по объему стековой памяти оценкуJog2 п. Совпадению сложностей fQS(n) и T QS(n) можно дать объяснение: случайный выбор разбивающего элемента, предпринимаемый на каждом этапе сортировки, эквивалентен тому, что мы меняем порядок исходного массива случайным образом и затем применяем «обычную» быструю сортировку; но равенство сложностей такого рода не обязано иметь место для других алгоритмов, — все-таки речь идет о математических ожиданиях случайных величин, определенных Глава 2. Сложность в среднем на разных вероятностных пространствах. Например, можно несколько ускорить рандомизированную быструю сортировку, если разбивающий элемент определять путем случайного выбора без возвращения трех элементов массива и последующего определения второго по величине из этих трех; можно показать, что тогда вместо 2 n I n n + O{n) возникнет у n I n n + O{n), и совпадения сложностей обычной и рандомизированной быстрой сортировки уже не будет. Возвращаясь к примеру 3.1, мы видим, что, основываясь на рандомизированной быстрой сортировке, можно получить алгоритм построения выпуклой оболочки данных n точек координатной плоскости, имеющий сложность в среднем O{n log n) по общему числу операций. При нахождении или оценивании сложности какого-либо рандомизированного алгоритма часто не возникает необходимости детального рассмотрения всевозможных сценариев. Бывает достаточно рассмотреть сходное с (8.2) разложение пространства сценариев и применить формулу полного математического ожидания. Даже если множество всех сценариев бесконечно, разложение вида (8.2) можно выбрать конечным. Пример 8.2. Массив xъx2,...,xn назовем массивом, содержащим большинство, если больше половины его элементов имеют равные значения. Пусть над элементами массивов разрешена операция проверки равенства двух элементов, будем называть эту операцию сравнением. Пусть для данного массива, содержащего большинство, требуется найти i, l^i^n, такое, что значение xi принадлежит большинству значений элементов x1,x2,...,xn. Один из возможных рандомизированных алгоритмов решения этой задачи состоит в том, что i выбирается случайно (распределение вероятностей равномерно), а затем проверяется, удовлетворяет ли xi поставленному условию, — сравнений на эту проверку уйдет не более n- 1. Если xi не подходит, то все повторяется. Сложность в среднем по числу сравнений этого алгоритма не превосходит 2(n - 1). В самом деле, пространство всех сценариев разлагается на два события: первая попытка найти нужное i оказывается удачной и, соответственно, эта попытка оказывается неудачной. По формуле полного математического ожидания имеем для искомого среднего a: a ^ p (n -1) + (1- p)(a + n -1). Отсюда a ^-(n -1) < 2(n -1). p Доказательство имеется, например, в [59, разд. 3.7]. Задачи Еще один путь получения этого же результата. Так как вероятность p удачного выбора индекса i больше половины, то математическое ожидание количества попыток, которые потребуются для получения удачного значения i, меньше двух. Отсюда среднее число сравнений a меньше, чем 2(n - 1). Теоретически нет никакого препятствия к тому, чтобы при определении функции затрат рандомизированного алгоритма взять вместо математического ожидания максимум затрат по соответствующим сценариям (при таком подходе рандомизированная быстрая сортировка имеет квадратичную сложность). Но обычно для рандомизированных алгоритмов рассматриваются усредненные затраты. Добавим в заключение, что правомерен взгляд на рандомизированные алгоритмы, при котором каждому возможному входу сопоставляется вероятностное пространство обычных детерминированных алгоритмов1. Если в этой связи вернуться к примеру 8.1, то можно заметить, что для разрезания полоски бумаги каждый из рассматриваемых сценариев задает конкретный детерминированный алгоритм разрезания. Мы вернемся к этому в § 18. 23. Верно ли, что для рассмотрения сложности в среднем некото а) на множестве всех допустимых входов? б) на каждом из множеств всех входов фиксированного размера? 24. Как говорилось при обсуждении асимптотического закона рас π (n) > -—, справедливая для всех n > 1. Доказать, что сложность в среднем алгоритма пробных делений не является полиномиально ограниченной, используя для этого только последнее неравенство и не прибегая к полному варианту асимптотического закона распределения простых чисел. См., например, [55]. Глава 2. Сложность в среднем Указание. Предположение о том, что V (m) < 23 m/ 4 для всех т > т0, позволило бы, исходя из равенства я(2т) = я(2т°) + У(т0 + 1) + У(т0 + 2) +... + V(m), вывести верхнюю оценку я(2ш) = 0(23ш / 4), что вступило бы в противоре- чие с неравенством я(2т)>с— с положительной константой с. Поэтому существует последовательность тп1 <гп2 <... натуральных чисел таких, что V (m ;) > 23 m ' / 4, i = l,2,... Можно рассмотреть (5.5) для тп = тп1,тп2,... 25. Сложность по числу перемещений (обменов) в среднем для x t<— *Хъ, не превосходит п - 2 + -, где п—длина массива. Указание. В перестановках из Пп среднее число элементов a, l^ i ^ n -1, таких, что at=i, есть --------- (см. пример 6.1). 26. Найти среднее число присваиваний m:=... при выполнении тп:=х1; for i = 2 to п do if Xi<m then т:=х; fi od Предполагается, что все возможные взаимные порядки элементов в исходном массиве длины п являются равновероятными; в качестве размера входа берется п. Указание. Рассмотреть разложение всего вероятностного пространства в сумму двух событий: последний элемент исходного массива является его наименьшим элементом (вероятность равна -) и соответственно последний эле- п п Показать, что условное математическое ожидание исследуемого числа присваиваний, соответствующее первому событию, есть s (n - 1) + 1, а условное математическое ожидание, соответствующее второму событию, есть s(n - 1). Пользуясь формулой полного математического ожидания, вывести отсюда рекуррентное соотношение для s(n) и найти его решение, удовлетворяющее условию 5(1) = 1. 27. Пользуясь дискретным аналогом формулы Ньютона—Лейбни- ца, согласно которому £ (/№ + 1) - /№)) = /(" + 1) - /(1), вычис- fc=i лить сумму 2 ттт. — Тл, входящую в (7.3). Задачи 28. Исходя из (7.3), пользуясь приемом оценки сумм из приложения B и результатом из предыдущей задачи, доказать неравенство Гд5(п) ^2 n ln n, из которого будет следовать, что величина 0{п) в правой части (7.4) отрицательна. 29. Вернемся к задаче 8. В качестве алгоритма с указанными свойствами можно предложить следующий: при наличии вагонов на правой стороне узла к операции В прибегаем лишь тогда, когда на левой стороне невозможно увеличить на 1 число вагонов с правильным чередованием цветов с помощью какой-то из операций МИМО и ИЗ; в остальных случаях выполняется одна из операций МИМО и ИЗ, если возможны обе, то первая из них. Как и в задаче 8, считаем, что черных и белых вагонов по п штук, и п — размер входа. Какова сложность по числу сортировочных операций этого алгоритма в среднем? Указание.г Можно доказать следующие три утверждения. 1) Предположим, что в исходном расположении первый вагон на правой стороне белый. Тогда число сортировочных операций, требующихся алгоритму, равно Зп - к, где к есть количество максимальных сплошных последовательностей черных вагонов в исходном расположении (непосредственно слева и справа от каждой такой сплошной последовательности нет черных вагонов, таков смысл «максимальности»). 2) Вновь предположим, что в исходном расположении первый вагон на правой стороне белый. Тогда количество исходных расположений, в которых имеется ровно к максимальных сплошных последовательностей черных вагонов, есть (J (J.
= к=1 n-k к п Из первых двух утверждений выводится, что искомая сложность в среднем есть 2 n + 2 • — = третье утверждение позволяет получить из этого, что интересующая нас n (5 n -3) 5 1
30. (Задача не связана со сложностью в среднем, но приводит к рекуррентному соотношению, которое решается сходно с (7.2).) Доказать, что для любого Z > 0 можно, не применяя клей, построить из костяшек домино, длина каждой из которых равна 2, навес длины Z Решение принадлежит А.П.Фокину. Глава 2. Сложность в среднем
Рис. 11. Навес из костяшек домино. (рис. 11). Предложить алгоритм конструирования таких навесов, требующий O (el) костяшек. Указание. Будем характеризовать навес из n костяшек неотрицательными числами l 1; l 2,..., ln, где li — расстояние от правого края i -й сверху костяшки до вертикальной (пунктирной на рис. 11) линии, проходящей через правый край 1-й, т. е. самой верхней, костяшки. (Таким образом, lt = 0, ln = l.) Считая, что вес каждой костяшки равен 1, можно показать, что условием равновесия является система неравенств li +1<ai+i)+fe+ i)+-+a i +i), i =i,2,..., n -i (каждое такое неравенство означает, что центр тяжести конструкции из i верхних костяшек не выходит за правый край (i + 1)-й костяшки). Самый длинный навес получается тогда, когда числа l 1; l 2,... подчинены рекуррентному соотношению li+i = i > l i=°- Далее можно идти тем же путем, что и при решении соотношения (7.2) и т. д. 31. Перестановка (aъ a2,..., an) е П n называется полной, если ai ф i, i = l,2,...,n. Вероятность dn = P n (Dn) события Dn, состоящего в том, что данная перестановка является полной, равна 0 при n = 1 и равна 1.-1. +... + - L (8.4) при n > 1 (следствие: lim dn = -). Задача о значении dn широко известна как задача о шляпах. На собрание, состоявшееся поздно вечером, n его участников пришли в шляпах и оставили их в раздевалке, а когда собрание окончилось, разобрали шляпы наугад в темноте (в раздевалке перегорела лампочка) и разошлись по домам. Какова вероятность того, что каждый пришел домой в чужой шляпе? Указание. Для любого r такого, что СЩЩn, можно рассмотреть вероятность p (n, r) того, что перестановка длины n имеет ровно r непо- Задачи движных точек (ровно г человек пришли домой в своих шляпах). Тогда р(п,0) + р(п, 1) +... +р(п,п) = 1. Далее надо доказать, что р(п,г) = = (")-, ---------- г— ------ тР(" - г, 0) = -р(п - г, 0), откуда будет следовать, что г пуп- 1)...(п -г) г! ^ d „ + Y[ dn -! + ^„-! +... + (-TjA-! + ^ d o = 0. С учетом d 0 = 1 последнее соотношение однозначно определяет все dt,d2,... Остается убедиться, что подстановка значений (8.4) в левую часть этого соотношения дает 0. Подставляя т-77 +?7-о7 + --- + i^, r = °> *> •••> п, в левую часть этого соотношения, получим J] - Слагаемые этой суммы можно перегруппировать так, чтобы внутри группы значение i+j было постоянной величиной I. Это даст ZjZj (Z- i)! i! Z_iJ! Zj (Z- i)! i P ' ' !=0 i =0 г=о;=o последний шаг доказательства очевиден. 32. При быстрой сортировке (в любом из рассмотренных ее вариантов) число пар индексов (i,j), попадающих в стек отложенных заданий, не превосходит длины п исходного массива. 33. Верно ли, что определение усредненных затрат некоторого рандомизированного алгоритма требует задания распределения вероятностей а) на множестве всех допустимых входов? б) на каждом из множеств всех входов фиксированного размера? 34. Если измерять затраты рандомизированной быстрой сортиров 35. Идея, лежащая в основе быстрой сортировки, может быть Глава 2. Сложность в среднем n, m размера входа. Беря максимум этих сложностей по всем m таким, что l^ m ^ n, определяем сложности T{n), T{n) по числу сравнений в худшем случае и в среднем с использованием n в качестве размера входа. Показать, что T{n) = Q{n2) и T (n) < 4 n. Указание. Возьмем U (n) = max T(k). Очевидно, что U(n) не убывает при ЫЫ n возрастании n и что T(n) ^ U (n). Доказывается неравенство U (n) г£ i(U (n - 1) + тах{ U (1), U n - 2)} +... n ... + max{ U (n - 2), U (1)} + U (n - 1)) + n - 1, из которого, в силу неубывания U (n), следует U (n)s£-(U (n -l) + U (n -2) +... + U (| n J)) + n. Отсюда с помощью индукции выводится, что U (n) < 4 n для всех n > 1. 36. В инверсионном векторе (bъ b2,..., bn) произвольной переста Указание. Очевидно, что если bn = k, 1Цk<n, то an=n-k, и это соображение приводит к алгоритму построения (a 1, a 2,..., an), применимому к любому вектору b, удовлетворяющему оговоренным условиям: просматриваем компоненты вектора b, продвигаясь от последней к первой, находим значение соответствующей компоненты перестановки a и удаляем найденное значение из множества M, первоначально равного {1, 2,..., n }; при этом значение ai, i = n,n — 1,..., 1, определяется как (bi - 1)-й наибольший в множестве M (самый большой элемент —это первый наибольший, следующий по величине элемент —это второй наибольший и т.д.). 37. Показать, что один этап пузырьковой сортировки понижает на Указание ко второй части задачи. Количество векторов (b 1; b 2,..., bn), для каждого из которых bi е N+, 0 г£ bi < i, i = 1,2,..., n, и max{ b 1; b2,..., bn} г£ k, Задачи 1 ^ к ^ п - 1, равно к\ кп к г, так как Ь; может принимать любое значение между 0 и £ - 1 при £ ^ к и любое значение между 0 и к - 1 для k<i^n. 38. Показать, что математическое ожидание числа этапов пузырьковой сортировки совпадает с (6.9). Указание. Пользуясь решением предыдущей задачи, легко получить, что это математическое ожидание есть
J_ n! fc=l что равно — (>(fc n -fc+1fc! - № - l) n -fc+2№ - 1)!) - V(fc - l)"-k+1(k - 1)! V ' k=l k=l В упрощении последнего выражения поможет дискретный аналог формулы Ньютона—Лейбница (см. задачу 27). 39. Используя идею решения задачи 35, предложить рандомизированный алгоритм восстановления перестановки длины п по ее инверсионному вектору (см. задачу 36), имеющий сложность в среднем по числу сравнений 0{п2). 40. Пусть {аъа2,...,ап)— произвольная перестановка длины п. Ее преобразование for i = n downto 2 do j:= 1 + random(i - 1); щ^а} od может дать любую перестановку длины п с вероятностью —. (Это дает алгоритм построения случайных перестановок с равномерным распределением вероятностей.) 41. Предположим, что у нас нет другого генератора случайных чи Указание. Представить р (возможно, с небольшой погрешностью) в виде конечной суммы вида —- Н—| +... + -|, где а{ —это 0 или 1 для всех £, а к — некоторое целое положительное число. Глава 2. Сложность в среднем 42. Пусть изначально у нас имеется генератор случайных вещественных чисел, принадлежащих отрезку [0,1], и вероятность появления числа, принадлежащего отрезку [а,Ъ], О ^ а ^ Ъ ^ 1, есть Ъ - а. Пусть даны неотрицательные вещественные числа an,a-i,...,a та-кие, что an + ai +... + a =1. Как определить генератор чисел, при-надлежащих множеству {0,1,...,JV - 1}, такой, что вероятность появления числа к, 0 s= к s= N - 1, равна ак? 43. Предположим, что у нас нет другого генератора случайных чисел, кроме генератора, в результате обращения к которому появляется 0 с вероятностью р или 1 с вероятностью 1 - р, причем о р мы ничего не знаем, кроме того, что р^0ир/1. Как с помощью этого генератора можно сконструировать генератор, в результате обращения к которому появляется 0 или 1 с одинаковой вероятностью 1 / 2? Указание. Порождая подряд две цифры с помощью имеющегося генератора, мы получаем комбинации 0,1 и 1, 0 с одинаковой ненулевой вероятностью. 44. (Продолжение предыдущей задачи.) Чему равно математическое ожидание числа обращений к изначально имеющемуся генератору случайных чисел при построении последовательности пар до появления 0,1 или 1, 0? Найти сложность в среднем алгоритма получения к «равновероятных» нулей и единиц с помощью сконструированного генератора (затраты определяются количеством обращений к изначально имеющемуся генератору). Можно ли указать значения р, для которых эта сложность имеет минимальное и, соответственно, максимальное значение? 45. Предложенную в указании к задаче 43 идею обобщить на случай, когда необходимо сконструировать генератор random (JV), N^ 1, описанный в § 8. Найти сложность в среднем алгоритма получения к равновероятных случайных чисел из отрезка [0,JV-1] (затраты определяются числом обращений к изначально имеющемуся генератору). 46. Сохранится ли для сложности в среднем формула 2 n In п + 0(п), если в задаче о разрезании полоски клетчатой бумаги на отдельные клетки (см. пример 8.1) считать, что плата за вырезание одной случайно выбранной клетки равна не п -1, а п рублей? Тот же вопрос, если эта плата составляет п2 рублей. 47. Известное утверждение (теорема Дирихле, 1849 г.), что два случайных числа x, y eN+ с вероятностью Р, равной —, оказываются взаимно простыми, имеет тот смысл, что если ввести в рассмотрение число М{п), равное количеству пар (х, у) таких, что х и у взаимно Задачи просты и, дополнительно, 1 ^ x, y ^ n, то предел lim — т- существует и равен 4. Предполагая (не обосновывая и не вникая в то, можно ли это^обосновать; это соответствует «физическому уровню строгости»), что множество N+ может быть превращено в вероятностное пространство так, что случайное x eN+ кратно фиксированному d eN+ с вероятностью -, можно предложить несколько довольно простых доказательств равенства P = —. Для этого можно воспользоваться тем, что 7 = Zj n 2 6 n =1 (доказано Эйлером в 1734 г.) или свойством дзета-функции Римана, согласно которому V 1 П 1 Z-ins 11 1 - ps n =1 p — простое и которое справедливо, например, для всех целых s > 1, и, в частности, для s = 2. В упомянутых выше предположениях доказать равенство P = —, используя следующие подходы. а) Для произвольного d е N+ вычислить вероятность ip{d) того, P = 1 - Х> d определить P.г d=2 б) Для произвольного простого p вычислить вероятность т/>(p) то p — простое Указания. а) V(d) = -^; б) т/>(p) = 1 - \. Для того чтобы сделать доказательство «настоящим», надо для произвольного n eN+ детально рассмотреть ситуацию 1 ^ x,y ^ n и перейти к пределу при n^ оо, что потребует более кропотливой работы.3 См. [19, разд. 4.5.2]. См. [50, гл. I, разд. 3, прим. 3.3]. См. [19, разд. 4.5.2, упр. 10]. Глава 3
Дата добавления: 2014-01-11; Просмотров: 547; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |