Список заданий по теории сложности lite 2021

Материал из Викиконспекты
Перейти к: навигация, поиск
  1. Докажите, что объединение и пересечение языков из $NP$ является языком из $NP$
  2. Докажите, что конкатенация и замыкание Клини языков $NP$ является языком из $NP$
  3. Когда мы задаем числа, мы обычно записываем их в десятичной системе счисления. Докажите, что выбор для формата ввода любой системы счисления с основанием $b \ge 2$ не влияет на принадлежность языка классу $P$.
  4. В унарной системе счисления число $n$ задаётся как $1^n$. Докажите, что язык $FAC.UNARY = \{\langle 1^n, 1^q \rangle |$ у $n$ существует делитель $t$, такой что $2 \le t \le q < n\}$ лежит в $P$. Почему это рассуждение не работает, если ввод происходит в двоичной системе счисления?
  5. В унарной системе счисления число $n$ задаётся как $1^n$. Докажите, что язык $UNARY.SUBSET.SUM = \{\langle 1^s, [1^{a_1}, 1^{a_2}, \ldots, 1^{a_n}] \rangle |$ можно выбрать подмножество $\{a_1, a_2,\ldots, a_n\}$ с суммой $s\}$ лежит в $P$.
  6. Язык $IND$ определяется следующим образом: $IND = \{\langle G, k\rangle|\mbox{в графе $G$ есть независимое множество размера $k$}\}$. Докажите, что $IND\in NP$.
  7. Язык $CLIQUE$ определяется следующим образом: $CLIQUE = \{\langle G, k\rangle|\mbox{в графе $G$ есть клика размера $k$}\}$. Докажите, что $CLIQUE\in NP$.
  8. Язык $VCOVER$ определяется следующим образом: $VCOVER = \{\langle G, k\rangle|\mbox{в графе $G$ есть вершинное покрытие размера $k$}\}$. Докажите, что $VCOVER\in NP$.
  9. Язык $COL$ определяется следующим образом: $COL = \{\langle G, k\rangle|\mbox{в графе $G$ есть раскраска в $k$ цветов}\}$. Докажите, что $COL\in NP$.
  10. В заданиях 4-5 приведены примеры задания численных значений в унарной системе счисления, чтобы перенести задачу из $NP$ в $P$. Можно ли применить аналогичный трюк в задачах 6-9?
  11. В определении $NP$ мы говорим, что при любом недетерминированном выборе программа должна завершиться не более чем за $p(n)$, где $p$ - полином, а $n$ - длина входа. На самом деле это требование может быть ослаблено, можно требовать, чтобы программа завершалась не более чем за $p(n)$ только в случае допуска. Докажите, что в таком определении класс $NP$ не меняется.
  12. $PRIMES\in NP$. Язык $PRIMES$ определяется следующим образом: это множество двоичных записей простых целых чисел. Доказательство принадлежности $PRIMES$ классу $NP$ разбито на два задания. Часть 1. Известно, что если $n$ простое, то существует $g$, такое что $g^{n-1}=1\pmod n$ и для всех $1 \le k < n - 1$ выполнено $g^k \ne 1 \pmod n$. Пусть известно разложение $n-1$ на простые множители: $n-1=q_1^{a_1}q_2^{a_2}\ldots q_k^{a_k}$. Предложите полиномиальный алгоритм проверки, что заданное $g$ удовлетворяет описанному условию.
  13. Часть 2. Можно недетерминированно выбрать $g$ и недетерминированно угадать разбиение $n-1$ на простые множители. Однако это требует проверки на простоту, чтобы убедиться, что угадано разложение именно на простые множители. Завершите доказательство, что $PRIMES \in NP$, описав рекурсивную процедуру проверки и доказав, что она работает за полиномиальное время.
  14. Докажите, что сведение по Карпу не является симметричным отношением на языках.
  15. Докажите, что сведение по Карпу не является антисимметричным отношением на языках.
  16. Задача останова $HALT = \{\langle m, x \rangle | m$ - детерминированная машина Тьюринга, $m(x) = 1\}$. Докажите, что $HALT$ является $NP$-трудной. Является ли она $NP$-полной?
  17. Петя свёл язык $A$ по Карпу к $NP$-полному языку $B$. Учитель утверждает, что из этого не следует, что $A$ является $NP$-полным. Помогите учителю подобрать пример.
  18. Формальная система доказательств представляет собой способ записи утверждений, аксиом, правила вывода и способ записи доказательств. Будем считать, что рассматривается достаточно богатая формальная система, в которой можно записывать различные утверждения про программы. Докажите, что язык $\{\langle \varphi, 1^n\rangle|\varphi$ - верное утверждение, имеющее доказательство длиной не больше $n\}$ является $NP$-трудным. Какие свойства надо предъявить к формальной системе, чтобы он являлся $NP$-полным?
  19. Класс $EXP$ определяется как множество языков $L$, для которых существует детерминированная программа, разрешающая $L$ за $O(2^{p(n)})$, где $p(n)$ - полином. Докажите, что $NP \subset EXP$.
  20. Класс $NEXP$ определяется как множество языков $L$, для которых существует недетерминированная программа, разрешающая $L$ за $O(2^{p(n)})$, где $p(n)$ - полином. Предложите понятие $NEXP$-полноты. По аналогии с $BH_{1N}$ определите язык $BH_{2N}$, докажите, что он является $NEXP$-полным.
  21. Можно ли сделать альтернативное определение $NEXP$ на языке сертификатов, как мы сделали с $NP$?
  22. Докажите, что если существует язык $L \in NEXPC \cap EXP$, то $NEXP = EXP$.
  23. Предположим, что существует $NP$-полный язык, для которого существует решение за $O(n^{C\log_2n})$, где $C$ - константа. Что можно сказать про класс $NP$ в этом случае?
  24. Рассмотрим языки $L_1 = \{\langle \Gamma, A, B\rangle|\Gamma$ - КС-грамматика, $A$ и $B$ - нетерминалы, множество слов, которые можно вывести из $A$ и $B$ совпадают$\}$, $L_2 = \{\langle \Gamma_1, \Gamma_2\rangle|\Gamma_1$ и $\Gamma_2$ - КС-грамматики, языки которых совпадают$\}$. Докажите, что $L_1\le L_2$ и $L_2 \le L_1$. Что можно сказать об $NP$-полноте языков $L_1$ и $L_2$ на основании этого?
  25. Сережа дал такое определение $NP$-полноты: язык $L$ является $NP$-полным по Серёже, если $L \in P \Rightarrow P = NP$. Прокомментируйте определение Серёжи.