Fórmula booliana totalmente quantificada

Uma fórmula booleana totalmente quantificada, na teoria da complexidade computacional, é uma fórmula em lógica proposicional na qual cada variável é quantificada (ou vinculada) utilizando o quantificador universal ou existencial no início da expressão. A linguagem TBQF é uma linguagem formal que consiste na quantificação exata dessas fórmulas booleanas. Tal fórmula resulta em um valor verdadeiro ou falso, visto que não contém variáveis livres. Se a fórmula é avaliada como verdadeira, então ela pertence à linguagem TBQF. Esta linguagem é também referida como QSAT (SAT Quantificada).

Visão geral

editar

Na teoria da complexidade computacional, o problema da quantificação da fórmula booleana (QBF) é uma generalização do problema de satisfatibilidade booleana em que tanto quantificadores existenciais quanto quantificadores universais podem ser aplicados a cada variável. Dito de outra forma, pergunta-se se uma fórmula sentencial quantificada sobre um conjunto de variáveis booleanas é verdadeira ou falsa. Por exemplo, a instância a seguir é um exemplo de QBF:

 

QBF é o problema canônico completo para PSPACE, a classe de problemas solúveis por uma Máquina de Turing determinística ou não determinística no espaço polinomial e tempo ilimitado[1]. Dada uma fórmula na árvore de sintaxe abstrata (AST), o problema pode ser resolvido por um conjunto de procedimentos mutuamente recursivos que avalia a fórmula. Tal algoritmo usa o espaço proporcional à altura da árvore, que é linear no pior caso, mas usa tempo exponencial no número de quantificadores.

Desde que MA ⊂ PSPACE, o que se acredita amplamente, QBF não pode ser resolvido, nem mesmo uma solução dada pode ser verificada em qualquer tempo determinístico e probabilístico polinomial (de fato, ao contrário do problema da satisfatibilidade, não há qualquer maneira conhecida para especificar uma solução de forma sucinta). É trivial resolver usando uma Máquina de Turing Alternada em tempo linear, o que não é nenhuma surpresa, uma vez que, de facto, AP = PSPACE, onde AP é a classe de problemas que podem ser resolvidos por máquinas alternadas em tempo polinomial[2].

Quando o resultado seminal IP = PSPACE foi mostrado (veja sistema de prova interativa), foi feito para exibir um sistema de prova interativa que poderia resolver QBF resolvendo uma aritmetização particular do problema[3].

As fórmulas em QBF têm uma série de formas canônicas úteis. Por exemplo, pode-se mostrar que há uma redução muitos-para-um em tempo polinomial que moverá todos os quantificadores para frente da fórmula e então alterná-los entre quantificadores universais e existenciais. Há outra redução que se prova útil no contexto de IP = PSPACE, onde não mais que um quantificador universal é colocado entre o uso de cada variável e a ligação entre o quantificador e a variável. Isso foi fundamental no limite do número de produtos em certas subexpressões da aritmetização.

Forma normal prenex

editar

Uma fórmula booleana totalmente quantificada pode ser considerada como tendo uma forma muito específica, chamada forma normal prenex. Ela tem duas partes básicas: uma porção contendo quantificadores e apenas uma parte contendo uma fórmula booleana não quantificada, normalmente denotada como φ. Se existem n variáveis booleanas, toda a fórmula pode ser escrita como:

 


onde cada variável é abrangida pelo escopo de algum quantificador. Com a introdução de variáveis fictícias, qualquer fórmula na forma normal prenex pode ser convertida em uma sentença onde quantificadores existenciais e universais alternam. Utilizando a variável fictícia "y1":

 


A segunda sentença possui o mesmo valor verdadeiro, mas segue a sintaxe restrita. Assumindo que a conversão de fórmulas booleanas totalmente quantificadas para a forma normal prenex seja uma característica comum de provas.

Resolvendo

editar

Há um simples algoritmo para verificar se um TBQF é verdade. Dadas algumas QBF:

 

Se a fórmula não contém quantificadores, podemos simplesmente voltar à fórmula. Caso contrário, tiramos o primeiro quantificador e verificamos os valores possíveis para a primeira variável:

 ,

 .

Se Q1 = ∃, então retorne A ∨ B. Se Q1 = ∀, então retorne A ∧ B.

Quão rápido executa esse algoritmo? Para cada quantificador na QBF inicial, o algoritmo faz duas chamadas recursivas em problemas linearmente menores. Isso dá ao algoritmo um tempo de execução exponencial O(2^n).

