Aquí hay otro interesante caracterización de $P^{NP}$. Me pareció una licenciatura pero no podía publicarlo; resultó ser un "folclore". Es entretenida sin embargo, y usted tendrá la oportunidad de aprender acerca de $P^{NP}$ por convencer por sí mismo. Vamos a definir un natural modelo determinista de la computación cuya clase de idiomas reconocidos de la se $P^{NP}$.
Una máquina de $M$ en nuestro modelo se describe como sigue. Nos tomamos un polinomio de tiempo de máquina de Turing que en una entrada de longitud $n$, se concede el acceso a un contador de bits que contiene $n^k$ bits, para algunos fijos $k$. Inicialmente, el contador es todo ceros. Junto con la costumbre de inicio, aceptar y rechazar a los estados, la máquina de Turing tiene un especial estado llamado de incremento, con las siguientes propiedades:
- Si la máquina de Turing entra en el incremento de estado, el contador se incrementa en $1$, y la máquina de Turing se restablece a su partida inicial de configuración. Es decir, todo el espacio de trabajo utilizado por la máquina se restablece a los espacios en blanco, todas las cabezas de la cinta volver al principio de la cinta, y la máquina se conecta a su inicio.
- Si la máquina de Turing se llega a aceptar o rechazar, todo el proceso se detiene con este resultado.
- Si el contador llega a todo, el proceso rechaza.
Esta es una forma natural para caracterizar la búsqueda de fuerza bruta para un NP solución: el contador representa el espacio de búsqueda, y le damos a ejecutar un determinado polytime máquina de Turing que las pruebas de cada valor de contador en el giro hasta que nos decidimos a aceptar o rechazar.
Teorema: La clase de todos los idiomas reconocidos por dicho $M$ es exactamente $P^{NP}$.
Buena suerte con la prueba. He aquí una sugerencia: una dirección es fácil, por Ryan O'Donnell comentario completo en idiomas para $P^{NP}$.