Programação  
 
Rede de conhecimento computador >> Programação >> Programação De Computador Idiomas >> Content
A diferença entre idiomas decidíveis e reconhecíveis na ciência da computação teórica é clara para você?
Sim, a diferença entre idiomas decidíveis e reconhecíveis é perfeitamente clara. A distinção está no comportamento de uma máquina de Turing (TM) tentando determinar a associação:

* linguagem decidível (linguagem recursiva): Uma linguagem l é decidível se existir uma máquina de Turing que, para * cada sequência de entrada W, interrompa e responde corretamente "sim" se w ∈ L e "não" se w ∉ L. Isso significa que a TM sempre interrompe, independentemente de a entrada estar no idioma ou não.

* idioma reconhecível (linguagem recursivamente enumerável): Um idioma l é reconhecível se existir uma máquina de Turing que, para * cada sequência de entrada W, interrompe e responda "sim" se w ∈ L. No entanto, se w ∉ l, a TM pode parar e responder "não" ou pode correr para sempre (loop indefinidamente). A chave é que ela * sempre * fornece a resposta correta ("sim") se a string estiver no idioma; É permitido apenas não ser determinístico ou não fornecer uma resposta quando a string não estiver * no idioma.


Em termos mais simples:

* Decidível: A TM sempre dá uma resposta definitiva (sim ou não) em tempo finito.
* reconhecível: A MT fornece uma resposta "sim" em tempo finito se a entrada estiver no idioma, mas pode não dar uma resposta (ao fazer uma para sempre) se a entrada não estiver no idioma.


Cada linguagem decidível também é reconhecível. No entanto, o inverso não é verdadeiro; Existem idiomas reconhecíveis que não são decidíveis. O problema de interrupção é um exemplo clássico de um idioma reconhecível, mas não decidível. Pode -se construir uma MT que reconheça strings que representam máquinas de intervalo de Turing (simula a máquina e responde "sim" se interromper), mas nenhuma MT pode decidir se uma máquina de Turing arbitrária interromperá uma determinada entrada (porque isso resolveria o próprio problema de parada).


A diferença se resume a se a TM garante a rescisão para todos os insumos (decidíveis) ou apenas garante uma resposta "sim" em tempo finito para insumos no idioma (reconhecível). A diferença é fundamental na teoria da computação.

Anterior :

Próximo :
  Os artigos relacionados
·Depuração de uma violação de acesso 
·Como fazer um RadGrid Fade in uma Animação 
·Por que uma corda é imutável nas linguagens de progra…
·Como inserir um orçamento em uma String no ColdFusion 
·Como usar Iframes com Flash 8 
·Como alinhar à direita texto usando HTML 
·Como ler código binário 
·Qual idioma é aceito pelo PDA para entrada e processam…
·Por que as cordas são imutáveis ​​nas linguagens de p…
·Ferramentas para desenvolvimento de cliente do servidor…
  Artigos em destaque
·As características de um banco de dados Web 
·Como converter uma String ao processo adequado com PHP 
·Como fazer aplicativos para Blackberry App World 
·Exceções de arquivo para Java Applets : Arial.ttf nã…
·Como parar um loop infinito em Macro 
·Como aprender programação Windows Mobile 
·Como criar um cursor personalizado em Java 
·Como Batch Insira um arquivo PHP em MySQL 
·Como redefinir a senha do administrador local Script 
·Como usar o Visual Basic Express 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados