- •Глава 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
§ 17. Нижняя граница сложности в среднем
121
инверсионного вектора перестановки. Эта функция является случайной величиной на Пn, при этом ДL = -1 на каждом шаге алгоритма. В других ситуациях начальное значение L может определяться однозначно, тогда как ДL является случайной величиной. Сформулируем теорему, полезную в этих ситуациях.
Теорема 17.1. Пусть £1,£2, ... —последовательность неотрицательных случайных величин на некотором вероятностном пространстве. Пусть числовая последовательность h1,h2, ... такова, что для каждого k^1 выполнено E(Ckl^1, ?2, ..., ?k-1) ** h при всех значениях ?1, ?2, ..., Sk-1. Зафиксируем неотрицательное число q и введем целочисленную случайную величину
т = minn:
7 Л
k=1
Пусть т < оо всюду на рассматриваемом вероятностном пространстве. Тогда е( £ hk ^ q.
k=1
Доказательство приведено в приложении E.
Для того чтобы воспользоваться этой теоремой, можно опять попытаться определить некоторую неотрицательную функцию L, отражающую степень «недорешенности» рассматриваемой задачи: значение L равно нулю, если алгоритм доработал до конца и задача решена. Считаем, что всем входам фиксированного размера сопоставляется одно и то же значение функции L. После выбора такой функции L мы должны показать, что последовательность величин Е(-ДL), соответствующих идущим друг за другом этапам алгоритма, ограничена сверху некоторой известной числовой последовательностью h1,h2, ...; тогда случайная величина т, равная для данного входа общему количеству этапов, приводящих к завершению алгоритма, такова, что Е( 2 hk ) ^ q, где q — значение функции L, сопоставляе-
мое входам алгоритма рассматриваемого фиксированного размера. Это неравенство можно использовать, чтобы оценить снизу значение Ет. Конечность величины т следует из завершимости алгоритма для любого входа.
Пример 17.2. Вернемся к задаче одновременного выбора наибольшего и наименьшего элементов массива длины n, n ^ 2, с помощью сравнений (пример 15.1). Вероятностным пространством здесь вновь будем считать Пn. Каждая перестановка из Пn отражает, как обычно,
122 Глава 4. Нижняя граница сложности. Оптимальные алгоритмы
взаимный порядок элементов исходного массива. Все перестановки считаются равновероятными.
Чтобы воспользоваться теоремой 17.1, мы полагаем, что случайные величины Е,1, Е,2, ... для произвольного алгоритма одновременного выбора наибольшего и наименьшего элементов равны значениям -AL на последовательных шагах этого алгоритма, об определении функции L будет сказано ниже. Значения £1,£2, ... зависят от конкретной перестановки из Пn, отражающей взаимный порядок элементов в исходном массиве. После того, как алгоритм закончил работу, значения Е,k при последующих значениях k равны нулю.
Предложение 17.2. Функция
(-n - 2, если n четно,
3 1 (17.1)
I 2n - 2 + 2 n-, если n нечетно,
является нижней границей сложности в среднем алгоритмов одновременного выбора наибольшего и наименьшего элементов массива длины n, n ^ 2, c помощью сравнений.
Доказательство. Вновь обратимся к множествам A, B, C, D, к рассмотренным в доказательстве предложения 15.1 типам AA,AB, ...,DD сравнений, количествам a, b, c, d элементов множеств A, B,C,Dи функции L(a, b, c, d) = 32a + b + c - 2 (равенство L = 0 является необходимым и достаточным условием того, что искомые элементы найдены).
Пусть в процессе выбора наибольшего и наименьшего элементов массива уже произведены некоторые сравнения элементов этого массива. При каждом из этих сравнений получался некоторый результат «истина» или «ложь», и эти результаты нам известны. Если процесс выбора наибольшего и наименьшего элементов еще не завершен, то следующим шагом вновь будет некоторое сравнение одного из типов AA, AB,..., DD. Сравнения AB, AC и BC представляют особый интерес, так как можно бы предположить, что здесь получится ЕДL<-1. Но на самом деле это неравенство не имеет места ни при одном из этих трех типов сравнений.
Тип BC. Покажем невозможность такого выбора индексов i и j, основанного только на результатах уже произведенных сравнений, что xi g B, xj g C и при этом с вероятностью, не меньшей половины, выполняется xi < xj.
Пусть сделан некий выбор индексов i и j, при котором xi е B, xj g C. Рассмотрим множество M всех массивов y 1,y2, ...,yn, которые