e são duas classes de complexidade probabilística básica.
é a classe de linguagens decidida pelos algoritmos de Turing probabilísticos em tempo polinomial, nos quais a probabilidade do algoritmo retornar uma resposta incorreta é limitada, ou seja, a probabilidade de erro é no máximo (para instâncias SIM e NÃO).
Por outro lado, algoritmos podem ser vistos como esses algoritmos probabilística que nunca mais voltar uma resposta errada, sempre que retornar uma resposta que está correcto. No entanto, seu tempo de execução não é limitado por um polinômio, eles são executados no polinômio esperado.
Seja a classe da linguagem decidida por algoritmos probabilísticos com probabilidade de erro zero e tempo de execução esperado . Estes também são referidos como algoritmos de Las Vegas e .
Minha pergunta é o que é melhor saber simulação de algoritmos usando algoritmos de Las Vegas? Podemos simulá-los no tempo esperado subexponencial? Existe alguma melhoria conhecida sobre a simulação trivial de força bruta que leva tempo exponencial?
Mais formalmente, sabemos se ou B P P ⊆ Z P T i m e ( 2 n -para algunsϵ>0?
Respostas:
Primeiro, observe que se para alguma constante c , então B P P ≠ N EBPP⊆ZPTIME[2nc] c . (Prova da hierarquia de tempo não determinística.) Portanto, provar tal inclusão seria significativo, não apenas porque é uma simulação aprimorada, mas também produziria o primeiro progresso nos limites inferiores do tempo aleatório em décadas.BPP≠NEXP
Em seguida, considere a classePromiseBPP , para os quais o seguinte problema é " -Hard":PromiseBPP
Resultados de Impagliazzo, Kabanets, e Wigderson 2.002 implica que um algoritmo de erro de tempo zero para CAPP (onde n é o tamanho de C ) implicaria N E X P ⊄ P / p o l y . No STOC'10, estendi isso para mostrar: supondo que para cada C com k bits de entrada e tamanho n , é possível calcular o CAPP de forma não determinística (portanto, o erro zero é suficiente) em 2 k - ω ( log k ) p2nε n C NEXP⊄P/poly C k n tempo, então N E X P ⊄ P / p o l y . Ou seja, certamente existem problemas computáveis com a aleatoriedade dos erros nos dois lados, para a qual algoritmos de erro zero que mesmo vencem levemente a pesquisa exaustiva implicariam limites inferiores do circuito. Eu acredito que isso deve ser interpretado como um método possível para provar limites mais baixos; sua milhagem pode variar.2k−ω(logk)poly(n) NEXP⊄P/poly
Note-se que mesmo provando também está aberta, e provando que implicaria também limites inferiores: por Kabanets e Impagliazzo 2004, se o teste de identidade polinomial (um c o R P problema) é em Z P T I M E [ 2 n ε ] para todos ε > 0 , temos limites inferiores para Permanente ou NRP⊆ZPTIME[2nε] coRP ZPTIME[2nε] ε>0 NEXP . Recentemente (próximos em STOC'13), que provou ser incondicionalmente que quer ou R T I H E [ 2 n ] tem n c circuitos de tamanho, baseando-se no método de "testemunha fácil" de Kabanets. Isso implica duas coisas:BPP⊆ioZPTIME[2nε]/nε RTIME[2n] nc
Há um de tal modo que para todos ε > 0 , R P é incondicionalmente em i o Z P T I H E [ 2 n ε ] / n c - esta é a melhor sobre derandomization incondicional de R P / B P P em Z Pc ε>0 RP ioZPTIME[2nε]/nc RP/BPP que sabemos até agora.ZPP
Para começar a receber simulações subexponencial interessantes do , você "apenas" tem que assumir R T I M E [ 2 n ] não tem circuitos de polinômio de tamanho fixo.BPP RTIME[2n]
fonte
Depende de quais suposições você está disposto a fazer.
Sob certas premissas de dureza, nomeadamente , obtém que P = B P P . Isto implica, em particular, que B P P = Z P P e, portanto, que todas as línguas L ∈ B P PE⊈SIZE(2εn) P=BPP BPP=ZPP L∈BPP sejam aceitos por uma máquina de Las Vegas (consulte "P = BPP, a menos que E possua circuitos subexponenciais: derandomizando o lema XOR", de Impagliazzo e Wigderson).
Também é possível fazer uma suposição dureza mais leves, ou seja, que , e conseguir que B P P = Z P P (ver Lema 46 em "Na procura de um testemunha fácil: tempo exponencial versus tempo polinomial probabilístico "de Impagliazzo, Kabanets e Wigderson).ZPE⊈io−DTIME(2εn) BPP=ZPP
fonte
Exceto quaisquer avanços na des aleatorização, parece-me que o requisito de que a Las Vegas Machine não cometa erros é crucial, de modo que há pouco ou nenhum benefício em ter aleatoriedade neste caso.
Para uma BPP linguagem decidido por um algoritmo adequado A , que atua nas entradas x ∈ { 0 , 1 } n e uma seqüência aleatória r ∈ { 0 , 1 } N ( n ) representando suas escolhas aleatórias, o critério de erros zero implica que a máquina de Las Vegas deve verificar com certeza qual dos dois casos Pr r ( A aceita ( x , r ) ) ⩾ 2L A x∈{0,1}n r∈{0,1}N(n) detém. Se não é dada nenhuma informação sobre osA, então este é essencialmente um problema promessa Oracle: dado um oráculoUm'computaçãoUm'(r)=A(x,r), e dado a promessa de queA'rendimentos de uma saída deum∈{0,1}para pelo menos duas vezes mais entradas que a saída oposta1-a, determine qual saída é mais comum.
Embora a Las Vegas Machine possa usar técnicas aleatórias, se formos forçados a tratar como um oráculo, podemos ver que a única estratégia disponível para uma máquina de Las Vegas é fazer uma pesquisa relativamente completa (embora não exaustiva) do seqüências aleatórias r , para ver qual resposta é dada para cada uma. Só pode ter certeza se encontra mais de 2 N ( n )A′ r cordas distintas r, que dão origem à mesma saída; caso contrário, com probabilidade pequena (mas diferente de zero!), pode ser azarado e obter uma amostra não representativa das saídas possíveis. Para obter erro zero, ele deve amostrar pelo menos 2 N ( n )2N(n)/3 r entradas r .2N(n)/3 r
Como a máquina de Las Vegas deve inspecionar pelo menos uma fração constante de todas as seqüências aleatórias possíveis , assintoticamente não estamos em melhor situação do que se testássemos deterministicamente todas as sequências aleatórias possíveis. Não obtemos vantagem assintótica na simulação aleatória de algoritmos de BPP em um ambiente de erro zero, além do que podemos fazer deterministicamente por força bruta.r
Observe que esse mesmo argumento dá origem a uma separação do oráculo entre BPP e ZPP , ou seja , existe um oráculo tal que Z P P A ⫋ B P P A porque o algoritmo ZPP leva tempo exponencial, enquanto um algoritmo BPP pode resolver a questão sobre o oracle em uma única consulta e tenha sucesso com erro limitado. No entanto, isso não diz mais do que você já suspeitava (que a sobrecarga da simulação pode ser pior que o polinômio) nem que os assintóticos são tão ruins quanto uma simulação determinística ingênua.A
fonte