Учитывая, что PDA M такой, что L (M) находится в DCFL, строят DPDA N такой, что L (N) = L (M)

11

Можно ли построить алгоритм, который принимает в качестве входных данных автомат сокращения вместе с обещанием, что язык, принятый этим автоматом является детерминированным контекстно-свободным языком и выводит детерминированный автомат нажатия который принимает именно принятый язык на ?ML(M)NM

Эквивалентная проблема была бы построить алгоритм , который принимает в качестве входного магазинного автомата (с обещанием , что является детерминированным, как указаны выше) и детерминированными магазинными автоматами . Вывод будет да, если и нет, если .ML(M)NL(M)=L(N)L(M)L(N)

Я полагаю, что алгоритм, решающий первое, дал бы алгоритм, решающий второе по разрешимости эквивалентности детерминированных автоматов. Я думаю, что решение для второго означало бы решение для первого, поскольку мы перечисляем все детерминированные автоматы нажатия и запускаем алгоритм для них один за другим, как только мы получаем экземпляр yes, мы выводим этот автомат.

Интересно, кто-нибудь знает что-нибудь об этом? Может быть, это известная проблема и / или есть известное решение? Кроме того, я считаю, что это можно решить, если вы введете ограничение, которое говорит о том, что язык, сгенерированный КПК, является проблемой слова группы.

Сэм Джонс
источник
1
Детерминизм и эквивалентность являются хорошо известными неразрешимыми проблемами. Вы найдете их, например, в Hopcroft & Ullman (1979) .
Сильвен
2
Да, это хорошо известные неразрешимые проблемы, но я не спрашиваю, возможно ли решить детерминизм. Я спрашиваю об эквивалентности PDA, который определенно принимает детерминированный язык и DPDA. Если я не пропустил что-то, то нет никаких очевидных причин, почему это должно быть неразрешимым, я не могу понять, почему это должно следовать из неразрешимости проблемы эквивалентности для КПК.
Сэм Джонс
мой плохой, я читаю ваш пост слишком быстро. Интересный вопрос на самом деле.
Сильвен

Ответы:

9

Возьмем детерминированный ТМ M и слово w . Рассмотрим историю его вычислений для слова w . Пусть L будет недействительными историями (те, которые не начинаются с w , не заканчиваются принятием или являются недействительными). Либо L=A ( M не принимает w ), либо Lзнак равноA*-{час} для некоторой строки час ( M принимает вес с историей вычислений час ). Прежде всего, Lявляется эффективным CFL, в том смысле, что вы можете построить грамматику / КПК, распознавая его. Кроме того, L является (неэффективным) DCFL, но вы не можете показать DPDA для него эффективно. Более того, L (неэффективно) регулярно.

Небольшое уточнение:

Вы спросили, разрешима ли следующая проблема:

данный PDA M обещал, что L(M) является DCFL, а DPDA N определяет, является ли L(M)знак равноL(N) .

Ответ - нет, и на самом деле имеет место следующий более сильный факт: следующая проблема неразрешима:

учитывая, что КПК M обещал, что L(M) является регулярным, определите, если L(M)знак равноA* .

sdcvvc
источник
Я не понимаю, что ты делаешь. Что такое? если A является алфавитом для ввода ТМ, то, говоря, что недействительными историями является означает, что ТМ принимает пустое множество. И что такое DCFG? Вы имеете в виду DPDA? A*
Сэм Джонс
@ Сэм Джонс: Рассматривайте любую историю вычислений, которая не начинается со слова как недействительную. Тогда недействительными историями являются A тогда и только тогда, когда M не принимает слово w . Да, я имел в виду DPDA. весA*Mвес
sdcvvc
Кажется, вы предполагаете, что машина Тьюринга может принять не более одного слова. Вы также не доказали, что не можете показать DPDA для или для L = A - { h }, вы просто заявили это. Я на самом деле знаю, как создавать DPDA, которые принимают каждый из этих языков. Lзнак равноA*Lзнак равноA*-{час}
Сэм Джонс
2
MвесMвесM
1
ОК, наконец-то.
Сильвен