Decidibilidade de idiomas de gramáticas e autômatos


16

Observe que esta é uma pergunta relacionada ao estudo em um curso de CS em uma universidade, NÃO é tarefa de casa e pode ser encontrada aqui no exame do outono de 20112.

Aqui estão as duas perguntas de um exame passado. Eles parecem estar relacionados, o primeiro:

Deixei

FEuNEuTECFG={<G> ∣G é uma gramática livre de contexto com |eu(G)|<}

Prove que é uma linguagem decidível. FEuNEuTECFG

e...

Deixei

FEuNEuTETM={<M> ∣M é uma máquina de Turing com |eu(M)|<}

Prove que é uma linguagem indecidível. FEuNEuTETM

Estou um pouco perdido em como lidar com esses problemas, mas tenho algumas idéias que acho que podem estar na direção certa. A primeira coisa é que estou ciente de que o idioma , em queUMAREX

UMAREX={<R,W> ∣R é uma expressão regular com Weu(R)}

é uma linguagem decidível (a prova está na Teoria da computação de Michael Sipser , pág. 168). A mesma fonte também prova que uma gramática livre de contexto pode ser convertida em uma expressão regular e vice-versa. Portanto, também deve ser decidível, pois pode ser convertido em uma expressão regular. Isso, eo fato de que é un -decidable, parece estar relacionado a este problema. A T MACFGATM

A única coisa em que consigo pensar é em passar G para máquinas de Turing para (depois de converter G em uma expressão regular) e . Em seguida, aceitando se G faz e rejeitando se G não faz. Como é indecidível, isso nunca acontecerá. De alguma forma, sinto que estou cometendo um erro aqui, mas não tenho certeza do que é. Alguém poderia me ajudar aqui? A T M A T MAREXATMATM


5
"uma gramática livre de contexto pode ser convertida em uma expressão regular e vice-versa" Isso não é verdade (a menos que você a interprete como "existe um CFG que pode ser convertido em uma expressão regular", mas acho que não é isso que você significava). Gramáticas regulares podem ser convertidas em expressões regulares. Não há algoritmo para converter CFGs em expressões regulares pelo simples motivo de que a maioria das linguagens livres de contexto (ou seja, todas as linguagens livres de contexto que também não são também regulares) não pode ser descrita usando uma expressão regular.
sepp2k

Respostas:


9
  1. Converta G para a forma normal de Chomsky . Dessa forma, a única derivação vazia seria o símbolo inicial que não aparece em nenhum outro lugar e, portanto, se houver alguma produção que possa eventualmente se gerar, a gramática será infinita. Se essa produção não existir, cada símbolo poderá gerar apenas um conjunto finito de seqüências de caracteres e a gramática será finita. Portanto, construa um gráfico direcionado em que cada produção seja um nó e cada símbolo dentro de uma produção seja uma aresta direcionada para esse símbolo. Se o gráfico tiver algum ciclo, o CFG é infinito, caso contrário, não é. Portanto, uma máquina de Turing para poderia ser construída fazendo exatamente isso, e então F IN I TFINITECFG é decidível.FINITECFG

  2. Suponha-se que é determinável. Digamos que H é uma máquina de Turing que tem alguma cadeia como entrada e ela própria utilizada como uma entrada para F I N I T E T M . Se F I N I T E T M retornar verdadeiro (ie, H aceita apenas uma linguagem finita), então HFINITETMHFINITETMFINITETMHHaceita a entrada, o que leva a uma contradição, pois o conjunto de entradas é infinito (o comprimento da entrada é ilimitado; portanto, aceite qualquer sequência possível, pois a entrada significa aceitar um conjunto infinito de seqüências). Se H existe leva à contradição, e essa suposição é baseada na suposição de que F I N I TFINITETMretorna false (ou seja , a linguagem de é infinita), então H rejeita a entrada, o que significa que a linguagem de H é finita porque não aceita nenhuma entrada (ou seja, seu idioma está vazio), o que também leva a uma contradição. Desta forma, a suposição de queHHHH é determinável. Então, por contradição, temos que F I N I T E T M não é decidível.FINITETMFINITETM

A mesma fonte também prova que uma gramática livre de contexto pode ser convertida em uma expressão regular e vice-versa.

Eu realmente duvido que a Sipser afirme que você provavelmente interpretou mal ou entendeu mal. Isso significaria que as gramáticas sem contexto geram exatamente os mesmos idiomas que as gramáticas lineares à direita. Isto é falso; as gramáticas lineares geradas são um subconjunto apropriado das gramáticas sem contexto de idiomas dp. Dito isto, a maneira como você tentou usar idiomas comuns para responder às perguntas apenas o leva a lugar nenhum.

Como você pode ver acima nas minhas provas, as duas perguntas são de fato duas questões muito distintas e não relacionadas. Acontece que eles foram redigidos de maneira semelhante.


1
Estou tendo algum problema após a segunda prova. OK, então você passa H para G, sim? Se G retorna verdadeiro que H é finito, isso faz sentido. No entanto, não entendo o conjunto de entradas como infinito, qual é a entrada a que você está se referindo?
precisa saber é o seguinte

1
@BrotherJack A entrada do pode ter qualquer comprimento, seu comprimento é ilimitado. Poderia ser uma sequência com apenas um símbolo ou uma entrada de um milhão de terabytes de comprimento. Dessa forma, as entradas possíveis para H são um conjunto infinito, pois podemos torná-lo arbitrariamente grande. HH
21312 Victor Stafusa

1
ESTÁ BEM. Isso parece fazer sentido. Seria preciso referir-se a essa entrada como "qualquer sequência possível dentro do idioma de entrada H"?
precisa saber é o seguinte

1
@BrotherJack - editei a resposta para deixar esse ponto mais claro.
21312 Victor Stafusa

1
Excelente explicação! Muito obrigado pelo seu tempo.
precisa saber é o seguinte

2

Outra maneira de decidir FINITECFG é através do lema de bombeamento.

O lema de bombeamento diz que cada CFL tem um número N (que pode ser calculado a partir da gramática, ou pelo menos um limite superior pode ser facilmente calculado), de modo que qualquer x L que seja maior que NLNxLN possa ser "bombeado "

Isso significa que, se for finito, todas as palavras em L serão menores que NLLN .

N2NLL

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.