Fórmula booliana completamente quantificada

Origem: Wikipédia, a enciclopédia livre.

Em teoria da complexidade computacional, uma linguagem TQBF é uma linguagem formal consistindo de fórmulas booleanas completamente quantificadas. Uma fórmula booleana (completamente) quantificada é uma fórmula em lógica proposicional quantificada onde cada variável é quantificada (ou limitada), usando tanto quantificadores existenciais quanto universais no início da sentença. Tal fórmula é equivalente a tanto verdadeiro ou falso (desde que não existam variáveis livres). Se tal fórmula é avaliada como verdadeira, então esta fórmula é uma linguagem TQBF. Também conhecida como QSAT (Quantified SAT).

Visão Geral[editar | editar código-fonte]

Em teoria da complexidade computacional, uma fórmula booleana quantificada (FBQ) é uma generalização do problema da satisfatibilidade booleana na qual ambos quantificadores existenciais e quantificares universais podem ser aplicados para cada variável. Colocado de outra maneira, é perguntado se uma sentença quantificada formada sobre um conjunto de variáveis booleanas é verdadeiro ou falso. Por exemplo, a instância seguinte é uma FBQ:

FBQ é um problema canônico completo para PSPACE, a classe dos problemas solúveis deterministicamente ou não-deterministicamente por uma máquina de Turing em espaço polinomial e em tempo ilimitado. Dado uma fórmula na forma de uma árvore sintática abstrata, o problema pode ser resolvido facilmente por um conjunto mutualmente recursivo de procedimentos que avaliam a fórmula. Tal algoritmo usa espaço proporcional a altura da árvore, que é linear no pior caso, mas utiliza tempo exponencial no número de quantificadores.

Dado que MA ⊊ PSPACE, que é amplamente aceito, FBQ não pode ser solúvel, nem dado uma solução, pode ser verificado, tanto em tempo polinomial determinístico ou probabilístico (de fato, diferentemente do problema da satisfatibilidade, não existe nenhuma maneira conhecida de especificar uma solução sucinta). É trivial resolver utilizando uma máquina de Turing alternada em tempo linear, o que não é nenhuma surpresa já que AP = PSPACE, onde AP é a classe dos problemas que as máquinas alternadas podem resolver em tempo polinomial.  [1]

Quando o resultado pioneiro IP = PSPACE foi mostrado, este foi feito exibindo um sistema de prova interativo que poderia resolver FBQ solucionando uma aritmética particular do problema .[2]

Fórmulas FBQ possuem um número útil de formas canônicas. Por exemplo, pode ser mostrado que existe uma redução em tempo polinomial de muitos para um que removerá todos os quantificadores do início da fórmula e os tornam alternados entre quantificadores universais e existenciais. Existe uma outra redução que é provada ser útil na prova IP = PSPACE onde não mais que um quantificador universal é colocado entre cada uso da variável e o quantificador liga esta variável. Isto foi crítico limitando o número de produtos de certas sub-expressões da aritmetização.  

Forma normal prenex [editar | editar código-fonte]

Uma fórmula totalmente quantificada pode assumir uma forma bem específica chamada forma normal prenex.  Esta forma é constituída de duas partes básicas: uma parte contendo somente quantificadores e uma parte contendo uma fórmula booleana não quantificada, normalmente denotada por . Se existem  variáveis booleanas, a fórmula inteira pode ser escrita como


onde cada variável cai dentro do escopo de algum quantificador. Introduzindo variáveis artificiais, qualquer fórmula na forma normal prenex pode ser convertida em uma sentença onde quantificadores existenciais e universais se alternam. Utilizando a variável artificial ,

A segunda sentença tem o mesmo valor verdade mas segue a restrição da sintaxe. Assumir que fórmulas booleanas completamente quantificadas estão na forma normal prenex é uma característica frequente em provas. 

Solucionando[editar | editar código-fonte]

Existe um algoritmo recursive simples para determinar se uma FBQ é uma TQBF (i.e. é verdadeira). Dado alguma FBQ

Se a fórmula não contém quantificadores, retorna-se apenas a fórmula. Caso contrário, partindo do primeiro quantificador and verificando ambos possíveis valores para a primeira variável:

Se , então retorne . Se , então retorne .

Quão rápido este algoritmo roda? Para cada quantificador na FBQ inicial, o algoritmo toma duas chamadas recursivas em apenas um subproblema menor. Isto faz com que o algoritmo rode em tempo exponencial O(2n).

Quanto espaço esse algoritmo usa? Dentro de cada chamada do algoritmo, ele precisa os resultados intermediários da computação de A e B. Cada chamada recursiva parte um quantificador, então a profundidade total recursiva é linear em termos do número de quantificadores.  As fórmulas que carecem de quantificadores podem ser avaliados no espaço logarítmico em função do número de variáveis.A FBQ inicial foi totalmente quantificada, então existe no mínimo tantos quantificadores quanto variáveis. Dessa forma, este algoritmo usa O(n + log n) = O(n) espaço. Isto faz com que a linguagem TQBF seja parte da classe PSPACE.

PSPACE-completude[editar | editar código-fonte]

A linguagem TBQF se apresenta para a teoria da complexidade como um problema PSPACE-completo canônico. Dizer que uma linguagem está em PSPACE-completo significa dizer que a linguagem também está em PSPACE-difícil. O algoritmo abaixo mostra que TQBF está em PSPACE. Mostrando que TQBF é PSPACE-difícil requer mostrar que qualquer linguagem pertencente a classe de complexidade de PSPACE pode ser reduzida a TQBF em tempo polinomial. I.e.,

Significa que, para uma linguagem L em PSPACE, se uma entrada  está em L, ela pode ser decidida verificando se  está em TQBF, para alguma função  que roda em tempo polinomial (relativa ao tamanho da entrada). Simbolicamente,

Provar que TQBF está em PSPACE-difícil, requer uma especificação de .

Então, suponha que L é uma linguagem em PSPACE. Isto significa que L pode ser decidida por uma Máquina de Turing deterministica em espaço polinomial. Isto é muito importante para a redução de L para TQBF, pois as configurações de tails Máquinas de Turing podem ser representadas por fórmulas booleanas, com variáveis booleanas representando o estado da máquina bem como o conteúdo de cada célula na fita da Máquina de Turing, com a posição da cabeça da Máquina de Turing decodificada na fórmula pela ordenação da fórmula. Em particular, esta redução usará as variáveis  e , que representam duas possíveis configurações da Máquina de Turing deterministica para L, e um número natural t, construindo uma FB  que resulta em verdadeiro se e somente se a Máquina de Turing deterministica para L pode ir da configuração decodificada em   para a configuração codificada em  em não mais que t passos. A função , então, irá construir a partir da Máquina de Turing deterministica para L uma FBQ , onde  é a configuração inicial da Máquina de Turing deterministica,  é a configuração de aceitação da Máquina de Turing deterministica e T é o número máximo de passos que a Máquina de Turing deterministica pode precisar para mover de uma configuração para outra. Sabemos que  T = O(exp(n)), onde n é o tamanho da entrada, porque ele limita o número total de possíveis configurações da Máquina de Turing deterministica. Claro, a Máquina de Turing  não se pode tomar mais passos do que há configurações possíveis para alcançar ao menos que ela entre em loop, e nesse caso ela nunca mais alcançar  de qualquer forma.

Nesse estágio da prova, nós já temos reduzido a questão de se uma dada entrada  (decodificada, claro, em ) está em L para a questão de se a FBQ , i.e., , está em TQBF. O restante dessa prova prova que  pode ser computada em tempo polinomial.

Para , a computação de  é simples - quer uma das configurações mude para o outra em um passo ou não. Uma vez que a máquina de Turing que a nossa fórmula representa é determinística, este não apresenta nenhum problema.

Para , a computacão de  envolve uma avaliação recursiva, procurando por um conhecido "ponto do meio" . Neste caso, nós rescrevemos a fórmula como segue:

Isto converte a questão de se  pode alcançar  em t passos para a questão de se  alcança um ponto do meio  em  passos, que por si só alcança  em  passos. A resposta a esta última questão, claro, dá a resposta à primeira.

Agora, t só é limitada por T, que é exponencial (e assim não polinomial) no comprimento da entrada.Além disso, cada camada recursiva duplica praticamente o comprimento da fórmula. (A variável  é somente um ponto no meio - para um t maior, existem mais paradas ao longo do caminho, por assim dizer).  Assim, o tempo necessário para avaliar recursivamente desta maneira podia ser exponencial assim, simplesmente porque a fórmula poderia tornar-se exponencialmente grande. Este problema é resolvido por quantificando universalmente usando as variáveis  e o longo dos pares de configuração (e.g., ), que impede que o comprimento da fórmula se expanda, devido às camadas recursivas. Isso produz a seguinte interpretação de :

Esta versão da fórmula pode, efetivamente, ser calculado em tempo polinomial, uma vez que qualquer instância pode ser calculada em tempo polinomial. O par ordenado quantificado universal simplesmente nos diz que quaisquer escolha de  é feita, .

Assim, , então TQBF é PSPACE-hard. Juntamente com o resultado acima, que TQBF está em PSPACE, isso completa a prova que TQBF é uma linguagem PSPACE-completa.

