Temos algum circuito uniforme não trivial?

13

Dado um algoritmo em execução no tempo , podemos convertê-lo em uma família de circuitos uniformes "triviais" para o mesmo problema de tamanho, no máximo .t(n)t(n)logt(n)

Por outro lado, pode ser que tenhamos circuitos uniformes muito menores para esse problema, mesmo que seja um tempo de execução ideal. Os circuitos podem demorar mais que para gerar, mas são pequenos.t ( n )t(n)t(n)

Mas nós realmente sabemos como construir essas coisas? Eu acho que a pergunta inicial a fazer é

(1) Temos exemplos construtivos de circuitos uniformes não triviais, ou seja , circuitos uniformes cujo tamanho é menor que o tempo de execução mais conhecido de qualquer algoritmo para o mesmo problema?

Agora, acredito que, se houver um problema em , teremos um algoritmo de tempo exponencial para encontrar circuitos ideais usando uma pesquisa exaustiva: Dado , escrevemos as respostas em todos os entradas (tendo tempo ); então enumeramos todos os circuitos em entradas em tamanho crescente até encontrar um que dê todas as respostas corretas. A pesquisa termina no tamanho da conversão trivial, ou na tabela verdade da função, se as saídas forem . (Editar: Thomas ressalta que o limite é devido a Shannon / Lupanov.) n 2 n ( 2 n ) t ( n ) n t ( n ) log t ( n ) 2 n { 0 , 1 } O ( 2 n / n )DTIME(t(n))n2n(2n)t(n)nt(n)logt(n)2n{0,1}O(2n/n)

Portanto, temos um "sim" insatisfatório para a pergunta (1): adote uma linguagem difícil por um tempo acima de , mas ainda decidível; o procedimento acima gera uma tabela verdade de tamanho .2 n2n2n

Portanto, devemos refinar a pergunta (1). Eu acho que os dois casos mais interessantes são

(2) Temos exemplos construtivos de circuitos uniformes não triviais de tamanho polinomial ? (Mesmo que sejam gerados por algoritmos muito lentos.)

(3) Temos exemplos construtivos de circuitos uniformes não triviais, geráveis ​​em tempo polinomial e de tamanho polinomial?

Isso pode ser pedir demais. Que tal uma pergunta mais fácil: sabemos mesmo que isso é possível? Talvez não existam circuitos uniformes não triviais?

(4) A declaração a seguir é falsa para qualquer ? (Edit: , obrigado Thomas.) "Se uma linguagem possui circuitos uniformes do tamanho , também possui algoritmos em execução no tempo ". (Se sim, e quando "uniforme" é substituído por "polinomial-tempo-uniforme", "logspace uniform", etc?)O ( 2 n / n ) L O ( s ( n ) ) ~ O ( s ( n ) )s(n)=o(2n)o(2n/n)LO(s(n))O~(s(n))

Por fim, se as perguntas acima forem muito difíceis,

(5) Temos alguma construção de famílias uniformes de circuitos que não sejam simplesmente conversões de algoritmos em circuitos (ou anotando a tabela da verdade)?

Postscript. Um especialista que eu perguntei sobre isso mencionou "Sobre limites mais baixos de uniformidade e circuito" ( pdf ), Santhanam e Williams 2013, que talvez seja o trabalho mais estreitamente relacionado, mas prova limites mais baixos (que os circuitos geráveis ​​por tempo poli não são muito poderoso). Eu estaria interessado em qualquer outro trabalho relacionado!

usul
fonte
1,2,3,4: Função de identidade. 5. não está claro para mim o que você quer dizer com "sendo uma conversão de algoritmos em circuitos", sempre podemos converter um circuito uniforme em uma máquina de Turing (com uma pequena sobrecarga).
Kaveh
@ Kaveh, re # 5: Bom ponto, mas acho que o que tenho em mente é alguém escrevendo uma construção explícita de circuitos uniformes, que não se parece com "converter esta TM em um circuito". Além disso, acho que a conversão mencionada pode não significar realmente que o circuito "se parece" com um algoritmo. Por exemplo, digamos que temos um circuito tamanho que leva n 3 tempo para gerar. Nós podemos transformá-lo em um tempo- n 3 TM, ok, mas não se parecer com o circuito muito, e a conversão ingênua de que a MT volta em um circuito é agora de tamanho ~ n 3 . Espero que isso mostre por que a pergunta me interessa. nn3n3n3
usul
1
@ Kaveh: Como a função de identidade responde de 1 a 4?
Joshua Grochow 06/06
@ Josué, podemos descrever diretamente um circuito uniforme de (fio) tamanho O (n), que é melhor do que a conversão da máquina de Turing para identidade em um circuito.
Kaveh
O que quero dizer é que existem pequenos detalhes importantes com os quais precisamos nos preocupar para tornar a questão responsável. Outro exemplo: BPP está em P / poli e a conversão é computável. Se a geração do circuito for realizada por um algoritmo eficiente, combinando-o com o valor do circuito, obterá uma TM eficiente. Conceitualmente, o circuito e a MT calculam o mesmo algoritmo. O fato de tamanho e tempo não corresponderem exatamente é normal, eles são definidos para diferentes modelos de computação e sabemos que eles não correspondem. Indiscutivelmente, o tempo corresponde mais à profundidade do que ao tamanho.
Kaveh

Respostas:

8

Aqui estão as respostas para suas duas últimas perguntas.

(5) As redes de classificação são circuitos uniformes que classificam tão rapidamente quanto os melhores algoritmos de RAM, mas definitivamente não são apenas conversões de algoritmos de RAM (por exemplo, quicksort). [ AKS83 , G14 ]

s(n)=(1+ε)2n/nε>0(1+o(1))2n/nfΩ(3n)O(n3n)fO(2n/n)2poly(n)O~(2n/n)s(n)=o(2n/n)

Esta é uma pergunta interessante; Espero que alguém possa responder (1) - (3).

Thomas apoia Monica
fonte
Obrigado, você está certo, eu queria intuitivamente descartar esse caso "limite superior", mas não sabia o certo assintótico. Editei a pergunta para incluir esse caso.
usul