Programação  
 
Rede de conhecimento computador >> Programação >> Programação De Computador Idiomas >> Content
O que é um exemplo de linguagem decidível?
Um exemplo de uma linguagem decidível é o idioma `a ={ | M é um DFA que aceita w} `. Em outras palavras, o idioma consiste em pares de um autômato finito determinístico (DFA) codificado como uma string e uma string `W`, de modo que o DFA aceite a sequência` W`.

Eis por que é decidível e como uma máquina de Turing pode decidir:

decidabilidade: Um idioma é decidível se existe uma máquina de Turing que interrompe todas as entradas e aceita a entrada, se estiver no idioma e rejeitar -a, se não for.

Turing Machine decora: Podemos construir uma máquina de Turing `d` que decide` a` da seguinte maneira:

1. entrada: `D` toma como entrada` `, onde` m` é a codificação de um DFA e `w` é uma string.
2. simulação: `D` simula o dfa` m` na string de entrada `w`. Isso é possível porque `d` pode acompanhar o estado atual de` m` e o símbolo atual que está sendo lido em `w '. A simulação prossegue da seguinte maneira:
* Inicie `m` em seu estado inicial.
* Para cada símbolo em `w`, transição` m` para o próximo estado de acordo com sua função de transição.
3. aceitar/rejeitar:
* Se `m` termina em um estado de aceitação depois de ler a string inteira` w`, então `d` aceita` `.
* Se `m` termina em um estado não aceito depois de ler a string inteira` w`, então `d` rejeitar` `.

Por que isso funciona:

* dfas sempre param: DFAS, por definição, processe cada símbolo de entrada exatamente uma vez e depois pare. Eles não têm loops infinitos ou comportamento indefinido.
* simulação é possível: Uma máquina de Turing pode simular facilmente o comportamento determinístico de um DFA porque possui memória e controle suficientes para rastrear o estado e a posição de entrada do DFA.
* interromper: A máquina de Turing `d` sempre pára porque a simulação DFA sempre pára.
* correção: `D` aceita exatamente as strings` `onde` m` aceita `w`, e rejeita exatamente as strings` `onde` m` faz * não * aceitar `w`.

prova formal (esboço):

Para provar rigorosamente a decidabilidade, você precisaria:

1. Defina formalmente a codificação: Especifique como um DFA `m` e uma string` w` são representados como strings no alfabeto de entrada da máquina de Turing `d`.
2. Defina formalmente a máquina de Turing `d`: Dê um diagrama de estado ou uma descrição formal das transições de `d`.
3. Prove a correção: Mostre que se `` estiver no idioma `a`, então` d` aceitará, e se `` não é * não * no idioma `a`, então` d` rejeitar.
4. Prove a interrupção: Mostre que `d` sempre pára em qualquer entrada.

em resumo: Como podemos construir uma máquina de Turing que sempre interrompe e aceita corretamente ou rejeita com base no fato de um determinado DFA aceitar uma determinada string, o idioma `a` é decidível. Este é um exemplo fundamental e importante na teoria da computação.

Anterior :

Próximo :
  Os artigos relacionados
·Usos de Ponteiros 
·Como escrever Apps Cacau 
·As Regras de Diagramas de Fluxo de Dados 
·Qual idioma o computador pode entender e executar facil…
·Como importar Protocolo Tags 
·Como escrever um procedimento em Pascal 
·Como desenvolver um driver de dispositivo para o DOS 
·Como criar um conjunto de dados hierárquica 
·Como enviar e-mail Código HTML 
·Como escrever um número na base 16 
  Artigos em destaque
·Como inserir expressões booleanos em Java 
·Como criar um modelo para Joomla 
·Como criar números para uma curva de crescimento expon…
·Como escrever algoritmos para Iniciantes 
·Como escrever uma Invertendo funções de linha de util…
·Como Pesquisar e Arquivos analisar o texto em C # 
·Como converter Int32 em C + + 
·Como instalar o Visual Studio 6.0 
·Como usar SQLite3 em um iPhone App 
·Como você pode baixar livros de informática em hindi?…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados