Неразрешимо, распознает ли КПК , множество всех строк входного алфавита.Σ∗
Добавлен. Нельзя решить, что L(G)=Σ∗ как следствие того факта, что «недействительные» вычисления TM могут быть закодированы как строки CFG. Это лемма 8.7 «Введение в теорию автоматов» Хопкрофта и Уллмана. Авторы ссылаются на этот результат на Хартманиса (1967), Языки без контекста и машинные вычисления Тьюринга.
Удобное кодирование вычислений машины Тьюринга заключается в следующем. Конфигурация TM M представляет собой строку вида x p y, где u v - содержимое ленты, а состояние p указывается в позиции, в которой находится головка. Важно отметить, что вычислительные шаги TM являются локальными изменениями: u c p a v ⊢ u q c b v для инструкции ( p , a , q , b )MMxpyuvpucpav⊢uqcbv(p,a,q,b,L)где голова движется влево, и для инструкции ( p , a , q , b , R )ucpav⊢ucbqv(p,a,q,b,R) где голова движется вправо.
Допустимое вычисление может быть закодировано как строка где w 0 = q 0 x кодирует начальную конфигурацию строки x , и у нас есть надлежащие шаги w i ⊢ w i + 1 . Последняя конфигурация в строке должна быть конечной, т. Е. Иметь состояние остановки / завершения.w0#wR1#w2#wR3#…w0=q0xxwi⊢wi+1
Теперь необходимо проверить, что строки, которые не являются допустимыми вычислениями, могут быть сгенерированы CFG (или приняты КПК). Строки, которые не состоят из последовательностей конфигурации, являются даже регулярными. В противном случае один недетерминистически угадывает позицию, где не w i ⊢ w i + 1 . Эта часть строки генерируется грамматикой, которая аналогична грамматике { x # y R ∣ x , y ∈ { a , b } ∗ , x ≠ y }GM wi⊢wi+1{x#yR∣x,y∈{a,b}∗,x≠y} .
Если TM не имеют обслуживаемые строк, он не будет иметь никаких действительных вычислений, и все строки генерируется грамматикой G M .MGM