Quanto de espaço esse algoritmo usa? Em cada chamada do algoritmo, é necessário armazenar os resultados intermediários da computação de A e B. Cada chamada recursiva retira um quantificador, e apenas a profundidade recursiva é linear no número de quantificadores. Fórmulas em que faltam quantificadores podem ser avaliadas no espaço logarítmico no número de variáveis. A QBF inicial foi totalmente quantificada, então há tantos quantificadores quanto variáveis. Assim, o algoritmo usa espaço O(n + log n) = O(n). Isso faz com que TQBF seja parte da classe de complexidade PSPACE.

PSPACE completude

editar

A linguagem TQBF serve na teoria da complexidade como a canônica do problema PSPACE-completo. Ser PSPACE-completo significa que uma linguagem está em PSPACE e que a linguagem também é PSPACE-difícil. O algoritmo acima mostra que TQBF está em PSPACE. Mostrar que uma linguagem está em PSPACE-difícil requer mostrar que qualquer linguagem na classe de complexidade PSPACE pode ser reduzida, em tempo polinomial, a TQBF. Em outras palavras,

 .

Isso significa que, para uma linguagem LSPACE, se uma linguagem x está em L, pode ser decidida verificando se f(x) está na TQBF, para alguma função f que seja necessária para executar em tempo polinomial (em relação ao comprimento da entrada). Simbolicamente:

 .

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

Então, suponhamos que L é uma linguagem PSPACE. Isso significa que L pode ser decidida por uma Máquina de Turing Determinística no espaço polinomial (MTD). Isso é crucial para a redução de L a TQBF, pois as configurações de qualquer Máquina de Turing podem ser representadas como fórmulas booleanas, com variáveis booleanas que representam o estado da máquina, bem como o conteúdo da fita em cada célula da Máquina de Turing. A posição da cabeça da Máquina de Turing é codificada na fórmula por meio de ordenações da fórmula.

Em particular, nossa redução usará as variáveis   e  , representando duas configurações possíveis da MTD para L, e t, um número natural, na construção de uma QBF  , a qual é verdadeira se e somente se a MTD para L pode ir de uma configuração codificada em   em não mais que t passos. Então, a função f construirá da MTD para L uma QBF  , onde   é uma configuração inicial da MTD,   é a configuração de aceitação da MTD e T é o número máximo de passos que uma MTD poderia precisar para mudar de uma configuração para outra. Sabemos que  , onde n é o tamanho da entrada, porque isso limita o número de configurações possíveis relevantes na MTD. Claramente, a MTD não pode dar mais passos do que as configurações possíveis para chegar a  , a menos que entre em loop. De qualquer forma, nunca chegará a  .

Nessa fase da prova, nós já reduzimos a questão de saber se uma fórmula de entrada w (codificado, é claro, em  ) está em L para a questão de saber se o QBF  , ou seja, f(w) está em TQBF. O restante dessa prova mostra que f pode ser computada em tempo polinomial.

Para t = 1, cálculo de   é simples — ou uma configurações muda para outro passo ou não. A máquina de Turing que representa a nossa fórmula é determinística, esta não apresenta nenhum problema.

Para t > 1, o cálculo de   envolve uma avaliação recursiva, à procura de um assim chamado “ponto médio” m1. Neste caso, reescrevemos a fórmula seguinte:

 .

Esta fórmula converte a questão de saber se um c um pode chegar a c2 em t etapas, para a questão de saber se c1 atinge um ponto médio m1 em t/2 etapas, que se alcança c2 em t / 2 passos. A resposta à última pergunta, naturalmente, dá resposta à primeira.

Agora, t é apenas limitado por T, que é exponencial (e por isso, não polinomial) no comprimento da entrada. Além disso, cada camada recursiva, praticamente, dobra o tamanho da fórmula. (A variável m 1 é apenas um ponto médio - para t maior existem mais paradas ao longo do caminho, por assim dizer). Assim, o tempo necessário para avaliar recursivamente (fórmula) desta forma poderia ser exponencial, bem como, simplesmente porque a fórmula poderia se tornar exponencialmente grande. Este problema é resolvido com o uso de um quantificador universal, usando as variáveis c 3 e c 4 sobre os pares de configurações, (por exemplo, {( c1 , m1 ), ( m1 , c2 )}), que impede a extensão da fórmula devida para expansão das camadas recursivas. Isso gera a seguinte interpretação  :

 .

Esta versão da fórmula pode, realmente, ser computada em tempo polinomial. O par ordenado universalmente quantificado simplesmente nos diz que qualquer escolha de ( c3 , c4 ) é feita,  .

