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.
computability
automata-theory
turing-machines
Jeremy Kun
fonte
fonte
Respostas:
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.
fonte
Não, não é. Conheço duas grandes classes de técnicas para evitar inconsistência / integridade de Turing.
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.
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.
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.
fonte
Claramente, Turing não está completo, mas também possui máquinas universais.
fonte