Теория сложности (старая трешовая версия) — различия между версиями
Ulyantsev (обсуждение | вклад) (→Лекция 1. Вводная) |
Ulyantsev (обсуждение | вклад) (→Лекция 1. Вводная) |
||
Строка 4: | Строка 4: | ||
*'''DTIME'''(''f''(''n'')) = <tex>\{ L \mid \exists </tex> машина Тьюринга <tex>m : L(m)=L, Time(m,x) \le f(|x|) \}</tex>, где <tex>|x|</tex> — длина входа <tex>x</tex>. | *'''DTIME'''(''f''(''n'')) = <tex>\{ L \mid \exists </tex> машина Тьюринга <tex>m : L(m)=L, Time(m,x) \le f(|x|) \}</tex>, где <tex>|x|</tex> — длина входа <tex>x</tex>. | ||
− | *'''DSPACE'''(''f''(''n'')) = <tex>\{ L \mid \exists </tex> машина Тьюринга <tex>m : L(m)=L, Space(m,x) \le f(|x|) \} | + | *'''DSPACE'''(''f''(''n'')) = <tex>\{ L \mid \exists </tex> машина Тьюринга <tex>m : L(m)=L, Space(m,x) \le f(|x|) \}</tex>. |
− | Аналогичным образом введем классы '''[[NSPACE]]''' и '''[[NTIME]]''', использующие недетерминированную машину Тьюринга взамен детерминированной. | + | Аналогичным образом введем классы '''[[NSPACE]]''' и '''[[NTIME]]''', использующие недетерминированную машину Тьюринга взамен детерминированной (в течении всего курса префикс '''D''' соответствует детерминизму, а '''N''' — недетерминизму). |
Рассмотрим и докажем теоремы о емкостной и временной иерархии. | Рассмотрим и докажем теоремы о емкостной и временной иерархии. | ||
Строка 16: | Строка 16: | ||
Через понятия классов '''[[DSPACE]]''', '''[[DTIME]]''', '''[[NSPACE]]''' и '''[[NTIME]]''' будет дано определение многим сложностным классам, в том числе '''[[P]]''' и '''[[NP]]'''. | Через понятия классов '''[[DSPACE]]''', '''[[DTIME]]''', '''[[NSPACE]]''' и '''[[NTIME]]''' будет дано определение многим сложностным классам, в том числе '''[[P]]''' и '''[[NP]]'''. | ||
− | + | Класс '''P''' — класс языков (задач), разрешимых на детерминированной машине Тьюринга за полиномиальное время. Формально: | |
− | + | *'''P'''=<tex>\bigcup_{i=0}^{\infty}</tex>'''[[DTIME]]'''<tex>(in^i)</tex> | |
+ | |||
+ | В свою очередь, при разрешении языка из класса '''NP''' используется недетерминированная машина: | ||
+ | *'''NP'''=<tex>\bigcup_{i=0}^{\infty}</tex> '''NTIME'''<tex>(in^i)</tex> | ||
+ | Дадим определение класса '''NP''' на языке сертификатов | ||
+ | *'''NP'''=<tex>\Sigma_1 = \{L|\exists R(x,y) \in P, p \in Poly | l \in L \Leftrightarrow \exists y, |y| \le p(x) | R(x,y)=1\}</tex> (Первое равенство доказывается в статье '''[[NP]]''') | ||
+ | |||
*[[Класс co-NP]] | *[[Класс co-NP]] |
Версия 20:25, 2 июня 2010
Содержание
Лекция 1. Вводная
Начнем курс с введения понятий DTIME и DSPACE.
- DTIME(f(n)) = машина Тьюринга , где — длина входа .
- DSPACE(f(n)) = машина Тьюринга .
Аналогичным образом введем классы NSPACE и NTIME, использующие недетерминированную машину Тьюринга взамен детерминированной (в течении всего курса префикс D соответствует детерминизму, а N — недетерминизму).
Рассмотрим и докажем теоремы о емкостной и временной иерархии.
- Теорема о емкостной иерархии утверждает, что для любых двух конструируемых по памяти функций и таких, что , выполняется DSPACE(g(n)) ≠ DSPACE(f(n)).
- Теорема о временной иерархии утверждает, что для любых двух конструируемых по времени функций и таких, что , выполняется DTIME(g(n)) ≠ DTIME(f(n)).
Через понятия классов DSPACE, DTIME, NSPACE и NTIME будет дано определение многим сложностным классам, в том числе P и NP.
Класс P — класс языков (задач), разрешимых на детерминированной машине Тьюринга за полиномиальное время. Формально:
- P=DTIME
В свою очередь, при разрешении языка из класса NP используется недетерминированная машина:
- NP= NTIME
Дадим определение класса NP на языке сертификатов
- NP=NP) (Первое равенство доказывается в статье
Практика 1
Лекция 2
Практика 2
- Понятие NP-трудной и NP-полной задачи
- NP-полнота задачи BH1N
- NP-полнота задачи о выполнимости булевой формулы в форме КНФ
- NP-полнота задачи о выполнимости булевой формулы в форме 3-КНФ
- NP-полнота задачи о клике
- NP-полнота задачи о независимом множестве
- NP-полнота задачи о вершинном покрытии
Лекция 3
Практика 3
- NP-полнота задач о гамильтоновом цикле и пути в графах
- NP-полнота задачи о сумме подмножества
- NP-полнота задачи о рюкзаке
Практика, которой на самом деле не было
Лекция 5
Лекция 6
- Классы L, NL, NLC
- NL-полнота задачи о достижимости в графе
- Классы EXP, NEXP. Полнота языков EXP и NEXP
- Теорема о связи вопросов EXP=NEXP и P=NP
- Теорема Иммермана
Практика 6
Лекция 7
Практика 7
- Вероятностная машина Тьюринга
- Класс ZPP
- Сложностные классы RP и coRP
- Сложностный класс PP
- Сложностный класс BPP
- Уменьшение ошибки в классе RP, сильное и слабое определение
Лекция 8
Практика 8
Лекция 9
Лекция 10
Лекция 11
- Абсолютная секретность
- Лемма о невозможности существования вычислительно безопасных шифров в случае P = NP
- Односторонние функции и псевдослучайные генераторы
- Доказательства с нулевым разглашением
Лекция 12
- Кубит
- Унитарные операторы
- ЭПР парадокс
- Квантовый логический элемент NOT
- Преобразование Адамара
- Квантовый логический элемент CNOT
- Квантовый логический элемент Тоффоли
- Квантовая схема