Let $L \subset \sigma^*$ be a decision problem. An Algorithim M is a polynomial bounded verifier for $L$, when:
M has a polynomial bounded run time
$M(x,z)$ the output on the the input $x \text{#} z$. Then it's true that:
$ x \in L <=> \exists z \in \{ 0,1 \}^{p(|x|)} :M(x,z)=1$, for a polynomial $p: \mathbb{N} \to \mathbb{N}$
NP denotes the class of decision problems for which there exists a polynomial bounded verifier
I am having a lot of trouble understanding the above definitions. I have a few questions:
- Why do binary strings pop up here?
- Why do we evaluate a polynomial on the absolute value of $|x|$?
- Doesn't this assume that somehow we can embed our problems in terms of problems related to string solving? Doesn't this limit the set of problems we can study theoritically?
Thanks.
Remark: This is my first course on theoritical computer science, and it maybe that the question is a complete noob question, please let me know if it is.