Seja Existe uma máquina de Turing R que decide (não quero dizer, reconhece) o idioma ?L ∅
Parece que a mesma técnica usada para mostrar que deve funcionar aqui também.
Seja Existe uma máquina de Turing R que decide (não quero dizer, reconhece) o idioma ?L ∅
Parece que a mesma técnica usada para mostrar que deve funcionar aqui também.
Respostas:
Marcando, você provavelmente quer dizer análise de acessibilidade - procurando um caminho do estado inicial para o estado de aceitação. De fato, o idioma de um DFA está vazio se não houver esse caminho.
Vamos começar com um exemplo de por que isso falha nas TMs. Considere uma TM que, em , ignore sua entrada, mas grave na fita, mova a cabeça para a direita e vá para o estado ; depois, em , novamente ignore a entrada, escreve , move a cabeça para a esquerda e passa para q 2 . No q 2 , se lê a , então escreve a , move a cabeça para a direita e volta para q 1 . a q 1 q 1 a
Ou seja, a máquina apenas escreve e suplentes entre dois estados ( q 1 e q 2 ) e tem sempre duas adjacentes um é na fita.
Agora adicionamos uma transição de que, ao ler b, passa para um estado de aceitação e pára.
O idioma desta máquina está vazio. De fato, a execução sempre fica presa no loop e nunca chega ao estado de aceitação. No entanto, existe um caminho de estado para um estado de aceitação. Então, o que deu errado?
Bem, intuitivamente, o `` estado '' de uma TM não é informativo o suficiente para descrever a continuação da execução. Para ter todas as informações, você precisa da configuração da TM, que inclui o estado, a posição da cabeça e o conteúdo da fita. Se você encontrar um caminho de configuração (que é chamado de execução ) para uma configuração de aceitação, na verdade o idioma não está vazio e é uma condição iff.
O problema com o uso da análise de acessibilidade no gráfico de configuração é que ele pode ser infinito. É por isso que decidir o vazio da linguagem é indecidível.
É também por isso que o não vazio da linguagem é reconhecível - você pode executar um BFS no gráfico de configuração infinita. Se houver um caminho para um estado de aceitação, você o encontrará eventualmente. Se não houver, no entanto, você poderá ficar preso em uma pesquisa infinita.
é indecidível por causado TeoremadeRice, que afirma que propriedades não triviais de funções parciais não são decidíveis.
Isso significa que as funções calculadas pelos elementos de têm uma propriedade não trivial. Portanto, A não é decidível.
é decidível apenas sob a suposição de que os DFAs são codificados de maneira especial, como tabela de transição de estado ou etc. (não podemos decidir se uma TM aceita apenas idiomas regulares, por causa do Teorema de Rice!). Neste caso Teorema de Rice não é aplicável porque a codificação específica de um elemento é necessário para decidir sobre E . Portanto, não decidimos apenas funções parciais.
(Ou seja, se o problema fosse, decidir se uma MT específica é um DFA - ou DFA computável - e o idioma aceito por ela estiver vazio, seria indecidível pelo Teorema de Rice. Observe que, neste caso, A = E .)
Outra dica: tente reduzir o problema de parada para .
(A dica original é usar o teorema de Rice, mas, neste caso, uma prova direta também é bastante simples.)
Lema 1 : Se L é indecidível, então o complemento de L.
Sabemos que o problema da parada, é indecidível. Portanto, de acordo com o Lema um complemento do problema da paragem, também é indecidible.
=
=
=
Assume-se que é determinável. Vamos reduzir para - em outras palavras, vamos mostrar como construir uma máquina de Turing que decide usando o TM, que decide . Isso nos dá uma contradição, porque sabemos que é indecidível e, portanto, não pode existir. A palavra "reduzir" significa simplesmente resolver um determinado problema, convertendo-o em outro problema que já sabemos resolver. Assim, a máquina de Turing para pode ser construído como se segue:
= “na entrada
1. Construa o código para uma TM, que faça o seguinte:
= "na entrada
1. Simule em .
2. Aceite se parar ".
2. Execute em
3. Aceite se aceita, rejeite de outra forma. "
É crucial entender que o TM nunca é realmente simulado - essa simulação pode entrar em um loop infinito. Tudo o que estamos fazendo é construir o código para .
é construído de tal maneira que em qualquer entrada dada a ele, ele simulará com a entrada . pode parar ou fazer um loop em e, portanto, pode haver dois casos:
1. aceita todas as entradas se parar em . rejeitará como .
2. Se fizer um loop em , também fará um loop para todas as entradas lhe forem dadas. De qualquer forma, como é umSe decidir que rejeitará e interromperá na entrada como .
: Desde sempre paradas (por nossa suposição), também sempre paradas. aceita se aceita, isto é, se que acontece se fizer umloop em .
rejeita se rejeita que que acontece se parar em . Assim, decide que é uma contradição, pois é indecidível.
Deixe R ser a redução a partir de para .
A redução fornece:
i)
H laçadas na entrada x sse o idioma reconhecido por aceita nada
ii)
M paradas na entrada x sse a linguagem reconhecida por aceita algo
Prova por contradizendo , (que sabemos que é indecidível).
Pressupõem a existência de , um TM que decide G ∅
Uso pode então usar na construção de uma TM S T M , que é um decisor para A t M
"Na entrada ⟨ H , W ⟩ , onde H é a codificação de uma TM e W é uma cadeia de caracteres:
Modifique , levando em consideração a entrada w , de modo que o novo M (chame de M 1 ) rejeite todas as entradas que não sejam iguais a w , onde w está embutido em sua descrição. Se a entrada for igual a w , então M 1 executará M em we produzirá quaisquer que sejam M saídas.
Executar com a entrada ⟨ M 1 , w ⟩
Saída o oposto de saída s ".
O pressuposto de que existe um descongelante Turing Máquina para , permite-nos construir um decisor para um T M , que é uma contradição.
E = {| M é uma TM e L (M) = Φ}. O E Turing é reconhecível?
E é uma linguagem, para aceitar a linguagem E construímos uma Máquina de Turing. Suponha que criamos um EM de Turing para o idioma E.
O EM será fornecido como entrada, a codificação de outras máquinas de Turing. Se essa máquina inserida M aceitar um idioma vazio, será membro do idioma E, caso contrário, não será membro do idioma.
Suponha que tenhamos uma Máquina de Turing M, precisamos verificar se ela aceita um idioma vazio. O EM da máquina de Turing possui M e as seqüências eps, a, b, aa, bb, ..... O EM verificará se M pode atingir um estado final de pelo menos uma única entrada e se aceita pelo menos uma única entrada. será descartado e não incluído no idioma E. Agora, veja uma possibilidade do TM M entrar em um loop para que o M continue funcionando e não pudemos decidir se ele pode aceitar ou não nada. Portanto, esse idioma E não é RE.
PS: Eu acho que o complemento dessa linguagem E será RE.