Existe uma noção de computabilidade em conjuntos diferentes dos números naturais?

10

Existe uma noção de computabilidade em conjuntos diferentes dos números naturais? Por uma questão de argumento, vamos dizer em conjuntos S que biject com N .

É tentador dizer "sim, eles são aquelas funções da forma , onde g é qualquer bijection NS e f é qualquer função computável NN ". Sou cauteloso com essa definição por dois motivos.gfg-1 1gNSfNN

  1. Privilegia sobre outros conjuntos contáveis. Por que N é especial quando se trata de definir computabilidade? Eu gostaria de uma definição "livre de coordenadas" de computabilidade sem referência a qualquer conjunto privilegiado da mesma maneira que eu gostaria de uma definição "livre de coordenadas" de um conceito de álgebra linear sem referência a nenhuma base privilegiada.NN

  2. Isso levanta questões sobre a escolha de . Suspeito que seja possível encontrar contradições por escolhas particularmente patológicas de S e g . Por exemplo, se eu escolher S = N e g, alguma bijeção não computável é realmente o caso em que g f g - 1 é computável para todos os f computáveis ?gSgS=Nggfg-1 1f

    É tentador exigir na definição que seja computável, mas infelizmente isso está implorando para a pergunta.g

Existe alguma maneira geral de descrever a computabilidade em conjuntos contáveis ​​diferentes de ?N

Tom Ellis
fonte
11
Bem, além de , a computabilidade também é frequentemente definida em Σ , onde Σ é um alfabeto finito ... Mas, novamente, essas definições diferem por uma bijeção computável NΣ (ou seja, em uma direção é computável usando o N definição, e é inversa é computável utilizando o Σ * definição). Então você definitivamente pode fazê-lo, onde seu g e g - 1 são ambos computável, mas concordo que é desvirtuar a questão mais geral ...NΣΣNΣNΣgg-1 1
Joshua Grochow
11
E o modelo de cálculos, como sistemas de ladrilhos, autômatos celulares, sistemas de tags e assim por diante?
Marzio De Biasi
2
Por que não devemos privilegiar sobre outros conjuntos contáveis? Temos uma razão extremamente forte para fazer isso: as CPUs, ou seja, o que calcula, funcionam em N (ou cadeias finitas sobre B, que são essencialmente a mesma coisa). Claro que você pode escolher outros conjuntos, mas por que alguém deveria aceitar sua definição? Como você justifica qualquer afirmação de que o que você chama de computabilidade realmente é, exceto relacionando-a à computação em N , ou seja, CPUs? NNBN
Martin Berger
11
@ Martin, argumento na minha resposta que privilegiamos sobre N pelo menos em certa medida, no que diz respeito à complexidade do tempo. A razão pela qual isso está errado sem alguma introspecção é que podemos assumir que certos resultados são naturais quando na verdade são apenas artefatos do modelo. {0 0,1 1}N
Dan Brumleve
11
Existe alguma razão para você estar limitando a atenção apenas para conjuntos contáveis?
Andrej Bauer

Respostas:

12

Esta pergunta não é de nível de pesquisa, mas como está recebendo respostas, eu gostaria de oferecer uma resposta que possa esclarecer um pouco as coisas e fornecer referências.

Existe toda uma área da ciência da computação teórica que estuda a computabilidade em análise, álgebra e topologia. De importância central é a noção de computabilidade para números reais. De fato, o artigo original de Turing sobre máquinas de Turing começa com a seguinte frase:

Os números "computáveis" podem ser descritos brevemente como os números reais cujas expressões em forma decimal são calculáveis ​​por meios finitos.

Às vezes vale a pena voltar à fonte.

