Clases de complejidad semántica vs. sintáctica

35

En su libro "Complejidad computacional", Papadimitriou escribe:

RP es, en cierto sentido, un tipo nuevo e inusual de clase de complejidad. Ninguna máquina de Turing no determinista limitada polinómicamente puede ser la base para definir un lenguaje en RP. Para que una máquina N defina un lenguaje en RP , debe tener la notable propiedad de que en todas las entradas rechaza por unanimidad o acepta por mayoría . La mayoría de las máquinas no deterministas se comportan de otras maneras al menos para algunas entradas ... No hay una manera fácil de saber si una máquina siempre se detiene con una salida certificada. Informalmente llamamos clases semánticas a estas clases , a diferencia de las clases sintácticas como P y NP, donde podemos saber de inmediato mediante una comprobación superficial si una máquina adecuadamente estandarizada define un lenguaje en la clase.

Varias páginas después, señala que:

el lenguaje L está en la clase PP si hay una máquina Turing N polinomialmente limitada no determinista N tal que, para todas las entradas x, si más de la mitad de los cálculos de N en la entrada x terminan aceptando. Decimos que N decide L por mayoría .XL

Pregunta 1: ¿Por qué Papadimitriou concluye que PP es una clase sintáctica, mientras que su definición es solo ligeramente diferente de la de RP ?

Pregunta 2: ¿ Si ser "semántico" para una clase de complejidad es equivalente a NO tener problemas completos, o la falta de problemas completos se considera una propiedad que ADEMÁS poseemos las clases semánticas?

Editar: Ver tema relacionado ¿Todas las clases de complejidad tienen una caracterización de lenguaje hoja?

MS Dousti
fuente
2
una charla reciente relacionada por Anuj Davar en INI: Sobre clases de complejidad sintáctica y semántica
Kaveh
@Kaveh: ¡Muchas gracias! Lo echaré un vistazo.
MS Dousti

Respuestas:

31

RP implica una promesa de que 0 rutas aceptan o más de la mitad acepta, sin importar cuál sea la entrada. Para PP, no hay tal promesa. Si más de la mitad de los caminos aceptan, entonces , de lo contrario, x L . (PP se puede definir de manera que los criterios de aceptación son 1 / 2 y < 1 / 2 respectivamente).XLXL1/2<1/2

O, en otras palabras, si le doy un TM probabilístico alegando que es una máquina PP que decide algún idioma, puede estar seguro de que decide algún idioma. Claramente, el lenguaje que decide es este: Intente ingresar . Vea si más de la mitad de las rutas aceptan (o más de 1/2 cadenas aleatorias hacen que acepte). Si es así, x L . Si no es así, x L . Así que hemos definido un lenguaje usando este TM.xxLxL

Por otro lado, si le doy una TM probabilística que dice que es una máquina RP que decide un idioma, ni siquiera puede estar seguro de que decida algún idioma. El problema es que cuando observa que solo algunas rutas aceptan, no sabe si está en L o no. Entonces, si te doy una máquina RP, solo tienes que creer mi palabra. De hecho, verificar si esta máquina define un idioma es indiscutible.xL

En cuanto a su segunda pregunta, para las clases sintácticas generalmente hay un problema completo obvio, que es como "Dada la máquina M, decida si acepta a tiempo T en la entrada x". Si le dan una máquina no determinista, este problema es NP-completo, si es una máquina PP, entonces es PP-completo, etc. El problema obvio completo para las clases semánticas es indecidible, como mencioné. Por lo tanto, no tenemos un problema completo gratis para las clases semánticas. Pero una clase semántica puede tener un problema completo. Por ejemplo, si P = BPP (como se cree ampliamente), entonces BPP tiene una caracterización sintáctica.

EDITAR : Dado que hay una discusión sobre cómo definir clases semánticas y sintácticas, me gustaría señalar que Papadimitriou da una definición en su libro cuando habla de lenguajes de hoja. (Vea mi pregunta sobre lenguajes de hoja para algunas referencias).

Él dice que las clases sintácticas son aquellas para las cuales existe algún lenguaje que define la clase usando la técnica del lenguaje de hoja. Las clases semánticas son aquellas para las cuales todas esas caracterizaciones requieren problemas prometedores. Esta es una definición rigurosa, pero solo funciona para aquellos idiomas que tienen caracterizaciones de lenguaje hoja.

Robin Kothari
fuente
3
Bueno, no habría desperdiciado los últimos 20 minutos escribiendo mi respuesta, si hubiera recargado la página ... :) Lo dejaré solo en caso de que también sea útil.
Ryan Williams el
Sí, odio cuando eso sucede. Aunque a veces recibo la notificación "se han publicado nuevas respuestas" en el medio de la redacción de una respuesta.
Robin Kothari
66
@Robin: No tuvo que recurrir a la afirmación "P = BPP" no probada pero ampliamente creída para un ejemplo de una clase semántica intensiva que resulta ser sintáctica: IP = PSPACE. (Y ahora QIP también.)
Joshua Grochow
3
@ Joshua: Tienes razón, IP = PSPACE funciona.
Robin Kothari
1
@ Joshua: Gracias por mencionar el resultado IP = PSPACE. ¡Nunca lo he visto desde este punto de vista!
MS Dousti
28

PAGSPAGSRPAGS PAGSPAGS>1/ /2X

PAGSnortePAGSPAGSPAGSRPAGSRPAGS>1/ /2RPAGSPAGSrometroyosmi-RPAGS

PAGS=siPAGSPAGSPAGS=siPAGSPAGS

Si realmente fuera el caso de que simplemente no hay una lista fácilmente computable de máquinas (de cualquier tipo razonable) que acepten exactamente su clase, entonces sí, no creo que su clase pueda tener un lenguaje completo. Pero eso parece muy difícil de formalizar adecuadamente, y mucho menos demostrarlo.

Ryan Williams
fuente
Hola Ryan. ¿Crees que es posible definir la sintaxis asumiendo algo como la Tesis de Church-Turing?
Kaveh
1
Edité mi respuesta ahora para abordar la cuestión de cómo definir la sintaxis.
Robin Kothari