Qual é a relação entre problemas e idiomas?


8

Eu quero perguntar exatamente qual é a relação entre problemas e idiomas. Sabemos que o conjunto de todos os idiomas é incontável. O conjunto de problemas também é incontável? Todo problema pode ser definido por um idioma? Um idioma pode resolver mais de um problema e vice-versa? Existe correspondência individual entre problema e idiomas?

Respostas:


11

Problemas de decisão e idiomas são apenas os dois lados da mesma moeda: todo problema pode ser reformulado como o problema de associação de algum idioma. O problema de, digamos, determinar se um número é primo é exatamente o problema de associação do idioma dos números primos.

Formalmente, um idioma é um conjunto de cadeias finitas sobre algum alfabeto finito fixo (às vezes, as cadeias podem ser infinitas; esse é um cenário diferente, mas relacionado). Os problemas que não são perguntas diretamente sobre strings precisarão ser codificados como strings. Por exemplo, seria mais preciso escrever a última frase do parágrafo anterior como: "Se corrigirmos um alfabeto e uma codificação de números naturais como strings sobre esse alfabeto, o problema de, digamos, determinar se um número é primo é exatamente o problema de associação do idioma das strings que codificam números primos ".

Para executar rapidamente suas subquestões,

Sabemos que o conjunto de todos os idiomas é incontável. O conjunto de problemas também é incontável?

Sim, já que problemas e idiomas são essencialmente a mesma coisa.

Todo problema pode ser definido por um idioma?

Problemas de decisão, sim. Problemas de otimização (qual é o menor X com a propriedade Y) e problemas de contagem (quantos X têm propriedade Y) podem ser reformulados como problemas de decisão (o Z é o menor X com a propriedade Y?; Existem NXs com a propriedade Y?), Embora essa geralmente não é a maneira mais natural de tratá-las.

Um idioma pode resolver mais de um problema e vice-versa?

Sim e sim, porque você precisa usar codificações para traduzir entre problemas e idiomas. Por exemplo, os idiomas e codificam o problema de primalidade (em binário e decimal, respectivamente). Por outro lado, embora talvez um pouco artificialmente, a linguagem codifica o problema de determinar se um número binário é da forma para alguns  e o problema de determinar se uma sequência de 1 e 0 tem exatamente um 0, que é seu caractere final. (Talvez alguém possa ter um exemplo melhor de uma linguagem que codifique naturalmente dois problemas sem que um seja uma reformulação tão trivial do outro.){10,11,101,111,1011,}{2,3,5,7,11,}{0,10,110,1110,}2k2k

Existe correspondência individual entre problema e idiomas?

Não, já que esta pergunta é apenas o complemento da pergunta anterior. :-)


1
o que você pode dizer sobre problemas indecidíveis e insolúveis. podemos defini-los por um idioma? Se não, então como todos os problemas podem ser definidos por um idioma.
Ravi Singh

2
Sim, problemas indecidíveis também correspondem a idiomas. Por exemplo, o problema de parada corresponde ao idioma das seqüências que codificam uma máquina de Turing e uma entrada modo que pare quando receber a entrada . MxMx
David Richerby
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.