Fórmulas booleanas cuantificadas con alternancias logarítmicas

15

Estoy estudiando un problema que es difícil para la clase de fórmulas booleanas cuantificadas con un número logarítmico de alternancias de los cuantificadores. Un problema en esta clase se vería así:

(X1,X2,...Xun1)(Xun1+1,...Xun2),...(XunIniciar sesiónnorte-1,...XunIniciar sesiónnorte)F

Donde , y es una fórmula booleana de las variables .unIniciar sesiónnorte=norteFX1...Xnorte

Esta clase contiene claramente y está contenida en AP = PSPACE . ¿Hay un nombre para esta clase? ¿Hay algo más conocido al respecto?PAGHUNPAG=PAGSPAGUNCmi

isaacg
fuente
3
Bueno, está completo para alternar el tiempo polinómico con logarítmicamente muchas alternancias.
Emil Jeřábek apoya a Monica
2
Una notación acordada para la clase de complejidad de este problema sería STA ( ,nO(1),O(logn) ). Aquí, STA (s (n), t (n), a (n)) es la medida de alternancia espacio-tiempo introducida por Berman en "La complejidad de las teorías lógicas" que apareció en TCS en 1980. Esta clase contiene todas las decisiones problema que puede ser resuelto por una máquina de Turing alterna en el tiempo t (n) usando el espacio s (n) y alternando como máximo a (n) veces en cada rama de cálculo. Como Emil señaló, su problema debería estar completo para esta clase.
Christoph Haase
2
AltTime (lg n, poly (n))
Kaveh
¿No es también el análogo binario de la clase FOLL introducida por Barrington, Kadau, McKenzie y Lange? FOLL se define iterando un bloque FO básicamente un registro de circuito AC0 uniforme de n entradas y n salidas n veces. Es demasiado débil para calcular la paridad, pero no se sabe que esté contenido en una clase más pequeña que AC ^ 1. Puede hacer una serie de cosas no triviales, incluida la alimentación en un grupo conmutativo presentado como una tabla de multiplicación. Me gustaría llamar a la clase en cuestión PHL porque corresponde a un bloque de PH iterado log n veces. Creo que aún no está claro si es comparable a PSPACE.
SamiD
Además, si un grupo abeliano está dado por un circuito que recibe dos números de n bits y genera un número de n bits, la alimentación está en PHL mediante una prueba similar a Barrington et al.
SamiD

Respuestas:

7

Sobre la base de la respuesta de Michael Wehar, parece que puede mostrar fácilmente que los cálculos de se pueden codificar en polisize tales QBF: utiliza alternancias O ( log n ) , cada uno de p o l y ( n ) bits, y hacer un argumento similar al teorema de Savitch. Cada dos alternancias dividirá el tiempo de funcionamiento de la computación por un p o l y ( nNTISP(nlogn,poly(n))O(logn)poly(n) factor.poly(n)

Llamaría a la clase , siguiendo la anotación en "Intercambios tiempo-espacio para la satisfacción" de Fortnow que también podría citarse para el argumento esbozado en el párrafo anterior (pero consulte el documento para referencias anteriores).ΣO(Iniciar sesiónnorte)PAG

Ryan Williams
fuente
Muchas gracias por el comentario y la respuesta de seguimiento. Edité mi respuesta y agregué detalles sobre la generalización del argumento. En realidad, existe una compensación de tiempo, espacio y alternancia para los tipos de cálculos que se pueden codificar.
Michael Wehar
¡Gracias por la referencia agregada! Además, agregué una respuesta más sucinta para aclarar con suerte. Gracias de nuevo. :)
Michael Wehar
7

(1) Lo que ya sabemos:

Como ya ha dicho, QBF con alternancia de cuantificadores es difícil para todos los niveles de la jerarquía polinómica.Iniciar sesión(norte)

(2) Creo que también podemos probar lo siguiente:

El problema es -hard.norteSPAGUNCmi(losol2(norte))

(3) Aquí está mi justificación informal para la afirmación anterior:

Dado un espacio NTM y una cadena de entrada, necesitamos determinar si existe un cálculo de aceptación en la cadena de entrada dada.losol2(norte)

Cada configuración en el cálculo se puede representar esencialmente mediante bits. En otras palabras, podemos representar una configuración mediante un grupo de variables log 2 ( n ) .Iniciar sesión2(norte)Iniciar sesión2(norte)

La idea es que tenemos una configuración inicial y una configuración final y necesitamos adivinar el cálculo que ocurre en el medio. Adivinamos recursivamente las configuraciones "medias" usando cuantificadores existentes y verificamos recurrentemente que la configuración "izquierda" va al "medio" y la configuración "media" va a la "derecha" usando para todos los cuantificadores.

Ahora, para que esto funcione, en lugar de elegir una configuración "intermedia", necesitamos elegir un grupo de configuraciones "intermedias" igualmente espaciadas entre las configuraciones "izquierda" y "derecha". En particular, podríamos adivinar configuraciones "intermedias" igualmente espaciadas usando cuantificadores existentes connortevariables y luego recurren en cada espacio entre configuraciones utilizando para todos los cuantificadores con aproximadamente lasvariableslog(n).nortelosol2(norte)Iniciar sesión(norte)

La recursión solo necesita continuar hasta la profundidad para poder cubrir un cálculo de longitud 2Iniciar sesión(norte)donde cada configuración tiene como máximolog2(n)muchos bits.norte2Iniciar sesión(norte)=norteIniciar sesión(norte)=2Iniciar sesión2(norte)Iniciar sesión2(norte)

