1. Приведите полиномиальный алгоритм сведения задачи о выполнимости 3-КНФ к следующей задаче о целочисленном решении неравенств: Дано: Система неравенств. Неравенства могут быть как строгие, так и нестрогие. В неравенствах могут присутствовать переменные и константы из области вещественных чисел. Также в неравенствах допустимы следующие операции: сложение, вычитание, умножение, деление, возведение в степень и отрицание. Вопрос: Существует ли целочисленное решение данной системы? 2. Языки A и B принадлежат классу NP, а C – NP-трудный язык. Докажите или опровергните, что A ∩ B ∈ PC . 3. Приведите полиномиальный алгоритм сведения задачи о клике к следующей задаче о целочисленном решении неравенств: Дано: Система неравенств. Неравенства могут быть как строгие, так и нестрогие. В неравенствах могут присутствовать переменные и константы из области вещественных чисел. Также в неравенствах допустимы следующие операции: сложение, вычитание, умножение, деление, возведение в степень и отрицание. Вопрос: Существует ли целочисленное решение данной системы? Решение: По экземпляру задачи о клике, hG = (V, E), ki, построим систему неравенств следующим образом. Каждой вершине v ∈ V поставим в соответствие переменную xv , и для каждой v ∈ V добавим в систему неравенство 0 ≤ xv ≤ 1. (1) Для каждой пары вершин (v, w) 6∈ E добавим в систему неравенство xv + xw ≤ 1. (2) Наконец, добавим неравенство X k≤ xv ≤ k. v∈V 1 (3) Если в исходном графе есть клика C размера k, то присвоив единицы всем переменным, соответствующим вершинам из C, и нули — всем прочим переменным, получим целочисленное решение построенной системы неравенств. Действительно, неравенства (1) и (3) очевидно выполняются. Между любой парой вершин из C существует ребро. Следовательно, хотя бы одна переменная в каждом неравенстве вида (2) не принадлежит C, и этой переменной присвоен нуль. Таким образом, неравенства вида (2) также выполняются. Обратно, пусть построенная система неравенств имеет целочисленное решение. В силу (1) каждой переменной присвоен нуль или единица. В силу (2) между любыми двумя вершинами, соответствующими переменными, которым присвоены единицы, есть ребро. В силу (3) единицы присвоены в точности k переменным. Следовательно, в исходном графе есть клика размера k, состоящая из вершин, соответствующих переменным, которым присвоены единицы. 4. Известно, что язык A ∈ P. Верно ли, что P = PA ? Обоснуйте ответ. 5. NSPACETIME(f (n), g(n)) — класс всех языков, разрешимых на недетерминированной машине Тьюринга с временем работы O(g(n)), использующей O(f (n)) памяти. Пусть L ∈ NSPACE(f (n)) ∩ NTIME(g(n)). Следует ли из этого, что L ∈ NSPACETIME(f (n), g(n))? Поясните ответ. 6. Приведите полиномиальный алгоритм сведения задачи о минном поле: Дано: Неориентированный граф, некоторые вершины которого помечены числами. Вопрос: Можно ли разместить мины в непомеченных вершинах графа так, чтобы у всякой вершины v, помеченной числом m, было в точности m заминированных соседей? к следующей задаче о целочисленном решении неравенств: 2 Дано: Система неравенств. Неравенства могут быть как строгие, так и нестрогие. В неравенствах могут присутствовать переменные и константы из области вещественных чисел. Также в неравенствах допустимы следующие операции: сложение, вычитание, умножение, деление, возведение в степень и отрицание. Вопрос: Существует ли целочисленное решение данной системы? Решение: По экземпляру задачи о минном поле, hG = (V, E), f : V → N ∪ {⊥}i, где f — функция, сопоставляющая каждой вершине число заминированных соседей или фиктивный символ ⊥, построим систему неравенств следующим образом. Каждой вершине v ∈ V поставим в соответствие переменную xv , и для каждой v ∈ V добавим в систему неравенство 0 ≤ xv ≤ 1, (4) если f (v) = ⊥, и неравенство 0 ≤ xv ≤ 0 (5) в противном случае. Для каждой вершины v ∈ V , такой что f (v) 6= ⊥, добавим в систему неравенство X f (v) ≤ xw ≤ f (v). (6) (v,w)∈E Если в исходном графе можно разместить мины, не нарушая условия, то присвоив единицы всем переменным, соответствующим заминированным вершинам, и нули — всем прочим переменным, получим целочисленное решение построенной системы неравенств. Действительно, неравенства (4) и (5) очевидно выполняются. Так как у каждой помеченной вершины v заминировано ровно f (v) соседей, то неравенства вида (6) также выполняются. Обратно, пусть построенная система неравенств имеет целочисленное решение. В силу (4) каждой переменной, соответствующей непомеченной вершине, присвоен нуль или единица. В силу (5) каждой 3 переменной, соответствующей помеченной вершине, присвоен нуль. В силу (6) для каждой помеченной вершины v единицы присвоены в точности f (v) переменным, соответствующим вершинам, соседним с v. Следовательно, расставив мины в вершинах, соответствующих переменным, которым присвоены единицы, получим решение задачи о минном поле. 7. Докажите, что существует язык, разрешимый с использованием O(n3 ) памяти, но не разрешимый за O(n2 ) времени. 8. Докажите, что класс RP замкнут относительно объединения, т.е. если A ∈ RP и B ∈ RP, то A ∪ B ∈ RP. Решение: Пусть A ∈ RP и B ∈ RP. Тогда существуют вероятностные машины Тьюринга MA и MB с полиномиальным временем работы, такие что MA принимает слова, принадлежащие языку A, с вероятностью A ≥ 12 и отвергает слова, не принадлежащие языку A, с вероятностью 1; MB принимает слова, принадлежащие языку B, с вероятностью B ≥ 21 и отвергает слова, не принадлежащие языку B, с вероятностью 1. Можно построить машину MA∪B следующим образом. Получив на вход слово w, машина MA∪B запускает на этом слове машины MA и MB . Если хотя бы одна из этих двух машин принимает слово w, то MA∪B его также принимает; в противном случае машина MA∪B отвергает w. Машина MA∪B работает в течение полиномиального времени, так как MA и MB работают в течение полиномиального времени. Если w ∈ A∪B, то w ∈ A или w ∈ B и, следовательно, MA принимает w с вероятностью A , или MB принимает w с вероятностью B . Поэтому MA∪B принимает w с вероятностью не меньше min{A , B } ≥ 21 . Если же w 6∈ A ∪ B, то w 6∈ A и w 6∈ B и, следовательно, MA и MB отвергают w с вероятностью 1. С такой же вероятностью отвергает w и машина MA∪B . Существование машины MA∪B доказывает, что A ∪ B ∈ RP . 4 9. Докажите, что существует язык, разрешимый за время O(n3 ) на одноленточной машине Тьюринга, но не разрешимый за время O(n) на многоленточной машине Тьюринга. Решение: Любой язык, разрешимый на за время O(n) на многоленточной машине Тьюринга, разрешим за время O(n2 ) на одноленточной машине. Так как n3 — функция, конструируемая по времени, согласно теореме об иерархии существует язык разрешимый (на одноленточной машине) за время O(n3 ), но не за время o(n3 / log n3 ). Поскольку n2 = o(n3 / log n3 ), существует язык разрешимый на одноленточной машине за время O(n3 ), но не разрешимый на одноленточной машине за время O(n2 ) и, следовательно, не разрешимый на многоленточной машине за время O(n). 10. Докажите, что класс NL замкнут относительно объединения, т.е. если A ∈ NL и B ∈ NL, то A ∪ B ∈ NL. 5