Teorema de Sipser–Lautemann

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

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

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

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

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

se |A(x)||R|>112|x|, então t1,t2,,t|r|, quando ti{1,0}|r|  tal que iA(x)ti=R.

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

Então, para todo r em R,

Pr[rS]=Pr[rA(x)t1]Pr[rA(x)t2]Pr[rA(x)t|r|]12|x||r|.


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

Pr[i(riS)]i12|x||r|=12|x|<1.

Portanto,

Pr[S=R]112|x|.

Então existe uma seleção para cada t1,t2,,t|r| tal que

iA(x)ti=R.

Lema 2

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=iA(x)ti

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

|A(x)||R|12|k|¬t1,t2,,tr

Corolário

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

xLt1,t2,,t|r|rR1i|r|(M(x,rti) accepts).

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

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

Lemma 3

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,

Prr(A(x,r)=right answer)113m,

quando m é o número de bits aleatórios |r|=m=|x|O(1) e A executa em tempo |x|O(1).

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

Prr(A(x,r)=wrong answer)2ck(n).

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

12ck(n)13k(n)m(n).

Teorema 1

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

xLy1,,ym{0,1}mz{0,1}mi=1mA(x,yiz)=1.

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

Pry1,,ym(zA(x,y1z)==A(x,ymz)=0)z{0,1}mPry1,,ym(A(x,y1z)==A(x,ymz)=0)2m1(3m)m<1.

Assim,

Pry1,,ym(ziA(x,yiz))=1Pry1,...,ym(zA(x,y1z)==A(x,ymz)=0).

Assim (y1,,ym) existe.

Reciprocamente, suponha xL. Então

Prz(iA(x,yiz))iPrz(A(x,yiz)=1)m13m=13.

Assim,

Prz(A(x,y1z)==A(x,ymz)=0)=1Prz(iA(x,yiz))23>0.

Assim, existe um z tal que  iA(x,yiz)=0 para todo y1,...,ym{0,1}m.

Versão Mais Forte (Fortalecimento da Versão)

O teorema pode ser fortalecido para 𝖡𝖯𝖯𝖬𝖠𝖲2PΣ2Π2 (vee MA, [[S2P (complexity)|SPredefinição:Su]]).[3][4]

Referências