Вопросы к экзамену по курсу «Сложность алгоритмов»

Вид материалаВопросы к экзамену
Подобный материал:
Вопросы к экзамену по курсу «Сложность алгоритмов» для гр. 418 и 419.

Лектор: В.Б. Алексеев, осень 2010 года.


В билете 2 вопроса – один из части А и один из части В.


Часть А – ответ без подготовки, но по любым материалам (конспекты, книжки и т.д.). Проверяется, насколько осознаны все доказательства (основной вопрос – «почему?»). Определения и формулировки утверждений – без конспектов.

  1. Метод «разделяй и властвуй». Теорема о скорости роста функции, заданной рекуррентным неравенством.
  2. Алгоритм Тоома для умножения чисел.
  3. Алгоритм Штрассена для умножения матриц.
  4. Алгоритмы обычного и булевского умножения матриц с битовыми операциями.
  5. Сложность распознавания принадлежности функции, заданной векторно, классам, определяемым двухместными предикатами.
  6. Сложность распознавания принадлежности булевой функции, заданной векторно, классу FmU(Rm).
  7. Алгоритм Вороненко для распознавания монотонности, его сложность.
  8. Вычислимые функции, их нумерация. Теоремы о существовании трудно вычислимой общерекурсивной функции.
  9. Теорема Барздиня о распознавании симметрии.
  10. Теорема об эквивалентности регулярных языков и языков, распознаваемых автоматом.
  11. Теорема о регулярности языка, распознаваемого со следом константной длины.
  12. Теорема о регулярности языка, распознаваемого со слаборастущими длиной следа или временем.
  13. Теорема Кука.
  14. Теорема об NP-полноте языка 3 – ВЫПОЛНИМОСТЬ.
  15. Полиномиальный алгоритм для распознавания 2 – выполнимости.
  16. Теорема об NP-полноте языка ГАМИЛЬТОНОВ ЦИКЛ.
  17. Жадный алгоритм для задачи о кратчайшем остовном дереве.
  18. Задача коммивояжера, ее NP-трудность, теоремы о приближенных алгоритмах для нее.
  19. Задача о максимальной клике, ее NP-трудность, теорема о приближенных алгоритмах для нее.
  20. Класс PSPACE. Соотношение между классами NP и PSPACE. Теорема о PSPACE-полноте задачи о квантифицированных булевских формулах.


Часть В – ответ без конспектов и почти без подготовки (с доказательствами).

  1. Сложность алгоритма бинарного поиска в упорядоченном массиве.
  2. Нижние оценки сложности поиска в упорядоченном массиве.
  3. Нижняя оценка сложности сортировки. Сложность алгоритма сортировки вставкой.
  4. Сложность алгоритма сортировки слиянием.
  5. Алгоритм динамического программирования для задачи об оптимальном порядке умножения матриц.
  6. Алгоритм динамического программирования для поиска кратчайших путей между всеми парами вершин в графе.
  7. Алгоритм Карацубы для умножения чисел.
  8. Алгоритм транзитивного замыкания графа.
  9. Верхние оценки сложности распознавания принадлежности булевой функции, заданной векторно, предполным классам Поста T0, T1, S, L.
  10. Леммы о длине различных слов.
  11. Классы P и NP. Примеры языков из NP. Замкнутость класса P относительно полиномиального сведения.
  12. Теоремы об NP-полноте языков КЛИКА, Независимое Множество Вершин, Вершинное Покрытие.
  13. Полиномиальный алгоритм для построения эйлерова цикла.
  14. Задача о минимальном вершинном покрытии, ее NP-трудность, жадный и 1-приближенный алгоритмы для нее.
  15. Класс DLOG. Соотношение между классами DLOG и P.


Литература.
  1. Алексеев В.Б. Введение в теорию сложности алгоритмов. М.: Изд. отдел ф-та ВМиК МГУ, 2002.
  2. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М., «Мир», 1979.
  3. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. М., «Мир», 1985.