in computational complexity theory, an arthur&ndash;merlin protocol is an interactive proof system in which the verifier's coin tosses are constrained to be public (i.e. known to the prover too). this notion was introduced by .  proved that all languages with interactive proofs of arbitrary length with private coins also have interactive proofs with public coins. the basic assumption is that arthur is a standard computer (or verifier) equipped with a random number generating device, while merlin is effectively an oracle with infinite computational power (also known as a prover); but merlin is not necessarily honest, so arthur must analyze the information provided by merlin in response to arthur's queries and decide the problem itself. a problem is considered to be solvable by this protocol if whenever the answer is "yes", merlin has some series of responses which will cause arthur to accept at least 2/3 of the time, and if whenever the answer is "no", arthur will never accept more than 1/3 of the time. thus, arthur acts as a probabilistic polynomial-time verifier, assuming it is allotted polynomial time to make its decisions and queries. ==ma== the simplest such protocol is the 1-message protocol where merlin sends arthur a message, and then arthur decides whether to accept or not by running a probabilistic polynomial time computation. (this is similar to the verifier-based definition of np, the only difference being that arthur is allowed to use randomness here.) merlin does not have access to arthur's coin tosses in this protocol, since it is a single-message protocol and arthur tosses his coins only after receiving merlin's message. this protocol is called ma. informally, a language l is in ma if for all strings in the language, there is a polynomial sized proof that merlin can send arthur to convince him of this fact with high probability, and for all strings not in the language there is no proof that convinces arthur with high probability. however, arthur is not necessarily a bpp verifier as it is not known whether ma is contained in the class  \exists bpp.https://complexityzoo.uwaterloo.ca/complexity_zoo:e#existsbpp formally, the complexity class ma is the set of decision problems that can be decided in polynomial time by an arthurâmerlin protocol where merlin's only move precedes any computation by arthur. in other words, a language l is in ma if there exists a polynomial-time deterministic turing machine m and polynomials p, q such that for every input string x of length n = |x|, *if x is in l, then \exists z\in\{0,1\}^{q(n)}\,\pr\nolimits_{y\in\{0,1\}^{p(n)}}(m(x,y,z)=1)\ge2/3, *if x is not in l, then \forall z\in\{0,1\}^{q(n)}\,\pr\nolimits_{y\in\{0,1\}^{p(n)}}(m(x,y,z)=0)\ge2/3. the second conditi
Probabilistic_complexity_theory