Dizemos que uma função é construtível no tempo , se existir uma máquina de Turing determinística múltiplas fitas que em todas as entradas de comprimento faça no máximo etapas e para cada existe alguma entrada de comprimento na qual executa exatamente etapas. M n f ( n ) n n M f ( n )
Dizemos que uma função é totalmente construtível no tempo , se existir uma máquina de Turing determinística várias fitas que em todas as entradas de comprimento faça exatamente etapas . M n f ( n )
Q1: Existe uma função que seja construtível no tempo e não totalmente construtível no tempo?
A resposta é sim (veja esta resposta ), se . A condição para "sim" pode ser reforçada para ? O "sim" pode ser provado?P ≠ N P
P2: A classe de funções (totalmente) constitutivas no tempo muda se permitirmos apenas máquinas de Turing com 2 fitas na definição?
Q3: Quais são as razões "prováveis" para acreditar que todas as funções legais são totalmente construtíveis no tempo?
O artigo
Kojiro Kobayashi: Provando a Construtibilidade de Funções no Tempo. Theor. Comput. Sci. 35: 215-225 (1985)
responde parcialmente a Q3. O resumo parcial e a atualização estão nesta resposta . Eu tomo Q3 como respondido.
Historicamente, a noção de função contável em tempo real foi usada em vez de (totalmente) construtiva em tempo. Veja esta pergunta para mais.
Respostas:
Nos últimos dias, pensei muito em funções (totalmente) construtivas no tempo e apresentarei o que descobri respondendo ao Q1 e Q3. Q2 parece muito difícil.
Q3:
Kobayashi em seu artigo (a referência está na pergunta) provou que uma função , para a qual existe um ϵ > 0 st f ( n ) ≥ ( 1 + ϵ ) n , é totalmente construtível no tempo se for computável em O ( f ( n ) ) tempo. (observe que é irrelevante se a entrada ou a saída está em unário / binário, pois podemos transformar entre essas duas representações em tempo linear). Isso torna as seguintes funções totalmente construtíveis no tempo: 2 n ,f:N→N ϵ>0 f(n)≥(1+ϵ)n O(f(n)) 2n , n ! , N ⌊ log n ⌋ , todos os polinómios de p mais de N r p ( n ) ≥ ( 1 + ε ) n ... Kobayashi também se provou ser totalmente tempo-construtibilidade para algumas funções que crescem mais lentamente do que ( 1 + ε ) n , como n + ⌊ ⌊ log n ⌋ q ⌋ para q ∈ Q + ...22n n! n⌊logn⌋ p N p(n)≥(1+ϵ)n (1+ϵ)n n+⌊⌊logn⌋q⌋ q∈Q+
Para continuar com exemplos de funções totalmente construtíveis no tempo, pode-se provar que, se e f 2 são totalmente construtíveis no tempo, então f 1 + f 2 , f 1 f 2 , f f 2 1 e f 1 ∘ f 2 são também totalmente construtível no tempo (a seguir segue diretamente do Teorema 3.1 em Kobayashi). Isso me convence de que muitas funções agradáveis são de fato totalmente construtíveis no tempo.f1 f2 f1+ f2 f1f2 ff21 f1∘ f2
É surpreendente que Kobayashi não tenha visto uma maneira de provar totalmente a construtibilidade no tempo da função (agradável) (e nem eu).Log n logn⌋
Vamos também comentar a definição do artigo da Wikipedia : Uma função é construtível no tempo, se existe uma máquina de Turing M que, dada uma string 1 n , gera f ( n ) no tempo O ( f ( n ) ) .f M 1n f(n) O(f(n)) Vemos que esta definição é equivalente à nossa definição de construtibilidade no tempo total para as funções .f(n)≥(1+ϵ)n
Q1:
Esta pergunta tem uma resposta realmente interessante. I afirmam que, se todas as funções de tempo-construtıvel são totalmente tempo-construtıvel, então . Para provar isso, tomemos um problema arbitrário L ∈ N E X P - T I M E , L ⊆ { 0 , 1 } ∗ . Então existe um k ∈ N , st LEXP−TIME=NEXP−TIME L∈NEXP−TIME L⊆{0,1}∗ k∈N L pode ser resolvido por um NDTM em 2 n k - 1 passos. Podemos supor que a cada passo M entre no máximo dois estados diferentes para simplificar. Agora defina a função
f ( n ) = { 8 n + 2 se ( primeiro ⌊ k √M 2nk−1 M
Afirmo que é construtível no tempo. Considere a seguinte máquina de Turing determinística T :f T
Observe que o comprimento de ( = n ) é suficiente para determinar todas as opções não determinísticas, pois M na entrada ( primeiro ⌊ k √w =n M realiza no máximonetapas.(first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n)) n
Podemos fazer o rodar no máximo 8 n + 1 etapas. Agora, a seguinte máquina de Turing prova que f é construtível no tempo:T 8n+1 f
Agora, suponha que seja totalmente construtível no tempo. Vamos provar que isto conduz a E X P - T I M E = N E X P - T I M E .f EXP−TIME=NEXP−TIME
O seguinte algoritmo resolve :L
Este algoritmo é executado em exponencial tempo e resolve . Uma vez que L ∈ N E X P - T I M E foi arbitrária, E X P - T I M E = N E X P - T I M E .L L∈NEXP−TIME EXP−TIME=NEXP−TIME
fonte