Quantas máquinas de Turing existem no tempo


7

Eu acho que metade da batalha em responder a essa pergunta está em formulá-la com precisão! Um mecanismo de pesquisa não aparece muito, então eu queria saber se essa é uma pergunta bem conhecida ou bem estudada.

Meus pensamentos: Eu acho que a maneira mais direta de formular essa pergunta é como no meu título: Dadas constantes t,s,kN, quantas TMs são executadas em t etapas ou menos em todas as entradas de tamanho ke quantas TMs existem que usam s quadrados de fita ou menos em todas as entradas de tamanho k? Essa parece ser a maneira mais direta e simples de fazer a pergunta, mas podemos querer reafirmar isso de uma maneira diferente - por exemplo, dada uma funçãop(k), quantas TMs são executadas no tempo p(k) em entradas de tamanho k para todos k(ou quão "densas" são essas MTs)? Isso me parece mais difícil.

Provavelmente deveríamos consertar um alfabeto de fita (ou uma numeração de Godel ??). Poderíamos considerar duas MTs com diagramas de estado diferentes, mas isomórficos, iguais ou diferentes, de qualquer forma.

O problema imediato é que há um número infinito: faça qualquer TM que atenda aos critérios e adicione "estados mortos". Eu posso pensar em duas maneiras de lidar com isso. O primeiro (do qual não gosto) é adicionar um parâmetro adicional: quantas TMs cuja descrição tem tamanhoLsatisfazer os critérios? O segundo (que eu prefiro) é considerar duas TMs equivalentes em entradas de tamanhokse, para todas essas entradas, as TMs tiverem exatamente o mesmo comportamento (insira os mesmos estados e escreva / mova a fita de forma idêntica). Em seguida, restringiríamos a TM mínima em cada classe de equivalência ou apenas perguntaríamos quantas classes de equivalência atendem aos critérios.

Edit: Como apontado por Vor nos comentários, o problema com a segunda abordagem é que é basicamente o mesmo que um circuito naquele momento. Então, e o primeiro? Ou existe uma maneira melhor de formalizar essa pergunta?

Quaisquer referências / literatura, pensamentos ou respostas seriam muito interessantes e apreciadas!


2
Se você escolher Σ={0,1}, Você tem 2(2k) funções booleanas distintas {0,1}k{0,1}. Então, se k <= t você obtém pelo menos2(2k)TMs distintas ... e talvez sejam suficientes para parar de contar outras variações / parametrizações :-).
Vor

@Vor, vejo por que existem tantas funções booleanas, mas por que todas elas são executadas no tempo O(k)... hmm, acho que porque apenas construímos um DFA diferente para cada um e o tornamos o diagrama de estados da nossa MT? OK, então, para tornar a pergunta interessante, devo pensar em redefinir ou adicionar novas restrições.
usul

pode ser mais fácil perguntar sobre idiomas em vez de TMs e, nesse caso, essa pergunta realmente se relaciona com questões abertas de separações de classes de complexidade; em outras palavras, provavelmente existem maneiras de formular isso que equivale a perguntar a P =? NP etc. outra idéia interessante pode ser considerar a velocidade das MTs, ou seja, a razão det(n)/s(n)... Além disso, este tema pode ser empiricamente estudou um pouco de "pequenas" línguas ...
vzn

Respostas:


3

Dado k, considere o conjunto de Mk={MiiN} com Mi definido por

if |x| = k
  accept
else
  simulate TM i on x

O conjunto Mk é um subconjunto das máquinas de Turing que você deseja contar para todos s,t. Como é infinito, o conjunto que você deseja contar também é infinito.

Até onde eu sei, esse resultado é estável contra todas as restrições impostas, desde que você não restrinja o conjunto de todas as máquinas de Turing viáveis ​​a serem finitas.


Que tal adicionar a seguinte equivalência: duas máquinas são equivalentes a "mod k" se se comportarem da mesma maneira em entradas de tamanho k (possivelmente módulo de bimimulação). Agora, faz sentido pedir o tamanho da -equivalence classes- mod k.
Cody #

@cody Essas classes também são infinitas. Mudar em minha construção o elseramo para count to i on the tape; rejecte você obterá um conjunto infinito de aceitadores paraΣk; a mesma construção funciona basicamente para todos os idiomas (decidíveis).
Raphael

Sinto muito, estou confuso, parece-me que tudo no seu ramo 'else' é irrelevante "mod k", pois especifica o comportamento no caso em que | x | não é k.
Cody

@ Cody: Sim e não. Todas as máquinas descritas aceitam o mesmo subconjunto deΣk, então eles são módulo equivalentek(se eu entendi corretamente o que você queria). No entanto, existem infinitamente muitos desses elseramos, portanto a classe de equivalência contém infinitamente muitos elementos. E, até agora, minha afirmação é verdadeira para todas as classes de equivalência, pois uma construção semelhante sempre funciona. (Essencialmente, a afirmação é: toda linguagem é aceita por um número infinito de TMs Ou ainda: para cada TM, há infinitamente muitos outros de saída equivalente..)
Raphael

então minha proposta é identificar todas as MTs que se comportam de maneira diferente fora do Σk. Nesse caso, ainda está claro que existem infinitas classes de máquinas que aceitam o mesmo idioma em Σk. No entanto, não está claro que existem infinitamente muitos daqueles que trabalham em espaço e tempo limitados.
Cody

1

Sua pergunta está intimamente relacionada ao problema do castor ocupado . Ele solicita o número máximo de símbolos que umnMáquina de Turing com 2 símbolos de saída que sempre interrompe as gravações antes de parar. A função den definido desta maneira não é computável.


Claro, existe alguma conexão, mas estou principalmente interessado na questão de alguma função computável t(k)... Não vejo como usar o BB nesse caso.
7133 usul

1

você faz algumas perguntas e formula algumas idéias interessantes que geralmente se relacionam com perguntas abertas sobre separações de classes de complexidade. por exemplo, P =? NP pode ser reformulado perguntando sobre "quantas" linguagens NP (-hard) podem ser executadas no tempo P. no entanto, provavelmente não há muitos resultados teóricos (ou outros) nessa área. existem alguns trabalhos teóricos que dão limites à complexidade de tempo / espaço do SAT que afetariam sua pergunta. no entanto, talvez a pesquisa mais próxima disso seja a análise empírica das MTs, que é sugerida na outra resposta por vonbrand, por exemplo, com a pesquisa de castores ocupada.

existe uma pesquisa semelhante, mas relativamente rara, que analisa TMs geradas empiricamente com "relógios", por exemplo, tempo P, etc. / gerou "diagramas de espaço-tempo" (também chamados de "quadros computacionais"). Outra abordagem é examinar amostras "pequenas e finitas", por exemplo, limitart,s,k (e também outros parâmetros, como estados enumerados da TM).

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.