КАТЕГОРИИ: Архитектура-(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) |
Битовая сложность
Со Задачи А хХ 128 Глава 4. Нижняя граница сложности. Оптимальные алгоритмы где символами ЕX и Е^ обозначены математические ожидания, связанные с заданными (произвольными) распределениями вероятностей на X и .s4. Будем рассматривать рандомизированный алгоритм как конечное множество детерминированных («обычных») алгоритмов с некоторым распределением вероятностей на нем, — о возможности такого взгляда на рандомизированные алгоритмы говорилось в конце § 8. Тогда можно определить усредненные затраты этого рандомизированного алгоритма для каждого входа. Фиксируя размер входа, мы можем рассмотреть сложность в худшем случае такого рандомизированного алгоритма .s4 как максимум усредненных затрат по входам данного размера, эта сложность записана в правой части неравенства (18.4). Левая же часть этого неравенства может быть интерпретирована как наименьшая из сложностей в среднем алгоритмов класса .s4, для определения этой сложности используется некоторое распределение вероятностей на X. Мы приходим к принципу, предложенному А. Яо. Теорема 18 .1 (принцип Яо). Пусть для размера входа зафиксировано некоторое значение n, и пусть все входы размера n образуют конечное множество X, на котором задано некоторое распределение вероятностей. Пусть,s4 — конечное множество алгоритмов, применимых к элементам множества X, и пусть на,s4 тоже задано некоторое распределение вероятностей. Множество.s4 с этим распределением можно рассматривать как единый рандомизированный алгоритм, считая его сложностью T(n) усредненные затраты в худшем случае. Тогда, если найти некоторую нижнюю границу f (n) сложностей в среднем (в соответствии с данным распределением вероятностей на множестве X входов размера n) всех детерминированных алгоритмов класса,s4, то, независимо от конкретного вида распределений на X и.s4, будет выполняться неравенство f (n) s= T{n). Пример 18.1. Рассмотрим произвольную рандомизированную сортировку массивов фиксированной длины n, которую, по крайней мере теоретически, можно задать как конечное множество детерминированных алгоритмов сортировки массивов длины n с приписанными этим детерминированным алгоритмам вероятностями, в сумме дающими единицу. (Предполагаем, что это вероятностное пространство алгоритмов не зависит от конкретного входа, т. е. конкретного массива длины n.) Тогда в соответствии с принципом Яо сложность этой рандомизированной сортировки не может быть меньше чем log2 n!, так как при равномерном распределении вероятностей Задачи на П n для сложности в среднем детерминированных алгоритмов сортировки мы имеем в силу предложения 17.1 нижнюю границу log2 n\ при любом n.г 74. Для обсуждавшихся в задаче 8 алгоритмов сортировки вагонов функция З n - 1 является нижней границей их сложности, откуда следует, что тот алгоритм, который требуется указать в задаче 8, является оптимальным в рассматриваемом классе. 75. Для сложности класса обсуждавшихся в задаче 17 алгоритмов поиска двери в стене функция n является асимптотической нижней границей, откуда следует, что тот алгоритм, который требуется указать в задаче 17, является оптимальным по порядку сложности в рассматриваемом классе. 76. (Продолжение предыдущей задачи.) Для поиска двери мож Указание. Пусть m таково, что km-1 <nЦkm. Возможно, что потребуется число шагов, равное 2(k + k 2 +... + km) + 2(k + k 2 +... + km -1) + n. 77. Нарисовать дерево быстрой сортировки для случая n = 3, счи 78. Дать другое доказательство предложения 14.2. Рассмотреть Указание. Если некоторый алгоритм сортировки требует не более h(n) сравнений, то длина каждой из последовательностей не превосходит h(n), и общее число последовательностей не превосходит 2h n. Дополнительные примеры применения принципа Яо можно найти в [55, гл. 2]. 130 Глава 4. Нижняя граница сложности. Оптимальные алгоритмы 79. Аналогично предыдущей задаче, дать другое доказательство предложения 14.4. 80. Как уже отмечалось (со ссылкой на приложение D), n является нижней границей сложности как по числу аддитивных операций, так и по числу умножений для класса алгоритмов, вычисляющих значение полинома anxn +... + aгx + a0 с помощью операций сложения, вычитания и умножения (при рассмотрении числа n как размера входа x, a0, aъ..., an). Означает ли это, что при вычислении любого фиксированного полинома p (x) степени n при заданном значении переменной x потребуется не менее n аддитивных операций и n умножений? Указать такие нижние границы сложности (по числу аддитивных операций и по числу операций умножения) алгоритмов вычисления полинома 2 (n)xk, которые растут при n —»оо существенно медленнее, k =0 чем n. 81. Имеется плитка шоколада размера k х l клеток, которую требуется разломать на отдельные клетки. Каждый разлом применяется к одному куску плитки и производится по прямой линии. Затраты каждого алгоритма решения этой задачи применительно к конкретной плитке измеряются числом потребовавшихся разломов. Указать оптимальный алгоритм решения этой задачи и выписать его сложность. Числа k, l считаются параметрами размера входа алгоритмов. 82. Если условно изобразить элементы массива длины n точками на плоскости, соединяя отрезками те из них, которые непосредственно сравнивались в процессе некоторого алгоритма поиска, — скажем, поиска наименьшего элемента, одновременного поиска наибольшего и наименьшего элементов, поиска k -го по величине элемента (в частности, поиска медианы, т.е. |"§]-го элемента), —то получающийся граф должен быть связным, иначе мы бы ничего не могли сказать о том, как соотносятся между собой элементы из разных компонент. Показать, что для всех алгоритмов поиска, сопоставляющих указанным (неявным) образом связные графы конкретным массивам, n - 1 является нижней границей сложности по числу сравнений (как в худшем случае, так и в среднем); в частности, это верно для алгоритмов поиска медианы. Указание. Дерево с n вершинами имеет n - 1 ребро. 83. Рассмотрим класс алгоритмов поиска k первых (меньших) по Задачи элемента. Как обычно, имеется в виду поиск с помощью сравнений. Доказать, что любая нижняя граница сложности по числу сравнений алгоритмов первого класса является нижней границей и для второго класса. 84. Дать доказательство предложения 14.1, построенное по той же Указание. Рассмотреть тройки множеств (A, B, C), включая в A на каждом этапе алгоритма все те элементы, которые еще не сравнивались, в B — все те, которые участвовали в сравнениях и всегда оказывались меньшими, в C — все те, которые участвовали в сравнениях и в некоторых оказывались большими. 85. Доказать содержащееся в доказательстве предложения 15.1 утверждение, что после первого сравнения постоянно будет выполнено b ^l, c ^1. 86. В классе алгоритмов вычисления an с помощью умножений (a фиксировано, n е N) при рассмотрении n в качестве размера входа существует оптимальный алгоритм. То же самое—при рассмотрении m = A(n) в качестве размера входа. 87. Бинарный алгоритм возведения в степень n не является оптимальным по числу умножений и при использовании m = А(n) в качестве размера входа. Указание. Рассмотреть алгоритм, который для всех n ф 15 работает как бинарный алгоритм, а при n = 15 — несколько быстрее (см. задачу 19), и показать, что такой алгоритм при m = 4 имеет сложность меньшую, чем бинарный. 88. (Продолжение задачи 87.) Является ли оптимальным по порядку сложности бинарный алгоритм возведения в степень n при использовании m = A(n) в качестве размера входа? 89. Рассмотренный в задаче 64 алгоритм поиска фальшивой монеты, требующий в худшем случае не более [log3 n] взвешиваний, является оптимальным для худшего случая. 90. Нижней границей сложности любого алгоритма деления отрезка на n равных частей с помощью циркуля и линейки (см. задачу 18) при рассмотрении числа n в качестве размера входа является, n -1 в частности, —^—. 91. Отсутствие указания основания логарифма в (16.1) является корректным. 92. Функция log2(n + l) является нижней границей сложности в среднем алгоритмов поиска места элемента в упорядоченном массиве 132 Глава 4. Нижняя граница сложности. Оптимальные алгоритмы длины п с помощью сравнений (считаем, что в диапазоне от 1 до п + 1 место может быть любым с одинаковой вероятностью +-). Указание. Для доказательства воспользоваться предложением 17.1. 93. (Продолжение предыдущей задачи.) Алгоритм бинарного поиска является оптимальным в среднем по порядку сложности в классе алгоритмов поиска места элемента с помощью сравнений. 94. Алгоритм, описанный в задаче 29, является оптимальным как в худшем случае, так и в среднем. 95. Пусть TQS(n) и 7^pt(n) — сложности в среднем быстрой сортировки и оптимальной в среднем сортировки. Верно ли, что Гд5(п)~ ~ T opt(n)? Если нет, то можно ли подобрать константу с такую, что f Q (n)~ c fopt(n)? 96. Утверждение теоремы 17.1 перестает быть верным, если его изменить, удалив условие, что т < °° всюду на рассматриваемом вероятностном пространстве: при выполнении всех остальных условий может оказаться, что т = °° при том, что X! ^fc имеет конечное зна- fc=i чение. Указание. Рассмотреть постоянные величины gfc = взяв hk = Е,к для всех к; при любом q > 1 получается противоречие с измененным утверждением. г 97. Функция log2(n + 1) является нижней границей сложности ран Эта задача сообщена автору А.В.Бернштейном. Глава 5
Дата добавления: 2014-01-11; Просмотров: 591; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |