Aceleração não determinística da computação determinística

14

O não-determinismo pode acelerar a computação determinística? Se sim, quanto?

Ao acelerar a computação determinística por não-determinismo, quero dizer resultados da forma:

DTime(f(n))NTime(n)

Por exemplo, algo como

DTime(n2)NTime(n)

Qual é o resultado da aceleração mais conhecido da computação determinística por não-determinismo? E quanto a ou mesmo no lugar de ?ΣkPTime(n)ATime(n)NTime(n)

Suponha que as classes de complexidade sejam definidas usando máquinas de Turing de fita múltipla para evitar as peculiaridades conhecidas das máquinas de Turing de fita única de tempo sub-quadrático.

Kaveh
fonte
3
(Por Teorema 4.1 eo Tempo Hierarquia Teorema, o seu exemplo não pode segurar para TMs 1-fita.)

Respostas:

11

Você não deve esperar uma aceleração emocionante. Nós temos

DTIME(f(n))NTIME(f(n))ATIME(f(n))DSPACE(f(n)),

e a simulação mais conhecida do tempo determinístico pelo espaço ainda é o teorema de Hopcroft – Paul – Valiant

DTIME(f(n))DSPACE(f(n)/logf(n)).

Assim, não se sabe que o não determinismo ou a alternância aceleram mais do que um fator logarítmico. (Eu suspeito que nenhuma aceleração super-linear também seja conhecida, embora não tenha certeza se o teorema do HPV não pode funcionar com o ATIME no lugar do DSPACE.)

Emil Jeřábek apoia Monica
fonte
1
Para máquinas de Turing on-line com uma fita, é folclore que . NTIME(n)DSPACE(n)
Michael Wehar
1
Para máquinas Turing de duas fitas, temos conforme declarado acima. DTIME(n)DSPACE(n/log(n))
Michael Wehar
2
A questão é sobre máquinas de Turing multitape.
Emil Jeřábek apoia Monica
4
Eu só queria fornecer esclarecimentos adicionais para o leitor interessado.
Michael Wehar
2
Por Paul-Pippenger-Szemerédi-Trotter, a primeira inclusão é para o caso especial em que f ( n ) = n . DTIME(f(n))NTIME(f(n))f(n)=n
András Salamon
6

Existem dois conceitos distintos:

(1) Simulação eficiente de máquinas determinísticas por máquinas não determinísticas.

(2) Acelere os resultados obtidos aplicando uma simulação repetidamente.

Não conheço nenhuma simulação eficiente de máquinas determinísticas por não determinísticas, mas conheço vários resultados de aceleração que poderiam ser usados ​​se existirem simulações eficientes.

Considere a classe de idiomas que são decidíveis por uma máquina de Turing não determinística em execução por t ( n ) tempo usando apenas g ( n ) suposições não determinísticas. Em outras palavras, o comprimento da testemunha é limitado por g ( n ) .NTIGU(t(n),g(n))t(n)g(n)g(n)

Se você tem uma simulação mais eficiente usando apenas suposições não determinísticas de , acredito que você pode acelerar um pouco. Em particular, acredito que você pode provar o seguinte:log(n)

Se , então D T I M E ( 2 DTIME(nlog(n))NTIGU(n,log(n)).DTIME(2n)NTIME(n)

Se você achar isso interessante, eu posso escrever a prova.

Ryan Williams introduziu algumas acelerações relacionadas em "Melhorar a pesquisa exaustiva implica limites inferiores superpolinomiais".

Michael Wehar
fonte
1
Como você pode ver, é uma suposição bastante grande e é bastante razoável que você possa provar que a hipótese é falsa . Deixe-me saber se você faz. :)DTIME(nlog(n))NTIGU(n,log(n))
Michael Wehar
@AndrasSalamon: Como é que siga de busca exaustiva? O que outras pessoas estão dizendo
@RickyDemer, você está certo, não; removeram os comentários. Eu estava implicitamente assumindo que o não-determinismo estava no final do cálculo, mas deveria ser assumido no início.
András Salamon
Atualização: Finalmente, comecei a redigir o resultado de aceleração proposto que eu mencionei. Parece ser um pouco diferente de outros resultados de velocidade que eu encontrei. Sinta-se à vontade para responder ou enviar um e-mail se estiver interessado em discutir. Obrigado! :)
Michael Wehar 18/07/19
1
certamente dar uma olhada, esta é uma abordagem intrigante.
András Salamon
6

Aqui está uma explicação para o porquê de uma aceleração não-determinística geral do cálculo determinístico, mesmo se verdadeira, seria difícil de provar:

Suponha que seja mantida uma aceleração não determinística quadrática geral da computação determinística como . Por uma questão de contradição, assuma que S A TD T i m e ( o ( n 2 / lg n ) ) . Há uma redução no tempo quadrático de qualquer problema em N T i m e ( nDTime(n4)NTime(n)SATDTime(o(n2/lgn)) Para S A T . Combinando-os, teríamos D T i / lg n ) ) contradizendo o teorema da hierarquia de tempo.NTime(n)SATDTime(n4)DTime(o(n4/lgn))

Portanto, uma aceleração não terminística geral quântica do cálculo determinístico implicaria um limite inferior para :SAT

.DTime(n4)NTime(n)SATDTime(o(n2/lgn))

Portanto provando uma velocidade quadrática-se não-determinístico geral de computação determinista é, pelo menos, tão forte quanto a revelar inferior limites quase quadráticas em .SAT

Da mesma forma, para qualquer função com bom comportamento :f(n)

.DTime(f(n2))NTime(n)SATDTime(o(f(n)/lgn))

(Se no lugar de escolhermos um problema difícil para N T i m e ( n ) sob reduções de tempo linear, isso daria f ( n ) / lg n um limite inferior para esse problema. Se o número de fitas da máquina for de k 2 , podemos usar o teorema da hierarquia de tempo de Fürer, que não possui o fator lg n .)SATNTime(n)f(n)/lgnk2lgn

Kaveh
fonte
Como nem sabemos que o SAT não está no DTime (n), não sabemos uma aceleração de . ω(nlgn)2
Kaveh