(Esta prova segue Sipser 2006 pp. 310–313 em todos os fundamentos. Papadimitriou 1994 também inclui uma prova.)

Miscellany[editar | editar código-fonte]

  • Uma subproblema importante em TQBF é o problema de satisfatibilidade booleana. Neste problema, deseja saber se uma determinada fórmula booleana  pode se tornar verdadeira com algum atribuição variáveis. Este é equivalente ao TQBF usando quantificadores existenciais únicos:
Este é também um exemplo do resultado maior NP PSPACE que resulta diretamente da observação de que um verificador de tempo polinomial para provar que uma linguagem é aceita por uma MTM (Máquina de Turing não-determinística) requer espaço polinomial para armazenar a prova.
  • Qualquer classe na hierarquia polinomial tem TQBF como um problema difícil. Em outras palavras, para a classe que compreende todas as linguagens L para o qual não existe uma Máquina de Turing de tempo polinomial, um verificador, tal que para todo x como entrada e alguma constante i,
na qual tem uma FBQ específica que é formulada como sendo 
 tal que 
onde os 's são vetores de variáveis booleanas.
  • É importante notar que, enquanto em TQBF a linguagem é definida como a coleção de fórmulas quantificadas booleanas verdadeiras, a TQBF abreviatura é frequentemente utilizado (mesmo neste artigo) para representar uma fórmula booleana totalmente quantificados, muitas vezes chamado simplesmente de um FBQ (fórmula booleana quantificada, entendida como "totalmente" ou "totalmente" quantificado). É importante fazer a distinção entre os dois contextualmente usos do TQBF abreviatura na leitura da literatura.
  • Uma TQBF pode ser pensada como um jogo jogado entre dois jogadores, com movimentos alternados. Existencialmente variáveis quantificadas são equivalentes à noção de que um movimento está disponível para um jogador de cada vez. Universalmente variáveis quantificadas significam que o resultado do jogo não depende do movimento de um jogador faz naquele turno. Além disso, uma TQBF cujo primeiro quantificador é existencial corresponde a um jogo de fórmula em que o primeiro jogador tem uma estratégia vencedora.
  • Para que uma fórmula quantificada TQBF esteja em 2-CNF pode ser resolvido em tempo linear, por um algoritmo envolvendo forte análise de conectividade de seu gráfico. O problema 2-satisfatibilidade é um caso especial de TQBF para estas fórmulas, em que cada quantificador é existencial.[3][4]
  • Existe um tratamento sistemático para versões restritas de fórmulas booleanas quantificadas proposto em um paper expositivo por Hubie Chen.[5]

Notas e referências

Notas

Referências

  1. A. Chandra, D. Kozen, and L. Stockmeyer (1981). «Alternation». Journal of the ACM. 28 (1): 114–133. doi:10.1145/322234.322243 
  2. Adi Shamir (1992). «Ip = Pspace». Journal of the ACM. 39 (4): 869–877. doi:10.1145/146585.146609 
  3. Krom, Melven R. (1967). «The Decision Problem for a Class of First-Order Formulas in Which all Disjunctions are Binary». Zeitschrift für Mathematische Logik und Grundlagen der Mathematik. 13: 15–20. doi:10.1002/malq.19670130104 
  4. Aspvall, Bengt; Plass, Michael F.; Tarjan, Robert E. (1979). «A linear-time algorithm for testing the truth of certain quantified boolean formulas» (PDF). Information Processing Letters. 8 (3): 121–123. doi:10.1016/0020-0190(79)90002-4 
  5. Chen, Hubie (dezembro de 2009). «A Rendezvous of Logic, Complexity, and Algebra». ACM. ACM Computing Surveys. 42 (1). 1 páginas. doi:10.1145/1592451.1592453 
  • Fortnow & Homer (2003) provides some historical background for PSPACE and TQBF.
  • Zhang (2003) provides some historical background of Boolean formulas.
  • Arora, Sanjeev. (2001). COS 522: Computational Complexity. Lecture Notes, Princeton University. Retrieved October 10, 2005.
  • Fortnow, Lance & Steve Homer. (2003, June). A short history of computational complexity. The Computational Complexity Column, 80. Retrieved October 9, 2005.
  • Papadimitriou, C. H. (1994). Computational Complexity. Reading: Addison-Wesley.
  • Sipser, Michael. (2006). Introduction to the Theory of Computation. Boston: Thomson Course Technology.
  • Zhang, Lintao. (2003). Searching for truth: Techniques for satisfiability of boolean formulas. Retrieved October 10, 2005.

Ver também[editar | editar código-fonte]

Ligações externas[editar | editar código-fonte]