Existem conjuntos contáveis ​​que não são computáveis ​​enumeráveis?

15

Um conjunto é contável se tiver uma bijeção com os números naturais e é computávelmente enumerável (ce) se houver um algoritmo que enumere seus membros.

Qualquer conjunto enumerável computacionalmente não finito deve ser contável, pois podemos construir uma bijeção a partir da enumeração.

Existem exemplos de conjuntos contáveis ​​que não são computáveis ​​enumeráveis? Ou seja, existe uma bijeção entre esse conjunto e os números naturais, mas não há algoritmo que possa calcular essa bijeção.

Peter Olson
fonte
1
A terminologia estabelecida é computávelmente enumerável . Muitas pessoas dirão que "contável" e "enumerável" são sinônimos. Eu editei a pergunta de acordo.
Andrej Bauer
@AndrejBauer, computável e recursivo são sinônimos, certo?
rus9384
1
@ rus9384 Sim. Com relação ao vocabulário, a clareza deve reinar, como escreve Robert Irving Soare em Computabilidade relativizada e computação interativa de Turing-Post (2011) : em 1995, a confusão tornou-se intolerável. Escrevi um artigo sobre Computabilidade e recursão para o touro. de Sym. Lógica (1996) sobre a história e as razões científicas pelas quais devemos usar “computável” e não “recursivo” para significar “calculável”. “Recursivo” deve significar “indutivo”, como ocorreu com Dedekind e Hilbert. No início, poucos estavam dispostos a fazer tal mudança ...
David Tonhofer

Respostas:

23

Existem exemplos de conjuntos contáveis ​​que não são enumeráveis?

Sim. Todos os subconjuntos dos números naturais são contáveis, mas nem todos são enumeráveis. (Prova: existem incontáveis ​​subconjuntos diferentes de  mas apenas inúmeras máquinas de Turing que poderiam atuar como enumeradores.) Portanto, qualquer subconjunto de  N que você já conhece não é recursivamente enumerável é um exemplo - como o conjunto de todos os números que codificam Turing máquinas que param para cada entrada.NN

David Richerby
fonte
3
@JorgePerez Não e não .
David Richerby
3
Isso prova a existência, mas não dá um exemplo ..
BlueRaja - Danny Pflughoeft 23/09
2
@ BlueRaja-DannyPflughoeft, dar um exemplo é o mesmo que enumerar um. "Você pode dar um exemplo de algo que você não pode dar? Não? Portanto, não há nada que você não possa dar um exemplo." Isso é construtivismo matemático em poucas palavras.
Curinga
2
Será que a imagem da função castor ocupado ser um tal conjunto? Como Σ está aumentando estritamente, forma trivialmente uma bijeção com N , mas não existe uma máquina de Turing que possa enumerar Σ . ΣΣNΣ
orlp
7
@Wildcard Não, dar um exemplo é o mesmo que definir um, não é? Existem conjuntos que podem ser definidos, mas não podem ser enumerados por um algoritmo, como o conjunto de todas as máquinas de Turing que não param.
quer
17

Sim, todo idioma indecidível (não semi-decidível) possui essa propriedade.

Por exemplo, considere o conjunto .L={(x,M)M does not halt on input x}

Suponha que tenhamos um algoritmo que pode enumerar os membros desse conjunto. Se esse algoritmo existisse, poderíamos usá-lo para resolver o problema de parada com as entradas , com o seguinte algoritmo:x,M

  • Alternam entre funcionamento da máquina de n passos de x , e enumerar o n ° membro de L .MnxnL

para ou não para em x . Separar, finalmente encontraremos um n onde alcançamos um estado de parada. Se não parar, eventualmente alcançaremos ( M , x ) em nossa enumeração.Mxn(M,x)

Portanto, temos uma redução e podemos concluir que não existe tal enumeração.

Observe que essas enumerações podem existir para problemas semi-decidíveis. Por exemplo, você pode enumerar o conjunto de todos os pares de entrada de máquina de parada, enumerando todos os traços possíveis de todas as execuções da Máquina de Turing após etapas e filtrar as que não terminam em um estado de parada. n

jmite
fonte
Não existem idiomas com complexidade incontável?
rus9384
@ rus9384 Não sei bem o que você quer dizer. "Incontável" é uma medida de tamanho; "complexidade" é uma medida de quão difícil é decidir. Mas não há idiomas incontáveis ​​de seqüências finitas: se você deseja que um idioma seja incontável, deve permitir seqüências infinitas (ou um "alfabeto" incontável, ou ambos).
David Richerby
@DavidRicherby, bem, jmite afirma que todo problema indecidível opera com strings finitas? Penso que isso vale apenas para todos os problemas indecidíveis reconhecíveis de Turing .
precisa saber é o seguinte
@ rus9384 Qualquer idioma sobre um alfabeto finito é contável e a computabilidade geralmente ignora alfabetos infinitos. Veja também esta questão .
Jmite 22/09
1
@ rus9384 sim, um idioma é um conjunto de seqüências finitas sobre um alfabeto finito. Qualquer coisa desse tipo é contável. Se você deseja obter um idioma incontável, precisa remover uma ou ambas as instâncias de "finito" dessa definição. Mas se alguém apenas diz "linguagem", significa um conjunto de cadeias finitas sobre algum alfabeto finito.
David Richerby
7

Na teoria da computabilidade, lidamos com subconjuntos de , onde Σ = { 0 , 1 } . Esse idioma é infinitamente contável e, portanto, qualquer subconjunto L Σ é contável. Além disso, existem muitas linguagens indecidíveis, mas recursivamente enumeráveis, cujos complementos não são recursivamente enumeráveis. Estas línguas são subconjunto de Σ * e, portanto, são contáveis.ΣΣ={0,1}LΣΣ

fade2black
fonte
Nós não lidamos necessariamente com cadeias binárias. Existem muitos casos em que podemos nos interessar por cadeias de caracteres sobre outros alfabetos, e as pessoas que chamam computabilidade de "teoria da recursão" tendem a lidar diretamente com conjuntos de números naturais. (Isto é, os números em si são vistos como primitivo, e não codificado como, por exemplo, cadeias de caracteres binários.)
David Richerby
@DavidRicherby há algumas semanas, você me reivindicou o contrário nos comentários da resposta do Yuvals. E este não é o primeiro caso semelhante.
Fade2black 22/09
O Yuval posta muitas respostas e eu faço muitos comentários, então você precisa ser mais específico. Eu certamente defendo meu comentário acima, então, se eu dissesse o contrário em algum momento, ou eu estava errado ou confuso ou você me entendeu mal ou eu estava falando sobre algum cenário específico ou algo assim. Sinto muito por ter confundido você, especialmente se o fiz dizendo algo pouco claro ou incorreto!
David Richerby
2
@DavidRicherby, na verdade cada alfabeto finito pode ser reduzido a binário, então eu não entendo como isso importa. Ou temos um número infinito de alfabeto nesse caso (onde cada número tem um símbolo único)?
rus9384
{0,1}