- : the class of problems which we can solve in polynomial time
- : the class of problems where we can verify a potential solution / answer in polynomial time
- Clearly,
- Solving is a (hard) way of verifying (Informal way of saying)
- What about other direction ?
- If we can verify potential solutions for a problem in time then can we solve the problem in
- time
- time
- time
Is solving much much harder than verifying ?
Is , or ?
- If you believe
- Try to reason how you can use verification procedure to solve a problem (with only polytime blow-up)
- If you believe
- Try to come up with a problem which can be verified efficiently, but cannot be solved efficiently
- We don’t know the answer!