BPP는 정말로 P보다 강한가, 아니면 우리가 게으른 것인가
지난 강의에서 BPP ⊆ PSPACE를 보았지만, 이 한계는 너무 헐렁하다. PSPACE는 우주의 컴퓨팅 자원을 모두 모아도 풀 수 없는 거인들을 잔뜩 품고 있는 클래스이고, BPP는 우리가 매일 굴리는 무작위 알고리즘들의 집이다. 더 정밀한 한계가 필요하다. 그것이 1983년 Sipser와 Gács, 그리고 Lautemann이 독립적으로 증명한 다음 정리다.
이 결과의 묘미는 무작위성이라는 양적인 자원을 ∃와 ∀라는 논리적인 자원으로 환산해 낸다는 데 있다. 직관은 다음과 같다. L ∈ BPP에 대한 PTM M의 동전 시퀀스 r은 길이 m = poly(n)의 비트열이다. 입력 x ∈ L에 대한 "수락 동전 집합" Ax = { r : M(x; r) accepts }는 {0, 1}m의 적어도 99%를 차지하도록 증폭할 수 있고, x ∉ L이면 1% 이하다.
이제 비결정적 ∃∀ 한 쌍을 다음처럼 설계한다. 충분히 큰 t = m + 1에 대해, 비트열 t-튜플 (s1, …, st)이 주어지면 "이 t개의 시프트로 Ax의 평행이동 합집합이 {0, 1}m 전체를 덮는다"는 술어를 본다. Ax가 거대하면 적당한 (s1, …, st)이 존재해 모든 r ∈ {0, 1}m에 대해 어떤 i가 있어 M(x; r ⊕ si)이 수락한다. 반대로 Ax가 작으면, 어떤 t-튜플로도 덮을 수 없는 r이 항상 존재한다.
이 결과의 한 가지 그림 같은 함의: P = NP라면 다항 위계 전체가 P로 무너지고, 따라서 BPP ⊆ P. 즉 P 대 NP 추측은 무작위성의 가치 추측까지 동시에 결정한다.
현재의 압도적 추측은 BPP = P이다. 즉 모든 무작위 알고리즘은 (다항 시간 추가 비용으로) 결정성으로 환원될 수 있다는 것이다. 이 추측의 진지한 근거는 의사난수 생성기(pseudo-random generator, PRG)의 존재다.
좋은 PRG가 있다면 BPP 알고리즘의 동전 m비트를 G의 시드 s(n) ≪ m비트로 대체한 뒤, 모든 시드를 결정적으로 시도하면 된다. 시뮬레이션 비용은 2s(n)·poly(n)인데, 충분히 강한 회로 가정 — 예컨대 SAT가 지수적 회로를 요구한다 — 아래에서 s(n) = O(log n)인 PRG가 존재하므로 결정적 다항 시간 시뮬레이션이 가능해진다. Impagliazzo–Wigderson(1997)은 이러한 가정 아래 BPP = P를 증명했다. 무작위성은, 따라서, 단순히 "쉬운 문제 X 어려운 회로 가정"으로 환산되는 자원이다.
다른 방향에서 BPP의 결정화를 시도하자. 시간 자원만으로는 어렵다면, 비균일 조언을 허락하면 어떨까?
따라서 길이 n의 모든 입력에 동시에 옳은 답을 주는 동전 시퀀스 r∗n이 적어도 하나 존재한다. 이 r∗n을 길이 n 입력에 대한 다항 길이 조언 문자열로 사용하면, 결정적 다항 시간 회로(혹은 조언 받는 TM)가 L을 결정한다. 즉 BPP는 비균일 모델에서는 다항 회로의 위력을 넘지 못한다.
결정성 환원 ≤p를 무작위로 일반화한 것이 무작위 다항 시간 환원 ≤r이다. A ≤r B란, A의 멤버십을 답하는 다항 시간 PTM이 존재해 B에 대한 단일 질의로 답하되 양측 오류가 1/3 이하라는 뜻이다. RP-완전, BPP-완전 같은 개념이 정의될 수 있지만, BPP가 자기-환원과 잘 어울리는 promise 클래스인 탓에 BPP-완전 언어는 표준적인 의미에서 존재하지 않는다 — 이는 BPP가 syntactic 클래스가 아니라 semantic 클래스임을 보여 주는 미묘한 사실이다.
BPP의 자연 예제 중 가장 사랑받는 것은 그래프 비동형성(GRAPH NON-ISOMORPHISM, GNI)이다.
지금까지 우리는 검증자가 무작위성을 사용하되 외부와 상호작용하지 않는 모델을 다뤘다. 검증자가 동전을 가지고 무한 능력의 증명자와 대화를 나누면 어떤 일이 벌어지는가? 이 단순한 한 가지 변화가 PSPACE 전체를 검증 가능 클래스로 끌어올린다. 다음 강의에서 등장하는 IP, 상호작용 증명 시스템이 그 무대다. 우리는 NP의 정적 인증서가 무작위성을 만났을 때 어떻게 살아 움직이는지를 본다.