Existem várias maneiras de configurar a computabilidade em conjuntos gerais, dentre as quais uma das mais gerais é a teoria da realizabilidade . A idéia da teoria da realizabilidade remonta ao artigo de Kleene Sobre a Interpretação da Teoria dos Números Intuicionistas, de 1945, mas desde então foi generalizada e desenvolvida em um mini ramo da computabilidade, com uma boa mistura de teoria das categorias, veja, por exemplo, o livro de Jaap van Oosten "Realizabilidade: uma introdução ao seu lado categórico" (Estudos em Lógica e os Fundamentos da Matemática, vol. 152, Elsevier, 2008).

Deixe-me descrever a idéia de realização muito brevemente e discutir seu requisito de "coordenação livre" posteriormente. Comece com um modelo de computação, como máquinas de Turing, o λ cálcio, uma linguagem de programação ou qualquer outra álgebra combinatória parcial (você pode até considerar certos espaços topológicos como "modelos de computação", essas coisas são gerais ). Para concretude, vamos considerar as máquinas de Turing. Codificamos as máquinas de Turing por números naturais, mas note que eu poderia ter adotado outro modelo de computação, portanto, você não deve assumir que o uso de N é essencial aqui. (Outras possibilidades incluem: o conjunto de números naturais, sequências infinitas de números naturais, a sintaxe dos números não digitadosλ -calculus, certas categorias de jogos, etc.)

Uma estrutura de computabilidade em um conjunto X é dada por uma relação X entre N e X , chamada de relação de realizabilidade , de modo que para cada xX existe nN tal que nXx . Chamamos essas estruturas de montagens . Essa definição corresponde diretamente à idéia intuitiva de que algum dado n representa ou realiza um elemento xX. (Por exemplo, certas seqüências de bits representam listas finitas de pares de cadeias de caracteres.)

Dadas duas montagens (X,X) e (Y,Y) , um mapa f:XY é realizado (ou "computável") se houver uma máquina de Turing T , de modo que, sempre que nXx , T(n) termina e T(n)Yf(x). Novamente, essa é uma transliteração direta do que significa informalmente "programar" uma função abstrata f : a máquina de Turing correspondente faz para representar dados o que f faz com os elementos correspondentes.

Os assemblies podem ser estendidos para um topos de realização . Um topos é um modelo de matemática intuicionista de ordem superior. Isso nos diz que todos os tópicos de realização (existe um para cada modelo de computação) contêm muitos objetos interessantes. Por exemplo, ele contém um objeto de números reais, o que nos dá computabilidade em reais. Mas também contém muitos outros objetos, como espaços de Hilbert, espaços de Banach, espaços de mapas suaves, etc. Você solicitou alguma outra estrutura computável, mas obteve algo muito melhor: mundos matemáticos inteiros da computabilidade.

Como a teoria da categoria e as toposes podem ser assustadoras e requerem certa proficiência técnica em teoria da computabilidade, teoria das categorias e lógica, também poderíamos trabalhar em apenas uma topos concreta, mas expressamos tudo de maneiras não-abstratas concretas. Um mundo particularmente bom da computação surge da capacidade de realização de Kleene e é chamado de análise computável .

Deixe-me comentar sobre o requisito "sem coordenadas":

  • Alternar entre modelos de computação fornece diferentes tipos de mundos computáveis. É um pouco como alternar entre campos diferentes, fornecendo diferentes tipos de álgebra linear.

  • Um conjunto X pode ser equipado com muitas estruturas de computabilidade X , assim como um conjunto de vetores tem muitas bases. No entanto, embora todas as bases sejam equivalentes, nem todas as estruturas de computabilidade em X são computáveis ​​equivalentes.

  • Se trabalharmos concretamente com estruturas de computabilidade (X,X) , é um pouco como trabalhar com matrizes na álgebra linear. Pode ser muito útil, mas não é abstrato.

  • Para trabalhar de forma "livre de coordenadas", trabalhamos de forma realizável e aproveitamos o poder da teoria das categorias (sim, é um clichê, mas funciona).

  • Podemos até trabalhar de uma maneira "livre do mundo": desenvolver a matemática na lógica intuicionista e depois interpretar os resultados em topos de realização.

