- •Глава 1
- •§ 1. Затраты алгоритма для данного входа, алгебраическая сложность
- •§ 1. Затраты алгоритма для данного входа
- •§ 1. Затраты алгоритма для данного входа
- •§ 1. Затраты алгоритма для данного входа
- •§ 1. Затраты алгоритма для данного входа
- •§ 2. Асимптотические оценки (формализм)
- •§ 2. Асимптотические оценки (формализм)
- •§ 2. Асимптотические оценки (формализм)
- •§ 3. Асимптотические оценки (два примера) 23
- •§ 3. Асимптотические оценки (два примера)
- •§ 3. Асимптотические оценки (два примера)
- •§ 3. Асимптотические оценки (два примера)
- •§ 3. Асимптотические оценки (два примера)
- •§ 4. Длина числа как возможный размер входа
- •§ 4. Длина числа как возможный размер входа
- •§ 4. Длина числа как возможный размер входа
- •§ 4. Длина числа как возможный размер входа
- •Глава 2
- •§ 5. Понятие сложности в среднем
- •§ 5. Понятие сложности в среднем
- •Глава 2. Сложность в среднем
- •§ 5. Понятие сложности в среднем
- •Глава 2. Сложность в среднем
- •§ 6. Сортировка и конечные вероятностные пространства.
- •§ 6. Сортировка и конечные вероятностные пространства 47
- •Глава 2. Сложность в среднем
- •§ 6. Сортировка и конечные вероятностные пространства 49
- •Глава 2. Сложность в среднем
- •§ 6. Сортировка и конечные вероятностные пространства 51
- •Глава 2. Сложность в среднем
- •§ 7. Пример медленного роста сложности в среднем
- •§ 7. Пример медленного роста сложности в среднем в сравнении со сложностью в худшем случае
- •Глава 2. Сложность в среднем
- •§ 7. Пример медленного роста сложности в среднем 55
- •Глава 2. Сложность в среднем
- •§ 7. Пример медленного роста сложности в среднем
- •Глава 2. Сложность в среднем
- •§ 8. Функция затрат рандомизированного алгоритма
- •§ 8. Функция затрат рандомизированного алгоритма
- •Глава 2. Сложность в среднем
- •§ 8. Функция затрат рандомизированного алгоритма
- •Глава 2. Сложность в среднем
- •§ 8. Функция затрат рандомизированного алгоритма
- •Глава 2. Сложность в среднем
- •Глава 2. Сложность в среднем
- •Глава 2. Сложность в среднем
- •Глава 2. Сложность в среднем
- •Глава 2. Сложность в среднем
- •Глава 3
- •§ 9. Функции, убывающие по ходу выполнения алгоритма
- •§ 9. Функции, убывающие по ходу выполнения алгоритма 75
- •§ 9. Функции, убывающие по ходу выполнения алгоритма 77
- •§ 9. Функции, убывающие по ходу выполнения алгоритма 79
- •§ 9. Функции, убывающие по ходу выполнения алгоритма 81
- •§ 10. Качество оценок
- •§ 10. Качество оценок
- •§ 10. Качество оценок
- •§ 10. Качество оценок
- •§ 11. Завершимостъ работы алгоритма
- •§ 11. Завершимость работы алгоритма
- •§ 11. Завершимостъ работы алгоритма
- •§ 11. Завершимостъ работы алгоритма
- •§ 12. Вложенные циклы (дополнительные примеры)
- •§ 12. Вложенные циклы (дополнительные примеры)
- •§ 13. Нецелые размеры входа и непрерывные оценочные функции 97
- •§ 13. Нецелые размеры входа и непрерывные оценочные функции
- •§ 13. Нецелые размеры входа и непрерывные оценочные функции 99
- •Глава 4
- •§ 14. Понятие нижней границы сложности
- •§ 14. Понятие нижней границы сложности
- •§ 15. Оптимальные алгоритмы
- •§ 15. Оптимальные алгоритмы
- •§ 15. Оптимальные алгоритмы
- •§ 15. Оптимальные алгоритмы
- •§ 16. Асимптотические нижние границы. Алгоритм, оптимальный по порядку сложности
- •§ 16. Асимптотические нижние границы
- •§ 16. Асимптотические нижние границы
- •§ 17. Нижняя граница сложности в среднем
- •§ 17. Нижняя граница сложности в среднем
- •§ 17. Нижняя граница сложности в среднем
- •§ 17. Нижняя граница сложности в среднем
- •§ 17. Нижняя граница сложности в среднем 125
- •§ 18. Нижние границы сложности рандомизированных алгоритмов. Принцип Яо
- •§18. Нижние границы сложности рандомизированных алгоритмов 127
- •Глава 5
- •§ 19. Битовые операции
- •Глава 5. Битовая сложность
- •§ 19. Битовые операции
- •Глава 5. Битовая сложность
- •§ 20. Наивная арифметика: умножение
- •§ 20. Наивная арифметика: умножение
- •Глава 5. Битовая сложность
- •§ 20. Наивная арифметика: умножение
- •Глава 5. Битовая сложность
- •§ 21. Наивная арифметика: деление с остатком
- •§ 21. Наивная арифметика: деление с остатком
- •Глава 5. Битовая сложность
- •§ 21. Наивная арифметика: деление с остатком
- •Глава 5. Битовая сложность
- •§ 22. Модулярная арифметика
- •§ 22. Модулярная арифметика
- •Глава 5. Битовая сложность
- •§ 22. Модулярная арифметика
- •Глава 5. Битовая сложность
- •§ 22. Модулярная арифметика
- •Глава 5. Битовая сложность
- •§ 23. Булева арифметика
- •§ 23. Булева арифметика
- •Глава 5. Битовая сложность
- •§ 23. Булева арифметика
- •Глава 5. Битовая сложность
- •Глава 5. Битовая сложность
- •Глава 6
- •§ 24. Простейшие рекуррентные уравнения
- •§ 24. Простейшие рекуррентные уравнения
- •§ 24. Простейшие рекуррентные уравнения
- •§ 25. Об одном классе нелинейных рекуррентных соотношений 163
- •§ 25. Об одном классе нелинейных рекуррентных соотношений
- •§ 25. Об одном классе нелинейных рекуррентных соотношений 165
- •§ 25. Об одном классе нелинейных рекуррентных соотношений 167
- •§26. Асимптотические оценки решений рекуррентных неравенств 169
- •§ 26. Асимптотические оценки решений рекуррентных неравенств
- •§ 26. Асимптотические оценки решений рекуррентных неравенств 171
- •§ 27. Добавление нулей
- •§ 27. Добавление нулей 173
- •§ 27. Добавление нулей 175
- •§ 27. Добавление нулей
- •§ 27. Добавление нулей 179
- •Глава 7 Сводимость
- •§ 28. Линейная сводимость
- •Глава 7. Сводимость
- •§ 28. Линейная сводимость
- •Глава 7. Сводимость
- •§ 28. Линейная сводимость
- •Глава 7. Сводимость
- •§ 29. Линейная сводимость и нижние границы сложности
- •§ 29. Линейная сводимость и нижние границы сложности 191
- •Глава 7. Сводимость
- •§ 29. Линейная сводимость и нижние границы сложности 193
- •Глава 7. Сводимость
- •§ 30. Классы PиNp
- •§ 30. Классы р и np
- •Глава 7. Сводимость
- •§ 30. Классы PuNp
- •Глава 7. Сводимость
- •§ 30. Классы PuNp
- •Глава 7. Сводимость
- •§ 31. Существование задач распознавания, не принадлежащих р 201
- •§ 31. Существование задач распознавания, не принадлежащих р. Связь моделей мт и рам
- •Глава 7. Сводимость
- •§ 31. Существование задач распознавания, не принадлежащих р 203
- •Глава 7. Сводимость
- •§ 32. Полиномиальная сводимость. Np-полные задачи
- •§ 32. Полиномиальная сводимость. Np-полные задачи
- •Глава 7. Сводимость
- •Глава 7. Сводимость
- •Глава 7. Сводимость
- •Глава 7. Сводимость
- •Глава 1. Сложности алгоритмов как функции числовых аргументов. Сложность в худшем случае
- •119002, Москва, Большой Власьевский пер., 11. Тел. (499) 241-74-83
Глава 2. Сложность в среднем
Указание. Предположение о том, что V(m) < 23m/4 для всех т > т0, позволило бы, исходя из равенства
я(2т) = я(2т°) + У(т0 + 1) + У(т0 + 2) + ... + V(m),
вывести верхнюю оценку я(2ш) = 0(23ш/4), что вступило бы в противоре-
от
чие с неравенством я(2т)>с— с положительной константой с. Поэтому существует последовательность тп1 <гп2 < ... натуральных чисел таких, что V(m;) > 23m'/4, i = l,2, ... Можно рассмотреть (5.5) для тп = тп1,тп2, ...
25. Сложность по числу перемещений (обменов) в среднем для сортировки выбором при условии, что мы исключаем обмены вида
xt<—*Хъ, не превосходит п - 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) обозначает искомое математическое ожидание.
п Показать, что условное математическое ожидание исследуемого числа присваиваний, соответствующее первому событию, есть s(n- 1) + 1, а условное математическое ожидание, соответствующее второму событию, есть s(n - 1). Пользуясь формулой полного математического ожидания, вывести отсюда рекуррентное соотношение для s(n) и найти его решение, удовлетворяющее условию 5(1) = 1.
27. Пользуясь дискретным аналогом формулы Ньютона—Лейбни-
п
ца, согласно которому £ (/№ + 1) - /№)) = /(" + 1) - /(1), вычис-
fc=i
лить сумму 2 ттт.—Тл, входящую в (7.3).
Задачи
67
Исходя из (7.3), пользуясь приемом оценки сумм из приложения B и результатом из предыдущей задачи, доказать неравенство Гд5(п) ^2nlnn, из которого будет следовать, что величина 0{п) в правой части (7.4) отрицательна.
Вернемся к задаче 8. В качестве алгоритма с указанными свойствами можно предложить следующий: при наличии вагонов на правой стороне узла к операции В прибегаем лишь тогда, когда на левой стороне невозможно увеличить на 1 число вагонов с правильным чередованием цветов с помощью какой-то из операций МИМО и ИЗ; в остальных случаях выполняется одна из операций МИМО и ИЗ, если возможны обе, то первая из них. Как и в задаче 8, считаем, что черных и белых вагонов по п штук, и п — размер входа. Какова сложность по числу сортировочных операций этого алгоритма в среднем?
Указание.г Можно доказать следующие три утверждения.
Предположим, что в исходном расположении первый вагон на правой стороне белый. Тогда число сортировочных операций, требующихся алгоритму, равно Зп - к, где к есть количество максимальных сплошных последовательностей черных вагонов в исходном расположении (непосредственно слева и справа от каждой такой сплошной последовательности нет черных вагонов, таков смысл «максимальности»).
Вновь предположим, что в исходном расположении первый вагон на правой стороне белый. Тогда количество исходных расположений, в которых имеется ровно к максимальных сплошных последовательностей черных вагонов, есть ( J ( J.
3) -п-1п-1 = 2п-2 ,~,n-k к п
й в П-(п-к)ПП-1
=
к=1 n-k к п
Из первых двух утверждений выводится, что искомая сложность в среднем есть
2n + 2 • — =
f 2л Л
п
третье утверждение позволяет получить из этого, что интересующая нас
n(5n-3) 5 1
сложность есть — — = -п +
L =
П
+ -+о(1).
30. (Задача не связана со сложностью в среднем, но приводит к рекуррентному соотношению, которое решается сходно с (7.2).) Доказать, что для любого Z > 0 можно, не применяя клей, построить из костяшек домино, длина каждой из которых равна 2, навес длины Z
Решение принадлежит А.П.Фокину.
68