577
правок
Изменения
Нет описания правки
{{Теорема|statement= Задача о проверке на пустоту пересечения двух КС-грамматик неразрешима.|proof= Пусть <tex dpi >A = "200"> O \mid p_{i(G_1,j} G_2) \mid L(G_1) \cap L(G_2) = 1 \mid varnothing \sum T_{i} </tex>{{Задача. Сведем [[Примеры неразрешимых задач: проблема соответствий Поста|definition=Дано проблему соответствий Поста]] к <tex>m\overline{A}</tex> одинаковых станков, которые работают параллельнотаким образом показав, что дополнение проблемы неразрешимо. Так как рекурсивные языки [[Замкнутость разрешимых и перечислимых языков относительно теоретико-множественных и алгебраических операций|замкнуты относительно дополнения]], то из неразрешимости дополнения проблемы будет следовать неразрешимость самой проблемы. Для любого экземпляра ПСП <tex>n(x_1, x_2, ..., x_n)</tex> работи <tex>(y_1, y_2, которые необходимо выполнить в произвольном порядке на всех станках. Любая работа на любом станке выполняется единицу времени.., y_n)</tex> над алфавитом <tex>\Sigma</tex> можно подобрать символ <tex>\# \notin \Sigma</tex>. Для каждой работы есть время окончания каждого экземпляра построим грамматики:* <tex>G_1 : S \rightarrow aSa \mid a\#a</tex> для всех <tex>a \in \Sigma</tex>. Тогда <tex>L(G_1) = \{ w\#w^R \mid w \in \Sigma^* \}</tex>d_i, где обозначение <tex>w^R</tex> {{---}} время, до которого она должна быть выполненаразворот <tex>w</tex>. Необходимо минимизировать суммарную [[Классификация_задач* <tex>G_2 : S \rightarrow x_iSy^R_i \mid x_i\#Критерий оптимизации|медлительность]].}} y^R_i</tex> для всех <tex>i == Описание алгоритма ===== Идея ===Будем полагать1, что работы заданы в порядке неубывания их дедлайнов2, то есть \dots n</tex>. Тогда <tex>d_1 L(G_2) = \leqslant d_2 { x_{i_1} x_{i_2} \dots x_{i_m} \leqslant # (y_{i_1} y_{i_2} \ldots dots y_{i_m})^R \leqslant d_nmid i_1, i_2, \dots i_m \in \{ 1, 2, \dots n \}, m \geqslant 1 \}</tex>. {{Лемма|statement=Пусть есть работы Если данный экземпляр ПСП имеет решение, то <tex>L(G_2)</tex> содержит хотя бы одну строку вида <tex>1 w\ldots n#w^R</tex> с дедлайнами , поэтому <tex>d_1 L(G_1) \leqslant d_2 cap L(G_2) \leqslant ne \ldots \leqslant d_nvarnothing</tex>. Тогда существует оптимальное расписание, в котором времена завершения работ идут в том же порядкеи наоборот, если он не имеет решения, то есть <tex>C_1 L(G_2)</tex> не содержит строк такого вида, соответственно <tex>L(G_1) \leqslant C_2 \leqslant \ldots cap L(G_2) = \leqslant C_nvarnothing</tex>.|proof=Таким образом мы свели проблему соответствий Поста к <tex>\overline{A}</tex>, следовательно, задача о проверке на пустоту пересечения двух КС-грамматик неразрешима.
}}