Assim, por isso, TQBF está em PSPACE-difícil. Juntamente com o resultado acima de que TQBF está em PSPACE, isso completa a prova de que TQBF está em PSPACE-completo.

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

Miscelânea

editar
  • Um subproblema importante na TQBF é o problema da satisfatibilidade booleana. Neste problema, deseja saber se uma fórmula dada boolean φ pode ser feita verdadeira com alguma atribuição de variáveis. Isto é equivalente ao TQBF usando apenas quantificadores existencial: 
  • Este é também um exemplo de maior resultado em NP ℵ PSPACE, o qual segue diretamente da observação que a prova de um verificador em tempo polinomial de uma MTN (máquina de Turing não-determinística) requer espaço polinomial para armazenar a prova.
  • Qualquer classe na hierarquia polinomial tem TQBF como seu problema completo. Em outras palavras, para a classe que compreende todas as linguagens que estão em L, existe um verificador de tempo polinomial MT V, tal que, para toda entrada x e alguma constante i,

  o qual tem uma configuração específica para QBF que é dada como:

  onde (x1, x2, ... , xi) são vetores de variáveis booleanas.

  • É importante notar que, embora TQBF seja uma linguagem definida como uma coleção de fórmulas booleanas verdadeiras, a sigla TQBF é frequentemente usada (inclusive neste artigo), para representar uma fórmula booleana totalmente quantificada, muitas vezes chamada simplesmente de QBF (Quantified Boolean Formula, conhecida como “totalmente” quantificada). É importante distinguir contextualmente o uso das duas abreviaturas na leitura da literatura.
  • A TQBF pode ser pensada como um jogo entre dois jogadores com a alternância de movimentos. Variáveis quantificadas existenciais são equivalentes à noção de que um movimento está disponível para um jogador em um turno. Variáveis universalmente quantificadas significam que o resultado do jogo não depende de que um jogador faça um movimento naquele turno. Além disso, um TQBF cujo primeiro quantificador é existencial corresponde a um jogo de fórmula em que o primeiro jogador tem uma estratégia vencedora.
  • A TQBF para a qual a fórmula quantificada está em 2-CNF pode ser resolvida em tempo linear por um algoritmo que envolve análise de conectividade forte na sua implicação do grafo correspondente. O problema 2-satisfatibilidade é um caso especial de TQBF para essas fórmulas em cada quantificador existencial[4][5] .

Notas e referências

editar
  1. M. Garey and D. Johnson (1979). Computers and intractability: a guide to the theory of NP-completeness. W. H. Freeman, San Francisco, California. ISBN 0-7167-1045-5.
  2. A. Chandra, D. Kozen, and L. Stockmeyer (1981). "Alternation". Journal of the ACM 28 (1): 114–133. doi:10.1145/322234.322243. http://portal.acm.org/citation.cfm?id=322243.
  3. Adi Shamir (1992). "Ip = Pspace". Journal of the ACM 39 (4): 869–877. doi:10.1145/146585.146609. http://portal.acm.org/citation.cfm?doid=146585.146609.
  4. 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 .
  5. Aspvall, Bengt; Plass, Michael F.; Tarjan, Robert E. (1979), "A linear-time algorithm for testing the truth of certain quantified boolean formulas", Information Processing Letters 8 (3): 121–123, doi:10.1016/0020-0190(79)90002-4, http://www.math.ucsd.edu/~sbuss/CourseWeb/Math268_2007WS/2SAT.pdf .
  • 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.

Ligações externas

editar
  1. Garey, Michael R.; Johnson, David S. (1979). Computers and intractability: a guide to the theory of NP-completeness. Col: A series of books in the mathematical sciences. New York: W. H. Freeman 
  2. Chandra, Ashok K.; Kozen, Dexter C.; Stockmeyer, Larry J. (1 de janeiro de 1981). «Alternation». Journal of the ACM (1): 114–133. ISSN 0004-5411. doi:10.1145/322234.322243. Consultado em 25 de maio de 2024 
  3. Adi Shamir (1992). "Ip = Pspace". Journal of the ACM 39 (4): 869–877. doi:10.1145/146585.146609. http://portal.acm.org/citation.cfm?doid=146585.146609.
  4. 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 .
  5. Aspvall, Bengt; Plass, Michael F.; Tarjan, Robert E. (1979), "A linear-time algorithm for testing the truth of certain quantified boolean formulas", Information Processing Letters 8 (3): 121–123, doi:10.1016/0020-0190(79)90002-4, http://www.math.ucsd.edu/~sbuss/CourseWeb/Math268_2007WS/2SAT.pdf .