Como la recursividad es de profundidad , solo tenemos grupos de variables O ( log ( n ) ) , es decir, alternancias. Dado que cada grupo de cuantificadores solo tiene O(Iniciar sesión(norte))O(Iniciar sesión(norte))variables, en total tenemosO(nortelosol2(norte)variables.O(nortelosol3(norte))

Siéntase libre de ofrecer cualquier comentario o corrección. Muchas gracias y espero que esto ayude un poco.

(4) Una afirmación más general como lo sugiere la respuesta de Ryan:

Debería poder llevar a cabo la construcción anterior de una manera más general. Considera lo siguiente:

En cada paso de la recursión, divídase en grupos de configuraciones "intermedias" utilizando c ( n ) bits por configuración. Luego, haz la recursión a la profundidad d ( n ) .sol(norte)C(norte)re(norte)

Mientras no tengamos demasiadas variables y demasiadas alternancias, esto parece funcionar bien. Aproximadamente, necesitamos lo siguiente para estar satisfecho:

  • sol(norte)C(norte)re(norte)norte
  • re(norte)Iniciar sesión(norte)

Nuestro enfoque generalizado se utilizará para simular máquinas Turing no deterministas que se ejecutan por pasos utilizando bits de memoria c ( n ) .sol(norte)re(norte)C(norte)

En particular, elegimos lo siguiente:

  • sol(norte)=norte

  • C(norte)=norte2losol2norte

  • re(norte)=2Iniciar sesión2(norte)

Las desigualdades anteriores se satisfacen y podemos llevar a cabo la construcción para simular máquinas de Turing no deterministas que se ejecutan durante aproximadamente pasos log 2 ( n ) utilizando 2Iniciar sesión2(norte) bits de memoria.norte2losol2norte

En otras palabras, tenemos un mejor resultado de dureza que antes. En particular, el problema es difícil para .norteTyoSPAG(2Iniciar sesión2(norte),norte2losol2norte)

(5) Otras generalizaciones:

En la generalización anterior, estábamos simulando máquinas Turing no deterministas de tiempo y espacio. Sin embargo, también podremos simular máquinas de Turing con límites de tiempo y espacio alternos.

Déjame explicarte un poco. Por lo tanto, utilizamos aproximadamente las alternancias para hacer la recursividad al registro de profundidad ( n ) . Sin embargo, podríamos usar algunas de las alternancias inicialmente, digamos Iniciar sesión(norte)Iniciar sesión(norte) . Entonces, podríamos usar el restanteIniciar sesión(norte) alternancias para ir a profundidadIniciar sesión(norte) .Iniciar sesión(norte)

En este caso, podríamos simular máquinas Turing alternativas que tengan alternancias con longitudes de testigos sublineales, ejecute para2 log 3Iniciar sesión(norte)pasos, y use2Iniciar sesión32(norte) bits de memoria.norte2losol2norte

En otras palabras, el problema es difícil para con longitudes de testigos sublineales. Alternativamente, esta clase podría escribirse usando lanotaciónSTAmencionada en los comentarios anteriores.AltTimeSpace(log(n),2log32(n),n2log2n)STA

Gracias por los comentarios y no dude en ofrecer más correcciones o aclaraciones. :)

Michael Wehar
fuente
1
¿No seguiría la dureza directamente de la dureza PH? NL2
Nikhil
1
¿Cómo sabemos exactamente el punto (1)? ¿No necesitamos variables para llegar a algún nivel k de PH? Tal vez me estoy perdiendo un punto simple aquí. 2kk
Markus
1
@MichaelWehar Claro, pero sabemos que ¿verdad? Y eso significa que todos los problemas en N L 2 se reducen a QBF con muchas alternancias constantes, ¿cuál es un caso especial de alternancia log-many? NL2PHNL2
Nikhil
1
@MichaelWehar Vaya. ¡Por supuesto que tienes razón! Una pregunta relacionada aquí: cstheory.stackexchange.com/questions/14159/…
Nikhil
2
¿Por qué no -hard? NTISP(nlogn,poly(n))
Ryan Williams
1

Una respuesta más corta.

Observaciones iniciales:

  • El problema es difícil para todos los niveles de la jerarquía polinómica.
  • El problema es difícil para alternar máquinas de Turing con alternancias que se ejecutan por tiempo polinómico.log(n)

Perspectivas más profundas:

  • Sugerido por el comentario de Kaveh anterior, el problema puede codificar cálculos para máquinas Turing.AltTime(log(n),n)
  • Además, como señaló Ryan, el problema puede codificar cálculos para Máquinas de Turing.NTimeSpace(2log2(n),n)
  • De manera más general, el problema puede codificar cálculos para máquinas correspondientes a varias clases de la forma con longitudes de testigo restringidas. No estoy muy seguro de cuál es la relación exacta entre a ( n ) , t ( n ) y s ( n )AltTimeSpace(a(n),t(n),s(n))a(n)t(n)s(n) tiene que ser, pero sabemos que:

    1. a(n)log(n)

    2. t(n)2log2(n)

    3. s(n)n

a(n)t(n)s(n)

npoly(n)a(n)t(n)s(n)

Michael Wehar
fuente
Además, hay otro factor que omití. Es decir, el tamaño del testigo utilizado con cada alternancia toma variables. En otras palabras, cuanto más grandes son los testigos, menos variables tenemos, lo que significa que potencialmente no podemos representar tantos bits por configuración, lo que posiblemente requiera que haya menos espacio para la máquina para la que codificamos los cálculos.
Michael Wehar
un(norte)t(norte)s(norte)
Tal vez un cuantificador más interno no necesita tener un tamaño de testigo restringido porque podemos adivinar a medida que avanzamos.
Michael Wehar