Teorema de Sipser–Lautemann

Origem: Wikipédia, a enciclopédia livre.

Em teoria da complexidade computacional, o teorema Sipser-Lautemann ou teorema Sipser-Gács-Lautemann estabelece que Bounded-error probabilistic polinomial time (BPP), está contida na hierarquia de tempo polinomial, e, mais especificamente, em Σ2 ∩ Π2.

Em 1983, Michael Sipser mostrou que BPP está contida na hierarquia de tempo polinomial.[1] Péter Gács mostrou que BPP está atualmente inserida em Σ2 ∩ Π2. Clemens Lautemann contribuiu dando uma prova simples de que BPP está contida em Σ2 ∩ Π2, também em 1983.[2] Conjectura-se que, na realidade, BPP = P, que é uma afirmação mais forte do que o teorema de Sipser-Lautemann.

Prova[editar | editar código-fonte]

Aqui apresentamos a prova de Lautemann,[2] distinguindo as partes acerca da inserção na hierarquia polinomial e em Σ2.

Contenção de BPP na hierarquia polinomial[editar | editar código-fonte]

Esta é a primeira parte provada por Michael Sipser.[1] Sem perda de generalidade, uma máquina M ∈ BPP com erro ≤ 2-|x| é escolhida. (Todo problema BPP pode ser amplificado para reduzir a probabilidade de erro de modo exponencial). A ideia básica da prova é definir uma sentença Σ2 ∩ Π2 que é equivalente a dizer que x está na linguagem L definida por M usando um conjunto de transformações das variáveis aleatórias de entrada.

Desde que a saída de M dependa de uma entrada aleatória, assim como a entrada x, é útil definir que cadeias aleatórias produzem a saída correta como A(x) = {r | M(x,r) aceita}. A chave da prova é notar que quando x ∈ L, A(x) é muito grande e quando xL, A(x) é muito pequena. Usando paridade bit a bit, ⊕, um conjunto de transformações pode ser definido como A(x) ⊕ t={rt | rA(x)}. O primeiro lema principal da prova mostra que a união de um pequeno número finito destas transformações irá conter todo o espaço de cadeias de entrada aleatórias. Utilizando este fato, uma sentença Σ2 e uma sentença Π2 podem gerar verdadeiro, se somente se, x ∈ L (ver corolário).

Lema 1[editar | editar código-fonte]

A ideia geral do primeiro lema é provar que se A(x) cobre uma grande parte do espaço aleatório  então existe um pequeno conjunto de traduções que cobrirá todo o espaço aleatório. Em uma linguagem mais matemática:

se , então , quando  tal que 

Prova. Escolha aleatoriamente t1, t2, ..., t|r|. Faça  (a união de todas as transformações de A(x)).

Então, para todo r em R,


A probabilidade de existir pelo menos um elemento em R e não em S é,

Portanto,

Então existe uma seleção para cada tal que

Lema 2[editar | editar código-fonte]

O teorema anterior mostra que A(x) pode cobrir todos os pontos possíveis no espaço usando um pequeno conjunto de traduções. Complementarmente a isto, para x ∉ L apenas uma pequena fração do espaço é coberta por  A(x). Portanto, o conjunto de cadeias aleatórias que torna M(x,r) uma aceitação não pode ser gerado por um conjunto pequeno de vetores ti.

R é o conjunto de todas as cadeias aleatórias de aceitação, “ou-exclusivadas” com vetores ti.

Corolário[editar | editar código-fonte]

Um corolário importante dos lemas mostra que o resultado da prova pode ser expresso como uma Σ2, como segue.

Isto é, está em uma linguagem L, se e somente se, existem vetores binários |r|, onde para todos os vetores de bit aleatórios r, a MT aceita pelo menos um vetor aleatório ⊕ ti.

A expressão acima está em Σ2 de modo que ela é primeiro quantificada existencialmente e depois universalmente. Portanto, BPP ⊆ Σ2. Como BPP é fechada sob complemento isto prova que BPP ⊆ Σ2 ∩ Π2.

BPP está contida em Σ2[editar | editar código-fonte]

Esta parte é a contribuição de Lautemann para o teorema.

Lemma 3[editar | editar código-fonte]

Baseado na definição de BPP nós mostramos o seguinte:

se L está em BPP, então, existe um algoritmo A tal que para todo x,

quando m é o número de bits aleatórios e A executa em tempo .

Proof: Seja A' um algoritmo BPP para L. Para todo x, . A' usa m'(n) bits aleatórios onde n = |x|.Faça k(n) repetições de A' e aceite se, e somente se, pelo menos k(n)/2 execuções de A' aceitam. Defina esse novo algoritmo como A. Então A usa k(n)m'(n) bits aleatórios e,

Podemos então achar k(n) com tal que,

Teorema 1[editar | editar código-fonte]

Prova: Seja L em BPP e A como no Lema 3. Queremos mostrar que

Onde m é o número de bits aleatórios usados por A com entrada x. Dado , então,

Assim,

Assim  existe.

Reciprocamente, suponha . Então

Assim,

Assim, existe um z tal que   para todo 

Versão Mais Forte (Fortalecimento da Versão)[editar | editar código-fonte]

O teorema pode ser fortalecido para (vee MA, SP
2
).[3][4]

Referências[editar | editar código-fonte]

  1. a b Sipser, Michael (1983). «A complexity theoretic approach to randomness». ACM Press. Proceedings of the 15th ACM Symposium on Theory of Computing: 330–335 
  2. a b Lautemann, Clemens (1983). «BPP and the polynomial hierarchy». Inf. Proc. Lett. 17. 17 (4): 215–217. doi:10.1016/0020-0190(83)90044-3 
  3. Canetti, Ran (1996). «More on BPP and the polynomial-time hierarchy». Elsevier. Information Processing Letters. 57 (5): 237–241. doi:10.1016/0020-0190(96)00016-6 
  4. Russell, Alexander; Sundaram, Ravi (1998). «Symmetric alternation captures BPP». Birkhäuser Verlag. computational complexity. 7 (2): 152–162. ISSN 1016-3328. doi:10.1007/s000370050007