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í:
Donde , y es una fórmula booleana de las variables .
Esta clase contiene claramente y está contenida en AP = PSPACE . ¿Hay un nombre para esta clase? ¿Hay algo más conocido al respecto?
Respuestas:
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(logn)P
fuente
(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( n )
(2) Creo que también podemos probar lo siguiente:
El problema es -hard.norteSPAGA Cmi( l o g2( n ) )
(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.l o g2( n )
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( n ) Iniciar sesión2( n )
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 con √norte--√ variables y luego recurren en cada espacio entre configuraciones utilizando para todos los cuantificadores con aproximadamente lasvariableslog(n).norte--√∗ l o g2( n ) Iniciar sesión( n )
La recursión solo necesita continuar hasta la profundidad para poder cubrir un cálculo de longitud √2 ∗ log( n ) donde cada configuración tiene como máximolog2(n)muchos bits.norte--√2 ∗ log( n )= nIniciar sesión( n )= 2Iniciar sesión2( n ) Iniciar sesión2( n )
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 ( log( n ) ) O ( log( n ) ) variables, en total tenemosO( √norte--√∗ l o g2( n ) variables.O ( n--√∗ l o g3( n ) )
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( n ) c ( n ) re( n )
Mientras no tengamos demasiadas variables y demasiadas alternancias, esto parece funcionar bien. Aproximadamente, necesitamos lo siguiente para estar satisfecho:
Nuestro enfoque generalizado se utilizará para simular máquinas Turing no deterministas que se ejecutan por pasos utilizando bits de memoria c ( n ) .sol( n )re( n ) c ( n )
En particular, elegimos lo siguiente:
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( n ) bits de memoria.norte√2 ∗ l o g2norte
En otras palabras, tenemos un mejor resultado de dureza que antes. En particular, el problema es difícil para .norteTyoSPAG( 2Iniciar sesión2( n ), n√2 ∗ l o g2norte)
(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( n ) Iniciar sesión( n ) . Entonces, podríamos usar el √ restanteIniciar sesión( n )-----√ alternancias para ir a profundidad √Iniciar sesión( n )-----√ .Iniciar sesión( n )-----√
En este caso, podríamos simular máquinas Turing alternativas que tengan alternancias con longitudes de testigos sublineales, ejecute para2 log 3Iniciar sesión( n )-----√ pasos, y use√2Iniciar sesión32( n ) bits de memoria.norte√2 ∗ l o g2norte
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),n√2∗log2n) STA
Gracias por los comentarios y no dude en ofrecer más correcciones o aclaraciones. :)
fuente
Una respuesta más corta.
fuente