Si está bien con problemas artificiales, puede hacer muchos de ellos. Aquí hay algunos:
- Dado un entero positivo n en unario, responda una fórmula satisfactoria de 3CNF en n variables booleanas.
Dar una fórmula 3CNF satisfactoria es fácil, pero decidir si una fórmula 3CNF dada es satisfactoria o no es 3SAT, un problema NP-completo bien conocido.
- No hay entrada Simplemente responda una máquina de Turing que se detiene (cuando se ejecuta con una cinta de entrada vacía).
Dar una máquina de Turing de este tipo es fácil, pero no se puede determinar si una máquina de Turing se detiene o no.
Agregado : Por cierto, no creo que lo que escribiste en el último párrafo tenga:
Creo que tal problema implicaría exponencialmente muchas respuestas "correctas" para cualquier entrada dada, porque de lo contrario la verificación podría llevarse a cabo simplemente calculando todas las respuestas correctas.
Si el problema tiene una solución, entonces verificar una respuesta no es más difícil que calcular la solución correcta. Sin embargo, si el problema tiene una solución fácil y una solución difícil, entonces no puede calcular todas las soluciones de manera eficiente. Aquí hay uno de esos problemas (que es muy artificial):
- Dada una máquina de Turing M , responda una de las siguientes afirmaciones que es verdadera: " M se detiene en la cinta de entrada vacía", " M no se detiene en la cinta de entrada vacía" y " M es una máquina de Turing".
Dar una solución es fácil : siempre puede elegir " M es una máquina de Turing". Sin embargo, si una respuesta dada es correcta o no es indecidible. Tenga en cuenta que en este problema, solo hay dos soluciones para cada instancia.