Se uma máquina abstrata pode simular a si mesma, isso torna Turing completo?

20

Por exemplo, nas linguagens de programação, é comum escrever um compilador / intérprete X-in-X, mas em um nível mais geral, muitos sistemas completos de Turing conhecidos podem simular-se de maneiras impressionantes (por exemplo, simulando o Jogo da Vida de Conway no Jogo da Vida de Conway. )

Então, minha pergunta é: um sistema é capaz de simular a si mesmo o suficiente para provar que Turing está completo? Certamente é uma condição necessária.

Jeremy Kun
fonte
3
Antes de tentar responder, você pode ser um pouco mais específico com o que você entende por "um sistema lógico pode simular a si mesmo"? Você quer dizer algo como "pode ​​codificar sua própria sintaxe e provabilidade"?
21311 Andrej Bauer
4
Precisamente, o que você quer dizer com "simulação"? Em particular, como você define a simulação para que ela ainda faça sentido, por exemplo, no contexto do Jogo da Vida, mas não faça a pergunta inteiramente trivial (por exemplo, uma máquina que não faz nada simula uma máquina que não faz nada)?
Jukka Suomela
1
Bean, a postagem simultânea é fortemente desencorajada na história, consulte o poilicy . ps: Não tenho certeza se esta pergunta está relacionada ao tópico cstheory, verifique também as perguntas frequentes para entender o escopo do cstheory.
Kaveh #
5
A máquina "não faça nada" pode simular-se.
Max

Respostas:

24

Não necessariamente. Por exemplo, o autômato celular de bloco bidimensional com dois estados, no qual uma célula se torna viva apenas quando seus quatro predecessores têm exatamente duas células vivas adjacentes, pode simular-se com um fator de duas desacelerações e um fator de explosão de dois tamanhos, mas Não se sabe que Turing esteja completo. Consulte O autômato celular semelhante à vida B36 / S125 "2x2", de Nathaniel Johnston, para obter mais informações sobre este autômato de bloco e sobre a regra B36 / S125 para o bairro de Moore, que também é capaz de simular esse autômato de bloco.

David Eppstein
fonte
E se a máquina tiver alguma medida de complexidade? Eu acho que teria que estar relacionado com Turing-completude ...
Jeremy Kun
4
Mas, novamente, o autômato de bloco que você mencionou ainda pode ser Turing completo. Você está dizendo que a implicação não é verdadeira. Não que isso represente um contra-exemplo.
Jeremy Kun
9
Se considerarmos apenas estados de autômatos de bloco com um número finito de células vivas, então com essa restrição ainda é possível que ele possa simular-se da mesma maneira. Mas o autômato restrito certamente não é Turing completo, porque nenhum padrão pode escapar de seu diamante delineador; portanto, o destino de cada padrão pode ser determinado apenas em tempo exponencial.
David Eppstein
25

Não, não é. Conheço duas grandes classes de técnicas para evitar inconsistência / integridade de Turing.

  1. A primeira linha de ataque é configurar o sistema para que a sintaxe possa ser aritmetizada, mas o teorema do ponto fixo de Godel não passa. Dan Willard trabalhou extensivamente nisso e forneceu sistemas lógicos de autoverificação consistente. O truque é eliminar os símbolos das funções de multiplicação e adição e substituí-los por divisibilidade e subtração. Isso fornece potência suficiente para representar a sintaxe aritmeticamente, mas o teorema do ponto fixo não passa, pois a multiplicação não é comprovadamente total.

    Veja Dan Willard. Sistemas de axioma auto-verificáveis, teorema da incompletude e princípios de reflexão relacionados . Jornal da lógica simbólica 66 (2001) pp. 536-596.

  2. A segunda linha de ataque permite mais uso de pontos fixos, mas configura as coisas para que a sintaxe não seja aritmética. Os sistemas mais bonitos para isso são (IMO) baseados em variantes da lógica linear. Por exemplo, na Light Affine Set Theory de Kazushige Terui, mesmo o princípio de compreensão de conjunto irrestrito é sólido, mas como a lógica ambiental da teoria dos conjuntos é linear (e, portanto, a contração não é permitida), o paradoxo de Russell não é derivável.

    UMAB

    Kazushige Terui. Teoria dos conjuntos afins da luz: uma teoria dos conjuntos ingênua do tempo polinomial. Studia Logica, vol. 77, n. 1, pp. 9-40, 2004.

    Penso que este artigo é mais acessível depois de ler o seguinte artigo de Yves Lafont:

    Y. Lafont, Lógica Linear Suave e Tempo Polinomial , Ciência da Computação Teórica 318 (edição especial sobre Complexidade Computacional Implícita) p. 163-180, Elsevier (2004)

    A teoria dos conjuntos de Terui é muito expressiva, mas é difícil comparar com as teorias tradicionais dos conjuntos, pois os ordinais da teoria da prova não são uma boa ferramenta para comparar sistemas muito fracos. Por exemplo, a teoria dos conjuntos de Terui obviamente não pode provar total a exponenciação e, portanto, sua força teórica da prova não pode sequer chegar a . As classes de complexidade provavelmente são melhores - ela é completa para o polytime (pode provar que todas as funções do polytime são totais, mas não mais).ω

    Costumo pensar nesses tipos de sistemas como prova de conceito para a ideia de que a teoria da complexidade pode servir de base para certos tipos de ultrafinitismo.

Neel Krishnaswami
fonte
1
Acho sua resposta fascinante, @ Nee. Você poderia sugerir um bom ponto de partida para eu ler sobre (1) ou (2)? Estou um pouco mais interessado em aprender sobre (1), se isso importa.
Aaron Sterling
Estou mais interessado em (2): quão poderosa é essa teoria dos conjuntos? Está relacionado com as "novas fundações" quinianas?
Cody
@ Neel - resposta interessante. Eu também gostaria da mesma coisa que Aaron - você poderia sugerir um bom ponto de partida para (1). Graças
Akash Kumar
9

Eux0 0

MM(M,x)=M(x)=0 0M,x

Claramente, Turing não está completo, mas também possui máquinas universais.

David Harris
fonte
É claro que não desempenha nenhum papel especial aqui e pode ser substituído por qualquer número inteiro não negativo. Ou seja, toda TM no conjunto de TMs que calcula uma determinada função constante é universal para esse conjunto - mesmo que esse conjunto de TMs não seja Turing completo. 0 0
res
@ Kaveh: Ironicamente, parece que eu julguei mal esta resposta como sendo anterior à sua, e tão votada, editada e comentada apenas aqui. Postos cruzados podem ser uma dor.
res
@res, acho que o nível dos sites cria diferentes padrões de votação. No math.se, mesmo uma resposta muito boa de outro usuário de alta reputação aqui não é muito votada, por isso acho normal. :) (também a minha resposta não é tão clara e compreensível quanto a resposta de David aqui.)
Kaveh