In computational complexity theory, a certificate (also called a witness) is a string that certifies the answer to a computation, or certifies the membership of some string in a language. A certificate is often thought of as a solution path within a verification process, which is used to check whether a problem gives the answer "Yes" or "No".
In the decision tree model of computation, certificate complexity is the minimum number of the input variables of a decision tree that need to be assigned a value in order to definitely establish the value of the Boolean function .
Video Certificate (complexity)
Definition
The notion of certificate is used to define semi-decidability:
L ? SD iff there is a two-place predicate R ? ?* × ?* such that R is computable, and such that for all x ? ?*:
x ? L <=> there exists y such that R(x, y)
It can also be used to define the class NP:
L ? NP iff there is a polytime verifier V such that:
x ? L <=> there exists y such that |y| <= |x|c and V accepts (x, y)
Maps Certificate (complexity)
Example
L = {<<M>, x, w> | does <M> accept x in |w| steps?} Show L ? NP. verifier: gets string c = <M>, x, w such that |c| <= P(|w|) check if c is an accepting computation of M on x with at most |w| steps |c| <= O(|w|3) if we have a computation of a TM with k steps the total size of the computation string is k2 Thus, <<M>, x, w> ? L <=> there exists c <= a|w|3 such that <<M>, x, w, c> ? V ? P
See also
- Witness (mathematics), an analogous concept in mathematical logic
References
External links
- Buhrman, Harry; de Wolf, Ronald (2002), Complexity Measures and Decision Tree Complexity:A Survey.
- Computational Complexity: a Modern Approach by Sanjeev Arora and Boaz Barak
Source of article : Wikipedia