577
правок
Изменения
Нет описания правки
{{Теорема|statement= Задача о проверке на пустоту пересечения двух КС-грамматик неразрешима.|proof= Пусть <tex> P A = \{ (G_1, G_2) \mid p_iL(G_1) \cap L(G_2) =1 \mid varnothing \sum w_i U_i}</tex> ={{Задача. Сведем [[Примеры неразрешимых задач: проблема соответствий Поста|definition=Дано проблему соответствий Поста]] к <tex>m\overline{A}</tex> одинаковых станков, на которых нужно выполнить таким образом показав, что дополнение проблемы неразрешимо. Так как рекурсивные языки [[Замкнутость разрешимых и перечислимых языков относительно теоретико-множественных и алгебраических операций|замкнуты относительно дополнения]], то из неразрешимости дополнения проблемы будет следовать неразрешимость самой проблемы. Для любого экземпляра ПСП <tex>n(x_1, x_2, ..., x_n)</tex> работ. Любая работа на любом станке выполняется единицу времени. Для каждой работы есть время окончания и <tex>d_i(y_1, y_2, ..., y_n)</tex> {{---}} ожидается, что до этого времени она будет закончена, и штраф над алфавитом <tex>w_i\Sigma</tex>, который нужно будет выплатить в случае, если работа была закончена после можно подобрать символ <tex>d_i\# \notin \Sigma</tex>. Необходимо минимизировать суммарный штраф, который придется выплатить.Для каждого экземпляра построим грамматики:}} == Описание алгоритма ==Оптимальное расписание для этой задачи будем задавать множеством работ * <tex>G_1 : S\rightarrow aSa \mid a\#a</tex>, которые будут выполнены в начале, как после будет показано, именно за эти работы штраф начислен не будет. Работы, которые не войдут в для всех <tex>Sa \in \Sigma</tex>, то есть завершатся с опозданием, могут быть выполнены в конце в любом порядке.Тогда <tex>L(G_1) = \{ w\#w^R \mid w \in \Sigma^* \}<br/tex>Чтобы построить множество , где обозначение <tex>Sw^R</tex>, будем добавлять работы в порядке неуменьшения их времен окончания, и как только некоторая работа {{---}} разворот <tex>jw</tex> опаздывает, удалим из .* <tex>G_2 : S\rightarrow x_iSy^R_i \mid x_i\#y^R_i</tex> работу с минимальным значением для всех <tex>w_ii = 1, 2, \dots n</tex> и поставим . Тогда <tex>jL(G_2) = \{ x_{i_1} x_{i_2} \dots x_{i_m} \# (y_{i_1} y_{i_2} \dots y_{i_m})^R \mid i_1, i_2, \dots i_m \in \{ 1, 2, \dots n \}, m \geqslant 1 \}</tex> на ее место. Если данный экземпляр ПСП имеет решение, то <tex>L(G_2)<br/tex>Пусть есть работы содержит хотя бы одну строку вида <tex>1 w\cdots n#w^R</tex> с временами окончания , поэтому <tex>d_1 L(G_1) \leq d_2 cap L(G_2) \leq ne \cdots \leq d_nvarnothing</tex>. Будем называть ''простоем '' временной интервал, в который на машине ничего и наоборот, если он не имеет решения, то <tex>L(G_2)</tex> не обрабатываетсясодержит строк такого вида, соответственно <tex>L(G_1) \cap L(G_2) = \varnothing</tex>. Тогда следующий алгоритм вычислит оптимальное множество Таким образом мы свели проблему соответствий Поста к <tex>S\overline{A}</tex>, следовательно, задача о проверке на пустоту пересечения двух КС-грамматик неразрешима.}}Из неразрешимости вышеприведенной задачи следует неразрешимость ряда других задач. Рассмотрим несколько примеров.
Таким образом, мы имеем:
{{Утверждение
|statement= Пусть дана грамматика <tex>G</tex>, <tex>L(G) = L</tex>. Тогда следующие задачи неразрешимы:
# Содержит ли <tex>L</tex> тандемный повтор.
# Содержит ли <tex>L</tex> палиндром.
}}