**BPP** = languages decidable with bounded error by polynomial time probabilistic Turing machine.

**RP** = languages decidable with \(1\)-sided error by polynomial time probabilistic Turing machine.

**ZPP** = languages decidable with no error by expected polynomial time probabilistic Turing machine.

P \(\subseteq\) ZPP \(\subseteq\) RP \(\subseteq\) BPP

**False Claim** BPP \(\subseteq\) NP because for \(L\in\)BPP and input \(x\), we can have verifier that takes sequence of coins that leads to accept state as the certificate.

When \(x\in L\), so there exists valid certificate. But when \(x\not\in L\), there exists certificates that cause the verifier to accept.

**Theorem** RP\(\subseteq\)NP

**Question 1** Is BPP\(\subseteq\)NP? Unknown.

**Theorem** BPP\(\subseteq\)EXP

**Proof** Brute-force simulation of the probabilistic Turing machine and count accepting paths.

**Question 2** Are there BPP-complete languages? Unknown.

**Question 3** Is \(BPTIME(n^2)\neq BPTIME(n)\)? Unknow.

**Definition** The class DIP is the class of languages that can be decided in polynomial time by a verifier that interacts with a prover, such that

- If \(x\in L\), then prover can always convince the verifier with the interaction
- If \(x\in L\), then no possible interaction convinces the verifier (erroneously)

**Theorem** DIP\(=\)NP

**Proof** \(NP\subseteq DIP\) is obvious.

To show \(DIP\subseteq NP\), we note that DIP verifier \(V\) can be simulated by an NP verifier \(V'\) that receives the whole transcript \(c=(m_1,m_2,...)\) that causes \(V\) to accept as its certificate.

**Definition** \(IP\) is the class of languages decidable with bounded error by a polynomial time probabilistic Turing machine that interacts with a prover.

- If \(x\in L\), the prover has a strategy to answer verifier's questions in a way that causes verifier to accept with probability \(p\geq\frac{2}{3}\).
- If \(x\not\in L\), any strategy of the prover still causes the verifier to reject with probability \(p\geq\frac{2}{3}\)

**Theorem** IP\(\subseteq\)NEXP

\(GI=\{\langle G_1,G_2\rangle: G_1\cong G_2\}\) or \(GNI=\{\langle G_1,G_2\rangle: G_1\) is not isomorphic to \(G_2\}\).

**Theorem** \(G_1\in\) NP

**Proof** The certificate is the mapping between \(G_1\) and \(G_2\).

Question Is \(GNI\in NP\)? Unknown for this class.

**Theorem** \(GNI\in IP\)

**Proof** The verifier drawn \(i\in\{1,2\}\) uniformly and create \(H\) by randomly permuting the labels of the vertices of \(G_1\). The verifier sends \(H\) to the prover, expects \(i\) as the response (\(G_i\cong H\)). If \(G_1\not\cong G_2\), then prover can always determine \(i\). If \(G_1\cong G_2\), then prover guess \(i\) correctly with probability \(\frac{1}{2}\). With \(2\) repetitions, error is \(\leq\frac{1}{4}\)