Andrej Bauer
fonte
Não vejo aqui a escolha de tão análoga à escolha de R como o campo sobre o qual poderíamos considerar espaços vetoriais. Em vez disso, essa noção de "relação de realização" parece-me definir o que significa ser mensurável, definindo a medida de Borel em R e depois declarando "um espaço mensurável é algo que bijeta com R e uma função mensurável é qualquer coisa que induz um mapa mensurável" RR .NRRRRR
Tom Ellis
Espaços mensuráveis surgem naturalmente de (alguns) espaços topológicos e é geralmente considerado um teorema que os não discretos é mensurável isomorfo a . O que eu idealmente gostaria de encontrar é o análogo da teoria da computação da construção anterior. Qual é a estrutura subjacente que dá origem a algo em que você pode calcular? Uma correspondência com N , imposta por decreto, não é particularmente satisfatória. RN
Tom Ellis
Não existe "escolha de ", existe apenas a escolha de um modelo de computação. Se por "escolha de N " você quer dizer "vamos usar máquinas de Turing (codificadas por números)", meu argumento é o seguinte: para cada escolha da estrutura de computabilidade S, você obtém uma realização superior a R T ( S ) . Isso é análogo à: para cada escolha de um campo F você começa a categoria V e c t F de espaços vetoriais sobre F . NNSRT(S)FVectFF
Andrej Bauer
A imposição de medidas em conjuntos é realmente como impor estruturas de computabilidade em conjuntos. E em ambos os casos, alguns conjuntos têm estruturas naturais associadas a eles.
Andrej Bauer
2
Caro Andrej, deixe-me agradecer por suas respostas consideradas. Fico feliz que um veterano de 20 anos de campo levaria tempo para esclarecer um neófito como eu, em vez de votar para encerrar minha pergunta como inútil. Também tenho o prazer de inferir que a teoria do topos e as páginas no nLab agora são consideradas acessíveis àqueles no nível pré-pesquisa.
Tom Ellis
4

Os dois artigos abaixo desenvolvem uma noção de computabilidade para conjuntos arbitrários. Curiosamente, mesmo uma noção de teoria da complexidade pode ser definida para esse modelo de computação.

Funções recursivas dos conjuntos de Cobham e teorias fracas dos conjuntos Arnold Beckmann, Sam Buss, Sy-David Friedman, Moritz Müller e Neil Thapen.

Recursão limitada por subconjuntos e um modelo de circuito para funções recursivas de conjuntos de Cobham Arnold Beckmann, Sam Buss, Sy-David Friedman, Moritz Müller e Neil Thapen.

Mateus de Oliveira Oliveira
fonte
-1

Isso é semelhante à forma como definimos a computabilidade em termos de máquinas de Turing e depois esquecemos prontamente as máquinas de Turing. Como a máquina de Turing tem uma definição tão boa quanto qualquer outra, nós a usamos como uma âncora para toda uma classe de modelos de equivalência e terminamos com a mesma classe, independentemente do elemento em que a gerarmos. Basicamente, esta é a tese de Church-Turing e define o conjunto de cadeias de bits computáveis.

SSSS

SS{0 0,1 1}O(1 1)S

Então, acho que a resposta para sua pergunta é NÃO. Temos que definir a computabilidade para cada conjunto sobre o qual queremos falar, porque existem definições não equivalentes. Além de uma discussão muito técnica ou pedagógica, isso não seria necessário, pois uma pessoa razoável pode imaginar uma definição razoável de forma independente.

SSS{0 0,1 1}

E podemos encontrar várias alternativas desiguais, mas igualmente razoáveis. Suponha que toda árvore tenha um número de folhas vermelhas e um número de folhas verdes, e que para cadarNrgNg2323N2NN2N

Portanto, para evitar toda a discussão, deve ser entendido não apenas que existe uma definição razoável de computabilidade no conjunto em questão, mas também que existe exatamente uma classe de definições razoáveis.

F:NNNF:NN

Dan Brumleve
fonte