In
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
, an Arthur–Merlin protocol, introduced by , is an
interactive proof system
In computational complexity theory, an interactive proof system is an abstract machine that models computation as the exchange of messages between two parties: a ''prover'' and a ''verifier''. The parties interact by exchanging messages in order ...
in which the verifier's coin tosses are constrained to be public (i.e. known to the prover too). proved that all (formal)
languages
Language is a structured system of communication that consists of grammar and vocabulary. It is the primary means by which humans convey meaning, both in spoken and signed forms, and may also be conveyed through writing. Human language is ch ...
with interactive proofs of arbitrary length with private coins also have interactive proofs with public coins.
Given two participants in the protocol called Arthur and Merlin respectively, 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
An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination.
Descript ...
with infinite computational power (also known as a prover). However, 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 of the time, and if whenever the answer is "no", Arthur will never accept more than 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
Language is a structured system of communication that consists of grammar and vocabulary. It is the primary means by which humans convey meaning, both in spoken and signed language, signed forms, and may also be conveyed through writing syste ...
''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.
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
*if ''x'' is not in ''L'', then
The second condition can alternatively be written as
*if ''x'' is not in ''L'', then
To compare this with the informal definition above, ''z'' is the purported proof from Merlin (whose size is bounded by a polynomial) and ''y'' is the random string that Arthur uses, which is also polynomially bounded.
AM
The
complexity class
In computational complexity theory, a complexity class is a set (mathematics), set of computational problems "of related resource-based computational complexity, complexity". The two most commonly analyzed resources are time complexity, time and s ...
AM (or AM
'') is the set of
decision problem
In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question on a set of input values. An example of a decision problem is deciding whether a given natura ...
s that can be decided in polynomial time by an Arthur–Merlin protocol with two messages. There is only one query/response pair: Arthur tosses some random coins and sends the outcome of ''all'' his coin tosses to Merlin, Merlin responds with a purported proof, and Arthur deterministically verifies the proof. In this protocol, Arthur is only allowed to send outcomes of coin tosses to Merlin, and in the final stage Arthur must decide whether to accept or reject using only his previously generated random coin flips and Merlin's message.
In other words, a language ''L'' is in AM 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
*if ''x'' is not in ''L'', then
The second condition here can be rewritten as
*if ''x'' is not in ''L'', then
As above, ''z'' is the alleged proof from Merlin (whose size is bounded by a polynomial) and ''y'' is the random string that Arthur uses, which is also polynomially bounded.
The complexity class AM
'k'''' is the set of problems that can be decided in polynomial time, with ''k'' queries and responses. AM as defined above is AM
''. AM
'' would start with one message from Merlin to Arthur, then a message from Arthur to Merlin and then finally a message from Merlin to Arthur. The last message should always be from Merlin to Arthur, since it never helps for Arthur to send a message to Merlin after deciding his answer.
Properties

* Both MA and AM remain unchanged if their definitions are changed to require perfect completeness, which means that Arthur accepts with probability 1 (instead of 2/3) when ''x'' is in the language.
* For any constant ''k'' ≥ 2, the class AM
'k'''' is equal to AM
''. If ''k'' can be polynomially related to the input size, the class AM
oly(''n'')is equal to the class,
IP, which is known to be equal to
PSPACE
In computational complexity theory, PSPACE is the set of all decision problems that can be solved by a Turing machine using a polynomial amount of space.
Formal definition
If we denote by SPACE(''f''(''n'')), the set of all problems that can ...
and is widely believed to be stronger than the class AM
''.
* MA is contained in AM, since AM
contains MA: Arthur can, after receiving Merlin's certificate, flip the required number of coins, send them to Merlin, and ignore the response.
* It is open whether AM and MA are different. Under plausible circuit lower bounds (similar to those implying P=BPP), they are both equal to NP.
* AM is the same as the class BP⋅NP where BP denotes the bounded-error probabilistic operator. Also,
( also written as ExistsBPP) is a subset of MA. Whether MA is equal to
is an open question.
* The conversion to a private coin protocol, in which Merlin cannot predict the outcome of Arthur's random decisions, will increase the number of rounds of interaction by at most 2 in the general case. So the private-coin version of AM is equal to the public-coin version.
* MA contains both
NP and
BPP
BPP may refer to:
Education
* BPP Holdings, a holding company based in the United Kingdom
* BPP Law School, a law school based in the United Kingdom and a constituent school of BPP University
* BPP University, a private university based in the ...
. For BPP this is immediate, since Arthur can simply ignore Merlin and solve the problem directly; for NP, Merlin need only send Arthur a certificate, which Arthur can validate deterministically in polynomial time.
* Both MA and AM are contained in the
polynomial hierarchy
In computational complexity theory, the polynomial hierarchy (sometimes called the polynomial-time hierarchy) is a hierarchy of complexity classes that generalize the classes NP and co-NP. Each class in the hierarchy is contained within PSPACE. ...
. In particular, MA is contained in the intersection of Σ
2P and Π
2P and AM is contained in Π
2P. Even more, MA is contained in subclass
, a complexity class expressing "symmetric alternation". This is a generalization of
Sipser–Lautemann theorem.
* AM is contained in
NP/poly, the class of decision problems computable in non-deterministic polynomial time with a polynomial size
advice. The proof is a variation of
Adleman's theorem.
* MA is contained in
PP; this result is due to Vereshchagin.
* MA is contained in its quantum version,
QMA.
* AM contains the
problem
Problem solving is the process of achieving a goal by overcoming obstacles, a frequent part of most activities. Problems in need of solutions range from simple personal tasks (e.g. how to turn on an appliance) to complex issues in business an ...
of deciding if two graphs are ''not'' isomorphic. The protocol using private coins is the following and can be transformed to a public coin protocol. Given two graphs ''G'' and ''H'', Arthur randomly chooses one of them, and chooses a random permutation of its vertices, presenting the permuted graph ''I'' to Merlin. Merlin has to answer if ''I'' was created from ''G'' or ''H''. If the graphs are nonisomorphic, Merlin will be able to answer with full certainty (by checking if ''I'' is isomorphic to ''G''). However, if the graphs are isomorphic, it is both possible that ''G'' or ''H'' was used to create ''I'', and equally likely. In this case, Merlin has no way to tell them apart and can convince Arthur with probability at most 1/2, and this can be amplified to 1/4 by repetition. This is in fact a
zero knowledge proof
In cryptography, a zero-knowledge proof (also known as a ZK proof or ZKP) is a protocol in which one party (the prover) can convince another party (the verifier) that some given statement is true, without conveying to the verifier any information ...
.
* If AM contains coNP then
PH = AM. This is evidence that graph isomorphism is unlikely to be NP-complete, since it implies collapse of polynomial hierarchy.
* It is known, assuming
ERH, that for any ''d'' the problem "Given a collection of multivariate polynomials
each with integer coefficients and of degree at most ''d'', do they have a common complex zero?" is in AM.
References
Bibliography
* .
* .
*.
Madhu Sudan's MIT course on advanced complexity
External links
*
*
{{DEFAULTSORT:Arthur-Merlin protocol
Randomized algorithms